diff --git a/.cfnlintrc.yaml b/.cfnlintrc.yaml index f92c58778..72eda88df 100644 --- a/.cfnlintrc.yaml +++ b/.cfnlintrc.yaml @@ -47,7 +47,6 @@ ignore_templates: - tests/translator/output/**/connector_sfn_to_function.json - tests/translator/output/**/connector_sns_to_function.json - tests/translator/output/**/connector_table_to_function.json - - tests/translator/output/**/graphqlapi_api_cache.json # Fail by design: intentionally invalid CachingConfig enum values to test error path - tests/translator/output/**/eventbridgerule_with_dlq.json - tests/translator/output/**/function_event_conditions.json - tests/translator/output/**/function_with_condition.json @@ -113,10 +112,6 @@ ignore_templates: - tests/translator/output/**/function_with_logging_config.json # cfnlint is not updated to recognize the LoggingConfig property - tests/translator/output/aws-*/*capacity_provider*.json # Ignore Capacity Provider test format in non-aws partitions - tests/translator/output/**/capacity_provider_managed_resource_tags.json # cfnlint not updated for CapacityProvider mode (Phase 2) - - tests/translator/output/**/webfunction_basic.json # New AWS::Lambda::WebFunction* types cfn-lint does not recognize; DependsOn is intentional (W3005) - - tests/translator/output/**/webfunction_with_all_properties.json # New AWS::Lambda::WebFunction* types cfn-lint does not recognize; DependsOn is intentional (W3005) - - tests/translator/output/**/webfunction_multiregion.json # New AWS::Lambda::WebFunction* types cfn-lint does not recognize; DependsOn is intentional (W3005) - - tests/translator/output/**/basic_function.json # W1030: fixture uses Ref for VpcConfig SubnetIds, which cannot match the subnet-id pattern ignore_checks: - E2531 # Deprecated runtime; not relevant for transform tests diff --git a/bin/run_cfn_lint.sh b/bin/run_cfn_lint.sh index a72ab25b0..0ce5bfb3f 100755 --- a/bin/run_cfn_lint.sh +++ b/bin/run_cfn_lint.sh @@ -3,23 +3,13 @@ set -eux VENV=.venv_cfn_lint -# cfn-lint requires Python >= 3.10, which this project also requires (see python_requires in setup.py). -# Fail loudly rather than skipping: a silent "exit 0" here would turn the lint gate into a no-op on a -# misconfigured interpreter and report success without checking a single template. -PYTHON_MINOR=$(python3 -c "import sys; print(sys.version_info.minor)") -if [ "$PYTHON_MINOR" -lt 10 ]; then - echo "ERROR: cfn-lint requires Python >= 3.10, but python3 is 3.${PYTHON_MINOR}. Use a supported interpreter." >&2 - exit 1 -fi - # Install to separate venv to avoid circular dependency; cfn-lint depends on samtranslator # See https://github.com/aws/serverless-application-model/issues/1042 if [ ! -d "${VENV}" ]; then python3 -m venv "${VENV}" fi -# pinning 1.55.0 for now because there are some issues with 1.56.0 -"${VENV}/bin/python" -m pip install cfn-lint==1.55.0 --upgrade --quiet +"${VENV}/bin/python" -m pip install cfn-lint --upgrade --quiet # update cfn schema with retry logic (can fail due to network issues) # --regions us-east-1 avoids a cfn-lint bug where updating all regions causes a # multiprocessing pickle error. See https://github.com/aws-cloudformation/cfn-lint/issues/4379 diff --git a/integration/combination/test_function_with_capacity_provider.py b/integration/combination/test_function_with_capacity_provider.py index cdf6436e5..836c54018 100644 --- a/integration/combination/test_function_with_capacity_provider.py +++ b/integration/combination/test_function_with_capacity_provider.py @@ -138,22 +138,6 @@ def test_function_with_capacity_provider_default_role(self): self.verify_capacity_provider_vpc_config(simple_cp_config, "SimpleCapacityProvider") self.verify_capacity_provider_permissions_config(simple_cp_config, "SimpleCapacityProvider") - # Verify Globals.CapacityProvider.ManagedResourceTags inheritance on SimpleCapacityProvider - simple_propagate_tags = simple_cp_config.get("PropagateTags") - self.assertIsNotNone(simple_propagate_tags, "SimpleCapacityProvider should inherit PropagateTags from Globals") - self.assertEqual( - simple_propagate_tags.get("Mode"), - "Explicit", - "SimpleCapacityProvider should have PropagateTags Mode: Explicit from Globals", - ) - simple_explicit_tags = simple_propagate_tags.get("ExplicitTags", {}) - self.assertIn("GlobalTag", simple_explicit_tags, "SimpleCapacityProvider should inherit GlobalTag from Globals") - self.assertEqual( - simple_explicit_tags["GlobalTag"], - "shared-value", - "GlobalTag should be 'shared-value' from Globals", - ) - advanced_cp_config = self.get_lambda_capacity_provider_config("AdvancedCapacityProvider") self.verify_capacity_provider_basic_config(advanced_cp_config, "AdvancedCapacityProvider") self.verify_capacity_provider_vpc_config(advanced_cp_config, "AdvancedCapacityProvider") @@ -196,23 +180,6 @@ def test_function_with_capacity_provider_default_role(self): "AdvancedCapacityProvider should use the correct KMS key", ) - # Verify ManagedResourceTags -> PropagateTags configuration - propagate_tags = advanced_cp_config.get("PropagateTags") - self.assertIsNotNone(propagate_tags, "AdvancedCapacityProvider should have PropagateTags configuration") - self.assertEqual( - propagate_tags.get("Mode"), "Explicit", "AdvancedCapacityProvider should have PropagateTags Mode: Explicit" - ) - - explicit_tags = propagate_tags.get("ExplicitTags", {}) - self.assertIn("Environment", explicit_tags, "AdvancedCapacityProvider should propagate Environment tag") - self.assertIn("Team", explicit_tags, "AdvancedCapacityProvider should propagate Team tag") - self.assertIn("GlobalTag", explicit_tags, "AdvancedCapacityProvider should override GlobalTag from Globals") - self.assertEqual(explicit_tags["Environment"], "Production", "Environment tag should be 'Production'") - self.assertEqual(explicit_tags["Team"], "Lambda-Tooling", "Team tag should be 'Lambda-Tooling'") - self.assertEqual( - explicit_tags["GlobalTag"], "overridden-value", "GlobalTag should be overridden by resource-level value" - ) - telemetry_config = advanced_cp_config.get("TelemetryConfig") self.assertIsNotNone(telemetry_config, "AdvancedCapacityProvider should have TelemetryConfig") logging_config = telemetry_config.get("LoggingConfig") diff --git a/integration/config/code_key_to_file_map.json b/integration/config/code_key_to_file_map.json index ddcaf0d9c..68709d999 100644 --- a/integration/config/code_key_to_file_map.json +++ b/integration/config/code_key_to_file_map.json @@ -5,7 +5,5 @@ "definitionuri": "swagger1.json", "microvmcodeuri": "microvm_code.zip", "mtlsuri": "MTLSCert.pem", - "templateurl": "template.yaml", - "webfunccodeuri": "webfunc_code.zip", - "webfunccodeuri2": "webfunc_code2.zip" + "templateurl": "template.yaml" } diff --git a/integration/config/file_to_s3_map.json b/integration/config/file_to_s3_map.json index a474116ef..8c82f7a5a 100644 --- a/integration/config/file_to_s3_map.json +++ b/integration/config/file_to_s3_map.json @@ -42,13 +42,5 @@ "template.yaml": { "type": "http", "uri": "" - }, - "webfunc_code.zip": { - "type": "s3", - "uri": "" - }, - "webfunc_code2.zip": { - "type": "s3", - "uri": "" } } diff --git a/integration/config/region_service_inclusion.yaml b/integration/config/region_service_inclusion.yaml index 6db3ba678..78f214447 100644 --- a/integration/config/region_service_inclusion.yaml +++ b/integration/config/region_service_inclusion.yaml @@ -1,10 +1,5 @@ regions: us-east-1: - CustomDomain - - WebFunction - us-west-2: - - WebFunction - eu-west-1: - - WebFunction Metadata: SamTransformTest: true diff --git a/integration/config/service_names.py b/integration/config/service_names.py index dd26fdc1c..3296f64b2 100644 --- a/integration/config/service_names.py +++ b/integration/config/service_names.py @@ -33,7 +33,6 @@ LAMBDA_URL = "LambdaUrl" LAMBDA_MANAGED_INSTANCES = "LambdaManagedInstances" MICROVM_IMAGE = "MicrovmImage" -WEB_FUNCTION = "WebFunction" LAMBDA_ENV_VARS = "LambdaEnvVars" EVENT_INVOKE_CONFIG = "EventInvokeConfig" API_KEY = "ApiKey" diff --git a/integration/conftest.py b/integration/conftest.py index 0da7bcef5..589b6ca04 100644 --- a/integration/conftest.py +++ b/integration/conftest.py @@ -34,32 +34,19 @@ def _get_all_buckets(): return s3.buckets.all() -def empty_versioned_bucket(s3_bucket_name, s3_client): - """ - Deletes every object version and delete marker from a bucket. Deleting objects without a VersionId - only adds delete markers on a versioned bucket, so the versions must be removed explicitly, otherwise - the bucket cannot be deleted (and CloudFormation's DeletionPolicy: Delete would leave the stack in - DELETE_FAILED). Works for non-versioned buckets too, where each object has a "null" version. - """ - paginator = s3_client.get_paginator("list_object_versions") - for page in paginator.paginate(Bucket=s3_bucket_name): - to_delete = [ - {"Key": item["Key"], "VersionId": item["VersionId"]} - for item in (page.get("Versions", []) + page.get("DeleteMarkers", [])) - ] - if not to_delete: - continue - try: - s3_client.delete_objects(Bucket=s3_bucket_name, Delete={"Objects": to_delete}) - except ClientError as e: - LOG.error("Unable to delete object versions from bucket %s", s3_bucket_name, exc_info=e) - - def clean_bucket(s3_bucket_name, s3_client): """ Empties and deletes the bucket used for the tests """ - empty_versioned_bucket(s3_bucket_name, s3_client) + s3 = boto3.resource("s3") + bucket = s3.Bucket(s3_bucket_name) + object_summary_iterator = bucket.objects.all() + + for object_summary in object_summary_iterator: + try: + s3_client.delete_object(Key=object_summary.key, Bucket=s3_bucket_name) + except ClientError as e: + LOG.error("Unable to delete object %s from bucket %s", object_summary.key, s3_bucket_name, exc_info=e) try: s3_client.delete_bucket(Bucket=s3_bucket_name) except ClientError as e: @@ -102,32 +89,6 @@ def _companion_stack_parameters(): return params -@retry_with_exponential_backoff_and_jitter( - ThrottlingError, - 5, - 2, - exc_raise_msg="SAR ListApplications still throttled after 5 attempts", -) -def _sar_list_applications(sar_client): - """ - Wrap SAR ListApplications with the same throttle-retry treatment - the rest of this file applies to CloudFormation and S3 calls, so - a transient SAR throttle at fixture setup does not fail the whole test. - - Unlike the CloudFormation and S3 helpers below, this uses a small base - delay: the fixture is function-scoped and autoused by TestBasicApplication, - so the backoff is paid per test. A read-only ListApplications throttle - clears in seconds, so ~1 minute of total backoff is enough. - """ - try: - return sar_client.list_applications().get("Applications", []) - except botocore.exceptions.ClientError as ex: - error_code = ex.response.get("Error", {}).get("Code", "") - if error_code in ("TooManyRequestsException", "Throttling", "ThrottlingException"): - raise ThrottlingError(stack_name="SAR:list_applications", msg=str(ex)) - raise - - @pytest.fixture() def get_serverless_application_repository_app(): """Create or re-use a simple SAR app""" @@ -136,7 +97,7 @@ def get_serverless_application_repository_app(): return None sar_client = ClientProvider().sar_client - sar_apps = _sar_list_applications(sar_client) + sar_apps = sar_client.list_applications().get("Applications", []) for sar_app in sar_apps: if sar_app.get("Name") == SAR_APP_NAME: LOG.info("SAR Application was already created, skipping SAR application publish") @@ -214,16 +175,6 @@ def delete_companion_stack_once(get_prefix): if os.environ.get("COMPANION_STACK_NAME"): return if not get_prefix: - # PreCreatedS3Bucket has versioning enabled, so CloudFormation cannot delete it while it still holds - # object versions or delete markers — the stack would be left in DELETE_FAILED and leak the bucket. - # Empty all versions first so DeletionPolicy: Delete can succeed. - try: - outputs = get_stack_outputs(get_stack_description(COMPANION_STACK_NAME)) - bucket_name = outputs.get("PreCreatedS3Bucket") - if bucket_name: - empty_versioned_bucket(bucket_name, ClientProvider().s3_client) - except botocore.exceptions.ClientError as e: - LOG.error("Unable to empty companion bucket before deleting the companion stack", exc_info=e) ClientProvider().cfn_client.delete_stack(StackName=COMPANION_STACK_NAME) diff --git a/integration/resources/code/webfunc_code.zip b/integration/resources/code/webfunc_code.zip deleted file mode 100644 index 17c5ffbbb..000000000 Binary files a/integration/resources/code/webfunc_code.zip and /dev/null differ diff --git a/integration/resources/code/webfunc_code2.zip b/integration/resources/code/webfunc_code2.zip deleted file mode 100644 index cb08964dc..000000000 Binary files a/integration/resources/code/webfunc_code2.zip and /dev/null differ diff --git a/integration/resources/expected/single/basic_web_function.json b/integration/resources/expected/single/basic_web_function.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/basic_web_function.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/expected/single/web_function_custom_endpoint.json b/integration/resources/expected/single/web_function_custom_endpoint.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/web_function_custom_endpoint.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/expected/single/web_function_custom_role.json b/integration/resources/expected/single/web_function_custom_role.json deleted file mode 100644 index a855c1caa..000000000 --- a/integration/resources/expected/single/web_function_custom_role.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "CustomRole", - "ResourceType": "AWS::IAM::Role" - }, - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - } -] diff --git a/integration/resources/expected/single/web_function_endpoint_response.json b/integration/resources/expected/single/web_function_endpoint_response.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/web_function_endpoint_response.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/expected/single/web_function_env_vars_response.json b/integration/resources/expected/single/web_function_env_vars_response.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/web_function_env_vars_response.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/expected/single/web_function_iam_auth.json b/integration/resources/expected/single/web_function_iam_auth.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/web_function_iam_auth.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/expected/single/web_function_timeout_verify.json b/integration/resources/expected/single/web_function_timeout_verify.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/web_function_timeout_verify.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/expected/single/web_function_update_code.json b/integration/resources/expected/single/web_function_update_code.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/web_function_update_code.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/expected/single/web_function_update_timeout.json b/integration/resources/expected/single/web_function_update_timeout.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/web_function_update_timeout.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/expected/single/web_function_with_env_and_timeout.json b/integration/resources/expected/single/web_function_with_env_and_timeout.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/web_function_with_env_and_timeout.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/expected/single/web_function_with_multi_region.json b/integration/resources/expected/single/web_function_with_multi_region.json deleted file mode 100644 index c3f2fdbb1..000000000 --- a/integration/resources/expected/single/web_function_with_multi_region.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "LogicalResourceId": "MyWebFunction", - "ResourceType": "AWS::Lambda::WebFunction" - }, - { - "LogicalResourceId": "MyWebFunctionEndpoint", - "ResourceType": "AWS::Lambda::WebFunctionEndpoint" - }, - { - "LogicalResourceId": "MyWebFunctionRevision", - "ResourceType": "AWS::Lambda::WebFunctionRevision" - }, - { - "LogicalResourceId": "MyWebFunctionRole", - "ResourceType": "AWS::IAM::Role" - } -] diff --git a/integration/resources/templates/combination/function_lmi_default.yaml b/integration/resources/templates/combination/function_lmi_default.yaml index 27dfc51e8..36dfcfc94 100644 --- a/integration/resources/templates/combination/function_lmi_default.yaml +++ b/integration/resources/templates/combination/function_lmi_default.yaml @@ -6,12 +6,6 @@ Parameters: KMSKeyArn: Type: String -Globals: - CapacityProvider: - ManagedResourceTags: - Tags: - GlobalTag: shared-value - Resources: SimpleCapacityProvider: Type: AWS::Serverless::CapacityProvider @@ -51,11 +45,6 @@ Resources: KmsKeyArn: !Ref KMSKeyArn LoggingConfig: SystemLogLevel: DEBUG - ManagedResourceTags: - Tags: - Environment: Production - Team: Lambda-Tooling - GlobalTag: overridden-value Tags: Environment: Test diff --git a/integration/resources/templates/single/basic_web_function.yaml b/integration/resources/templates/single/basic_web_function.yaml deleted file mode 100644 index 0af4e52b0..000000000 --- a/integration/resources/templates/single/basic_web_function.yaml +++ /dev/null @@ -1,9 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_custom_endpoint.yaml b/integration/resources/templates/single/web_function_custom_endpoint.yaml deleted file mode 100644 index 8c280f7a5..000000000 --- a/integration/resources/templates/single/web_function_custom_endpoint.yaml +++ /dev/null @@ -1,10 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged - EndpointName: staging -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_custom_role.yaml b/integration/resources/templates/single/web_function_custom_role.yaml deleted file mode 100644 index 5d08525ac..000000000 --- a/integration/resources/templates/single/web_function_custom_role.yaml +++ /dev/null @@ -1,23 +0,0 @@ -Resources: - CustomRole: - Type: AWS::IAM::Role - Properties: - AssumeRolePolicyDocument: - Version: '2012-10-17' - Statement: - - Effect: Allow - Principal: - Service: lambda.amazonaws.com - Action: sts:AssumeRole - ManagedPolicyArns: - - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole - - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged - ExecutionRoleArn: !GetAtt CustomRole.Arn -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_endpoint_response.yaml b/integration/resources/templates/single/web_function_endpoint_response.yaml deleted file mode 100644 index 2c334e585..000000000 --- a/integration/resources/templates/single/web_function_endpoint_response.yaml +++ /dev/null @@ -1,13 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged - -Outputs: - Endpoint: - Value: !GetAtt MyWebFunctionEndpoint.DomainName -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_env_vars_response.yaml b/integration/resources/templates/single/web_function_env_vars_response.yaml deleted file mode 100644 index 9efa49878..000000000 --- a/integration/resources/templates/single/web_function_env_vars_response.yaml +++ /dev/null @@ -1,16 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged - EnvironmentVariables: - MY_VAR: my_value - ANOTHER_VAR: another_value - -Outputs: - Endpoint: - Value: !GetAtt MyWebFunctionEndpoint.DomainName -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_iam_auth.yaml b/integration/resources/templates/single/web_function_iam_auth.yaml deleted file mode 100644 index 222cd9481..000000000 --- a/integration/resources/templates/single/web_function_iam_auth.yaml +++ /dev/null @@ -1,9 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: IamAuth -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_timeout_verify.yaml b/integration/resources/templates/single/web_function_timeout_verify.yaml deleted file mode 100644 index a9cdf5561..000000000 --- a/integration/resources/templates/single/web_function_timeout_verify.yaml +++ /dev/null @@ -1,16 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged - Timeout: 5 - EnvironmentVariables: - TIMEOUT_MS: '0' - -Outputs: - Endpoint: - Value: !GetAtt MyWebFunctionEndpoint.DomainName -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_update_code.yaml b/integration/resources/templates/single/web_function_update_code.yaml deleted file mode 100644 index 2c334e585..000000000 --- a/integration/resources/templates/single/web_function_update_code.yaml +++ /dev/null @@ -1,13 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged - -Outputs: - Endpoint: - Value: !GetAtt MyWebFunctionEndpoint.DomainName -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_update_timeout.yaml b/integration/resources/templates/single/web_function_update_timeout.yaml deleted file mode 100644 index 4950c4ad4..000000000 --- a/integration/resources/templates/single/web_function_update_timeout.yaml +++ /dev/null @@ -1,14 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged - Timeout: 30 - -Outputs: - Endpoint: - Value: !GetAtt MyWebFunctionEndpoint.DomainName -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_with_env_and_timeout.yaml b/integration/resources/templates/single/web_function_with_env_and_timeout.yaml deleted file mode 100644 index 8c3c8e89d..000000000 --- a/integration/resources/templates/single/web_function_with_env_and_timeout.yaml +++ /dev/null @@ -1,12 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged - Timeout: 60 - EnvironmentVariables: - MY_VAR: my_value -Metadata: - SamTransformTest: true diff --git a/integration/resources/templates/single/web_function_with_multi_region.yaml b/integration/resources/templates/single/web_function_with_multi_region.yaml deleted file mode 100644 index fd5df62d9..000000000 --- a/integration/resources/templates/single/web_function_with_multi_region.yaml +++ /dev/null @@ -1,13 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: ${webfunccodeuri} - AuthType: ApplicationManaged - -Outputs: - RevisionId: - Value: !GetAtt MyWebFunctionRevision.RevisionId -Metadata: - SamTransformTest: true diff --git a/integration/setup/companion-stack.yaml b/integration/setup/companion-stack.yaml index dd0844d35..870dd1122 100644 --- a/integration/setup/companion-stack.yaml +++ b/integration/setup/companion-stack.yaml @@ -58,44 +58,6 @@ Resources: PreCreatedS3Bucket: Type: AWS::S3::Bucket DeletionPolicy: Delete - Properties: - # WebFunction reads code from S3 by version, so versioning must stay enabled. AES256 (SSE-S3) is - # required because an AWS-managed KMS key's policy cannot be modified to grant the Lambda service read. - VersioningConfiguration: - Status: Enabled - BucketEncryption: - ServerSideEncryptionConfiguration: - - ServerSideEncryptionByDefault: - SSEAlgorithm: AES256 - # Versioning + DeletionPolicy: Delete would otherwise leak the bucket: expire noncurrent versions and - # abort incomplete uploads so leftover versions cannot block the bucket's deletion indefinitely. - LifecycleConfiguration: - Rules: - - Id: ExpireNoncurrentVersions - Status: Enabled - NoncurrentVersionExpiration: - NoncurrentDays: 1 - AbortIncompleteMultipartUpload: - DaysAfterInitiation: 1 - - PreCreatedS3BucketPolicy: - Type: AWS::S3::BucketPolicy - Properties: - Bucket: !Ref PreCreatedS3Bucket - PolicyDocument: - Version: '2012-10-17' - Statement: - - Sid: AllowLambdaServiceAccess - Effect: Allow - Principal: - Service: lambda.amazonaws.com - Action: - - s3:GetObject - - s3:GetObjectVersion - Resource: !Sub "arn:${AWS::Partition}:s3:::${PreCreatedS3Bucket}/*" - Condition: - StringEquals: - aws:SourceAccount: !Ref AWS::AccountId LMIKMSKey: Type: AWS::KMS::Key diff --git a/integration/single/test_basic_web_function.py b/integration/single/test_basic_web_function.py deleted file mode 100644 index 2a41b354f..000000000 --- a/integration/single/test_basic_web_function.py +++ /dev/null @@ -1,147 +0,0 @@ -import logging -import time -from unittest.case import skipIf - -from parameterized import parameterized - -from integration.config.service_names import WEB_FUNCTION -from integration.helpers.base_test import BaseTest -from integration.helpers.resource import current_region_not_included - -LOG = logging.getLogger(__name__) - -# AWS::Lambda::WebFunction is only available in a subset of regions; only run these deploy-and-invoke -# tests where it is supported (see integration/config/region_service_inclusion.yaml). -_WEB_FUNCTION_UNSUPPORTED = current_region_not_included([WEB_FUNCTION]) - - -@skipIf(_WEB_FUNCTION_UNSUPPORTED, "WebFunction is not supported in this testing region") -class TestBasicWebFunction(BaseTest): - """ - Basic deployment tests for AWS::Serverless::WebFunction - """ - - @parameterized.expand( - [ - "single/basic_web_function", - "single/web_function_with_env_and_timeout", - ] - ) - def test_basic_web_function(self, file_name): - self.create_and_verify_stack(file_name) - - def test_web_function_with_multi_region(self): - # A MultiRegion endpoint requires AutoDeploymentMode: Disabled, which in turn requires RevisionWeights. - # RevisionWeights must reference an existing revision, so this is a two-step flow: first deploy a - # single-region (LatestRevision) function, then update it to MultiRegion routing 100% of traffic to - # the revision the first deploy created. - self.create_and_verify_stack("single/web_function_with_multi_region") - - revision_id = self.get_stack_output("RevisionId")["OutputValue"] - - self.set_template_resource_property("MyWebFunction", "EndpointType", "MultiRegion") - self.set_template_resource_property("MyWebFunction", "AutoDeploymentMode", "Disabled") - self.set_template_resource_property( - "MyWebFunction", "ReplicaRegions", {"IncludeRegions": ["us-east-1", "us-west-2"]} - ) - self.set_template_resource_property("MyWebFunction", "RevisionWeights", {revision_id: 100}) - self.update_stack() - - self.assertEqual(self.get_resource_status_by_logical_id("MyWebFunctionEndpoint"), "UPDATE_COMPLETE") - - -@skipIf(_WEB_FUNCTION_UNSUPPORTED, "WebFunction is not supported in this testing region") -class TestWebFunctionEndpointResponse(BaseTest): - """ - Functional verification tests - verify endpoints respond correctly - """ - - def test_endpoint_returns_200(self): - """Verify the endpoint responds with 200 and correct body""" - self.create_and_verify_stack("single/web_function_endpoint_response") - - endpoint = self.get_stack_output("Endpoint")["OutputValue"] - url = f"https://{endpoint}" - - # Give endpoint time to become active - time.sleep(5) - response = self.verify_get_request_response(url, 200) - self.assertEqual(response.text, "hello") - - def test_env_vars_in_response(self): - """Verify environment variables are accessible in the function""" - self.create_and_verify_stack("single/web_function_env_vars_response") - - endpoint = self.get_stack_output("Endpoint")["OutputValue"] - url = f"https://{endpoint}/env" - - time.sleep(5) - response = self.verify_get_request_response(url, 200) - env_vars = response.json() - self.assertEqual(env_vars.get("MY_VAR"), "my_value") - self.assertEqual(env_vars.get("ANOTHER_VAR"), "another_value") - - def test_timeout_allows_fast_request(self): - """Verify a request that completes within timeout succeeds""" - self.create_and_verify_stack("single/web_function_timeout_verify") - - endpoint = self.get_stack_output("Endpoint")["OutputValue"] - url = f"https://{endpoint}/timeout" - - time.sleep(5) - response = self.verify_get_request_response(url, 200) - self.assertEqual(response.text, "completed") - - -@skipIf(_WEB_FUNCTION_UNSUPPORTED, "WebFunction is not supported in this testing region") -class TestWebFunctionConfigurations(BaseTest): - """ - Configuration variation tests - """ - - def test_custom_execution_role(self): - """Verify WebFunction works with an explicit ExecutionRoleArn (no auto-generated role)""" - self.create_and_verify_stack("single/web_function_custom_role") - - def test_custom_endpoint_name(self): - """Verify WebFunction with a custom EndpointName""" - self.create_and_verify_stack("single/web_function_custom_endpoint") - - def test_iam_auth(self): - """Verify WebFunction with AuthType: IamAuth deploys successfully""" - self.create_and_verify_stack("single/web_function_iam_auth") - - -@skipIf(_WEB_FUNCTION_UNSUPPORTED, "WebFunction is not supported in this testing region") -class TestWebFunctionUpdates(BaseTest): - """ - Update scenario tests - """ - - def test_update_timeout(self): - """Verify updating Timeout creates a new revision""" - self.create_and_verify_stack("single/web_function_update_timeout") - - # Update timeout from 30 to 120 - self.set_template_resource_property("MyWebFunction", "Timeout", 120) - self.update_stack() - self.assertEqual(self.get_resource_status_by_logical_id("MyWebFunctionRevision"), "UPDATE_COMPLETE") - - def test_update_code(self): - """Verify updating CodeUri deploys new code""" - self.create_and_verify_stack("single/web_function_update_code") - - endpoint = self.get_stack_output("Endpoint")["OutputValue"] - url = f"https://{endpoint}" - - time.sleep(5) - response = self.verify_get_request_response(url, 200) - self.assertEqual(response.text, "hello") - - # Update to new code - self.set_template_resource_property("MyWebFunction", "CodeUri", self.get_code_key_s3_uri("webfunccodeuri2")) - self.update_stack() - - time.sleep(5) - response = self.verify_get_request_response(url, 200) - self.assertEqual(response.text, "updated") diff --git a/samtranslator/__init__.py b/samtranslator/__init__.py index 9f97f8dea..22c47ece6 100644 --- a/samtranslator/__init__.py +++ b/samtranslator/__init__.py @@ -1 +1 @@ -__version__ = "1.114.0" +__version__ = "1.113.0" diff --git a/samtranslator/internal/schema_source/aws_serverless_capacity_provider.py b/samtranslator/internal/schema_source/aws_serverless_capacity_provider.py index accf8b4da..0b482e2a0 100644 --- a/samtranslator/internal/schema_source/aws_serverless_capacity_provider.py +++ b/samtranslator/internal/schema_source/aws_serverless_capacity_provider.py @@ -27,6 +27,7 @@ class ManagedResourceTags(BaseModel): Tags: DictStrAny | None = managedresourcetags("Tags") + Propagate: bool | None = managedresourcetags("Propagate") class VpcConfig(BaseModel): diff --git a/samtranslator/internal/schema_source/aws_serverless_webfunction.py b/samtranslator/internal/schema_source/aws_serverless_webfunction.py deleted file mode 100644 index 14ce85245..000000000 --- a/samtranslator/internal/schema_source/aws_serverless_webfunction.py +++ /dev/null @@ -1,39 +0,0 @@ -from __future__ import annotations - -from typing import Any, Literal - -from samtranslator.internal.schema_source.common import ( - BaseModel, - ResourceAttributes, - SamIntrinsicable, -) - - -class Properties(BaseModel): - Runtime: SamIntrinsicable[str] - CodeUri: Any | None = None - FunctionName: SamIntrinsicable[str] | None = None - Timeout: SamIntrinsicable[int] | None = None - EnvironmentVariables: dict[str, Any] | None = None - ExecutionRoleArn: Any | None = None - EndpointName: SamIntrinsicable[str] | None = None - EndpointType: SamIntrinsicable[str] | None = None - EndpointDescription: SamIntrinsicable[str] | None = None - AuthType: SamIntrinsicable[str] - AutoDeploymentMode: SamIntrinsicable[str] | None = None - RevisionWeights: dict[str, Any] | None = None - ReplicaRegions: Any | None = None - RevisionDescription: SamIntrinsicable[str] | None = None - KmsKeyArn: SamIntrinsicable[str] | None = None - LoggingConfig: dict[str, Any] | None = None - ScalingConfig: dict[str, Any] | None = None - ThrottleConfig: dict[str, Any] | None = None - MaxConcurrencyPerEnvironment: SamIntrinsicable[int] | None = None - EntryPoint: SamIntrinsicable[str] | None = None - InlineCode: str | None = None - Tags: dict[str, Any] | None = None - - -class Resource(ResourceAttributes): - Type: Literal["AWS::Serverless::WebFunction"] - Properties: Properties diff --git a/samtranslator/internal/schema_source/sam-docs.json b/samtranslator/internal/schema_source/sam-docs.json index f1629137b..30f81c3b8 100644 --- a/samtranslator/internal/schema_source/sam-docs.json +++ b/samtranslator/internal/schema_source/sam-docs.json @@ -121,6 +121,7 @@ "ExcludedTypes": "A list of EC2 instance types to exclude from the capacity provider. \n*Type*: List \n*Required*: No \n*CloudFormation compatibility*: This property is passed directly to the [`ExcludedInstanceTypes`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-excludedinstancetypes) property of [`InstanceRequirements`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements) of an `AWS::Lambda::CapacityProvider` resource." }, "sam-property-capacityprovider-managedresourcetags": { + "Propagate": "TODO", "Tags": "TODO" }, "sam-property-capacityprovider-scalingconfig": { diff --git a/samtranslator/internal/schema_source/schema.py b/samtranslator/internal/schema_source/schema.py index cc3db2d17..cdf8a14b4 100644 --- a/samtranslator/internal/schema_source/schema.py +++ b/samtranslator/internal/schema_source/schema.py @@ -22,7 +22,6 @@ aws_serverless_networkconnector, aws_serverless_simpletable, aws_serverless_statemachine, - aws_serverless_webfunction, aws_serverless_websocketapi, ) from samtranslator.internal.schema_source.common import BaseModel, LenientBaseModel @@ -53,7 +52,6 @@ class Globals(BaseModel): aws_serverless_websocketapi.Resource, aws_serverless_application.Resource, aws_serverless_graphqlapi.Resource, - aws_serverless_webfunction.Resource, aws_serverless_capacity_provider.Resource, aws_serverless_microvmimage.Resource, ] diff --git a/samtranslator/model/api/websocket_api_generator.py b/samtranslator/model/api/websocket_api_generator.py index fd45e2ec5..9fe71e0fd 100644 --- a/samtranslator/model/api/websocket_api_generator.py +++ b/samtranslator/model/api/websocket_api_generator.py @@ -213,10 +213,9 @@ def _validate_auth(self, auth_config: dict[str, Any]) -> None: # Use parameter `auth_config` that we know is not None, instead of `self.auth_config` auth_type = auth_config.get("AuthType") if auth_type: + auth_type = auth_type.upper() if auth_type not in AuthType.TYPES: - raise InvalidResourceException( - self.logical_id, f"AuthType '{auth_type}' is not one of AWS_IAM, CUSTOM or NONE." - ) + raise InvalidResourceException(self.logical_id, "AuthType is not one of AWS_IAM, CUSTOM or NONE.") if auth_type == AuthType.CUSTOM and not auth_config.get("AuthArn"): raise InvalidResourceException(self.logical_id, "AuthArn must be specified if AuthType is CUSTOM.") if auth_type == AuthType.AWS_IAM and len(auth_config) > 1: diff --git a/samtranslator/model/capacity_provider/generators.py b/samtranslator/model/capacity_provider/generators.py index 846a37f01..5c6fa688d 100644 --- a/samtranslator/model/capacity_provider/generators.py +++ b/samtranslator/model/capacity_provider/generators.py @@ -235,4 +235,7 @@ def _transform_managed_resource_tags(self) -> dict[str, Any]: if "Tags" in tags: return {"Mode": "Explicit", "ExplicitTags": get_tag_list(tags["Tags"])} + if "Propagate" in tags: + return {"Mode": "CapacityProvider" if tags["Propagate"] else "None"} + return {} diff --git a/samtranslator/model/lambda_.py b/samtranslator/model/lambda_.py index 395768d7e..f5e4f2cc8 100644 --- a/samtranslator/model/lambda_.py +++ b/samtranslator/model/lambda_.py @@ -197,74 +197,3 @@ class LambdaUrl(Resource): "Cors": GeneratedProperty(), "InvokeMode": GeneratedProperty(), } - - -class LambdaWebFunction(Resource): - resource_type = "AWS::Lambda::WebFunction" - property_types = { - "FunctionName": GeneratedProperty(), - "Tags": GeneratedProperty(), - } - - FunctionName: Intrinsicable[str] | None - Tags: list[dict[str, Any]] | None - - # Ref on AWS::Lambda::WebFunction resolves to the function ARN, not the name, and FunctionName is a - # create-only (not read-only) property so it is not available via Fn::GetAtt. "name" therefore returns - # the FunctionName value the resource was constructed with — the same source _construct_function_name - # uses — rather than ref(self.logical_id), which would yield the ARN. (type: ignore because the base - # runtime_attrs type is Callable[[Resource], Any] and cannot express this subclass attribute.) - runtime_attrs = { - "name": lambda self: self.FunctionName, # type: ignore[attr-defined] - "arn": lambda self: fnGetAtt(self.logical_id, "FunctionArn"), - } - - -class LambdaWebFunctionRevision(Resource): - resource_type = "AWS::Lambda::WebFunctionRevision" - property_types = { - "FunctionName": GeneratedProperty(), - "Description": GeneratedProperty(), - "KmsKeyArn": GeneratedProperty(), - "BuildConfig": GeneratedProperty(), - "ServiceConfig": GeneratedProperty(), - } - - FunctionName: Intrinsicable[str] | None - Description: Intrinsicable[str] | None - KmsKeyArn: Intrinsicable[str] | None - BuildConfig: dict[str, Any] | None - ServiceConfig: dict[str, Any] | None - - runtime_attrs = { - "revision_id": lambda self: fnGetAtt(self.logical_id, "RevisionId"), - } - - -class LambdaWebFunctionEndpoint(Resource): - resource_type = "AWS::Lambda::WebFunctionEndpoint" - property_types = { - "FunctionName": GeneratedProperty(), - "EndpointName": GeneratedProperty(), - "EndpointType": GeneratedProperty(), - "AuthType": GeneratedProperty(), - "RevisionWeights": GeneratedProperty(), - "Regions": GeneratedProperty(), - "Description": GeneratedProperty(), - "ScalingConfig": GeneratedProperty(), - "ThrottleConfig": GeneratedProperty(), - } - - FunctionName: Intrinsicable[str] | None - EndpointName: Intrinsicable[str] | None - EndpointType: str | None - AuthType: str | None - RevisionWeights: Any | None - Regions: list[Intrinsicable[str]] | None - Description: Intrinsicable[str] | None - ScalingConfig: dict[str, Any] | None - ThrottleConfig: dict[str, Any] | None - - runtime_attrs = { - "domain_name": lambda self: fnGetAtt(self.logical_id, "DomainName"), - } diff --git a/samtranslator/model/region_utils.py b/samtranslator/model/region_utils.py deleted file mode 100644 index 54066e542..000000000 --- a/samtranslator/model/region_utils.py +++ /dev/null @@ -1,23 +0,0 @@ -from enum import Enum -from itertools import chain - - -class Region(Enum): - US = ["us-east-1", "us-east-2", "us-west-1", "us-west-2"] - AP = ["ap-south-1", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-southeast-1", "ap-southeast-2"] - CA = ["ca-central-1"] - EU = ["eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "eu-north-1"] - SA = ["sa-east-1"] - SPARSE_GLOBAL = [ - "us-east-1", - "eu-west-1", - "eu-central-1", - "ap-northeast-1", - "ap-southeast-2", - "sa-east-1", - "ap-southeast-1", - ] - - @classmethod - def all_standard(cls) -> list[str]: - return list(chain.from_iterable(region.value for region in cls)) diff --git a/samtranslator/model/s3_utils/uri_parser.py b/samtranslator/model/s3_utils/uri_parser.py index ea874e197..21d5fb8c5 100644 --- a/samtranslator/model/s3_utils/uri_parser.py +++ b/samtranslator/model/s3_utils/uri_parser.py @@ -126,48 +126,3 @@ def construct_s3_location_object( if "StorageMode" in s3_pointer: code["S3ObjectStorageMode"] = s3_pointer["StorageMode"] return code - - -def construct_webfunction_s3_location_object( - location_uri: str | dict[str, Any], logical_id: str, property_name: str -) -> dict[str, Any]: - """Constructs a Lambda Webfunction S3Object from the SAM CodeUri property. - - :param dict or string location_uri: s3 location dict or string - :param string logical_id: logical_id of the resource calling this function - :param string property_name: name of the property which is used as an input to this function. - :returns: a dict containing the S3 Bucket, Key, and VersionId - :rtype: dict - """ - if isinstance(location_uri, dict): - if not location_uri.get("Bucket") or not location_uri.get("Key"): - raise InvalidResourceException( - logical_id, f"'{property_name}' requires Bucket and Key properties to be specified." - ) - s3_pointer = location_uri - - elif isinstance(location_uri, str): - ssm_pattern = r"{{resolve:(ssm|ssm-secure|secretsmanager):[a-zA-Z0-9_.\-/]+(:\d+)?}}" - match = search(ssm_pattern, location_uri) - if match and match.group(0) and "/" in match.group(0): - raise InvalidResourceException( - logical_id, - f"Unsupported dynamic reference detected in '{property_name}'. Please " - "consider using alternative 'FunctionCode' object format.", - ) - - _s3_pointer = parse_s3_uri(location_uri) - if _s3_pointer is None: - raise InvalidResourceException( - logical_id, - f"'{property_name}' is not a valid S3 Uri of the form " - "'s3://bucket/key' with optional versionId query parameter.", - ) - s3_pointer = _s3_pointer - else: - raise InvalidResourceException(logical_id, f"'{property_name}' must be of type dict or string.") - - code = {"Bucket": s3_pointer["Bucket"], "Key": s3_pointer["Key"]} - if "Version" in s3_pointer: - code["VersionId"] = s3_pointer["Version"] - return code diff --git a/samtranslator/model/sam_resources.py b/samtranslator/model/sam_resources.py index e5aa3985e..f9bcdd76b 100644 --- a/samtranslator/model/sam_resources.py +++ b/samtranslator/model/sam_resources.py @@ -115,12 +115,8 @@ LambdaPermission, LambdaUrl, LambdaVersion, - LambdaWebFunction, - LambdaWebFunctionEndpoint, - LambdaWebFunctionRevision, ) from samtranslator.model.preferences.deployment_preference_collection import DeploymentPreferenceCollection -from samtranslator.model.region_utils import Region as RegionEnum from samtranslator.model.resource_policies import ResourcePolicies from samtranslator.model.role_utils import construct_role_for_resource from samtranslator.model.sns import SNSTopic, SNSTopicPolicy @@ -151,11 +147,7 @@ from .microvm_image.generators import MicroVMImageGenerator from .network_connector.generators import NetworkConnectorGenerator from .packagetype import IMAGE, ZIP -from .s3_utils.uri_parser import ( - construct_image_code_object, - construct_s3_location_object, - construct_webfunction_s3_location_object, -) +from .s3_utils.uri_parser import construct_image_code_object, construct_s3_location_object from .tags.resource_tagging import get_tag_list _CONDITION_CHAR_LIMIT = 255 @@ -1585,6 +1577,10 @@ class SamCapacityProvider(SamResourceMacro): ValidationRule.MUTUALLY_EXCLUSIVE, ["InstanceRequirements.AllowedTypes", "InstanceRequirements.ExcludedTypes"], ), + ( + ValidationRule.MUTUALLY_EXCLUSIVE, + ["ManagedResourceTags.Propagate=True", "ManagedResourceTags.Tags"], + ), ] def to_cloudformation(self, **kwargs: Any) -> list[Resource]: @@ -1750,496 +1746,6 @@ def to_cloudformation(self, **kwargs: Any) -> list[Resource]: return resources -class SamWebFunction(SamResourceMacro): - """ - SAM resource for AWS::Serverless::WebFunction. - Transforms into AWS::Lambda::WebFunction, AWS::Lambda::WebFunctionRevision, - and AWS::Lambda::WebFunctionEndpoint. - """ - - resource_type = "AWS::Serverless::WebFunction" - - property_types = { - "FunctionName": PropertyType(False, one_of(IS_STR, IS_DICT)), - "Tags": PropertyType(False, IS_DICT), - "ReplicaRegions": PropertyType(False, one_of(IS_LIST, IS_DICT)), - "AuthType": PassThroughProperty(False), - "Runtime": PassThroughProperty(False), - "CodeUri": PassThroughProperty(False), - "InlineCode": PassThroughProperty(False), - "RevisionDescription": PassThroughProperty(False), - "KmsKeyArn": PassThroughProperty(False), - "ExecutionRoleArn": PropertyType(False, IS_STR), - "EnvironmentVariables": PropertyType(False, IS_DICT), - "EntryPoint": PassThroughProperty(False), - "MaxConcurrencyPerEnvironment": PassThroughProperty(False), - "Timeout": PropertyType(False, IS_INT), - "LoggingConfig": PassThroughProperty(False), - "RevisionWeights": PassThroughProperty(False), - "EndpointName": PassThroughProperty(False), - "EndpointType": PassThroughProperty(False), - "EndpointDescription": PassThroughProperty(False), - "ScalingConfig": PassThroughProperty(False), - "ThrottleConfig": PassThroughProperty(False), - "AutoDeploymentMode": PassThroughProperty(False), - } - - FunctionName: Intrinsicable[str] | None - Tags: dict[str, Any] | None - ReplicaRegions: Union[list[str], dict[str, list[str]]] | None - AuthType: str | None - Runtime: str | None - CodeUri: Any | None - InlineCode: Any | None - RevisionDescription: Intrinsicable[str] | None - KmsKeyArn: Intrinsicable[str] | None - ExecutionRoleArn: str | None - EnvironmentVariables: dict[str, Any] | None - EntryPoint: Intrinsicable[str] | None - MaxConcurrencyPerEnvironment: Intrinsicable[int] | None - Timeout: int | None - LoggingConfig: dict[str, Any] | None - RevisionWeights: dict[str, Any] | None - EndpointName: str | None - EndpointType: str | None - EndpointDescription: Intrinsicable[str] | None - ScalingConfig: dict[str, Any] | None - ThrottleConfig: dict[str, Any] | None - AutoDeploymentMode: str | None - - def to_cloudformation(self, **kwargs: Any) -> list[Any]: - """Transforms this SAM WebFunction into CloudFormation resources.""" - intrinsics_resolver: IntrinsicsResolver = kwargs["intrinsics_resolver"] - self._validate(intrinsics_resolver) - - resources: list[Any] = [] - - execution_role_arn = self.ExecutionRoleArn - if execution_role_arn is None: - execution_role = self._construct_role() - execution_role_arn = execution_role.get_runtime_attr("arn") - resources.append(execution_role) - - function = self._construct_lambda_webfunction() - resources.append(function) - - revision = self._construct_revision(execution_role_arn) - revision.depends_on = [function.logical_id] - resources.append(revision) - - endpoint = self._construct_endpoint(revision) - endpoint.depends_on = [function.logical_id, revision.logical_id] - resources.append(endpoint) - - return resources - - def _validate(self, intrinsics_resolver: IntrinsicsResolver) -> None: # noqa: PLR0912 - valid_auto_deploy_modes = ("LatestRevision", "Disabled") - - # AutoDeploymentMode is a SAM-only property enforced entirely at transform time and never passed - # through to CloudFormation. It is mutually exclusive with RevisionWeights: 'LatestRevision' forbids - # them (traffic auto-routes to the latest revision), while HomeRegion 'Disabled' requires them for - # manual routing (otherwise its output would be byte-identical to 'LatestRevision'). Regional endpoint - # types (MultiRegion/PerRegion) are a special case: they mandate 'Disabled' (never 'LatestRevision') but - # may omit RevisionWeights, in which case the endpoint pins 100% to the revision created in this same - # stack -- this enables a single-shot regional create and is not auto-deployment (it does not shift to - # future revisions). The value must be known now: resolve parameter refs, then reject anything that - # remains an unresolved intrinsic since CloudFormation would never see it to validate at deploy time. - auto_deploy = intrinsics_resolver.resolve_parameter_refs(self.AutoDeploymentMode) or "LatestRevision" - if is_intrinsic(auto_deploy): - raise InvalidResourceException( - self.logical_id, - f"'AutoDeploymentMode' must resolve to one of {list(valid_auto_deploy_modes)} at transform time; " - "unresolved intrinsic functions are not supported because it is not passed through to CloudFormation.", - ) - if auto_deploy not in valid_auto_deploy_modes: - raise InvalidResourceException( - self.logical_id, - f"'AutoDeploymentMode' must be one of {list(valid_auto_deploy_modes)}, got '{auto_deploy}'.", - ) - - # AuthType is required and has no service-side default. It is marked required in the generated JSON - # schema (via schema_source) so `sam validate --lint` flags a missing value up front. It is enforced - # here too -- rather than via a required property_type, which would raise a generic "Missing required - # property" message -- so the transform path gives the customer actionable guidance on which value to - # choose. - if not self.AuthType: - raise InvalidResourceException( - self.logical_id, - "'AuthType' is required. Specify 'IamAuth' (Lambda authorizes requests with SigV4/IAM) or " - "'ApplicationManaged' (the endpoint is public and your function handles authorization).", - ) - - # EndpointType is passed through to CloudFormation, so an unresolved intrinsic is legal; resolve it - # only to evaluate the regional-endpoint constraints below, and skip them if it stays intrinsic. - endpoint_type = intrinsics_resolver.resolve_parameter_refs(self.EndpointType) or "HomeRegion" - - # MultiRegion and PerRegion are both regional endpoint types: they serve the replica Regions (MultiRegion - # routes to the nearest; PerRegion exposes a separate endpoint per Region) and share the same deployment - # rules -- they mandate 'Disabled' and support single-shot create when RevisionWeights are omitted. - is_regional = isinstance(endpoint_type, str) and endpoint_type in ("MultiRegion", "PerRegion") - if auto_deploy == "LatestRevision" and self.RevisionWeights: - raise InvalidResourceException( - self.logical_id, - "'RevisionWeights' cannot be specified when 'AutoDeploymentMode' is 'LatestRevision'.", - ) - if is_regional and auto_deploy != "Disabled": - raise InvalidResourceException( - self.logical_id, - f"'AutoDeploymentMode' must be 'Disabled' when 'EndpointType' is '{endpoint_type}'.", - ) - # HomeRegion 'Disabled' means manual routing, so RevisionWeights is required; without it the emitted - # endpoint would be byte-identical to 'LatestRevision', making the mode a no-op. Regional endpoints - # (MultiRegion/PerRegion) are exempt: they mandate 'Disabled' and, when weights are omitted, pin 100% to - # the revision created in this stack (see _construct_endpoint), enabling a single-shot regional create. - if auto_deploy == "Disabled" and not is_regional and not self.RevisionWeights: - raise InvalidResourceException( - self.logical_id, - "'RevisionWeights' must be specified when 'AutoDeploymentMode' is 'Disabled'. Set " - "'AutoDeploymentMode' to 'LatestRevision' to route all traffic to the latest revision.", - ) - - # Validate Timeout (3-900 seconds); skip for intrinsic functions (dicts) - _MIN_TIMEOUT = 3 - _MAX_TIMEOUT = 900 - timeout = self.Timeout - if isinstance(timeout, int) and (timeout < _MIN_TIMEOUT or timeout > _MAX_TIMEOUT): - raise InvalidResourceException( - self.logical_id, - f"'Timeout' must be an integer between {_MIN_TIMEOUT} and {_MAX_TIMEOUT}.", - ) - - # Validate RevisionWeights (max 2 entries, sum to 100); skip for intrinsic values - _MAX_REVISION_ENTRIES = 2 - _REQUIRED_WEIGHT_SUM = 100 - if self.RevisionWeights: - if not isinstance(self.RevisionWeights, dict): - raise InvalidResourceException( - self.logical_id, - "'RevisionWeights' must be a map of revision IDs to weights (e.g., {\"rev-id\": 100}).", - ) - # A top-level intrinsic (e.g. Fn::If) cannot be supported: the SAM property is a map of revision - # IDs to weights, but the endpoint expects a list of {RevisionId, Weight} objects. Passing the - # intrinsic straight through would emit the map shape to CloudFormation and fail at deploy time. - # Reject it, the same way top-level intrinsics for IncludeRegions/ExcludeRegions are rejected. - if is_intrinsic(self.RevisionWeights): - raise InvalidResourceException( - self.logical_id, - "'RevisionWeights' does not support top-level intrinsic functions; provide a map of " - 'revision IDs to weights (e.g., {"rev-id": 100}). Intrinsic functions may be used for ' - "individual weight values.", - ) - _MIN_WEIGHT = 1 - _MAX_WEIGHT = 100 - weights = list(self.RevisionWeights.values()) - # Reject values that are neither int nor intrinsic, and literal ints outside the service's - # [1, 100] range (a 0 weight passes the sum check but violates the schema at stack creation). - for w in weights: - if not isinstance(w, int) and not is_intrinsic(w): - raise InvalidResourceException( - self.logical_id, - "'RevisionWeights' values must be integers or intrinsic functions.", - ) - if isinstance(w, int) and not (_MIN_WEIGHT <= w <= _MAX_WEIGHT): - raise InvalidResourceException( - self.logical_id, - f"'RevisionWeights' values must be between {_MIN_WEIGHT} and {_MAX_WEIGHT}, got {w}.", - ) - # Max entries applies regardless of value types - if len(self.RevisionWeights) > _MAX_REVISION_ENTRIES: - raise InvalidResourceException( - self.logical_id, - f"'RevisionWeights' supports a maximum of {_MAX_REVISION_ENTRIES} entries.", - ) - # Sum check only when all values are literal ints - if all(isinstance(w, int) for w in weights): - total_weight = sum(weights) - if total_weight != _REQUIRED_WEIGHT_SUM: - raise InvalidResourceException( - self.logical_id, - f"'RevisionWeights' values must sum to {_REQUIRED_WEIGHT_SUM}, got {total_weight}.", - ) - - # Validate EnvironmentVariables keys and values; skip if top-level intrinsic - _MAX_ENV_VALUE_LENGTH = 4096 - if self.EnvironmentVariables and not is_intrinsic(self.EnvironmentVariables): - for key, value in self.EnvironmentVariables.items(): - # Match the service key pattern exactly (leading letter required, no leading underscore) so - # invalid keys fail here with a clear message instead of at stack creation. - if not re.match(r"^[a-zA-Z][a-zA-Z0-9_]*$", key): - raise InvalidResourceException( - self.logical_id, - f"Environment variable key '{key}' must match pattern '^[a-zA-Z][a-zA-Z0-9_]*$'.", - ) - if isinstance(value, str) and not value: - raise InvalidResourceException( - self.logical_id, - f"Environment variable '{key}' value must not be empty.", - ) - if isinstance(value, str) and len(value) > _MAX_ENV_VALUE_LENGTH: - raise InvalidResourceException( - self.logical_id, - f"Environment variable '{key}' value exceeds maximum length of {_MAX_ENV_VALUE_LENGTH} characters.", - ) - - def _construct_function_name(self) -> Any: - """Return the function name shared by the WebFunction, its Revision, and its Endpoint. - - Ref on AWS::Lambda::WebFunction resolves to the function ARN, not the name, so the Revision and - Endpoint must reuse this exact value rather than Ref the function. Referencing it with Ref would set - their FunctionName to the ARN, which the service rejects (the endpoint/revision then cannot be - deleted: the stored ARN does not match the name parsed from it). - """ - if self.FunctionName: - return self.FunctionName - # Generate a name bounded by construction to the 64-char AWS::Lambda::WebFunction FunctionName - # limit (the standard Lambda function-name limit; 256 is the ARN limit, not the name limit). - # - # ${AWS::StackName} can be up to 128 chars and resolves only at deploy time, so it cannot be - # truncated with intrinsics and alone would exceed the limit -- it is therefore omitted. Uniqueness - # instead comes from the logical ID (unique within a stack) plus a fixed-width 8-char segment of the - # stack GUID (unique across stacks), mirroring how CloudFormation's own auto-naming appends a short - # uniquifier. Worst case: 55 (logical ID) + 1 (separator) + 8 (suffix) = 64. - _MAX_FUNCTION_NAME_LENGTH = 64 - _STACK_ID_SUFFIX_LENGTH = 8 - _SEPARATOR_LENGTH = 1 - logical_id_budget = _MAX_FUNCTION_NAME_LENGTH - _STACK_ID_SUFFIX_LENGTH - _SEPARATOR_LENGTH - bounded_logical_id = self.logical_id[:logical_id_budget] - return { - "Fn::Sub": [ - bounded_logical_id + "-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - {"Fn::Select": [2, {"Fn::Split": ["/", {"Ref": "AWS::StackId"}]}]}, - ] - }, - ] - }, - }, - ] - } - - def _construct_lambda_webfunction(self) -> LambdaWebFunction: - function = LambdaWebFunction(self.logical_id, depends_on=self.depends_on, attributes=self.resource_attributes) - function.FunctionName = self._construct_function_name() - function.Tags = self._construct_tag_list(self.Tags) - return function - - def _construct_revision(self, execution_role_arn: Any) -> LambdaWebFunctionRevision: - revision = LambdaWebFunctionRevision( - f"{self.logical_id}Revision", attributes=self.get_passthrough_resource_attributes() - ) - revision.FunctionName = self._construct_function_name() - revision.Description = self.RevisionDescription - revision.KmsKeyArn = self.KmsKeyArn - revision.BuildConfig = self._construct_build_config() - revision.ServiceConfig = self._construct_service_config(execution_role_arn) - return revision - - def _construct_endpoint(self, revision: LambdaWebFunctionRevision) -> LambdaWebFunctionEndpoint: - endpoint = LambdaWebFunctionEndpoint( - f"{self.logical_id}Endpoint", attributes=self.get_passthrough_resource_attributes() - ) - endpoint.FunctionName = self._construct_function_name() - endpoint.EndpointName = self.EndpointName or "prod" - endpoint.EndpointType = self.EndpointType or "HomeRegion" - # AuthType is required and has no default (validated in _validate); pass the customer's value through. - endpoint.AuthType = self.AuthType - - if self.RevisionWeights: - # _validate has already rejected a top-level intrinsic, so RevisionWeights is a literal map here - # (individual weight values may still be intrinsics, which pass through unchanged). - endpoint.RevisionWeights = [ - {"RevisionId": rev_id, "Weight": weight} for rev_id, weight in self.RevisionWeights.items() - ] - else: - # Reached for 'LatestRevision' and for regional (MultiRegion/PerRegion) 'Disabled' with no explicit - # weights: route 100% to the revision this deployment creates (via GetAtt, so it resolves on a - # single-shot create). (HomeRegion 'Disabled' without weights is rejected in _validate.) The service - # requires RevisionWeights to always be present on the endpoint. - endpoint.RevisionWeights = [{"RevisionId": revision.get_runtime_attr("revision_id"), "Weight": 100}] - - endpoint.Regions = self._construct_region_list() - endpoint.Description = self.EndpointDescription - endpoint.ScalingConfig = self.ScalingConfig - endpoint.ThrottleConfig = self.ThrottleConfig - return endpoint - - def _construct_build_config(self) -> dict[str, Any]: - build_config: dict[str, Any] = {"CodeConfig": {}} - build_config["CodeConfig"]["S3Object"] = self._construct_code_config() - if self.Runtime is None: - raise InvalidResourceException(self.logical_id, "'Runtime' is required.") - build_config["RuntimeConfig"] = {"Runtime": self.Runtime} - return build_config - - def _construct_code_config(self) -> dict[str, Any]: - if self.CodeUri is not None and self.InlineCode is not None: - raise InvalidResourceException(self.logical_id, "Only one of 'InlineCode' or 'CodeUri' can be set.") - if self.CodeUri: - return construct_webfunction_s3_location_object(self.CodeUri, self.logical_id, "CodeUri") - if self.InlineCode: - raise InvalidResourceException( - self.logical_id, - "'InlineCode' is not yet supported for 'AWS::Serverless::WebFunction'. Please use 'CodeUri' instead.", - ) - raise InvalidResourceException(self.logical_id, "Either 'InlineCode' or 'CodeUri' must be set.") - - def _construct_service_config(self, execution_role_arn: Any) -> dict[str, Any]: - service_config: dict[str, Any] = {"ExecutionRoleArn": execution_role_arn} - - if self.EnvironmentVariables and is_intrinsic(self.EnvironmentVariables): - if self.EntryPoint: - raise InvalidResourceException( - self.logical_id, - "'EntryPoint' cannot be used when 'EnvironmentVariables' is an intrinsic function.", - ) - service_config["EnvironmentVariables"] = self.EnvironmentVariables - else: - env_vars = dict(self.EnvironmentVariables or {}) - # Stringify scalar values (int, bool, float) — CFN requires string env var values - for k, v in env_vars.items(): - if isinstance(v, bool): - env_vars[k] = "true" if v else "false" - elif isinstance(v, (int, float)): - env_vars[k] = str(v) - if self.EntryPoint: - env_vars["AWS_LAMBDA_NODEJS_ENTRYPOINT"] = self.EntryPoint - if env_vars: - service_config["EnvironmentVariables"] = env_vars - - if self.LoggingConfig: - service_config.setdefault("TelemetryConfig", {})["LoggingConfig"] = self.LoggingConfig - - if self.MaxConcurrencyPerEnvironment is not None: - service_config["MaxConcurrencyPerEnvironment"] = self.MaxConcurrencyPerEnvironment - - service_config["TimeoutSeconds"] = self.Timeout or 30 - - return service_config - - def _construct_region_list(self) -> list[Intrinsicable[str]] | None: - replica = self.ReplicaRegions - if replica is None: - return None - # If the entire value is an intrinsic, pass through unchanged - if is_intrinsic(replica): - return cast(list[Intrinsicable[str]], replica) - if isinstance(replica, list): - # Expand string entries (region groups/codes), keep intrinsics as-is - string_entries = [r for r in replica if isinstance(r, str)] - intrinsic_entries = [r for r in replica if not isinstance(r, str)] - expanded = sorted(self._expand_regions(string_entries)) if string_entries else [] - return cast(list[Intrinsicable[str]], expanded + intrinsic_entries) - - include_regions = replica.get("IncludeRegions") or [] - exclude_regions = replica.get("ExcludeRegions") or [] - - # Reject unrecognized keys - valid_keys = {"IncludeRegions", "ExcludeRegions"} - unknown_keys = set(replica.keys()) - valid_keys - if unknown_keys: - raise InvalidResourceException( - self.logical_id, - f"'ReplicaRegions' contains unrecognized keys: {sorted(unknown_keys)}. Valid keys are: IncludeRegions, ExcludeRegions.", - ) - - # ExcludeRegions is only meaningful as a filter over an explicit inclusion set. Without IncludeRegions - # the result silently resolves to an empty region list (an endpoint with no replicas) instead of an - # error, so require IncludeRegions to be provided alongside ExcludeRegions. - if exclude_regions and not include_regions: - raise InvalidResourceException( - self.logical_id, - "'ExcludeRegions' requires 'IncludeRegions' to also be specified in 'ReplicaRegions'.", - ) - - # If either list is a top-level intrinsic, raise — can't meaningfully process include/exclude with intrinsics - if is_intrinsic(include_regions) or is_intrinsic(exclude_regions): - raise InvalidResourceException( - self.logical_id, - "'IncludeRegions' and 'ExcludeRegions' do not support top-level intrinsic functions.", - ) - - # Separate string entries from intrinsics in both lists - include_strings = [r for r in include_regions if isinstance(r, str)] - include_intrinsics = [r for r in include_regions if not isinstance(r, str)] - exclude_strings = [r for r in exclude_regions if isinstance(r, str)] - exclude_intrinsics = [r for r in exclude_regions if not isinstance(r, str)] - - # Intrinsics in ExcludeRegions can't be resolved at transform time — reject - if exclude_intrinsics: - raise InvalidResourceException( - self.logical_id, - "'ExcludeRegions' does not support intrinsic functions in entries.", - ) - - # Exclusions cannot be applied to intrinsic IncludeRegions entries: the intrinsic resolves only at - # deploy time and could resolve to an excluded region, silently defeating the exclusion. Reject the - # combination, consistent with rejecting intrinsic ExcludeRegions entries above. - if exclude_strings and include_intrinsics: - raise InvalidResourceException( - self.logical_id, - "'ExcludeRegions' cannot be used when 'IncludeRegions' contains intrinsic functions, because " - "the exclusion cannot be applied to an intrinsic value at transform time.", - ) - - included = set(self._expand_regions(include_strings)) if include_strings else set() - excluded = set(self._expand_regions(exclude_strings)) if exclude_strings else set() - - return cast(list[Intrinsicable[str]], sorted(included - excluded) + include_intrinsics) - - def _expand_regions(self, region_keys: list[str]) -> list[str]: - REGION_GROUPS: dict[str, tuple[str, ...]] = { - key: tuple(member.value) for key, member in RegionEnum.__members__.items() - } - - regions: set[str] = set() - stack: list[str] = [str(k) for k in region_keys] - - while stack: - key = stack.pop() - key_upper = key.upper() - - if key_upper == "ALL_STANDARD": - regions.update(RegionEnum.all_standard()) - continue - - if key_upper in REGION_GROUPS: - stack.extend(REGION_GROUPS[key_upper]) - continue - - if "-" in key: - regions.add(key) - continue - - raise InvalidResourceException(self.logical_id, f"Unknown region key or code: '{key}'.") - - return list(regions) - - def _construct_role(self) -> IAMRole: - assume_role_policy_document = IAMRolePolicies.lambda_assume_role_policy() - managed_policy_arns = [ArnGenerator.generate_aws_managed_policy_arn("service-role/AWSLambdaBasicExecutionRole")] - - return construct_role_for_resource( - resource_logical_id=self.logical_id, - attributes=self.get_passthrough_resource_attributes(), - managed_policy_map={}, - assume_role_policy_document=assume_role_policy_document, - resource_policies=ResourcePolicies({"Policies": None}, policy_template_processor=None), - managed_policy_arns=managed_policy_arns, - policy_documents=[], - role_path=None, - permissions_boundary=None, - tags=self._construct_tag_list(self.Tags), - get_managed_policy_map=None, - ) - - class SamApi(SamResourceMacro): """SAM rest API macro.""" diff --git a/samtranslator/schema/schema.json b/samtranslator/schema/schema.json index 3679e2f17..abd2b0c6b 100644 --- a/samtranslator/schema/schema.json +++ b/samtranslator/schema/schema.json @@ -1846,18 +1846,6 @@ ], "type": "object" }, - "AWS::APS::Scraper.CloudWatchConfiguration": { - "additionalProperties": false, - "properties": { - "DatasetArn": { - "type": "string" - } - }, - "required": [ - "DatasetArn" - ], - "type": "object" - }, "AWS::APS::Scraper.CloudWatchLogDestination": { "additionalProperties": false, "properties": { @@ -1893,11 +1881,11 @@ "$ref": "#/definitions/AWS::APS::Scraper.AmpConfiguration", "markdownDescription": "The Amazon Managed Service for Prometheus workspace to send metrics to.", "title": "AmpConfiguration" - }, - "CloudWatchConfiguration": { - "$ref": "#/definitions/AWS::APS::Scraper.CloudWatchConfiguration" } }, + "required": [ + "AmpConfiguration" + ], "type": "object" }, "AWS::APS::Scraper.EksConfiguration": { @@ -2998,9 +2986,6 @@ "RdsPromoteReadReplicaConfig": { "$ref": "#/definitions/AWS::ARCRegionSwitch::Plan.RdsPromoteReadReplicaConfiguration" }, - "RdsSwitchoverReadReplicaConfig": { - "$ref": "#/definitions/AWS::ARCRegionSwitch::Plan.RdsSwitchoverReadReplicaConfiguration" - }, "RegionSwitchPlanConfig": { "$ref": "#/definitions/AWS::ARCRegionSwitch::Plan.RegionSwitchPlanConfiguration", "markdownDescription": "A Region switch plan execution block.", @@ -3281,45 +3266,6 @@ ], "type": "object" }, - "AWS::ARCRegionSwitch::Plan.RdsSwitchoverReadReplicaConfiguration": { - "additionalProperties": false, - "properties": { - "CrossAccountRole": { - "type": "string" - }, - "DbInstanceArnMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ExternalId": { - "type": "string" - }, - "TimeoutMinutes": { - "type": "number" - }, - "Ungraceful": { - "$ref": "#/definitions/AWS::ARCRegionSwitch::Plan.RdsUngraceful" - } - }, - "required": [ - "DbInstanceArnMap" - ], - "type": "object" - }, - "AWS::ARCRegionSwitch::Plan.RdsUngraceful": { - "additionalProperties": false, - "properties": { - "Ungraceful": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ARCRegionSwitch::Plan.RegionSwitchPlanConfiguration": { "additionalProperties": false, "properties": { @@ -4172,7 +4118,7 @@ }, "type": "object" }, - "AWS::AccessAnalyzer::ArchiveRule": { + "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { "Condition": { @@ -4207,32 +4153,131 @@ "Properties": { "additionalProperties": false, "properties": { - "AnalyzerName": { + "AuthenticationStrategy": { + "markdownDescription": "Optional. The authentication strategy used to secure the broker. The default is `SIMPLE` .", + "title": "AuthenticationStrategy", "type": "string" }, - "Filter": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AccessAnalyzer::ArchiveRule.FilterItems" - } + "AutoMinorVersionUpgrade": { + "markdownDescription": "Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot. Set to `true` by default, if no value is specified.\n\n> Must be set to `true` for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" + }, + "BrokerName": { + "markdownDescription": "Required. The broker's name. This value must be unique in your AWS account , 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.\n\n> Do not add personally identifiable information (PII) or other confidential or sensitive information in broker names. Broker names are accessible to other AWS services, including CloudWatch Logs . Broker names are not intended to be used for private or sensitive data.", + "title": "BrokerName", + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId", + "markdownDescription": "A list of information about the configuration.", + "title": "Configuration" + }, + "DataReplicationMode": { + "markdownDescription": "Defines whether this broker is a part of a data replication pair.", + "title": "DataReplicationMode", + "type": "string" + }, + "DataReplicationPrimaryBrokerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.", + "title": "DataReplicationPrimaryBrokerArn", + "type": "string" + }, + "DeploymentMode": { + "markdownDescription": "Required. The broker's deployment mode.", + "title": "DeploymentMode", + "type": "string" + }, + "EncryptionOptions": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions", + "markdownDescription": "Encryption options for the broker.", + "title": "EncryptionOptions" + }, + "EngineType": { + "markdownDescription": "Required. The type of broker engine. Currently, Amazon MQ supports `ACTIVEMQ` and `RABBITMQ` .", + "title": "EngineType", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The broker engine version. Defaults to the latest available version for the specified broker engine type. For more information, see the [ActiveMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html) and the [RabbitMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html) sections in the Amazon MQ Developer Guide.", + "title": "EngineVersion", + "type": "string" + }, + "HostInstanceType": { + "markdownDescription": "Required. The broker's instance type.", + "title": "HostInstanceType", + "type": "string" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata", + "markdownDescription": "Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not apply to RabbitMQ brokers.", + "title": "LdapServerMetadata" + }, + "Logs": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList", + "markdownDescription": "Enables Amazon CloudWatch logging for brokers.", + "title": "Logs" + }, + "MaintenanceWindowStartTime": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow", + "markdownDescription": "The parameters that determine the WeeklyStartTime.", + "title": "MaintenanceWindowStartTime" + }, + "PubliclyAccessible": { + "markdownDescription": "Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to `false` by default, if no value is provided.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "SecurityGroups": { + "items": { + "type": "string" }, - "type": "object" + "markdownDescription": "The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.", + "title": "SecurityGroups", + "type": "array" }, - "RuleName": { + "StorageType": { + "markdownDescription": "The broker's storage type.", + "title": "StorageType", "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment has no subnet requirements when deployed with public accessibility. Deployment without public accessibility requires at least one subnet.\n\n> If you specify subnets in a [shared VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html) for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your AWS account . Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your AWS account .", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" + }, + "markdownDescription": "Create tags when creating the broker.", + "title": "Tags", + "type": "array" + }, + "Users": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" + }, + "markdownDescription": "The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web console.\n\nWhen OAuth 2.0 is enabled, the broker accepts one or no users.", + "title": "Users", + "type": "array" } }, "required": [ - "AnalyzerName", - "Filter", - "RuleName" + "BrokerName", + "DeploymentMode", + "EngineType", + "HostInstanceType", + "PubliclyAccessible" ], "type": "object" }, "Type": { "enum": [ - "AWS::AccessAnalyzer::ArchiveRule" + "AWS::AmazonMQ::Broker" ], "type": "string" }, @@ -4251,34 +4296,218 @@ ], "type": "object" }, - "AWS::AccessAnalyzer::ArchiveRule.FilterItems": { + "AWS::AmazonMQ::Broker.ConfigurationId": { "additionalProperties": false, "properties": { - "Contains": { - "items": { - "type": "string" - }, - "type": "array" + "Id": { + "markdownDescription": "Required. The unique ID that Amazon MQ generates for the configuration.", + "title": "Id", + "type": "string" }, - "Eq": { + "Revision": { + "markdownDescription": "The revision number of the configuration.", + "title": "Revision", + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.EncryptionOptions": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "markdownDescription": "The customer master key (CMK) to use for the A AWS (KMS). This key is used to encrypt your data at rest. If not provided, Amazon MQ will use a default CMK to encrypt your data.", + "title": "KmsKeyId", + "type": "string" + }, + "UseAwsOwnedKey": { + "markdownDescription": "Enables the use of an AWS owned CMK using AWS (KMS). Set to `true` by default, if no value is provided, for example, for RabbitMQ brokers.", + "title": "UseAwsOwnedKey", + "type": "boolean" + } + }, + "required": [ + "UseAwsOwnedKey" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { "items": { "type": "string" }, + "markdownDescription": "", + "title": "Hosts", "type": "array" }, - "Exists": { + "RoleBase": { + "markdownDescription": "", + "title": "RoleBase", + "type": "string" + }, + "RoleName": { + "markdownDescription": "", + "title": "RoleName", + "type": "string" + }, + "RoleSearchMatching": { + "markdownDescription": "", + "title": "RoleSearchMatching", + "type": "string" + }, + "RoleSearchSubtree": { + "markdownDescription": "", + "title": "RoleSearchSubtree", "type": "boolean" }, - "Neq": { + "ServiceAccountPassword": { + "markdownDescription": "", + "title": "ServiceAccountPassword", + "type": "string" + }, + "ServiceAccountUsername": { + "markdownDescription": "", + "title": "ServiceAccountUsername", + "type": "string" + }, + "UserBase": { + "markdownDescription": "", + "title": "UserBase", + "type": "string" + }, + "UserRoleName": { + "markdownDescription": "", + "title": "UserRoleName", + "type": "string" + }, + "UserSearchMatching": { + "markdownDescription": "", + "title": "UserSearchMatching", + "type": "string" + }, + "UserSearchSubtree": { + "markdownDescription": "", + "title": "UserSearchSubtree", + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LogList": { + "additionalProperties": false, + "properties": { + "Audit": { + "markdownDescription": "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers.", + "title": "Audit", + "type": "boolean" + }, + "General": { + "markdownDescription": "Enables general logging.", + "title": "General", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AmazonMQ::Broker.MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DayOfWeek": { + "markdownDescription": "Required. The day of the week.", + "title": "DayOfWeek", + "type": "string" + }, + "TimeOfDay": { + "markdownDescription": "Required. The time, in 24-hour format.", + "title": "TimeOfDay", + "type": "string" + }, + "TimeZone": { + "markdownDescription": "The time zone, UTC by default, in either the Country/City format, or the UTC offset format.", + "title": "TimeZone", + "type": "string" + } + }, + "required": [ + "DayOfWeek", + "TimeOfDay", + "TimeZone" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.User": { + "additionalProperties": false, + "properties": { + "ConsoleAccess": { + "markdownDescription": "Enables access to the ActiveMQ Web Console for the ActiveMQ user. Does not apply to RabbitMQ brokers.", + "title": "ConsoleAccess", + "type": "boolean" + }, + "Groups": { "items": { "type": "string" }, + "markdownDescription": "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. Does not apply to RabbitMQ brokers.", + "title": "Groups", "type": "array" + }, + "Password": { + "markdownDescription": "Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas, colons, or equal signs (,:=).", + "title": "Password", + "type": "string" + }, + "ReplicationUser": { + "markdownDescription": "Defines if this user is intended for CRDR replication purposes.", + "title": "ReplicationUser", + "type": "boolean" + }, + "Username": { + "markdownDescription": "The username of the broker user. The following restrictions apply to broker usernames:\n\n- For Amazon MQ for ActiveMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.\n- For Amazon MQ for RabbitMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores (- . _). This value must not contain a tilde (~) character. Amazon MQ prohibts using `guest` as a valid usename. This value must be 2-100 characters long.\n\n> Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other AWS services, including CloudWatch Logs . Broker usernames are not intended to be used for private or sensitive data.", + "title": "Username", + "type": "string" } }, + "required": [ + "Password", + "Username" + ], "type": "object" }, - "AWS::AccountAccess::Application": { + "AWS::AmazonMQ::Configuration": { "additionalProperties": false, "properties": { "Condition": { @@ -4313,24 +4542,54 @@ "Properties": { "additionalProperties": false, "properties": { - "IdentitySource": { - "$ref": "#/definitions/AWS::AccountAccess::Application.IdentitySource" + "AuthenticationStrategy": { + "markdownDescription": "Optional. The authentication strategy associated with the configuration. The default is `SIMPLE` .", + "title": "AuthenticationStrategy", + "type": "string" + }, + "Data": { + "markdownDescription": "Amazon MQ for Active MQ: The base64-encoded XML configuration. Amazon MQ for RabbitMQ: the base64-encoded Cuttlefish configuration.", + "title": "Data", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the configuration.", + "title": "Description", + "type": "string" + }, + "EngineType": { + "markdownDescription": "Required. The type of broker engine. Currently, Amazon MQ supports `ACTIVEMQ` and `RABBITMQ` .", + "title": "EngineType", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The broker engine version. Defaults to the latest available version for the specified broker engine type. For more information, see the [ActiveMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html) and the [RabbitMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html) sections in the Amazon MQ Developer Guide.", + "title": "EngineVersion", + "type": "string" + }, + "Name": { + "markdownDescription": "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.", + "title": "Name", + "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" }, + "markdownDescription": "Create tags when creating the configuration.", + "title": "Tags", "type": "array" } }, "required": [ - "IdentitySource" + "EngineType", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::AccountAccess::Application" + "AWS::AmazonMQ::Configuration" ], "type": "string" }, @@ -4349,34 +4608,27 @@ ], "type": "object" }, - "AWS::AccountAccess::Application.IdentityCenter": { + "AWS::AmazonMQ::Configuration.TagsEntry": { "additionalProperties": false, "properties": { - "ApplicationArn": { + "Key": { + "markdownDescription": "", + "title": "Key", "type": "string" }, - "InstanceArn": { + "Value": { + "markdownDescription": "", + "title": "Value", "type": "string" } }, "required": [ - "InstanceArn" - ], - "type": "object" - }, - "AWS::AccountAccess::Application.IdentitySource": { - "additionalProperties": false, - "properties": { - "IdentityCenter": { - "$ref": "#/definitions/AWS::AccountAccess::Application.IdentityCenter" - } - }, - "required": [ - "IdentityCenter" + "Key", + "Value" ], "type": "object" }, - "AWS::AccountAccess::Entitlement": { + "AWS::AmazonMQ::ConfigurationAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -4411,22 +4663,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationArn": { + "Broker": { + "markdownDescription": "", + "title": "Broker", "type": "string" }, - "Entitlement": { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement.Entitlement" + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId", + "markdownDescription": "Returns information about all configurations.", + "title": "Configuration" } }, "required": [ - "ApplicationArn", - "Entitlement" + "Broker", + "Configuration" ], "type": "object" }, "Type": { "enum": [ - "AWS::AccountAccess::Entitlement" + "AWS::AmazonMQ::ConfigurationAssociation" ], "type": "string" }, @@ -4445,62 +4701,27 @@ ], "type": "object" }, - "AWS::AccountAccess::Entitlement.Entitlement": { - "additionalProperties": false, - "properties": { - "PrincipalRole": { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement.PrincipalRoleEntitlement" - } - }, - "required": [ - "PrincipalRole" - ], - "type": "object" - }, - "AWS::AccountAccess::Entitlement.IdentityCenterPrincipal": { - "additionalProperties": false, - "properties": { - "GroupId": { - "type": "string" - }, - "UserId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AccountAccess::Entitlement.Principal": { - "additionalProperties": false, - "properties": { - "IdentityCenter": { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement.IdentityCenterPrincipal" - } - }, - "required": [ - "IdentityCenter" - ], - "type": "object" - }, - "AWS::AccountAccess::Entitlement.PrincipalRoleEntitlement": { + "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { "additionalProperties": false, "properties": { - "Account": { + "Id": { + "markdownDescription": "Required. The unique ID that Amazon MQ generates for the configuration.", + "title": "Id", "type": "string" }, - "Principal": { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement.Principal" - }, - "RoleArn": { - "type": "string" + "Revision": { + "markdownDescription": "The revision number of the configuration.", + "title": "Revision", + "type": "number" } }, "required": [ - "Principal", - "RoleArn" + "Id", + "Revision" ], "type": "object" }, - "AWS::AgentRegistry::Registry": { + "AWS::Amplify::App": { "additionalProperties": false, "properties": { "Condition": { @@ -4535,25 +4756,103 @@ "Properties": { "additionalProperties": false, "properties": { - "ApprovalConfiguration": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.ApprovalConfiguration" + "AccessToken": { + "markdownDescription": "The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.\n\nUse `AccessToken` for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use `OauthToken` .\n\nYou must specify either `AccessToken` or `OauthToken` when you create a new app.\n\nExisting Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .", + "title": "AccessToken", + "type": "string" }, - "AuthorizerType": { + "AutoBranchCreationConfig": { + "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig", + "markdownDescription": "Sets the configuration for your automatic branch creation.", + "title": "AutoBranchCreationConfig" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig", + "markdownDescription": "The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .", + "title": "BasicAuthConfig" + }, + "BuildSpec": { + "markdownDescription": "The build specification (build spec) for an Amplify app.", + "title": "BuildSpec", + "type": "string" + }, + "CacheConfig": { + "$ref": "#/definitions/AWS::Amplify::App.CacheConfig", + "markdownDescription": "The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting.", + "title": "CacheConfig" + }, + "ComputeRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for an SSR app. The Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .", + "title": "ComputeRoleArn", + "type": "string" + }, + "CustomHeaders": { + "markdownDescription": "The custom HTTP headers for an Amplify app.", + "title": "CustomHeaders", "type": "string" }, + "CustomRules": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.CustomRule" + }, + "markdownDescription": "The custom rewrite and redirect rules for an Amplify app.", + "title": "CustomRules", + "type": "array" + }, "Description": { + "markdownDescription": "The description of the Amplify app.", + "title": "Description", + "type": "string" + }, + "EnableBranchAutoDeletion": { + "markdownDescription": "Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository.", + "title": "EnableBranchAutoDeletion", + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "markdownDescription": "The environment variables for the Amplify app.\n\nFor a list of the environment variables that are accessible to Amplify by default, see [Amplify Environment variables](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html) in the *Amplify Hosting User Guide* .", + "title": "EnvironmentVariables", + "type": "array" + }, + "IAMServiceRole": { + "markdownDescription": "AWS Identity and Access Management ( IAM ) service role for the Amazon Resource Name (ARN) of the Amplify app.", + "title": "IAMServiceRole", "type": "string" }, - "DiscoveryConfiguration": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.DiscoveryConfiguration" + "JobConfig": { + "$ref": "#/definitions/AWS::Amplify::App.JobConfig", + "markdownDescription": "The configuration details that apply to the jobs for an Amplify app.", + "title": "JobConfig" }, "Name": { + "markdownDescription": "The name of the Amplify app.", + "title": "Name", + "type": "string" + }, + "OauthToken": { + "markdownDescription": "The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.\n\nUse `OauthToken` for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use `AccessToken` .\n\nYou must specify either `OauthToken` or `AccessToken` when you create a new app.\n\nExisting Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .", + "title": "OauthToken", + "type": "string" + }, + "Platform": { + "markdownDescription": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* .", + "title": "Platform", + "type": "string" + }, + "Repository": { + "markdownDescription": "The Git repository for the Amplify app.", + "title": "Repository", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tag for an Amplify app.", + "title": "Tags", "type": "array" } }, @@ -4564,7 +4863,7 @@ }, "Type": { "enum": [ - "AWS::AgentRegistry::Registry" + "AWS::Amplify::App" ], "type": "string" }, @@ -4583,127 +4882,170 @@ ], "type": "object" }, - "AWS::AgentRegistry::Registry.ApprovalConfiguration": { + "AWS::Amplify::App.AutoBranchCreationConfig": { "additionalProperties": false, "properties": { - "AutoApprovalRules": { + "AutoBranchCreationPatterns": { "items": { "type": "string" }, + "markdownDescription": "Automated branch creation glob patterns for the Amplify app.", + "title": "AutoBranchCreationPatterns", "type": "array" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig", + "markdownDescription": "Sets password protection for your auto created branch.", + "title": "BasicAuthConfig" + }, + "BuildSpec": { + "markdownDescription": "The build specification (build spec) for the autocreated branch.", + "title": "BuildSpec", + "type": "string" + }, + "EnableAutoBranchCreation": { + "markdownDescription": "Enables automated branch creation for the Amplify app.", + "title": "EnableAutoBranchCreation", + "type": "boolean" + }, + "EnableAutoBuild": { + "markdownDescription": "Enables auto building for the auto created branch.", + "title": "EnableAutoBuild", + "type": "boolean" + }, + "EnablePerformanceMode": { + "markdownDescription": "Enables performance mode for the branch.\n\nPerformance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.", + "title": "EnablePerformanceMode", + "type": "boolean" + }, + "EnablePullRequestPreview": { + "markdownDescription": "Sets whether pull request previews are enabled for each branch that Amplify Hosting automatically creates for your app. Amplify creates previews by deploying your app to a unique URL whenever a pull request is opened for the branch. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch.\n\nTo provide backend support for your preview, Amplify Hosting automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property.\n\nFor more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* .", + "title": "EnablePullRequestPreview", + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "markdownDescription": "The environment variables for the autocreated branch.", + "title": "EnvironmentVariables", + "type": "array" + }, + "Framework": { + "markdownDescription": "The framework for the autocreated branch.", + "title": "Framework", + "type": "string" + }, + "PullRequestEnvironmentName": { + "markdownDescription": "If pull request previews are enabled, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI.\n\nTo enable pull request previews, set the `EnablePullRequestPreview` property to `true` .\n\nIf you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify deletes this environment when the pull request is closed.\n\nFor more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* .", + "title": "PullRequestEnvironmentName", + "type": "string" + }, + "Stage": { + "markdownDescription": "Stage for the auto created branch.", + "title": "Stage", + "type": "string" } }, "type": "object" }, - "AWS::AgentRegistry::Registry.AuthorizerConfiguration": { - "additionalProperties": false, - "properties": { - "CustomJWTAuthorizer": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.CustomJWTAuthorizerConfiguration" - } - }, - "required": [ - "CustomJWTAuthorizer" - ], - "type": "object" - }, - "AWS::AgentRegistry::Registry.AuthorizingClaimMatchValueType": { + "AWS::Amplify::App.BasicAuthConfig": { "additionalProperties": false, "properties": { - "ClaimMatchOperator": { + "EnableBasicAuth": { + "markdownDescription": "Enables basic authorization for the Amplify app's branches.", + "title": "EnableBasicAuth", + "type": "boolean" + }, + "Password": { + "markdownDescription": "The password for basic authorization.", + "title": "Password", "type": "string" }, - "ClaimMatchValue": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.ClaimMatchValueType" + "Username": { + "markdownDescription": "The user name for basic authorization.", + "title": "Username", + "type": "string" } }, - "required": [ - "ClaimMatchOperator", - "ClaimMatchValue" - ], "type": "object" }, - "AWS::AgentRegistry::Registry.ClaimMatchValueType": { + "AWS::Amplify::App.CacheConfig": { "additionalProperties": false, "properties": { - "MatchValueString": { + "Type": { + "markdownDescription": "The type of cache configuration to use for an Amplify app.\n\nThe `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules.\n\nThe `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. This is the default setting.", + "title": "Type", "type": "string" - }, - "MatchValueStringList": { - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "AWS::AgentRegistry::Registry.CustomClaimValidationType": { + "AWS::Amplify::App.CustomRule": { "additionalProperties": false, "properties": { - "AuthorizingClaimMatchValue": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.AuthorizingClaimMatchValueType" + "Condition": { + "markdownDescription": "The condition for a URL rewrite or redirect rule, such as a country code.", + "title": "Condition", + "type": "string" }, - "InboundTokenClaimName": { + "Source": { + "markdownDescription": "The source pattern for a URL rewrite or redirect rule.", + "title": "Source", "type": "string" }, - "InboundTokenClaimValueType": { + "Status": { + "markdownDescription": "The status code for a URL rewrite or redirect rule.\n\n- **200** - Represents a 200 rewrite rule.\n- **301** - Represents a 301 (moved pemanently) redirect rule. This and all future requests should be directed to the target URL.\n- **302** - Represents a 302 temporary redirect rule.\n- **404** - Represents a 404 redirect rule.\n- **404-200** - Represents a 404 rewrite rule.", + "title": "Status", + "type": "string" + }, + "Target": { + "markdownDescription": "The target pattern for a URL rewrite or redirect rule.", + "title": "Target", "type": "string" } }, "required": [ - "AuthorizingClaimMatchValue", - "InboundTokenClaimName", - "InboundTokenClaimValueType" + "Source", + "Target" ], "type": "object" }, - "AWS::AgentRegistry::Registry.CustomJWTAuthorizerConfiguration": { + "AWS::Amplify::App.EnvironmentVariable": { "additionalProperties": false, "properties": { - "AllowedAudience": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedClients": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CustomClaims": { - "items": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.CustomClaimValidationType" - }, - "type": "array" + "Name": { + "markdownDescription": "The environment variable name.", + "title": "Name", + "type": "string" }, - "DiscoveryUrl": { + "Value": { + "markdownDescription": "The environment variable value.", + "title": "Value", "type": "string" } }, "required": [ - "DiscoveryUrl" + "Name", + "Value" ], "type": "object" }, - "AWS::AgentRegistry::Registry.DiscoveryConfiguration": { + "AWS::Amplify::App.JobConfig": { "additionalProperties": false, "properties": { - "AuthorizerConfiguration": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.AuthorizerConfiguration" + "BuildComputeType": { + "markdownDescription": "Specifies the size of the build instance. Amplify supports three instance sizes: `STANDARD_8GB` , `LARGE_16GB` , and `XLARGE_72GB` . If you don't specify a value, Amplify uses the `STANDARD_8GB` default.\n\nThe following list describes the CPU, memory, and storage capacity for each build instance type:\n\n- **STANDARD_8GB** - - vCPUs: 4\n- Memory: 8 GiB\n- Disk space: 128 GB\n- **LARGE_16GB** - - vCPUs: 8\n- Memory: 16 GiB\n- Disk space: 128 GB\n- **XLARGE_72GB** - - vCPUs: 36\n- Memory: 72 GiB\n- Disk space: 256 GB", + "title": "BuildComputeType", + "type": "string" } }, + "required": [ + "BuildComputeType" + ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord": { + "AWS::Amplify::Branch": { "additionalProperties": false, "properties": { "Condition": { @@ -4738,45 +5080,102 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AppId": { + "markdownDescription": "The unique ID for an Amplify app.", + "title": "AppId", "type": "string" }, - "Descriptors": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.Descriptors" + "Backend": { + "$ref": "#/definitions/AWS::Amplify::Branch.Backend", + "markdownDescription": "The backend for a `Branch` of an Amplify app. Use for a backend created from an CloudFormation stack.\n\nThis field is available to Amplify Gen 2 apps only. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.", + "title": "Backend" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig", + "markdownDescription": "The basic authorization credentials for a branch of an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .", + "title": "BasicAuthConfig" }, - "DisplayName": { + "BranchName": { + "markdownDescription": "The name for the branch.", + "title": "BranchName", "type": "string" }, - "Name": { + "BuildSpec": { + "markdownDescription": "The build specification (build spec) for the branch.", + "title": "BuildSpec", "type": "string" }, - "RecordType": { + "ComputeRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to assign to a branch of an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .", + "title": "ComputeRoleArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description for the branch that is part of an Amplify app.", + "title": "Description", + "type": "string" + }, + "EnableAutoBuild": { + "markdownDescription": "Enables auto building for the branch.", + "title": "EnableAutoBuild", + "type": "boolean" + }, + "EnablePerformanceMode": { + "markdownDescription": "Enables performance mode for the branch.\n\nPerformance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.", + "title": "EnablePerformanceMode", + "type": "boolean" + }, + "EnablePullRequestPreview": { + "markdownDescription": "Specifies whether Amplify Hosting creates a preview for each pull request that is made for this branch. If this property is enabled, Amplify deploys your app to a unique preview URL after each pull request is opened. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch.\n\nTo provide backend support for your preview, Amplify automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property.\n\nFor more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* .", + "title": "EnablePullRequestPreview", + "type": "boolean" + }, + "EnableSkewProtection": { + "markdownDescription": "Specifies whether the skew protection feature is enabled for the branch.\n\nDeployment skew protection is available to Amplify applications to eliminate version skew issues between client and servers in web applications. When you apply skew protection to a branch, you can ensure that your clients always interact with the correct version of server-side assets, regardless of when a deployment occurs. For more information about skew protection, see [Skew protection for Amplify deployments](https://docs.aws.amazon.com/amplify/latest/userguide/skew-protection.html) in the *Amplify User Guide* .", + "title": "EnableSkewProtection", + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" + }, + "markdownDescription": "The environment variables for the branch.", + "title": "EnvironmentVariables", + "type": "array" + }, + "Framework": { + "markdownDescription": "The framework for the branch.", + "title": "Framework", "type": "string" }, - "RecordVersion": { + "PullRequestEnvironmentName": { + "markdownDescription": "If pull request previews are enabled for this branch, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI and mapped to this branch.\n\nTo enable pull request previews, set the `EnablePullRequestPreview` property to `true` .\n\nIf you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify Hosting deletes this environment when the pull request is closed.\n\nFor more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* .", + "title": "PullRequestEnvironmentName", "type": "string" }, - "RegistryId": { + "Stage": { + "markdownDescription": "Describes the current stage for the branch.", + "title": "Stage", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tag for the branch.", + "title": "Tags", "type": "array" } }, "required": [ - "Descriptors", - "Name", - "RecordType", - "RegistryId" + "AppId", + "BranchName" ], "type": "object" }, "Type": { "enum": [ - "AWS::AgentRegistry::RegistryRecord" + "AWS::Amplify::Branch" ], "type": "string" }, @@ -4795,248 +5194,225 @@ ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.A2aAgentCardDescriptor": { + "AWS::Amplify::Branch.Backend": { "additionalProperties": false, "properties": { - "Data": { - "type": "string" - }, - "DataSchemaVersion": { + "StackArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the CloudFormation stack.", + "title": "StackArn", "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.DescriptorSource" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.AgentSkillsAdditionalData": { - "additionalProperties": false, - "properties": { - "SkillMd": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgentSkillsMdDescriptor" } }, "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.AgentSkillsDefinitionDescriptor": { + "AWS::Amplify::Branch.BasicAuthConfig": { "additionalProperties": false, "properties": { - "AdditionalData": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgentSkillsAdditionalData" - }, - "Data": { - "type": "string" + "EnableBasicAuth": { + "markdownDescription": "Enables basic authorization for the branch.", + "title": "EnableBasicAuth", + "type": "boolean" }, - "DataSchemaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.AgentSkillsMdDescriptor": { - "additionalProperties": false, - "properties": { - "Data": { + "Password": { + "markdownDescription": "The password for basic authorization.", + "title": "Password", "type": "string" }, - "DataSchemaVersion": { + "Username": { + "markdownDescription": "", + "title": "Username", "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SkillMdSource" } }, + "required": [ + "Password", + "Username" + ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.CustomDescriptor": { + "AWS::Amplify::Branch.EnvironmentVariable": { "additionalProperties": false, "properties": { - "Data": { + "Name": { + "markdownDescription": "The environment variable name.", + "title": "Name", "type": "string" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.DescriptorSource": { - "additionalProperties": false, - "properties": { - "FromUrl": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.DescriptorSourceFromUrl" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.DescriptorSourceFromUrl": { - "additionalProperties": false, - "properties": { - "CredentialProviderConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.RegistryRecordCredentialProviderConfiguration" - }, - "type": "array" }, - "Url": { + "Value": { + "markdownDescription": "The environment variable value.", + "title": "Value", "type": "string" } }, "required": [ - "Url" + "Name", + "Value" ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.Descriptors": { - "additionalProperties": false, - "properties": { - "A2aAgentCard": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.A2aAgentCardDescriptor" - }, - "AgentSkillsDefinition": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgentSkillsDefinitionDescriptor" - }, - "Custom": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.CustomDescriptor" - }, - "McpServer": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.McpServerDescriptor" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.McpServerAdditionalData": { - "additionalProperties": false, - "properties": { - "Tools": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.McpToolsDescriptor" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.McpServerDescriptor": { + "AWS::Amplify::Domain": { "additionalProperties": false, "properties": { - "AdditionalData": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.McpServerAdditionalData" - }, - "Data": { + "Condition": { "type": "string" }, - "DataSchemaVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.DescriptorSource" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.McpToolsDescriptor": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "markdownDescription": "The unique ID for an Amplify app.", + "title": "AppId", + "type": "string" + }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "markdownDescription": "Sets the branch patterns for automatic subdomain creation.", + "title": "AutoSubDomainCreationPatterns", + "type": "array" + }, + "AutoSubDomainIAMRole": { + "markdownDescription": "The required AWS Identity and Access Management (IAMlong) service role for the Amazon Resource Name (ARN) for automatically creating subdomains.", + "title": "AutoSubDomainIAMRole", + "type": "string" + }, + "CertificateSettings": { + "$ref": "#/definitions/AWS::Amplify::Domain.CertificateSettings", + "markdownDescription": "The type of SSL/TLS certificate to use for your custom domain. If you don't specify a certificate type, Amplify uses the default certificate that it provisions and manages for you.", + "title": "CertificateSettings" + }, + "DomainName": { + "markdownDescription": "The domain name for the domain association.", + "title": "DomainName", + "type": "string" + }, + "EnableAutoSubDomain": { + "markdownDescription": "Enables the automated creation of subdomains for branches.", + "title": "EnableAutoSubDomain", + "type": "boolean" + }, + "SubDomainSettings": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" + }, + "markdownDescription": "The setting for the subdomain.", + "title": "SubDomainSettings", + "type": "array" + } + }, + "required": [ + "AppId", + "DomainName", + "SubDomainSettings" + ], + "type": "object" }, - "DataSchemaVersion": { + "Type": { + "enum": [ + "AWS::Amplify::Domain" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.RegistryRecordCredentialProviderConfiguration": { - "additionalProperties": false, - "properties": { - "CredentialProvider": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.RegistryRecordCredentialProviderUnion" }, - "CredentialProviderType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "CredentialProvider", - "CredentialProviderType" + "Type", + "Properties" ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.RegistryRecordCredentialProviderUnion": { - "additionalProperties": false, - "properties": { - "IamCredentialProvider": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.RegistryRecordIamCredentialProvider" - }, - "OauthCredentialProvider": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.RegistryRecordOAuthCredentialProvider" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.RegistryRecordIamCredentialProvider": { + "AWS::Amplify::Domain.Certificate": { "additionalProperties": false, "properties": { - "Region": { + "CertificateArn": { + "markdownDescription": "The Amazon resource name (ARN) for a custom certificate that you have already added to Certificate Manager in your AWS account .\n\nThis field is required only when the certificate type is `CUSTOM` .", + "title": "CertificateArn", "type": "string" }, - "RoleArn": { + "CertificateType": { + "markdownDescription": "The type of SSL/TLS certificate that you want to use.\n\nSpecify `AMPLIFY_MANAGED` to use the default certificate that Amplify provisions for you.\n\nSpecify `CUSTOM` to use your own certificate that you have already added to Certificate Manager in your AWS account . Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see [Importing certificates into Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *ACM User guide* .", + "title": "CertificateType", "type": "string" }, - "Service": { + "CertificateVerificationDNSRecord": { + "markdownDescription": "The DNS record for certificate verification.", + "title": "CertificateVerificationDNSRecord", "type": "string" } }, "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.RegistryRecordOAuthCredentialProvider": { + "AWS::Amplify::Domain.CertificateSettings": { "additionalProperties": false, "properties": { - "CustomParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "GrantType": { + "CertificateType": { + "markdownDescription": "The certificate type.\n\nSpecify `AMPLIFY_MANAGED` to use the default certificate that Amplify provisions for you.\n\nSpecify `CUSTOM` to use your own certificate that you have already added to Certificate Manager in your AWS account . Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see [Importing certificates into Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *ACM User guide* .", + "title": "CertificateType", "type": "string" }, - "ProviderArn": { + "CustomCertificateArn": { + "markdownDescription": "The Amazon resource name (ARN) for the custom certificate that you have already added to Certificate Manager in your AWS account .\n\nThis field is required only when the certificate type is `CUSTOM` .", + "title": "CustomCertificateArn", "type": "string" - }, - "Scopes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ProviderArn" - ], - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.SkillMdSource": { - "additionalProperties": false, - "properties": { - "FromUrl": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SkillMdSourceFromUrl" } }, "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.SkillMdSourceFromUrl": { + "AWS::Amplify::Domain.SubDomainSetting": { "additionalProperties": false, "properties": { - "Url": { + "BranchName": { + "markdownDescription": "The branch name setting for the subdomain.\n\n*Length Constraints:* Minimum length of 1. Maximum length of 255.\n\n*Pattern:* (?s).+", + "title": "BranchName", + "type": "string" + }, + "Prefix": { + "markdownDescription": "The prefix setting for the subdomain.", + "title": "Prefix", "type": "string" } }, "required": [ - "Url" + "BranchName", + "Prefix" ], "type": "object" }, - "AWS::AmazonMQ::Broker": { + "AWS::AmplifyUIBuilder::Component": { "additionalProperties": false, "properties": { "Condition": { @@ -5071,140 +5447,118 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthenticationStrategy": { - "markdownDescription": "Optional. The authentication strategy used to secure the broker. The default is `SIMPLE` .", - "title": "AuthenticationStrategy", - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "markdownDescription": "Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot. Set to `true` by default, if no value is specified.\n\n> Must be set to `true` for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" - }, - "BrokerName": { - "markdownDescription": "Required. The broker's name. This value must be unique in your AWS account , 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.\n\n> Do not add personally identifiable information (PII) or other confidential or sensitive information in broker names. Broker names are accessible to other AWS services, including CloudWatch Logs . Broker names are not intended to be used for private or sensitive data.", - "title": "BrokerName", + "AppId": { + "markdownDescription": "The unique ID of the Amplify app associated with the component.", + "title": "AppId", "type": "string" }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId", - "markdownDescription": "A list of information about the configuration.", - "title": "Configuration" + "BindingProperties": { + "additionalProperties": false, + "markdownDescription": "The information to connect a component's properties to data at runtime. You can't specify `tags` as a valid property for `bindingProperties` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue" + } + }, + "title": "BindingProperties", + "type": "object" }, - "DataReplicationMode": { - "markdownDescription": "Defines whether this broker is a part of a data replication pair.", - "title": "DataReplicationMode", - "type": "string" + "Children": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild" + }, + "markdownDescription": "A list of the component's `ComponentChild` instances.", + "title": "Children", + "type": "array" }, - "DataReplicationPrimaryBrokerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.", - "title": "DataReplicationPrimaryBrokerArn", - "type": "string" + "CollectionProperties": { + "additionalProperties": false, + "markdownDescription": "The data binding configuration for the component's properties. Use this for a collection component. You can't specify `tags` as a valid property for `collectionProperties` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration" + } + }, + "title": "CollectionProperties", + "type": "object" }, - "DeploymentMode": { - "markdownDescription": "Required. The broker's deployment mode.", - "title": "DeploymentMode", + "ComponentType": { + "markdownDescription": "The type of the component. This can be an Amplify custom UI component or another custom component.", + "title": "ComponentType", "type": "string" }, - "EncryptionOptions": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions", - "markdownDescription": "Encryption options for the broker.", - "title": "EncryptionOptions" - }, - "EngineType": { - "markdownDescription": "Required. The type of broker engine. Currently, Amazon MQ supports `ACTIVEMQ` and `RABBITMQ` .", - "title": "EngineType", + "EnvironmentName": { + "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", + "title": "EnvironmentName", "type": "string" }, - "EngineVersion": { - "markdownDescription": "The broker engine version. Defaults to the latest available version for the specified broker engine type. For more information, see the [ActiveMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html) and the [RabbitMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html) sections in the Amazon MQ Developer Guide.", - "title": "EngineVersion", - "type": "string" + "Events": { + "additionalProperties": false, + "markdownDescription": "Describes the events that can be raised on the component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent" + } + }, + "title": "Events", + "type": "object" }, - "HostInstanceType": { - "markdownDescription": "Required. The broker's instance type.", - "title": "HostInstanceType", + "Name": { + "markdownDescription": "The name of the component.", + "title": "Name", "type": "string" }, - "LdapServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata", - "markdownDescription": "Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not apply to RabbitMQ brokers.", - "title": "LdapServerMetadata" - }, - "Logs": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList", - "markdownDescription": "Enables Amazon CloudWatch logging for brokers.", - "title": "Logs" - }, - "MaintenanceWindowStartTime": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow", - "markdownDescription": "The parameters that determine the WeeklyStartTime.", - "title": "MaintenanceWindowStartTime" - }, - "PubliclyAccessible": { - "markdownDescription": "Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to `false` by default, if no value is provided.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ResourceShareArns": { - "items": { - "type": "string" - }, - "type": "array" + "Overrides": { + "markdownDescription": "Describes the component's properties that can be overriden in a customized instance of the component. You can't specify `tags` as a valid property for `overrides` .", + "title": "Overrides", + "type": "object" }, - "SecurityGroups": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "markdownDescription": "Describes the component's properties. You can't specify `tags` as a valid property for `properties` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" + } }, - "markdownDescription": "The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.", - "title": "SecurityGroups", - "type": "array" - }, - "StorageSize": { - "type": "number" + "title": "Properties", + "type": "object" }, - "StorageType": { - "markdownDescription": "The broker's storage type.", - "title": "StorageType", + "SchemaVersion": { + "markdownDescription": "The schema version of the component when it was imported.", + "title": "SchemaVersion", "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment has no subnet requirements when deployed with public accessibility. Deployment without public accessibility requires at least one subnet.\n\n> If you specify subnets in a [shared VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html) for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your AWS account . Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your AWS account .", - "title": "SubnetIds", - "type": "array" + "SourceId": { + "markdownDescription": "The unique ID of the component in its original source system, such as Figma.", + "title": "SourceId", + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" + "additionalProperties": true, + "markdownDescription": "One or more key-value pairs to use when tagging the component.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "Create tags when creating the broker.", "title": "Tags", - "type": "array" + "type": "object" }, - "Users": { + "Variants": { "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentVariant" }, - "markdownDescription": "The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web console.\n\nWhen OAuth 2.0 is enabled, the broker accepts one or no users.", - "title": "Users", + "markdownDescription": "A list of the component's variants. A variant is a unique style configuration of a main component.", + "title": "Variants", "type": "array" } }, - "required": [ - "BrokerName", - "DeploymentMode", - "EngineType", - "HostInstanceType", - "PubliclyAccessible" - ], "type": "object" }, "Type": { "enum": [ - "AWS::AmazonMQ::Broker" + "AWS::AmplifyUIBuilder::Component" ], "type": "string" }, @@ -5218,437 +5572,530 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::AmazonMQ::Broker.ConfigurationId": { + "AWS::AmplifyUIBuilder::Component.ActionParameters": { "additionalProperties": false, "properties": { + "Anchor": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The HTML anchor link to the location to open. Specify this value for a navigation action.", + "title": "Anchor" + }, + "Fields": { + "additionalProperties": false, + "markdownDescription": "A dictionary of key-value pairs mapping Amplify Studio properties to fields in a data model. Use when the action performs an operation on an Amplify DataStore model.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" + } + }, + "title": "Fields", + "type": "object" + }, + "Global": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "Specifies whether the user should be signed out globally. Specify this value for an auth sign out action.", + "title": "Global" + }, "Id": { - "markdownDescription": "Required. The unique ID that Amazon MQ generates for the configuration.", - "title": "Id", + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The unique ID of the component that the `ActionParameters` apply to.", + "title": "Id" + }, + "Model": { + "markdownDescription": "The name of the data model. Use when the action performs an operation on an Amplify DataStore model.", + "title": "Model", "type": "string" }, - "Revision": { - "markdownDescription": "The revision number of the configuration.", - "title": "Revision", - "type": "number" + "State": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter", + "markdownDescription": "A key-value pair that specifies the state property name and its initial value.", + "title": "State" + }, + "Target": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The element within the same component to modify when the action occurs.", + "title": "Target" + }, + "Type": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The type of navigation action. Valid values are `url` and `anchor` . This value is required for a navigation action.", + "title": "Type" + }, + "Url": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The URL to the location to open. Specify this value for a navigation action.", + "title": "Url" } }, - "required": [ - "Id", - "Revision" - ], "type": "object" }, - "AWS::AmazonMQ::Broker.EncryptionOptions": { + "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "The customer master key (CMK) to use for the A AWS (KMS). This key is used to encrypt your data at rest. If not provided, Amazon MQ will use a default CMK to encrypt your data.", - "title": "KmsKeyId", + "BindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties", + "markdownDescription": "Describes the properties to customize with data at runtime.", + "title": "BindingProperties" + }, + "DefaultValue": { + "markdownDescription": "The default value of the property.", + "title": "DefaultValue", "type": "string" }, - "UseAwsOwnedKey": { - "markdownDescription": "Enables the use of an AWS owned CMK using AWS (KMS). Set to `true` by default, if no value is provided, for example, for RabbitMQ brokers.", - "title": "UseAwsOwnedKey", - "type": "boolean" + "Type": { + "markdownDescription": "The property type.", + "title": "Type", + "type": "string" } }, - "required": [ - "UseAwsOwnedKey" - ], "type": "object" }, - "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties": { "additionalProperties": false, "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Hosts", - "type": "array" - }, - "RoleBase": { - "markdownDescription": "", - "title": "RoleBase", - "type": "string" - }, - "RoleName": { - "markdownDescription": "", - "title": "RoleName", + "Bucket": { + "markdownDescription": "An Amazon S3 bucket.", + "title": "Bucket", "type": "string" }, - "RoleSearchMatching": { - "markdownDescription": "", - "title": "RoleSearchMatching", + "DefaultValue": { + "markdownDescription": "The default value to assign to the property.", + "title": "DefaultValue", "type": "string" }, - "RoleSearchSubtree": { - "markdownDescription": "", - "title": "RoleSearchSubtree", - "type": "boolean" - }, - "ServiceAccountPassword": { - "markdownDescription": "", - "title": "ServiceAccountPassword", + "Field": { + "markdownDescription": "The field to bind the data to.", + "title": "Field", "type": "string" }, - "ServiceAccountUsername": { - "markdownDescription": "", - "title": "ServiceAccountUsername", + "Key": { + "markdownDescription": "The storage key for an Amazon S3 bucket.", + "title": "Key", "type": "string" }, - "UserBase": { - "markdownDescription": "", - "title": "UserBase", + "Model": { + "markdownDescription": "An Amplify DataStore model.", + "title": "Model", "type": "string" }, - "UserRoleName": { - "markdownDescription": "", - "title": "UserRoleName", + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" + }, + "markdownDescription": "A list of predicates for binding a component's properties to data.", + "title": "Predicates", + "type": "array" + }, + "SlotName": { + "markdownDescription": "The name of a component slot.", + "title": "SlotName", "type": "string" }, - "UserSearchMatching": { - "markdownDescription": "", - "title": "UserSearchMatching", + "UserAttribute": { + "markdownDescription": "An authenticated user attribute.", + "title": "UserAttribute", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Component.ComponentChild": { + "additionalProperties": false, + "properties": { + "Children": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild" + }, + "markdownDescription": "The list of `ComponentChild` instances for this component.", + "title": "Children", + "type": "array" + }, + "ComponentType": { + "markdownDescription": "The type of the child component.", + "title": "ComponentType", "type": "string" }, - "UserSearchSubtree": { - "markdownDescription": "", - "title": "UserSearchSubtree", - "type": "boolean" + "Events": { + "additionalProperties": false, + "markdownDescription": "Describes the events that can be raised on the child component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent" + } + }, + "title": "Events", + "type": "object" + }, + "Name": { + "markdownDescription": "The name of the child component.", + "title": "Name", + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "markdownDescription": "Describes the properties of the child component. You can't specify `tags` as a valid property for `properties` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" + } + }, + "title": "Properties", + "type": "object" + }, + "SourceId": { + "markdownDescription": "The unique ID of the child component in its original source system, such as Figma.", + "title": "SourceId", + "type": "string" } }, "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" + "ComponentType", + "Name", + "Properties" ], "type": "object" }, - "AWS::AmazonMQ::Broker.LogList": { + "AWS::AmplifyUIBuilder::Component.ComponentConditionProperty": { "additionalProperties": false, "properties": { - "Audit": { - "markdownDescription": "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers.", - "title": "Audit", - "type": "boolean" + "Else": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The value to assign to the property if the condition is not met.", + "title": "Else" }, - "General": { - "markdownDescription": "Enables general logging.", - "title": "General", - "type": "boolean" + "Field": { + "markdownDescription": "The name of a field. Specify this when the property is a data model.", + "title": "Field", + "type": "string" + }, + "Operand": { + "markdownDescription": "The value of the property to evaluate.", + "title": "Operand", + "type": "string" + }, + "OperandType": { + "markdownDescription": "The type of the property to evaluate.", + "title": "OperandType", + "type": "string" + }, + "Operator": { + "markdownDescription": "The operator to use to perform the evaluation, such as `eq` to represent equals.", + "title": "Operator", + "type": "string" + }, + "Property": { + "markdownDescription": "The name of the conditional property.", + "title": "Property", + "type": "string" + }, + "Then": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The value to assign to the property if the condition is met.", + "title": "Then" } }, "type": "object" }, - "AWS::AmazonMQ::Broker.MaintenanceWindow": { + "AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration": { "additionalProperties": false, "properties": { - "DayOfWeek": { - "markdownDescription": "Required. The day of the week.", - "title": "DayOfWeek", - "type": "string" + "Identifiers": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IDs to use to bind data to a component. Use this property to bind specifically chosen data, rather than data retrieved from a query.", + "title": "Identifiers", + "type": "array" }, - "TimeOfDay": { - "markdownDescription": "Required. The time, in 24-hour format.", - "title": "TimeOfDay", + "Model": { + "markdownDescription": "The name of the data model to use to bind data to a component.", + "title": "Model", "type": "string" }, - "TimeZone": { - "markdownDescription": "The time zone, UTC by default, in either the Country/City format, or the UTC offset format.", - "title": "TimeZone", - "type": "string" + "Predicate": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate", + "markdownDescription": "Represents the conditional logic to use when binding data to a component. Use this property to retrieve only a subset of the data in a collection.", + "title": "Predicate" + }, + "Sort": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.SortProperty" + }, + "markdownDescription": "Describes how to sort the component's properties.", + "title": "Sort", + "type": "array" } }, "required": [ - "DayOfWeek", - "TimeOfDay", - "TimeZone" + "Model" ], "type": "object" }, - "AWS::AmazonMQ::Broker.TagsEntry": { + "AWS::AmplifyUIBuilder::Component.ComponentEvent": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "", - "title": "Key", + "Action": { + "markdownDescription": "The action to perform when a specific event is raised.", + "title": "Action", "type": "string" }, - "Value": { - "markdownDescription": "", - "title": "Value", + "BindingEvent": { + "markdownDescription": "Binds an event to an action on a component. When you specify a `bindingEvent` , the event is called when the action is performed.", + "title": "BindingEvent", "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ActionParameters", + "markdownDescription": "Describes information about the action.", + "title": "Parameters" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::AmazonMQ::Broker.User": { + "AWS::AmplifyUIBuilder::Component.ComponentProperty": { "additionalProperties": false, "properties": { - "ConsoleAccess": { - "markdownDescription": "Enables access to the ActiveMQ Web Console for the ActiveMQ user. Does not apply to RabbitMQ brokers.", - "title": "ConsoleAccess", - "type": "boolean" + "BindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties", + "markdownDescription": "The information to bind the component property to data at runtime.", + "title": "BindingProperties" }, - "Groups": { + "Bindings": { + "additionalProperties": false, + "markdownDescription": "The information to bind the component property to form data.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.FormBindingElement" + } + }, + "title": "Bindings", + "type": "object" + }, + "CollectionBindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties", + "markdownDescription": "The information to bind the component property to data at runtime. Use this for collection components.", + "title": "CollectionBindingProperties" + }, + "ComponentName": { + "markdownDescription": "The name of the component that is affected by an event.", + "title": "ComponentName", + "type": "string" + }, + "Concat": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" }, - "markdownDescription": "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. Does not apply to RabbitMQ brokers.", - "title": "Groups", + "markdownDescription": "A list of component properties to concatenate to create the value to assign to this component property.", + "title": "Concat", "type": "array" }, - "Password": { - "markdownDescription": "Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas, colons, or equal signs (,:=).", - "title": "Password", - "type": "string" + "Condition": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentConditionProperty", + "markdownDescription": "The conditional expression to use to assign a value to the component property.", + "title": "Condition" }, - "ReplicationUser": { - "markdownDescription": "Defines if this user is intended for CRDR replication purposes.", - "title": "ReplicationUser", + "Configured": { + "markdownDescription": "Specifies whether the user configured the property in Amplify Studio after importing it.", + "title": "Configured", "type": "boolean" }, - "Username": { - "markdownDescription": "The username of the broker user. The following restrictions apply to broker usernames:\n\n- For Amazon MQ for ActiveMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.\n- For Amazon MQ for RabbitMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores (- . _). This value must not contain a tilde (~) character. Amazon MQ prohibts using `guest` as a valid usename. This value must be 2-100 characters long.\n\n> Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other AWS services, including CloudWatch Logs . Broker usernames are not intended to be used for private or sensitive data.", - "title": "Username", + "DefaultValue": { + "markdownDescription": "The default value to assign to the component property.", + "title": "DefaultValue", + "type": "string" + }, + "Event": { + "markdownDescription": "An event that occurs in your app. Use this for workflow data binding.", + "title": "Event", + "type": "string" + }, + "ImportedValue": { + "markdownDescription": "The default value assigned to the property when the component is imported into an app.", + "title": "ImportedValue", + "type": "string" + }, + "Model": { + "markdownDescription": "The data model to use to assign a value to the component property.", + "title": "Model", + "type": "string" + }, + "Property": { + "markdownDescription": "The name of the component's property that is affected by an event.", + "title": "Property", + "type": "string" + }, + "Type": { + "markdownDescription": "The component type.", + "title": "Type", + "type": "string" + }, + "UserAttribute": { + "markdownDescription": "An authenticated user attribute to use to assign a value to the component property.", + "title": "UserAttribute", + "type": "string" + }, + "Value": { + "markdownDescription": "The value to assign to the component property.", + "title": "Value", "type": "string" } }, - "required": [ - "Password", - "Username" - ], "type": "object" }, - "AWS::AmazonMQ::Configuration": { + "AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties": { "additionalProperties": false, "properties": { - "Condition": { + "Field": { + "markdownDescription": "The data field to bind the property to.", + "title": "Field", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Property": { + "markdownDescription": "The component property to bind to the data field.", + "title": "Property", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { + } + }, + "required": [ + "Property" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Component.ComponentVariant": { + "additionalProperties": false, + "properties": { + "Overrides": { + "markdownDescription": "The properties of the component variant that can be overriden when customizing an instance of the component. You can't specify `tags` as a valid property for `overrides` .", + "title": "Overrides", "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "markdownDescription": "Optional. The authentication strategy associated with the configuration. The default is `SIMPLE` .", - "title": "AuthenticationStrategy", - "type": "string" - }, - "Data": { - "markdownDescription": "Amazon MQ for Active MQ: The base64-encoded XML configuration. Amazon MQ for RabbitMQ: the base64-encoded Cuttlefish configuration.", - "title": "Data", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the configuration.", - "title": "Description", - "type": "string" - }, - "EngineType": { - "markdownDescription": "Required. The type of broker engine. Currently, Amazon MQ supports `ACTIVEMQ` and `RABBITMQ` .", - "title": "EngineType", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The broker engine version. Defaults to the latest available version for the specified broker engine type. For more information, see the [ActiveMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html) and the [RabbitMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html) sections in the Amazon MQ Developer Guide.", - "title": "EngineVersion", - "type": "string" - }, - "Name": { - "markdownDescription": "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.", - "title": "Name", + "VariantValues": { + "additionalProperties": true, + "markdownDescription": "The combination of variants that comprise this variant.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" - }, - "markdownDescription": "Create tags when creating the configuration.", - "title": "Tags", - "type": "array" } }, - "required": [ - "EngineType", - "Name" - ], + "title": "VariantValues", "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Configuration" - ], + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Component.FormBindingElement": { + "additionalProperties": false, + "properties": { + "Element": { + "markdownDescription": "The name of the component to retrieve a value from.", + "title": "Element", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Property": { + "markdownDescription": "The property to retrieve a value from.", + "title": "Property", "type": "string" } }, "required": [ - "Type", - "Properties" + "Element", + "Property" ], "type": "object" }, - "AWS::AmazonMQ::Configuration.TagsEntry": { + "AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "", - "title": "Key", + "ComponentName": { + "markdownDescription": "The name of the component that is being modified.", + "title": "ComponentName", "type": "string" }, - "Value": { - "markdownDescription": "", - "title": "Value", + "Property": { + "markdownDescription": "The name of the component property to apply the state configuration to.", + "title": "Property", "type": "string" + }, + "Set": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The state configuration to assign to the property.", + "title": "Set" } }, "required": [ - "Key", - "Value" + "ComponentName", + "Property", + "Set" ], "type": "object" }, - "AWS::AmazonMQ::ConfigurationAssociation": { + "AWS::AmplifyUIBuilder::Component.Predicate": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "And": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" + }, + "markdownDescription": "A list of predicates to combine logically.", + "title": "And", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Field": { + "markdownDescription": "The field to query.", + "title": "Field", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Broker": { - "markdownDescription": "", - "title": "Broker", - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId", - "markdownDescription": "Returns information about all configurations.", - "title": "Configuration" - } - }, - "required": [ - "Broker", - "Configuration" - ], - "type": "object" + "Operand": { + "markdownDescription": "The value to use when performing the evaluation.", + "title": "Operand", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AmazonMQ::ConfigurationAssociation" - ], + "OperandType": { + "markdownDescription": "The type of value to use when performing the evaluation.", + "title": "OperandType", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Operator": { + "markdownDescription": "The operator to use to perform the evaluation.", + "title": "Operator", "type": "string" + }, + "Or": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" + }, + "markdownDescription": "A list of predicates to combine logically.", + "title": "Or", + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { + "AWS::AmplifyUIBuilder::Component.SortProperty": { "additionalProperties": false, "properties": { - "Id": { - "markdownDescription": "Required. The unique ID that Amazon MQ generates for the configuration.", - "title": "Id", + "Direction": { + "markdownDescription": "The direction of the sort, either ascending or descending.", + "title": "Direction", "type": "string" }, - "Revision": { - "markdownDescription": "The revision number of the configuration.", - "title": "Revision", - "type": "number" + "Field": { + "markdownDescription": "The field to perform the sort on.", + "title": "Field", + "type": "string" } }, "required": [ - "Id", - "Revision" + "Direction", + "Field" ], "type": "object" }, - "AWS::Amplify::App": { + "AWS::AmplifyUIBuilder::Form": { "additionalProperties": false, "properties": { "Condition": { @@ -5683,114 +6130,90 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.\n\nUse `AccessToken` for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use `OauthToken` .\n\nYou must specify either `AccessToken` or `OauthToken` when you create a new app.\n\nExisting Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .", - "title": "AccessToken", - "type": "string" - }, - "AutoBranchCreationConfig": { - "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig", - "markdownDescription": "Sets the configuration for your automatic branch creation.", - "title": "AutoBranchCreationConfig" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig", - "markdownDescription": "The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .", - "title": "BasicAuthConfig" - }, - "BuildSpec": { - "markdownDescription": "The build specification (build spec) for an Amplify app.", - "title": "BuildSpec", + "AppId": { + "markdownDescription": "The unique ID of the Amplify app associated with the form.", + "title": "AppId", "type": "string" }, - "CacheConfig": { - "$ref": "#/definitions/AWS::Amplify::App.CacheConfig", - "markdownDescription": "The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting.", - "title": "CacheConfig" + "Cta": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormCTA", + "markdownDescription": "The `FormCTA` object that stores the call to action configuration for the form.", + "title": "Cta" }, - "ComputeRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for an SSR app. The Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .", - "title": "ComputeRoleArn", - "type": "string" + "DataType": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormDataTypeConfig", + "markdownDescription": "The type of data source to use to create the form.", + "title": "DataType" }, - "CustomHeaders": { - "markdownDescription": "The custom HTTP headers for an Amplify app.", - "title": "CustomHeaders", + "EnvironmentName": { + "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", + "title": "EnvironmentName", "type": "string" }, - "CustomRules": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.CustomRule" + "Fields": { + "additionalProperties": false, + "markdownDescription": "The configuration information for the form's fields.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldConfig" + } }, - "markdownDescription": "The custom rewrite and redirect rules for an Amplify app.", - "title": "CustomRules", - "type": "array" + "title": "Fields", + "type": "object" }, - "Description": { - "markdownDescription": "The description of the Amplify app.", - "title": "Description", + "FormActionType": { + "markdownDescription": "Specifies whether to perform a create or update action on the form.", + "title": "FormActionType", "type": "string" }, - "EnableBranchAutoDeletion": { - "markdownDescription": "Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository.", - "title": "EnableBranchAutoDeletion", - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "markdownDescription": "The environment variables for the Amplify app.\n\nFor a list of the environment variables that are accessible to Amplify by default, see [Amplify Environment variables](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html) in the *Amplify Hosting User Guide* .", - "title": "EnvironmentVariables", - "type": "array" - }, - "IAMServiceRole": { - "markdownDescription": "AWS Identity and Access Management ( IAM ) service role for the Amazon Resource Name (ARN) of the Amplify app.", - "title": "IAMServiceRole", + "LabelDecorator": { + "markdownDescription": "Specifies an icon or decoration to display on the form.", + "title": "LabelDecorator", "type": "string" }, - "JobConfig": { - "$ref": "#/definitions/AWS::Amplify::App.JobConfig", - "markdownDescription": "The configuration details that apply to the jobs for an Amplify app.", - "title": "JobConfig" - }, "Name": { - "markdownDescription": "The name of the Amplify app.", + "markdownDescription": "The name of the form.", "title": "Name", "type": "string" }, - "OauthToken": { - "markdownDescription": "The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.\n\nUse `OauthToken` for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use `AccessToken` .\n\nYou must specify either `OauthToken` or `AccessToken` when you create a new app.\n\nExisting Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .", - "title": "OauthToken", + "SchemaVersion": { + "markdownDescription": "The schema version of the form.", + "title": "SchemaVersion", "type": "string" }, - "Platform": { - "markdownDescription": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* .", - "title": "Platform", - "type": "string" + "SectionalElements": { + "additionalProperties": false, + "markdownDescription": "The configuration information for the visual helper elements for the form. These elements are not associated with any data.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.SectionalElement" + } + }, + "title": "SectionalElements", + "type": "object" }, - "Repository": { - "markdownDescription": "The Git repository for the Amplify app.", - "title": "Repository", - "type": "string" + "Style": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyle", + "markdownDescription": "The configuration for the form's style.", + "title": "Style" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "One or more key-value pairs to use when tagging the form data.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The tag for an Amplify app.", "title": "Tags", - "type": "array" + "type": "object" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::App" + "AWS::AmplifyUIBuilder::Form" ], "type": "string" }, @@ -5804,191 +6227,509 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Amplify::App.AutoBranchCreationConfig": { + "AWS::AmplifyUIBuilder::Form.FieldConfig": { "additionalProperties": false, "properties": { - "AutoBranchCreationPatterns": { + "Excluded": { + "markdownDescription": "Specifies whether to hide a field.", + "title": "Excluded", + "type": "boolean" + }, + "InputType": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldInputConfig", + "markdownDescription": "Describes the configuration for the default input value to display for a field.", + "title": "InputType" + }, + "Label": { + "markdownDescription": "The label for the field.", + "title": "Label", + "type": "string" + }, + "Position": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", + "markdownDescription": "Specifies the field position.", + "title": "Position" + }, + "Validations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration" }, - "markdownDescription": "Automated branch creation glob patterns for the Amplify app.", - "title": "AutoBranchCreationPatterns", + "markdownDescription": "The validations to perform on the value in the field.", + "title": "Validations", "type": "array" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FieldInputConfig": { + "additionalProperties": false, + "properties": { + "DefaultChecked": { + "markdownDescription": "Specifies whether a field has a default value.", + "title": "DefaultChecked", + "type": "boolean" }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig", - "markdownDescription": "Sets password protection for your auto created branch.", - "title": "BasicAuthConfig" + "DefaultCountryCode": { + "markdownDescription": "The default country code for a phone number.", + "title": "DefaultCountryCode", + "type": "string" }, - "BuildSpec": { - "markdownDescription": "The build specification (build spec) for the autocreated branch.", - "title": "BuildSpec", + "DefaultValue": { + "markdownDescription": "The default value for the field.", + "title": "DefaultValue", "type": "string" }, - "EnableAutoBranchCreation": { - "markdownDescription": "Enables automated branch creation for the Amplify app.", - "title": "EnableAutoBranchCreation", - "type": "boolean" + "DescriptiveText": { + "markdownDescription": "The text to display to describe the field.", + "title": "DescriptiveText", + "type": "string" }, - "EnableAutoBuild": { - "markdownDescription": "Enables auto building for the auto created branch.", - "title": "EnableAutoBuild", + "FileUploaderConfig": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig", + "markdownDescription": "The configuration for the file uploader field.", + "title": "FileUploaderConfig" + }, + "IsArray": { + "markdownDescription": "Specifies whether to render the field as an array. This property is ignored if the `dataSourceType` for the form is a Data Store.", + "title": "IsArray", "type": "boolean" }, - "EnablePerformanceMode": { - "markdownDescription": "Enables performance mode for the branch.\n\nPerformance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.", - "title": "EnablePerformanceMode", + "MaxValue": { + "markdownDescription": "The maximum value to display for the field.", + "title": "MaxValue", + "type": "number" + }, + "MinValue": { + "markdownDescription": "The minimum value to display for the field.", + "title": "MinValue", + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the field.", + "title": "Name", + "type": "string" + }, + "Placeholder": { + "markdownDescription": "The text to display as a placeholder for the field.", + "title": "Placeholder", + "type": "string" + }, + "ReadOnly": { + "markdownDescription": "Specifies a read only field.", + "title": "ReadOnly", "type": "boolean" }, - "EnablePullRequestPreview": { - "markdownDescription": "Sets whether pull request previews are enabled for each branch that Amplify Hosting automatically creates for your app. Amplify creates previews by deploying your app to a unique URL whenever a pull request is opened for the branch. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch.\n\nTo provide backend support for your preview, Amplify Hosting automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property.\n\nFor more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* .", - "title": "EnablePullRequestPreview", + "Required": { + "markdownDescription": "Specifies a field that requires input.", + "title": "Required", "type": "boolean" }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "markdownDescription": "The environment variables for the autocreated branch.", - "title": "EnvironmentVariables", - "type": "array" + "Step": { + "markdownDescription": "The stepping increment for a numeric value in a field.", + "title": "Step", + "type": "number" }, - "Framework": { - "markdownDescription": "The framework for the autocreated branch.", - "title": "Framework", + "Type": { + "markdownDescription": "The input type for the field.", + "title": "Type", "type": "string" }, - "PullRequestEnvironmentName": { - "markdownDescription": "If pull request previews are enabled, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI.\n\nTo enable pull request previews, set the `EnablePullRequestPreview` property to `true` .\n\nIf you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify deletes this environment when the pull request is closed.\n\nFor more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* .", - "title": "PullRequestEnvironmentName", + "Value": { + "markdownDescription": "The value for the field.", + "title": "Value", "type": "string" }, - "Stage": { - "markdownDescription": "Stage for the auto created branch.", - "title": "Stage", - "type": "string" + "ValueMappings": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMappings", + "markdownDescription": "The information to use to customize the input fields with data at runtime.", + "title": "ValueMappings" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Amplify::App.BasicAuthConfig": { + "AWS::AmplifyUIBuilder::Form.FieldPosition": { "additionalProperties": false, "properties": { - "EnableBasicAuth": { - "markdownDescription": "Enables basic authorization for the Amplify app's branches.", - "title": "EnableBasicAuth", - "type": "boolean" + "Below": { + "markdownDescription": "The field position is below the field specified by the string.", + "title": "Below", + "type": "string" }, - "Password": { - "markdownDescription": "The password for basic authorization.", - "title": "Password", + "Fixed": { + "markdownDescription": "The field position is fixed and doesn't change in relation to other fields.", + "title": "Fixed", "type": "string" }, - "Username": { - "markdownDescription": "The user name for basic authorization.", - "title": "Username", + "RightOf": { + "markdownDescription": "The field position is to the right of the field specified by the string.", + "title": "RightOf", "type": "string" } }, "type": "object" }, - "AWS::Amplify::App.CacheConfig": { + "AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration": { "additionalProperties": false, "properties": { + "NumValues": { + "items": { + "type": "number" + }, + "markdownDescription": "The validation to perform on a number value.", + "title": "NumValues", + "type": "array" + }, + "StrValues": { + "items": { + "type": "string" + }, + "markdownDescription": "The validation to perform on a string value.", + "title": "StrValues", + "type": "array" + }, "Type": { - "markdownDescription": "The type of cache configuration to use for an Amplify app.\n\nThe `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules.\n\nThe `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. This is the default setting.", + "markdownDescription": "The validation to perform on an object type. ``", "title": "Type", "type": "string" + }, + "ValidationMessage": { + "markdownDescription": "The validation message to display.", + "title": "ValidationMessage", + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Amplify::App.CustomRule": { + "AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig": { "additionalProperties": false, "properties": { - "Condition": { - "markdownDescription": "The condition for a URL rewrite or redirect rule, such as a country code.", - "title": "Condition", - "type": "string" + "AcceptedFileTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The file types that are allowed to be uploaded by the file uploader. Provide this information in an array of strings specifying the valid file extensions.", + "title": "AcceptedFileTypes", + "type": "array" }, - "Source": { - "markdownDescription": "The source pattern for a URL rewrite or redirect rule.", - "title": "Source", + "AccessLevel": { + "markdownDescription": "The access level to assign to the uploaded files in the Amazon S3 bucket where they are stored. The valid values for this property are `private` , `protected` , or `public` . For detailed information about the permissions associated with each access level, see [File access levels](https://docs.aws.amazon.com/https://docs.amplify.aws/lib/storage/configureaccess/q/platform/js/) in the *Amplify documentation* .", + "title": "AccessLevel", "type": "string" }, - "Status": { - "markdownDescription": "The status code for a URL rewrite or redirect rule.\n\n- **200** - Represents a 200 rewrite rule.\n- **301** - Represents a 301 (moved pemanently) redirect rule. This and all future requests should be directed to the target URL.\n- **302** - Represents a 302 temporary redirect rule.\n- **404** - Represents a 404 redirect rule.\n- **404-200** - Represents a 404 rewrite rule.", - "title": "Status", - "type": "string" + "IsResumable": { + "markdownDescription": "Allows the file upload operation to be paused and resumed. The default value is `false` .\n\nWhen `isResumable` is set to `true` , the file uploader uses a multipart upload to break the files into chunks before upload. The progress of the upload isn't continuous, because the file uploader uploads a chunk at a time.", + "title": "IsResumable", + "type": "boolean" }, - "Target": { - "markdownDescription": "The target pattern for a URL rewrite or redirect rule.", - "title": "Target", - "type": "string" + "MaxFileCount": { + "markdownDescription": "Specifies the maximum number of files that can be selected to upload. The default value is an unlimited number of files.", + "title": "MaxFileCount", + "type": "number" + }, + "MaxSize": { + "markdownDescription": "The maximum file size in bytes that the file uploader will accept. The default value is an unlimited file size.", + "title": "MaxSize", + "type": "number" + }, + "ShowThumbnails": { + "markdownDescription": "Specifies whether to display or hide the image preview after selecting a file for upload. The default value is `true` to display the image preview.", + "title": "ShowThumbnails", + "type": "boolean" } }, "required": [ - "Source", - "Target" + "AcceptedFileTypes", + "AccessLevel" ], "type": "object" }, - "AWS::Amplify::App.EnvironmentVariable": { + "AWS::AmplifyUIBuilder::Form.FormButton": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The environment variable name.", - "title": "Name", + "Children": { + "markdownDescription": "Describes the button's properties.", + "title": "Children", "type": "string" }, - "Value": { - "markdownDescription": "The environment variable value.", - "title": "Value", + "Excluded": { + "markdownDescription": "Specifies whether the button is visible on the form.", + "title": "Excluded", + "type": "boolean" + }, + "Position": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", + "markdownDescription": "The position of the button.", + "title": "Position" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormCTA": { + "additionalProperties": false, + "properties": { + "Cancel": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", + "markdownDescription": "Displays a cancel button.", + "title": "Cancel" + }, + "Clear": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", + "markdownDescription": "Displays a clear button.", + "title": "Clear" + }, + "Position": { + "markdownDescription": "The position of the button.", + "title": "Position", "type": "string" + }, + "Submit": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", + "markdownDescription": "Displays a submit button.", + "title": "Submit" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, - "AWS::Amplify::App.JobConfig": { + "AWS::AmplifyUIBuilder::Form.FormDataTypeConfig": { "additionalProperties": false, "properties": { - "BuildComputeType": { - "markdownDescription": "Specifies the size of the build instance. Amplify supports three instance sizes: `STANDARD_8GB` , `LARGE_16GB` , and `XLARGE_72GB` . If you don't specify a value, Amplify uses the `STANDARD_8GB` default.\n\nThe following list describes the CPU, memory, and storage capacity for each build instance type:\n\n- **STANDARD_8GB** - - vCPUs: 4\n- Memory: 8 GiB\n- Disk space: 128 GB\n- **LARGE_16GB** - - vCPUs: 8\n- Memory: 16 GiB\n- Disk space: 128 GB\n- **XLARGE_72GB** - - vCPUs: 36\n- Memory: 72 GiB\n- Disk space: 256 GB", - "title": "BuildComputeType", + "DataSourceType": { + "markdownDescription": "The data source type, either an Amplify DataStore model or a custom data type.", + "title": "DataSourceType", + "type": "string" + }, + "DataTypeName": { + "markdownDescription": "The unique name of the data type you are using as the data source for the form.", + "title": "DataTypeName", "type": "string" } }, "required": [ - "BuildComputeType" + "DataSourceType", + "DataTypeName" ], "type": "object" }, - "AWS::Amplify::Branch": { + "AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValue": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "BindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValueProperties", + "markdownDescription": "Describes the properties to customize with data at runtime.", + "title": "BindingProperties" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Type": { + "markdownDescription": "The property type.", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValueProperties": { + "additionalProperties": false, + "properties": { + "Model": { + "markdownDescription": "An Amplify DataStore model.", + "title": "Model", "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormInputValueProperty": { + "additionalProperties": false, + "properties": { + "BindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValuePropertyBindingProperties", + "markdownDescription": "The information to bind fields to data at runtime.", + "title": "BindingProperties" }, - "DependsOn": { - "anyOf": [ - { + "Concat": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty" + }, + "markdownDescription": "A list of form properties to concatenate to create the value to assign to this field property.", + "title": "Concat", + "type": "array" + }, + "Value": { + "markdownDescription": "The value to assign to the input field.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormInputValuePropertyBindingProperties": { + "additionalProperties": false, + "properties": { + "Field": { + "markdownDescription": "The data field to bind the property to.", + "title": "Field", + "type": "string" + }, + "Property": { + "markdownDescription": "The form property to bind to the data field.", + "title": "Property", + "type": "string" + } + }, + "required": [ + "Property" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormStyle": { + "additionalProperties": false, + "properties": { + "HorizontalGap": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", + "markdownDescription": "The spacing for the horizontal gap.", + "title": "HorizontalGap" + }, + "OuterPadding": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", + "markdownDescription": "The size of the outer padding for the form.", + "title": "OuterPadding" + }, + "VerticalGap": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", + "markdownDescription": "The spacing for the vertical gap.", + "title": "VerticalGap" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormStyleConfig": { + "additionalProperties": false, + "properties": { + "TokenReference": { + "markdownDescription": "A reference to a design token to use to bind the form's style properties to an existing theme.", + "title": "TokenReference", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the style setting.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.SectionalElement": { + "additionalProperties": false, + "properties": { + "Excluded": { + "markdownDescription": "Excludes a sectional element that was generated by default for a specified data model.", + "title": "Excluded", + "type": "boolean" + }, + "Level": { + "markdownDescription": "Specifies the size of the font for a `Heading` sectional element. Valid values are `1 | 2 | 3 | 4 | 5 | 6` .", + "title": "Level", + "type": "number" + }, + "Orientation": { + "markdownDescription": "Specifies the orientation for a `Divider` sectional element. Valid values are `horizontal` or `vertical` .", + "title": "Orientation", + "type": "string" + }, + "Position": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", + "markdownDescription": "Specifies the position of the text in a field for a `Text` sectional element.", + "title": "Position" + }, + "Text": { + "markdownDescription": "The text for a `Text` sectional element.", + "title": "Text", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of sectional element. Valid values are `Heading` , `Text` , and `Divider` .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.ValueMapping": { + "additionalProperties": false, + "properties": { + "DisplayValue": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty", + "markdownDescription": "The value to display for the complex object.", + "title": "DisplayValue" + }, + "Value": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty", + "markdownDescription": "The complex object.", + "title": "Value" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.ValueMappings": { + "additionalProperties": false, + "properties": { + "BindingProperties": { + "additionalProperties": false, + "markdownDescription": "The information to bind fields to data at runtime.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValue" + } + }, + "title": "BindingProperties", + "type": "object" + }, + "Values": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMapping" + }, + "markdownDescription": "The value and display value pairs.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Theme": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, @@ -6008,101 +6749,53 @@ "additionalProperties": false, "properties": { "AppId": { - "markdownDescription": "The unique ID for an Amplify app.", + "markdownDescription": "The unique ID for the Amplify app associated with the theme.", "title": "AppId", "type": "string" }, - "Backend": { - "$ref": "#/definitions/AWS::Amplify::Branch.Backend", - "markdownDescription": "The backend for a `Branch` of an Amplify app. Use for a backend created from an CloudFormation stack.\n\nThis field is available to Amplify Gen 2 apps only. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.", - "title": "Backend" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig", - "markdownDescription": "The basic authorization credentials for a branch of an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .", - "title": "BasicAuthConfig" - }, - "BranchName": { - "markdownDescription": "The name for the branch.", - "title": "BranchName", - "type": "string" - }, - "BuildSpec": { - "markdownDescription": "The build specification (build spec) for the branch.", - "title": "BuildSpec", - "type": "string" - }, - "ComputeRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to assign to a branch of an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .", - "title": "ComputeRoleArn", + "EnvironmentName": { + "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", + "title": "EnvironmentName", "type": "string" }, - "Description": { - "markdownDescription": "The description for the branch that is part of an Amplify app.", - "title": "Description", + "Name": { + "markdownDescription": "The name of the theme.", + "title": "Name", "type": "string" }, - "EnableAutoBuild": { - "markdownDescription": "Enables auto building for the branch.", - "title": "EnableAutoBuild", - "type": "boolean" - }, - "EnablePerformanceMode": { - "markdownDescription": "Enables performance mode for the branch.\n\nPerformance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.", - "title": "EnablePerformanceMode", - "type": "boolean" - }, - "EnablePullRequestPreview": { - "markdownDescription": "Specifies whether Amplify Hosting creates a preview for each pull request that is made for this branch. If this property is enabled, Amplify deploys your app to a unique preview URL after each pull request is opened. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch.\n\nTo provide backend support for your preview, Amplify automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property.\n\nFor more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* .", - "title": "EnablePullRequestPreview", - "type": "boolean" - }, - "EnableSkewProtection": { - "markdownDescription": "Specifies whether the skew protection feature is enabled for the branch.\n\nDeployment skew protection is available to Amplify applications to eliminate version skew issues between client and servers in web applications. When you apply skew protection to a branch, you can ensure that your clients always interact with the correct version of server-side assets, regardless of when a deployment occurs. For more information about skew protection, see [Skew protection for Amplify deployments](https://docs.aws.amazon.com/amplify/latest/userguide/skew-protection.html) in the *Amplify User Guide* .", - "title": "EnableSkewProtection", - "type": "boolean" - }, - "EnvironmentVariables": { + "Overrides": { "items": { - "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" }, - "markdownDescription": "The environment variables for the branch.", - "title": "EnvironmentVariables", + "markdownDescription": "Describes the properties that can be overriden to customize a theme.", + "title": "Overrides", "type": "array" }, - "Framework": { - "markdownDescription": "The framework for the branch.", - "title": "Framework", - "type": "string" - }, - "PullRequestEnvironmentName": { - "markdownDescription": "If pull request previews are enabled for this branch, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI and mapped to this branch.\n\nTo enable pull request previews, set the `EnablePullRequestPreview` property to `true` .\n\nIf you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify Hosting deletes this environment when the pull request is closed.\n\nFor more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* .", - "title": "PullRequestEnvironmentName", - "type": "string" - }, - "Stage": { - "markdownDescription": "Describes the current stage for the branch.", - "title": "Stage", - "type": "string" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "One or more key-value pairs to use when tagging the theme.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The tag for the branch.", "title": "Tags", + "type": "object" + }, + "Values": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + }, + "markdownDescription": "A list of key-value pairs that defines the properties of the theme.", + "title": "Values", "type": "array" } }, - "required": [ - "AppId", - "BranchName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::Branch" + "AWS::AmplifyUIBuilder::Theme" ], "type": "string" }, @@ -6116,68 +6809,109 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Amplify::Branch.Backend": { + "AWS::AmplifyUIBuilder::Theme.ThemeValue": { "additionalProperties": false, "properties": { - "StackArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the CloudFormation stack.", - "title": "StackArn", + "Children": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + }, + "markdownDescription": "A list of key-value pairs that define the theme's properties.", + "title": "Children", + "type": "array" + }, + "Value": { + "markdownDescription": "The value of a theme property.", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::Amplify::Branch.BasicAuthConfig": { + "AWS::AmplifyUIBuilder::Theme.ThemeValues": { "additionalProperties": false, "properties": { - "EnableBasicAuth": { - "markdownDescription": "Enables basic authorization for the branch.", - "title": "EnableBasicAuth", - "type": "boolean" - }, - "Password": { - "markdownDescription": "The password for basic authorization.", - "title": "Password", + "Key": { + "markdownDescription": "The name of the property.", + "title": "Key", "type": "string" }, - "Username": { - "markdownDescription": "", - "title": "Username", - "type": "string" + "Value": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValue", + "markdownDescription": "The value of the property.", + "title": "Value" } }, - "required": [ - "Password", - "Username" - ], "type": "object" }, - "AWS::Amplify::Branch.EnvironmentVariable": { + "AWS::ApiGateway::Account": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The environment variable name.", - "title": "Name", + "Condition": { "type": "string" }, - "Value": { - "markdownDescription": "The environment variable 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": { + "CloudWatchRoleArn": { + "markdownDescription": "The ARN of an Amazon CloudWatch role for the current Account.", + "title": "CloudWatchRoleArn", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name", - "Value" + "Type" ], "type": "object" }, - "AWS::Amplify::Domain": { + "AWS::ApiGateway::ApiKey": { "additionalProperties": false, "properties": { "Condition": { @@ -6212,58 +6946,58 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { - "markdownDescription": "The unique ID for an Amplify app.", - "title": "AppId", + "CustomerId": { + "markdownDescription": "An AWS Marketplace customer identifier, when integrating with the AWS SaaS Marketplace.", + "title": "CustomerId", "type": "string" }, - "AutoSubDomainCreationPatterns": { - "items": { - "type": "string" - }, - "markdownDescription": "Sets the branch patterns for automatic subdomain creation.", - "title": "AutoSubDomainCreationPatterns", - "type": "array" - }, - "AutoSubDomainIAMRole": { - "markdownDescription": "The required AWS Identity and Access Management (IAMlong) service role for the Amazon Resource Name (ARN) for automatically creating subdomains.", - "title": "AutoSubDomainIAMRole", + "Description": { + "markdownDescription": "The description of the ApiKey.", + "title": "Description", "type": "string" }, - "CertificateSettings": { - "$ref": "#/definitions/AWS::Amplify::Domain.CertificateSettings", - "markdownDescription": "The type of SSL/TLS certificate to use for your custom domain. If you don't specify a certificate type, Amplify uses the default certificate that it provisions and manages for you.", - "title": "CertificateSettings" + "Enabled": { + "markdownDescription": "Specifies whether the ApiKey can be used by callers.", + "title": "Enabled", + "type": "boolean" }, - "DomainName": { - "markdownDescription": "The domain name for the domain association.", - "title": "DomainName", + "GenerateDistinctId": { + "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.", + "title": "GenerateDistinctId", + "type": "boolean" + }, + "Name": { + "markdownDescription": "A name for the API key. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\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": "Name", "type": "string" }, - "EnableAutoSubDomain": { - "markdownDescription": "Enables the automated creation of subdomains for branches.", - "title": "EnableAutoSubDomain", - "type": "boolean" + "StageKeys": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" + }, + "markdownDescription": "DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.", + "title": "StageKeys", + "type": "array" }, - "SubDomainSettings": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The setting for the subdomain.", - "title": "SubDomainSettings", + "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with `aws:` . The tag value can be up to 256 characters.", + "title": "Tags", "type": "array" + }, + "Value": { + "markdownDescription": "Specifies a value of the API key.", + "title": "Value", + "type": "string" } }, - "required": [ - "AppId", - "DomainName", - "SubDomainSettings" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::Domain" + "AWS::ApiGateway::ApiKey" ], "type": "string" }, @@ -6277,69 +7011,27 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Amplify::Domain.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "markdownDescription": "The Amazon resource name (ARN) for a custom certificate that you have already added to Certificate Manager in your AWS account .\n\nThis field is required only when the certificate type is `CUSTOM` .", - "title": "CertificateArn", - "type": "string" - }, - "CertificateType": { - "markdownDescription": "The type of SSL/TLS certificate that you want to use.\n\nSpecify `AMPLIFY_MANAGED` to use the default certificate that Amplify provisions for you.\n\nSpecify `CUSTOM` to use your own certificate that you have already added to Certificate Manager in your AWS account . Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see [Importing certificates into Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *ACM User guide* .", - "title": "CertificateType", - "type": "string" - }, - "CertificateVerificationDNSRecord": { - "markdownDescription": "The DNS record for certificate verification.", - "title": "CertificateVerificationDNSRecord", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::Domain.CertificateSettings": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "markdownDescription": "The certificate type.\n\nSpecify `AMPLIFY_MANAGED` to use the default certificate that Amplify provisions for you.\n\nSpecify `CUSTOM` to use your own certificate that you have already added to Certificate Manager in your AWS account . Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see [Importing certificates into Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *ACM User guide* .", - "title": "CertificateType", - "type": "string" - }, - "CustomCertificateArn": { - "markdownDescription": "The Amazon resource name (ARN) for the custom certificate that you have already added to Certificate Manager in your AWS account .\n\nThis field is required only when the certificate type is `CUSTOM` .", - "title": "CustomCertificateArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::Domain.SubDomainSetting": { + "AWS::ApiGateway::ApiKey.StageKey": { "additionalProperties": false, "properties": { - "BranchName": { - "markdownDescription": "The branch name setting for the subdomain.\n\n*Length Constraints:* Minimum length of 1. Maximum length of 255.\n\n*Pattern:* (?s).+", - "title": "BranchName", + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", "type": "string" }, - "Prefix": { - "markdownDescription": "The prefix setting for the subdomain.", - "title": "Prefix", + "StageName": { + "markdownDescription": "The stage name associated with the stage key.", + "title": "StageName", "type": "string" } }, - "required": [ - "BranchName", - "Prefix" - ], "type": "object" }, - "AWS::Amplify::Jobs": { + "AWS::ApiGateway::Authorizer": { "additionalProperties": false, "properties": { "Condition": { @@ -6374,22 +7066,70 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { + "AuthType": { + "markdownDescription": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact.", + "title": "AuthType", "type": "string" }, - "BranchName": { + "AuthorizerCredentials": { + "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.", + "title": "AuthorizerCredentials", + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "markdownDescription": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.", + "title": "AuthorizerResultTtlInSeconds", + "type": "number" + }, + "AuthorizerUri": { + "markdownDescription": "Specifies the authorizer's Uniform Resource Identifier (URI). For `TOKEN` or `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations` . In general, the URI has this form `arn:aws:apigateway:{region}:lambda:path/{service_api}` , where `{region}` is the same as the region hosting the Lambda function, `path` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .", + "title": "AuthorizerUri", + "type": "string" + }, + "IdentitySource": { + "markdownDescription": "The identity source for which authorization is requested. For a `TOKEN` or `COGNITO_USER_POOLS` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is `Auth` , the header mapping expression is `method.request.header.Auth` . For the `REQUEST` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an `Auth` header, a `Name` query string parameter are defined as identity sources, this value is `method.request.header.Auth, method.request.querystring.Name` . These parameters will be used to derive the authorization caching key and to perform runtime validation of the `REQUEST` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.", + "title": "IdentitySource", + "type": "string" + }, + "IdentityValidationExpression": { + "markdownDescription": "A validation expression for the incoming identity token. For `TOKEN` authorizers, this value is a regular expression. For `COGNITO_USER_POOLS` authorizers, API Gateway will match the `aud` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the `REQUEST` authorizer.", + "title": "IdentityValidationExpression", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the authorizer.", + "title": "Name", + "type": "string" + }, + "ProviderARNs": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the Amazon Cognito user pool ARNs for the `COGNITO_USER_POOLS` authorizer. Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}` . For a `TOKEN` or `REQUEST` authorizer, this is not defined.", + "title": "ProviderARNs", + "type": "array" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" + }, + "Type": { + "markdownDescription": "The authorizer type. Valid values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, and `COGNITO_USER_POOLS` for using an Amazon Cognito user pool.", + "title": "Type", "type": "string" } }, "required": [ - "AppId", - "BranchName" + "Name", + "RestApiId", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::Jobs" + "AWS::ApiGateway::Authorizer" ], "type": "string" }, @@ -6408,7 +7148,7 @@ ], "type": "object" }, - "AWS::Amplify::Webhook": { + "AWS::ApiGateway::BasePathMapping": { "additionalProperties": false, "properties": { "Condition": { @@ -6443,30 +7183,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { + "BasePath": { + "markdownDescription": "The base path name that callers of the API must provide as part of the URL after the domain name.", + "title": "BasePath", "type": "string" }, - "BranchName": { + "DomainName": { + "markdownDescription": "The domain name of the BasePathMapping resource to be described.", + "title": "DomainName", "type": "string" }, - "Description": { + "Id": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" + }, + "Stage": { + "markdownDescription": "The name of the associated stage.", + "title": "Stage", + "type": "string" } }, "required": [ - "BranchName" + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::Webhook" + "AWS::ApiGateway::BasePathMapping" ], "type": "string" }, @@ -6485,7 +7233,7 @@ ], "type": "object" }, - "AWS::AmplifyUIBuilder::CodegenJob": { + "AWS::ApiGateway::BasePathMappingV2": { "additionalProperties": false, "properties": { "Condition": { @@ -6520,30 +7268,36 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { + "BasePath": { + "markdownDescription": "The base path name that callers of the private API must provide as part of the URL after the domain name.", + "title": "BasePath", "type": "string" }, - "AutoGenerateForms": { - "type": "boolean" - }, - "EnvironmentName": { + "DomainNameArn": { + "markdownDescription": "The ARN of the domain name for the BasePathMappingV2 resource to be described.", + "title": "DomainNameArn", "type": "string" }, - "Features": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.CodegenFeatureFlags" + "RestApiId": { + "markdownDescription": "The private API's identifier. This identifier is unique across all of your APIs in API Gateway.", + "title": "RestApiId", + "type": "string" }, - "RenderConfig": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.CodegenJobRenderConfig" + "Stage": { + "markdownDescription": "Represents a unique identifier for a version of a deployed private RestApi that is callable by users. The Stage must depend on the `RestApi` 's stage. To create a dependency, add a DependsOn attribute to the BasePathMappingV2 resource.", + "title": "Stage", + "type": "string" } }, "required": [ - "RenderConfig" + "DomainNameArn", + "RestApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::AmplifyUIBuilder::CodegenJob" + "AWS::ApiGateway::BasePathMappingV2" ], "type": "string" }, @@ -6562,98 +7316,78 @@ ], "type": "object" }, - "AWS::AmplifyUIBuilder::CodegenJob.ApiConfiguration": { - "additionalProperties": false, - "properties": { - "DataStoreConfig": { - "type": "object" - }, - "GraphQLConfig": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.GraphQLRenderConfig" - }, - "NoApiConfig": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::CodegenJob.CodegenFeatureFlags": { - "additionalProperties": false, - "properties": { - "IsNonModelSupported": { - "type": "boolean" - }, - "IsRelationshipSupported": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::CodegenJob.CodegenJobRenderConfig": { - "additionalProperties": false, - "properties": { - "React": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.ReactStartCodegenJobData" - } - }, - "required": [ - "React" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::CodegenJob.GraphQLRenderConfig": { + "AWS::ApiGateway::ClientCertificate": { "additionalProperties": false, "properties": { - "FragmentsFilePath": { - "type": "string" - }, - "MutationsFilePath": { - "type": "string" - }, - "QueriesFilePath": { - "type": "string" - }, - "SubscriptionsFilePath": { + "Condition": { "type": "string" }, - "TypesFilePath": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "FragmentsFilePath", - "MutationsFilePath", - "QueriesFilePath", - "SubscriptionsFilePath", - "TypesFilePath" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::CodegenJob.ReactStartCodegenJobData": { - "additionalProperties": false, - "properties": { - "ApiConfiguration": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.ApiConfiguration" }, - "InlineSourceMap": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Module": { - "type": "string" + "Metadata": { + "type": "object" }, - "RenderTypeDeclarations": { - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "The description of the client certificate.", + "title": "Description", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" }, - "Script": { + "Type": { + "enum": [ + "AWS::ApiGateway::ClientCertificate" + ], "type": "string" }, - "Target": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::AmplifyUIBuilder::Component": { + "AWS::ApiGateway::Deployment": { "additionalProperties": false, "properties": { "Condition": { @@ -6688,118 +7422,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { - "markdownDescription": "The unique ID of the Amplify app associated with the component.", - "title": "AppId", - "type": "string" - }, - "BindingProperties": { - "additionalProperties": false, - "markdownDescription": "The information to connect a component's properties to data at runtime. You can't specify `tags` as a valid property for `bindingProperties` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue" - } - }, - "title": "BindingProperties", - "type": "object" - }, - "Children": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild" - }, - "markdownDescription": "A list of the component's `ComponentChild` instances.", - "title": "Children", - "type": "array" - }, - "CollectionProperties": { - "additionalProperties": false, - "markdownDescription": "The data binding configuration for the component's properties. Use this for a collection component. You can't specify `tags` as a valid property for `collectionProperties` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration" - } - }, - "title": "CollectionProperties", - "type": "object" - }, - "ComponentType": { - "markdownDescription": "The type of the component. This can be an Amplify custom UI component or another custom component.", - "title": "ComponentType", - "type": "string" + "DeploymentCanarySettings": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings", + "markdownDescription": "The input configuration for a canary deployment.", + "title": "DeploymentCanarySettings" }, - "EnvironmentName": { - "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", - "title": "EnvironmentName", + "Description": { + "markdownDescription": "The description for the Deployment resource to create.", + "title": "Description", "type": "string" }, - "Events": { - "additionalProperties": false, - "markdownDescription": "Describes the events that can be raised on the component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent" - } - }, - "title": "Events", - "type": "object" - }, - "Name": { - "markdownDescription": "The name of the component.", - "title": "Name", + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", "type": "string" }, - "Overrides": { - "markdownDescription": "Describes the component's properties that can be overriden in a customized instance of the component. You can't specify `tags` as a valid property for `overrides` .", - "title": "Overrides", - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "markdownDescription": "Describes the component's properties. You can't specify `tags` as a valid property for `properties` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" - } - }, - "title": "Properties", - "type": "object" - }, - "SchemaVersion": { - "markdownDescription": "The schema version of the component when it was imported.", - "title": "SchemaVersion", - "type": "string" + "StageDescription": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription", + "markdownDescription": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.", + "title": "StageDescription" }, - "SourceId": { - "markdownDescription": "The unique ID of the component in its original source system, such as Figma.", - "title": "SourceId", + "StageName": { + "markdownDescription": "The name of the Stage resource for the Deployment resource to create.", + "title": "StageName", "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "One or more key-value pairs to use when tagging the component.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - }, - "Variants": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentVariant" - }, - "markdownDescription": "A list of the component's variants. A variant is a unique style configuration of a main component.", - "title": "Variants", - "type": "array" } }, + "required": [ + "RestApiId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::AmplifyUIBuilder::Component" + "AWS::ApiGateway::Deployment" ], "type": "string" }, @@ -6813,530 +7469,439 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ActionParameters": { + "AWS::ApiGateway::Deployment.AccessLogSetting": { "additionalProperties": false, "properties": { - "Anchor": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The HTML anchor link to the location to open. Specify this value for a navigation action.", - "title": "Anchor" + "DestinationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` .", + "title": "DestinationArn", + "type": "string" }, - "Fields": { - "additionalProperties": false, - "markdownDescription": "A dictionary of key-value pairs mapping Amplify Studio properties to fields in a data model. Use when the action performs an operation on an Amplify DataStore model.", + "Format": { + "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least `$context.requestId` .", + "title": "Format", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.CanarySetting": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.", + "title": "PercentTraffic", + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "markdownDescription": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.", "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" + "type": "string" } }, - "title": "Fields", + "title": "StageVariableOverrides", "type": "object" }, - "Global": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "Specifies whether the user should be signed out globally. Specify this value for an auth sign out action.", - "title": "Global" - }, - "Id": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The unique ID of the component that the `ActionParameters` apply to.", - "title": "Id" - }, - "Model": { - "markdownDescription": "The name of the data model. Use when the action performs an operation on an Amplify DataStore model.", - "title": "Model", - "type": "string" - }, - "State": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter", - "markdownDescription": "A key-value pair that specifies the state property name and its initial value.", - "title": "State" - }, - "Target": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The element within the same component to modify when the action occurs.", - "title": "Target" - }, - "Type": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The type of navigation action. Valid values are `url` and `anchor` . This value is required for a navigation action.", - "title": "Type" - }, - "Url": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The URL to the location to open. Specify this value for a navigation action.", - "title": "Url" + "UseStageCache": { + "markdownDescription": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", + "title": "UseStageCache", + "type": "boolean" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue": { + "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { "additionalProperties": false, "properties": { - "BindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties", - "markdownDescription": "Describes the properties to customize with data at runtime.", - "title": "BindingProperties" + "PercentTraffic": { + "markdownDescription": "The percentage (0.0-100.0) of traffic routed to the canary deployment.", + "title": "PercentTraffic", + "type": "number" }, - "DefaultValue": { - "markdownDescription": "The default value of the property.", - "title": "DefaultValue", - "type": "string" + "StageVariableOverrides": { + "additionalProperties": true, + "markdownDescription": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "StageVariableOverrides", + "type": "object" }, - "Type": { - "markdownDescription": "The property type.", - "title": "Type", - "type": "string" + "UseStageCache": { + "markdownDescription": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.", + "title": "UseStageCache", + "type": "boolean" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties": { + "AWS::ApiGateway::Deployment.MethodSetting": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "An Amazon S3 bucket.", - "title": "Bucket", - "type": "string" + "CacheDataEncrypted": { + "markdownDescription": "Specifies whether the cached responses are encrypted.", + "title": "CacheDataEncrypted", + "type": "boolean" }, - "DefaultValue": { - "markdownDescription": "The default value to assign to the property.", - "title": "DefaultValue", - "type": "string" + "CacheTtlInSeconds": { + "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", + "title": "CacheTtlInSeconds", + "type": "number" }, - "Field": { - "markdownDescription": "The field to bind the data to.", - "title": "Field", - "type": "string" + "CachingEnabled": { + "markdownDescription": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", + "title": "CachingEnabled", + "type": "boolean" }, - "Key": { - "markdownDescription": "The storage key for an Amazon S3 bucket.", - "title": "Key", + "DataTraceEnabled": { + "markdownDescription": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", + "title": "DataTraceEnabled", + "type": "boolean" + }, + "HttpMethod": { + "markdownDescription": "The HTTP method.", + "title": "HttpMethod", "type": "string" }, - "Model": { - "markdownDescription": "An Amplify DataStore model.", - "title": "Model", + "LoggingLevel": { + "markdownDescription": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are `OFF` , `ERROR` , and `INFO` . Choose `ERROR` to write only error-level entries to CloudWatch Logs, or choose `INFO` to include all `ERROR` events as well as extra informational events.", + "title": "LoggingLevel", "type": "string" }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" - }, - "markdownDescription": "A list of predicates for binding a component's properties to data.", - "title": "Predicates", - "type": "array" + "MetricsEnabled": { + "markdownDescription": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", + "title": "MetricsEnabled", + "type": "boolean" }, - "SlotName": { - "markdownDescription": "The name of a component slot.", - "title": "SlotName", + "ResourcePath": { + "markdownDescription": "The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ).", + "title": "ResourcePath", "type": "string" }, - "UserAttribute": { - "markdownDescription": "An authenticated user attribute.", - "title": "UserAttribute", - "type": "string" + "ThrottlingBurstLimit": { + "markdownDescription": "Specifies the throttling burst limit.", + "title": "ThrottlingBurstLimit", + "type": "number" + }, + "ThrottlingRateLimit": { + "markdownDescription": "Specifies the throttling rate limit.", + "title": "ThrottlingRateLimit", + "type": "number" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ComponentChild": { + "AWS::ApiGateway::Deployment.StageDescription": { "additionalProperties": false, "properties": { - "Children": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild" - }, - "markdownDescription": "The list of `ComponentChild` instances for this component.", - "title": "Children", - "type": "array" + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting", + "markdownDescription": "Specifies settings for logging access in this stage.", + "title": "AccessLogSetting" }, - "ComponentType": { - "markdownDescription": "The type of the child component.", - "title": "ComponentType", + "CacheClusterEnabled": { + "markdownDescription": "Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set `CachingEnabled` to `true` for a method.", + "title": "CacheClusterEnabled", + "type": "boolean" + }, + "CacheClusterSize": { + "markdownDescription": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference* .", + "title": "CacheClusterSize", "type": "string" }, - "Events": { - "additionalProperties": false, - "markdownDescription": "Describes the events that can be raised on the child component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent" - } - }, - "title": "Events", - "type": "object" + "CacheDataEncrypted": { + "markdownDescription": "Indicates whether the cached responses are encrypted.", + "title": "CacheDataEncrypted", + "type": "boolean" }, - "Name": { - "markdownDescription": "The name of the child component.", - "title": "Name", - "type": "string" + "CacheTtlInSeconds": { + "markdownDescription": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.", + "title": "CacheTtlInSeconds", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "markdownDescription": "Describes the properties of the child component. You can't specify `tags` as a valid property for `properties` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" - } - }, - "title": "Properties", - "type": "object" + "CachingEnabled": { + "markdownDescription": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide* .", + "title": "CachingEnabled", + "type": "boolean" }, - "SourceId": { - "markdownDescription": "The unique ID of the child component in its original source system, such as Figma.", - "title": "SourceId", - "type": "string" - } - }, - "required": [ - "ComponentType", - "Name", - "Properties" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentConditionProperty": { - "additionalProperties": false, - "properties": { - "Else": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The value to assign to the property if the condition is not met.", - "title": "Else" + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting", + "markdownDescription": "Specifies settings for the canary deployment in this stage.", + "title": "CanarySetting" }, - "Field": { - "markdownDescription": "The name of a field. Specify this when the property is a data model.", - "title": "Field", + "ClientCertificateId": { + "markdownDescription": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.", + "title": "ClientCertificateId", "type": "string" }, - "Operand": { - "markdownDescription": "The value of the property to evaluate.", - "title": "Operand", - "type": "string" + "DataTraceEnabled": { + "markdownDescription": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.", + "title": "DataTraceEnabled", + "type": "boolean" }, - "OperandType": { - "markdownDescription": "The type of the property to evaluate.", - "title": "OperandType", + "Description": { + "markdownDescription": "A description of the purpose of the stage.", + "title": "Description", "type": "string" }, - "Operator": { - "markdownDescription": "The operator to use to perform the evaluation, such as `eq` to represent equals.", - "title": "Operator", + "DocumentationVersion": { + "markdownDescription": "The version identifier of the API documentation snapshot.", + "title": "DocumentationVersion", "type": "string" }, - "Property": { - "markdownDescription": "The name of the conditional property.", - "title": "Property", + "LoggingLevel": { + "markdownDescription": "The logging level for this method. For valid values, see the `loggingLevel` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference* .", + "title": "LoggingLevel", "type": "string" }, - "Then": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The value to assign to the property if the condition is met.", - "title": "Then" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration": { - "additionalProperties": false, - "properties": { - "Identifiers": { + "MethodSettings": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" }, - "markdownDescription": "A list of IDs to use to bind data to a component. Use this property to bind specifically chosen data, rather than data retrieved from a query.", - "title": "Identifiers", + "markdownDescription": "Configures settings for all of the stage's methods.", + "title": "MethodSettings", "type": "array" }, - "Model": { - "markdownDescription": "The name of the data model to use to bind data to a component.", - "title": "Model", - "type": "string" - }, - "Predicate": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate", - "markdownDescription": "Represents the conditional logic to use when binding data to a component. Use this property to retrieve only a subset of the data in a collection.", - "title": "Predicate" + "MetricsEnabled": { + "markdownDescription": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.", + "title": "MetricsEnabled", + "type": "boolean" }, - "Sort": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.SortProperty" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Describes how to sort the component's properties.", - "title": "Sort", + "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the stage.", + "title": "Tags", "type": "array" - } - }, - "required": [ - "Model" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentEvent": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action to perform when a specific event is raised.", - "title": "Action", - "type": "string" }, - "BindingEvent": { - "markdownDescription": "Binds an event to an action on a component. When you specify a `bindingEvent` , the event is called when the action is performed.", - "title": "BindingEvent", - "type": "string" + "ThrottlingBurstLimit": { + "markdownDescription": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .", + "title": "ThrottlingBurstLimit", + "type": "number" }, - "Parameters": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ActionParameters", - "markdownDescription": "Describes information about the action.", - "title": "Parameters" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentProperty": { - "additionalProperties": false, - "properties": { - "BindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties", - "markdownDescription": "The information to bind the component property to data at runtime.", - "title": "BindingProperties" + "ThrottlingRateLimit": { + "markdownDescription": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .", + "title": "ThrottlingRateLimit", + "type": "number" }, - "Bindings": { - "additionalProperties": false, - "markdownDescription": "The information to bind the component property to form data.", + "TracingEnabled": { + "markdownDescription": "Specifies whether active tracing with X-ray is enabled for this stage.\n\nFor more information, see [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide* .", + "title": "TracingEnabled", + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "markdownDescription": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .", "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.FormBindingElement" + "type": "string" } }, - "title": "Bindings", + "title": "Variables", "type": "object" - }, - "CollectionBindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties", - "markdownDescription": "The information to bind the component property to data at runtime. Use this for collection components.", - "title": "CollectionBindingProperties" - }, - "ComponentName": { - "markdownDescription": "The name of the component that is affected by an event.", - "title": "ComponentName", - "type": "string" - }, - "Concat": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" - }, - "markdownDescription": "A list of component properties to concatenate to create the value to assign to this component property.", - "title": "Concat", - "type": "array" - }, - "Condition": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentConditionProperty", - "markdownDescription": "The conditional expression to use to assign a value to the component property.", - "title": "Condition" - }, - "Configured": { - "markdownDescription": "Specifies whether the user configured the property in Amplify Studio after importing it.", - "title": "Configured", - "type": "boolean" - }, - "DefaultValue": { - "markdownDescription": "The default value to assign to the component property.", - "title": "DefaultValue", - "type": "string" - }, - "Event": { - "markdownDescription": "An event that occurs in your app. Use this for workflow data binding.", - "title": "Event", - "type": "string" - }, - "ImportedValue": { - "markdownDescription": "The default value assigned to the property when the component is imported into an app.", - "title": "ImportedValue", - "type": "string" - }, - "Model": { - "markdownDescription": "The data model to use to assign a value to the component property.", - "title": "Model", - "type": "string" - }, - "Property": { - "markdownDescription": "The name of the component's property that is affected by an event.", - "title": "Property", - "type": "string" - }, - "Type": { - "markdownDescription": "The component type.", - "title": "Type", - "type": "string" - }, - "UserAttribute": { - "markdownDescription": "An authenticated user attribute to use to assign a value to the component property.", - "title": "UserAttribute", - "type": "string" - }, - "Value": { - "markdownDescription": "The value to assign to the component property.", - "title": "Value", - "type": "string" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties": { + "AWS::ApiGateway::DocumentationPart": { "additionalProperties": false, "properties": { - "Field": { - "markdownDescription": "The data field to bind the property to.", - "title": "Field", + "Condition": { "type": "string" }, - "Property": { - "markdownDescription": "The component property to bind to the data field.", - "title": "Property", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Property" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentVariant": { - "additionalProperties": false, - "properties": { - "Overrides": { - "markdownDescription": "The properties of the component variant that can be overriden when customizing an instance of the component. You can't specify `tags` as a valid property for `overrides` .", - "title": "Overrides", + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "VariantValues": { - "additionalProperties": true, - "markdownDescription": "The combination of variants that comprise this variant.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "Location": { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location", + "markdownDescription": "The location of the targeted API entity of the to-be-created documentation part.", + "title": "Location" + }, + "Properties": { + "markdownDescription": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.", + "title": "Properties", + "type": "string" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", "type": "string" } }, - "title": "VariantValues", + "required": [ + "Location", + "Properties", + "RestApiId" + ], "type": "object" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.FormBindingElement": { - "additionalProperties": false, - "properties": { - "Element": { - "markdownDescription": "The name of the component to retrieve a value from.", - "title": "Element", + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationPart" + ], "type": "string" }, - "Property": { - "markdownDescription": "The property to retrieve a value from.", - "title": "Property", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Element", - "Property" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter": { + "AWS::ApiGateway::DocumentationPart.Location": { "additionalProperties": false, "properties": { - "ComponentName": { - "markdownDescription": "The name of the component that is being modified.", - "title": "ComponentName", + "Method": { + "markdownDescription": "The HTTP verb of a method. It is a valid field for the API entity types of `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `*` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other `location` attributes, the child entity's `method` attribute must match that of the parent entity exactly.", + "title": "Method", "type": "string" }, - "Property": { - "markdownDescription": "The name of the component property to apply the state configuration to.", - "title": "Property", + "Name": { + "markdownDescription": "The name of the targeted API entity. It is a valid and required field for the API entity types of `AUTHORIZER` , `MODEL` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` and `RESPONSE_HEADER` . It is an invalid field for any other entity type.", + "title": "Name", "type": "string" }, - "Set": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The state configuration to assign to the property.", - "title": "Set" + "Path": { + "markdownDescription": "The URL path of the target. It is a valid field for the API entity types of `RESOURCE` , `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `/` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other `location` attributes, the child entity's `path` attribute must match that of the parent entity as a prefix.", + "title": "Path", + "type": "string" + }, + "StatusCode": { + "markdownDescription": "The HTTP status code of a response. It is a valid field for the API entity types of `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `*` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other `location` attributes, the child entity's `statusCode` attribute must match that of the parent entity exactly.", + "title": "StatusCode", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of API entity to which the documentation content applies. Valid values are `API` , `AUTHORIZER` , `MODEL` , `RESOURCE` , `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . Content inheritance does not apply to any entity of the `API` , `AUTHORIZER` , `METHOD` , `MODEL` , `REQUEST_BODY` , or `RESOURCE` type.", + "title": "Type", + "type": "string" } }, - "required": [ - "ComponentName", - "Property", - "Set" - ], "type": "object" }, - "AWS::AmplifyUIBuilder::Component.Predicate": { + "AWS::ApiGateway::DocumentationVersion": { "additionalProperties": false, "properties": { - "And": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" - }, - "markdownDescription": "A list of predicates to combine logically.", - "title": "And", - "type": "array" - }, - "Field": { - "markdownDescription": "The field to query.", - "title": "Field", + "Condition": { "type": "string" }, - "Operand": { - "markdownDescription": "The value to use when performing the evaluation.", - "title": "Operand", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OperandType": { - "markdownDescription": "The type of value to use when performing the evaluation.", - "title": "OperandType", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Operator": { - "markdownDescription": "The operator to use to perform the evaluation.", - "title": "Operator", - "type": "string" + "Metadata": { + "type": "object" }, - "Or": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description about the new documentation snapshot.", + "title": "Description", + "type": "string" + }, + "DocumentationVersion": { + "markdownDescription": "The version identifier of the to-be-updated documentation version.", + "title": "DocumentationVersion", + "type": "string" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" + } }, - "markdownDescription": "A list of predicates to combine logically.", - "title": "Or", - "type": "array" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.SortProperty": { - "additionalProperties": false, - "properties": { - "Direction": { - "markdownDescription": "The direction of the sort, either ascending or descending.", - "title": "Direction", + "required": [ + "DocumentationVersion", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationVersion" + ], "type": "string" }, - "Field": { - "markdownDescription": "The field to perform the sort on.", - "title": "Field", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Direction", - "Field" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form": { + "AWS::ApiGateway::DomainName": { "additionalProperties": false, "properties": { "Condition": { @@ -7371,90 +7936,65 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { - "markdownDescription": "The unique ID of the Amplify app associated with the form.", - "title": "AppId", + "CertificateArn": { + "markdownDescription": "The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. Certificate Manager is the only supported source.", + "title": "CertificateArn", "type": "string" }, - "Cta": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormCTA", - "markdownDescription": "The `FormCTA` object that stores the call to action configuration for the form.", - "title": "Cta" - }, - "DataType": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormDataTypeConfig", - "markdownDescription": "The type of data source to use to create the form.", - "title": "DataType" + "DomainName": { + "markdownDescription": "The custom domain name as an API host name, for example, `my-api.example.com` .", + "title": "DomainName", + "type": "string" }, - "EnvironmentName": { - "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", - "title": "EnvironmentName", + "EndpointAccessMode": { + "markdownDescription": "The endpoint access mode for your DomainName.", + "title": "EndpointAccessMode", "type": "string" }, - "Fields": { - "additionalProperties": false, - "markdownDescription": "The configuration information for the form's fields.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldConfig" - } - }, - "title": "Fields", - "type": "object" + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration", + "markdownDescription": "The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.", + "title": "EndpointConfiguration" }, - "FormActionType": { - "markdownDescription": "Specifies whether to perform a create or update action on the form.", - "title": "FormActionType", - "type": "string" + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication", + "markdownDescription": "The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.", + "title": "MutualTlsAuthentication" }, - "LabelDecorator": { - "markdownDescription": "Specifies an icon or decoration to display on the form.", - "title": "LabelDecorator", + "OwnershipVerificationCertificateArn": { + "markdownDescription": "The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.", + "title": "OwnershipVerificationCertificateArn", "type": "string" }, - "Name": { - "markdownDescription": "The name of the form.", - "title": "Name", + "RegionalCertificateArn": { + "markdownDescription": "The reference to an AWS -managed certificate that will be used for validating the regional domain name. Certificate Manager is the only supported source.", + "title": "RegionalCertificateArn", "type": "string" }, - "SchemaVersion": { - "markdownDescription": "The schema version of the form.", - "title": "SchemaVersion", + "RoutingMode": { + "markdownDescription": "The routing mode for this domain name. The routing mode determines how API Gateway sends traffic from your custom domain name to your public APIs.", + "title": "RoutingMode", "type": "string" }, - "SectionalElements": { - "additionalProperties": false, - "markdownDescription": "The configuration information for the visual helper elements for the form. These elements are not associated with any data.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.SectionalElement" - } - }, - "title": "SectionalElements", - "type": "object" - }, - "Style": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyle", - "markdownDescription": "The configuration for the form's style.", - "title": "Style" + "SecurityPolicy": { + "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this DomainName.", + "title": "SecurityPolicy", + "type": "string" }, "Tags": { - "additionalProperties": true, - "markdownDescription": "One or more key-value pairs to use when tagging the form data.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", "title": "Tags", - "type": "object" + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::AmplifyUIBuilder::Form" + "AWS::ApiGateway::DomainName" ], "type": "string" }, @@ -7472,177 +8012,221 @@ ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FieldConfig": { + "AWS::ApiGateway::DomainName.EndpointConfiguration": { "additionalProperties": false, "properties": { - "Excluded": { - "markdownDescription": "Specifies whether to hide a field.", - "title": "Excluded", - "type": "boolean" - }, - "InputType": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldInputConfig", - "markdownDescription": "Describes the configuration for the default input value to display for a field.", - "title": "InputType" - }, - "Label": { - "markdownDescription": "The label for the field.", - "title": "Label", + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke this DomainName. Use `ipv4` to allow only IPv4 addresses to invoke this DomainName, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke this DomainName. For the `PRIVATE` endpoint type, only `dualstack` is supported.", + "title": "IpAddressType", "type": "string" }, - "Position": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", - "markdownDescription": "Specifies the field position.", - "title": "Position" - }, - "Validations": { + "Types": { "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration" + "type": "string" }, - "markdownDescription": "The validations to perform on the value in the field.", - "title": "Validations", + "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", + "title": "Types", "type": "array" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FieldInputConfig": { + "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { "additionalProperties": false, "properties": { - "DefaultChecked": { - "markdownDescription": "Specifies whether a field has a default value.", - "title": "DefaultChecked", - "type": "boolean" - }, - "DefaultCountryCode": { - "markdownDescription": "The default country code for a phone number.", - "title": "DefaultCountryCode", - "type": "string" - }, - "DefaultValue": { - "markdownDescription": "The default value for the field.", - "title": "DefaultValue", + "TruststoreUri": { + "markdownDescription": "An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example `s3://bucket-name/key-name` . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.", + "title": "TruststoreUri", "type": "string" }, - "DescriptiveText": { - "markdownDescription": "The text to display to describe the field.", - "title": "DescriptiveText", + "TruststoreVersion": { + "markdownDescription": "The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.", + "title": "TruststoreVersion", "type": "string" - }, - "FileUploaderConfig": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig", - "markdownDescription": "The configuration for the file uploader field.", - "title": "FileUploaderConfig" - }, - "IsArray": { - "markdownDescription": "Specifies whether to render the field as an array. This property is ignored if the `dataSourceType` for the form is a Data Store.", - "title": "IsArray", - "type": "boolean" - }, - "MaxValue": { - "markdownDescription": "The maximum value to display for the field.", - "title": "MaxValue", - "type": "number" - }, - "MinValue": { - "markdownDescription": "The minimum value to display for the field.", - "title": "MinValue", - "type": "number" - }, - "Name": { - "markdownDescription": "The name of the field.", - "title": "Name", + } + }, + "type": "object" + }, + "AWS::ApiGateway::DomainNameAccessAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "Placeholder": { - "markdownDescription": "The text to display as a placeholder for the field.", - "title": "Placeholder", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ReadOnly": { - "markdownDescription": "Specifies a read only field.", - "title": "ReadOnly", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Required": { - "markdownDescription": "Specifies a field that requires input.", - "title": "Required", - "type": "boolean" + "Metadata": { + "type": "object" }, - "Step": { - "markdownDescription": "The stepping increment for a numeric value in a field.", - "title": "Step", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "AccessAssociationSource": { + "markdownDescription": "The identifier of the domain name access association source. For a `VPCE` , the value is the VPC endpoint ID.", + "title": "AccessAssociationSource", + "type": "string" + }, + "AccessAssociationSourceType": { + "markdownDescription": "The type of the domain name access association source. Only `VPCE` is currently supported.", + "title": "AccessAssociationSourceType", + "type": "string" + }, + "DomainNameArn": { + "markdownDescription": "The ARN of the domain name.", + "title": "DomainNameArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "AccessAssociationSource", + "AccessAssociationSourceType", + "DomainNameArn" + ], + "type": "object" }, "Type": { - "markdownDescription": "The input type for the field.", - "title": "Type", + "enum": [ + "AWS::ApiGateway::DomainNameAccessAssociation" + ], "type": "string" }, - "Value": { - "markdownDescription": "The value for the field.", - "title": "Value", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ValueMappings": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMappings", - "markdownDescription": "The information to use to customize the input fields with data at runtime.", - "title": "ValueMappings" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FieldPosition": { + "AWS::ApiGateway::DomainNameV2": { "additionalProperties": false, "properties": { - "Below": { - "markdownDescription": "The field position is below the field specified by the string.", - "title": "Below", + "Condition": { "type": "string" }, - "Fixed": { - "markdownDescription": "The field position is fixed and doesn't change in relation to other fields.", - "title": "Fixed", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RightOf": { - "markdownDescription": "The field position is to the right of the field specified by the string.", - "title": "RightOf", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration": { - "additionalProperties": false, - "properties": { - "NumValues": { - "items": { - "type": "number" - }, - "markdownDescription": "The validation to perform on a number value.", - "title": "NumValues", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "StrValues": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "markdownDescription": "The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name. AWS Certificate Manager is the only supported source.", + "title": "CertificateArn", + "type": "string" + }, + "DomainName": { + "markdownDescription": "Represents a custom domain name as a user-friendly host name of an API (RestApi).", + "title": "DomainName", + "type": "string" + }, + "EndpointAccessMode": { + "markdownDescription": "The endpoint access mode for your DomainName.", + "title": "EndpointAccessMode", + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::DomainNameV2.EndpointConfiguration", + "markdownDescription": "The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.", + "title": "EndpointConfiguration" + }, + "Policy": { + "markdownDescription": "A stringified JSON policy document that applies to the `execute-api` service for this DomainName regardless of the caller and Method configuration. You can use `Fn::ToJsonString` to enter your `policy` . For more information, see [Fn::ToJsonString](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ToJsonString.html) .", + "title": "Policy", + "type": "object" + }, + "RoutingMode": { + "markdownDescription": "The routing mode for this domain name. The routing mode determines how API Gateway sends traffic from your custom domain name to your private APIs.", + "title": "RoutingMode", + "type": "string" + }, + "SecurityPolicy": { + "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this DomainName.", + "title": "SecurityPolicy", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "The validation to perform on a string value.", - "title": "StrValues", - "type": "array" + "type": "object" }, "Type": { - "markdownDescription": "The validation to perform on an object type. ``", - "title": "Type", + "enum": [ + "AWS::ApiGateway::DomainNameV2" + ], "type": "string" }, - "ValidationMessage": { - "markdownDescription": "The validation message to display.", - "title": "ValidationMessage", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, @@ -7651,310 +8235,126 @@ ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig": { + "AWS::ApiGateway::DomainNameV2.EndpointConfiguration": { "additionalProperties": false, "properties": { - "AcceptedFileTypes": { + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke an API (RestApi) or a DomainName. Use `ipv4` to allow only IPv4 addresses to invoke an API or DomainName, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke an API or a DomainName. For the `PRIVATE` endpoint type, only `dualstack` is supported.", + "title": "IpAddressType", + "type": "string" + }, + "Types": { "items": { "type": "string" }, - "markdownDescription": "The file types that are allowed to be uploaded by the file uploader. Provide this information in an array of strings specifying the valid file extensions.", - "title": "AcceptedFileTypes", + "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", + "title": "Types", "type": "array" - }, - "AccessLevel": { - "markdownDescription": "The access level to assign to the uploaded files in the Amazon S3 bucket where they are stored. The valid values for this property are `private` , `protected` , or `public` . For detailed information about the permissions associated with each access level, see [File access levels](https://docs.aws.amazon.com/https://docs.amplify.aws/lib/storage/configureaccess/q/platform/js/) in the *Amplify documentation* .", - "title": "AccessLevel", - "type": "string" - }, - "IsResumable": { - "markdownDescription": "Allows the file upload operation to be paused and resumed. The default value is `false` .\n\nWhen `isResumable` is set to `true` , the file uploader uses a multipart upload to break the files into chunks before upload. The progress of the upload isn't continuous, because the file uploader uploads a chunk at a time.", - "title": "IsResumable", - "type": "boolean" - }, - "MaxFileCount": { - "markdownDescription": "Specifies the maximum number of files that can be selected to upload. The default value is an unlimited number of files.", - "title": "MaxFileCount", - "type": "number" - }, - "MaxSize": { - "markdownDescription": "The maximum file size in bytes that the file uploader will accept. The default value is an unlimited file size.", - "title": "MaxSize", - "type": "number" - }, - "ShowThumbnails": { - "markdownDescription": "Specifies whether to display or hide the image preview after selecting a file for upload. The default value is `true` to display the image preview.", - "title": "ShowThumbnails", - "type": "boolean" } }, - "required": [ - "AcceptedFileTypes", - "AccessLevel" - ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FormButton": { + "AWS::ApiGateway::GatewayResponse": { "additionalProperties": false, "properties": { - "Children": { - "markdownDescription": "Describes the button's properties.", - "title": "Children", + "Condition": { "type": "string" }, - "Excluded": { - "markdownDescription": "Specifies whether the button is visible on the form.", - "title": "Excluded", - "type": "boolean" - }, - "Position": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", - "markdownDescription": "The position of the button.", - "title": "Position" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormCTA": { - "additionalProperties": false, - "properties": { - "Cancel": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", - "markdownDescription": "Displays a cancel button.", - "title": "Cancel" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Clear": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", - "markdownDescription": "Displays a clear button.", - "title": "Clear" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Position": { - "markdownDescription": "The position of the button.", - "title": "Position", - "type": "string" + "Metadata": { + "type": "object" }, - "Submit": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", - "markdownDescription": "Displays a submit button.", - "title": "Submit" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormDataTypeConfig": { - "additionalProperties": false, - "properties": { - "DataSourceType": { - "markdownDescription": "The data source type, either an Amplify DataStore model or a custom data type.", - "title": "DataSourceType", - "type": "string" - }, - "DataTypeName": { - "markdownDescription": "The unique name of the data type you are using as the data source for the form.", - "title": "DataTypeName", - "type": "string" - } - }, - "required": [ - "DataSourceType", - "DataTypeName" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValue": { - "additionalProperties": false, - "properties": { - "BindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValueProperties", - "markdownDescription": "Describes the properties to customize with data at runtime.", - "title": "BindingProperties" - }, - "Type": { - "markdownDescription": "The property type.", - "title": "Type", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValueProperties": { - "additionalProperties": false, - "properties": { - "Model": { - "markdownDescription": "An Amplify DataStore model.", - "title": "Model", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormInputValueProperty": { - "additionalProperties": false, - "properties": { - "BindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValuePropertyBindingProperties", - "markdownDescription": "The information to bind fields to data at runtime.", - "title": "BindingProperties" - }, - "Concat": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty" - }, - "markdownDescription": "A list of form properties to concatenate to create the value to assign to this field property.", - "title": "Concat", - "type": "array" - }, - "Value": { - "markdownDescription": "The value to assign to the input field.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormInputValuePropertyBindingProperties": { - "additionalProperties": false, - "properties": { - "Field": { - "markdownDescription": "The data field to bind the property to.", - "title": "Field", - "type": "string" - }, - "Property": { - "markdownDescription": "The form property to bind to the data field.", - "title": "Property", - "type": "string" - } - }, - "required": [ - "Property" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormStyle": { - "additionalProperties": false, - "properties": { - "HorizontalGap": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", - "markdownDescription": "The spacing for the horizontal gap.", - "title": "HorizontalGap" - }, - "OuterPadding": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", - "markdownDescription": "The size of the outer padding for the form.", - "title": "OuterPadding" - }, - "VerticalGap": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", - "markdownDescription": "The spacing for the vertical gap.", - "title": "VerticalGap" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormStyleConfig": { - "additionalProperties": false, - "properties": { - "TokenReference": { - "markdownDescription": "A reference to a design token to use to bind the form's style properties to an existing theme.", - "title": "TokenReference", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of the style setting.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.SectionalElement": { - "additionalProperties": false, - "properties": { - "Excluded": { - "markdownDescription": "Excludes a sectional element that was generated by default for a specified data model.", - "title": "Excluded", - "type": "boolean" - }, - "Level": { - "markdownDescription": "Specifies the size of the font for a `Heading` sectional element. Valid values are `1 | 2 | 3 | 4 | 5 | 6` .", - "title": "Level", - "type": "number" - }, - "Orientation": { - "markdownDescription": "Specifies the orientation for a `Divider` sectional element. Valid values are `horizontal` or `vertical` .", - "title": "Orientation", - "type": "string" - }, - "Position": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", - "markdownDescription": "Specifies the position of the text in a field for a `Text` sectional element.", - "title": "Position" - }, - "Text": { - "markdownDescription": "The text for a `Text` sectional element.", - "title": "Text", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of sectional element. Valid values are `Heading` , `Text` , and `Divider` .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.ValueMapping": { - "additionalProperties": false, - "properties": { - "DisplayValue": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty", - "markdownDescription": "The value to display for the complex object.", - "title": "DisplayValue" - }, - "Value": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty", - "markdownDescription": "The complex object.", - "title": "Value" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.ValueMappings": { - "additionalProperties": false, - "properties": { - "BindingProperties": { + "Properties": { "additionalProperties": false, - "markdownDescription": "The information to bind fields to data at runtime.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValue" + "properties": { + "ResponseParameters": { + "additionalProperties": true, + "markdownDescription": "Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ResponseParameters", + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "markdownDescription": "Response templates of the GatewayResponse as a string-to-string map of key-value pairs.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ResponseTemplates", + "type": "object" + }, + "ResponseType": { + "markdownDescription": "The response type of the associated GatewayResponse.", + "title": "ResponseType", + "type": "string" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" + }, + "StatusCode": { + "markdownDescription": "The HTTP status code for this GatewayResponse.", + "title": "StatusCode", + "type": "string" } }, - "title": "BindingProperties", + "required": [ + "ResponseType", + "RestApiId" + ], "type": "object" }, - "Values": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMapping" - }, - "markdownDescription": "The value and display value pairs.", - "title": "Values", - "type": "array" + "Type": { + "enum": [ + "AWS::ApiGateway::GatewayResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Values" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Theme": { + "AWS::ApiGateway::Method": { "additionalProperties": false, "properties": { "Condition": { @@ -7989,54 +8389,100 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { - "markdownDescription": "The unique ID for the Amplify app associated with the theme.", - "title": "AppId", + "ApiKeyRequired": { + "markdownDescription": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.", + "title": "ApiKeyRequired", + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of authorization scopes configured on the method. The scopes are used with a `COGNITO_USER_POOLS` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.", + "title": "AuthorizationScopes", + "type": "array" + }, + "AuthorizationType": { + "markdownDescription": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference* .\n\n> If you specify the `AuthorizerId` property, specify `CUSTOM` or `COGNITO_USER_POOLS` for this property.", + "title": "AuthorizationType", "type": "string" }, - "EnvironmentName": { - "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", - "title": "EnvironmentName", + "AuthorizerId": { + "markdownDescription": "The identifier of an authorizer to use on this method. The method's authorization type must be `CUSTOM` or `COGNITO_USER_POOLS` .", + "title": "AuthorizerId", "type": "string" }, - "Name": { - "markdownDescription": "The name of the theme.", - "title": "Name", + "HttpMethod": { + "markdownDescription": "The method's HTTP verb.", + "title": "HttpMethod", "type": "string" }, - "Overrides": { + "Integration": { + "$ref": "#/definitions/AWS::ApiGateway::Method.Integration", + "markdownDescription": "Represents an `HTTP` , `HTTP_PROXY` , `AWS` , `AWS_PROXY` , or Mock integration.", + "title": "Integration" + }, + "MethodResponses": { "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" }, - "markdownDescription": "Describes the properties that can be overriden to customize a theme.", - "title": "Overrides", + "markdownDescription": "Gets a method response associated with a given HTTP status code.", + "title": "MethodResponses", "type": "array" }, - "Tags": { + "OperationName": { + "markdownDescription": "A human-friendly operation identifier for the method. For example, you can assign the `operationName` of `ListPets` for the `GET /pets` method in the `PetStore` example.", + "title": "OperationName", + "type": "string" + }, + "RequestModels": { "additionalProperties": true, - "markdownDescription": "One or more key-value pairs to use when tagging the theme.", + "markdownDescription": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "Tags", + "title": "RequestModels", "type": "object" }, - "Values": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + "RequestParameters": { + "additionalProperties": true, + "markdownDescription": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of `method.request.{location}.{name}` , where `location` is `querystring` , `path` , or `header` and `name` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required ( `true` ) or optional ( `false` ). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A list of key-value pairs that defines the properties of the theme.", - "title": "Values", - "type": "array" + "title": "RequestParameters", + "type": "object" + }, + "RequestValidatorId": { + "markdownDescription": "The identifier of a RequestValidator for request validation.", + "title": "RequestValidatorId", + "type": "string" + }, + "ResourceId": { + "markdownDescription": "The Resource identifier for the MethodResponse resource.", + "title": "ResourceId", + "type": "string" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" } }, + "required": [ + "HttpMethod", + "ResourceId", + "RestApiId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::AmplifyUIBuilder::Theme" + "AWS::ApiGateway::Method" ], "type": "string" }, @@ -8050,100 +8496,110 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Theme.ThemeValue": { + "AWS::ApiGateway::Method.Integration": { "additionalProperties": false, "properties": { - "Children": { + "CacheKeyParameters": { "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + "type": "string" }, - "markdownDescription": "A list of key-value pairs that define the theme's properties.", - "title": "Children", + "markdownDescription": "A list of request parameters whose values API Gateway caches. To be valid values for `cacheKeyParameters` , these parameters must also be specified for Method `requestParameters` .", + "title": "CacheKeyParameters", "type": "array" }, - "Value": { - "markdownDescription": "The value of a theme property.", - "title": "Value", + "CacheNamespace": { + "markdownDescription": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the `cacheNamespace` . You can specify the same `cacheNamespace` across resources to return the same cached data for requests to different resources.", + "title": "CacheNamespace", "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Theme.ThemeValues": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The name of the property.", - "title": "Key", + }, + "ConnectionId": { + "markdownDescription": "The ID of the VpcLink used for the integration when `connectionType=VPC_LINK` and undefined, otherwise.", + "title": "ConnectionId", "type": "string" }, - "Value": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValue", - "markdownDescription": "The value of the property.", - "title": "Value" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Account": { - "additionalProperties": false, - "properties": { - "Condition": { + "ConnectionType": { + "markdownDescription": "The type of the network connection to the integration endpoint. The valid value is `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and a network load balancer in a VPC. The default value is `INTERNET` .", + "title": "ConnectionType", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentHandling": { + "markdownDescription": "Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\nIf this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the `passthroughBehavior` is configured to support payload pass-through.", + "title": "ContentHandling", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Credentials": { + "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::\\*:user/\\*` . To use resource-based permissions on supported AWS services, specify null.", + "title": "Credentials", + "type": "string" + }, + "IntegrationHttpMethod": { + "markdownDescription": "Specifies the integration's HTTP method type. For the Type property, if you specify `MOCK` , this property is optional. For Lambda integrations, you must set the integration method to `POST` . For all other types, you must specify this property.", + "title": "IntegrationHttpMethod", + "type": "string" + }, + "IntegrationResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" + }, + "markdownDescription": "Specifies the integration's responses.", + "title": "IntegrationResponses", + "type": "array" + }, + "IntegrationTarget": { + "markdownDescription": "The ALB or NLB listener to send the request to. Only supported for private integrations that use VPC links V2.", + "title": "IntegrationTarget", + "type": "string" + }, + "PassthroughBehavior": { + "markdownDescription": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in `requestTemplates` . The valid value is one of the following: `WHEN_NO_MATCH` : passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. `WHEN_NO_TEMPLATES` : passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. `NEVER` : rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.", + "title": "PassthroughBehavior", + "type": "string" + }, + "RequestParameters": { + "additionalProperties": true, + "markdownDescription": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of `method.request.{location}.{name}` , where `location` is `querystring` , `path` , or `header` and `name` must be a valid and unique method request parameter name.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { + }, + "title": "RequestParameters", "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchRoleArn": { - "markdownDescription": "The ARN of an Amazon CloudWatch role for the current Account.", - "title": "CloudWatchRoleArn", + "RequestTemplates": { + "additionalProperties": true, + "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "RequestTemplates", "type": "object" }, + "ResponseTransferMode": { + "markdownDescription": "The response transfer mode of the integration. Use `STREAM` to have API Gateway stream response your back to you or use `BUFFERED` to have API Gateway wait to receive the complete response before beginning transmission.", + "title": "ResponseTransferMode", + "type": "string" + }, + "TimeoutInMillis": { + "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds. You can increase the default value to longer than 29 seconds for Regional or private APIs only.", + "title": "TimeoutInMillis", + "type": "number" + }, "Type": { - "enum": [ - "AWS::ApiGateway::Account" - ], + "markdownDescription": "Specifies an API method integration type. The valid value is one of the following:\n\nFor the HTTP and HTTP proxy integrations, each integration can specify a protocol ( `http/https` ), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a `connectionType` of `VPC_LINK` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.", + "title": "Type", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Uri": { + "markdownDescription": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n\nFor `HTTP` or `HTTP_PROXY` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If `connectionType` is `VPC_LINK` specify the Network Load Balancer DNS name. For `AWS` or `AWS_PROXY` integrations, the URI is of the form `arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}` . Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either `arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}` or `arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}`", + "title": "Uri", "type": "string" } }, @@ -8152,127 +8608,89 @@ ], "type": "object" }, - "AWS::ApiGateway::ApiKey": { + "AWS::ApiGateway::Method.IntegrationResponse": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentHandling": { + "markdownDescription": "Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\nIf this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", + "title": "ContentHandling", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "ResponseParameters": { + "additionalProperties": true, + "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of `method.response.header.{name}` , where `name` is a valid and unique header name. The mapped non-static value must match the pattern of `integration.response.header.{name}` or `integration.response.body.{JSON-expression}` , where `name` is a valid and unique response header name and `JSON-expression` is a valid JSON expression without the `$` prefix.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { + }, + "title": "ResponseParameters", "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerId": { - "markdownDescription": "An AWS Marketplace customer identifier, when integrating with the AWS SaaS Marketplace.", - "title": "CustomerId", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the ApiKey.", - "title": "Description", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Specifies whether the ApiKey can be used by callers.", - "title": "Enabled", - "type": "boolean" - }, - "GenerateDistinctId": { - "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.", - "title": "GenerateDistinctId", - "type": "boolean" - }, - "Name": { - "markdownDescription": "A name for the API key. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\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": "Name", - "type": "string" - }, - "StageKeys": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" - }, - "markdownDescription": "DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.", - "title": "StageKeys", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with `aws:` . The tag value can be up to 256 characters.", - "title": "Tags", - "type": "array" - }, - "Value": { - "markdownDescription": "Specifies a value of the API key.", - "title": "Value", + "ResponseTemplates": { + "additionalProperties": true, + "markdownDescription": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "ResponseTemplates", "type": "object" }, - "Type": { - "enum": [ - "AWS::ApiGateway::ApiKey" - ], + "SelectionPattern": { + "markdownDescription": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the `.+` regex to match error response. However, make sure that the error response does not contain any newline ( `\\n` ) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.", + "title": "SelectionPattern", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StatusCode": { + "markdownDescription": "Specifies the status code that is used to map the integration response to an existing MethodResponse.", + "title": "StatusCode", "type": "string" } }, "required": [ - "Type" + "StatusCode" ], "type": "object" }, - "AWS::ApiGateway::ApiKey.StageKey": { + "AWS::ApiGateway::Method.MethodResponse": { "additionalProperties": false, "properties": { - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" + "ResponseModels": { + "additionalProperties": true, + "markdownDescription": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ResponseModels", + "type": "object" }, - "StageName": { - "markdownDescription": "The stage name associated with the stage key.", - "title": "StageName", + "ResponseParameters": { + "additionalProperties": true, + "markdownDescription": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern `method.response.header.{name}` , where `name` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in `integration.response.header.{name}` , a static value enclosed within a pair of single quotes (e.g., `'application/json'` ), or a JSON expression from the back-end response payload in the form of `integration.response.body.{JSON-expression}` , where `JSON-expression` is a valid JSON expression without the `$` prefix.)", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ResponseParameters", + "type": "object" + }, + "StatusCode": { + "markdownDescription": "The method response's status code.", + "title": "StatusCode", "type": "string" } }, + "required": [ + "StatusCode" + ], "type": "object" }, - "AWS::ApiGateway::Authorizer": { + "AWS::ApiGateway::Model": { "additionalProperties": false, "properties": { "Condition": { @@ -8307,70 +8725,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthType": { - "markdownDescription": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact.", - "title": "AuthType", - "type": "string" - }, - "AuthorizerCredentials": { - "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.", - "title": "AuthorizerCredentials", - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "markdownDescription": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.", - "title": "AuthorizerResultTtlInSeconds", - "type": "number" - }, - "AuthorizerUri": { - "markdownDescription": "Specifies the authorizer's Uniform Resource Identifier (URI). For `TOKEN` or `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations` . In general, the URI has this form `arn:aws:apigateway:{region}:lambda:path/{service_api}` , where `{region}` is the same as the region hosting the Lambda function, `path` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .", - "title": "AuthorizerUri", - "type": "string" - }, - "IdentitySource": { - "markdownDescription": "The identity source for which authorization is requested. For a `TOKEN` or `COGNITO_USER_POOLS` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is `Auth` , the header mapping expression is `method.request.header.Auth` . For the `REQUEST` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an `Auth` header, a `Name` query string parameter are defined as identity sources, this value is `method.request.header.Auth, method.request.querystring.Name` . These parameters will be used to derive the authorization caching key and to perform runtime validation of the `REQUEST` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.", - "title": "IdentitySource", + "ContentType": { + "markdownDescription": "The content-type for the model.", + "title": "ContentType", "type": "string" }, - "IdentityValidationExpression": { - "markdownDescription": "A validation expression for the incoming identity token. For `TOKEN` authorizers, this value is a regular expression. For `COGNITO_USER_POOLS` authorizers, API Gateway will match the `aud` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the `REQUEST` authorizer.", - "title": "IdentityValidationExpression", + "Description": { + "markdownDescription": "The description of the model.", + "title": "Description", "type": "string" }, "Name": { - "markdownDescription": "The name of the authorizer.", + "markdownDescription": "A name for the model. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the model 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": "Name", "type": "string" }, - "ProviderARNs": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the Amazon Cognito user pool ARNs for the `COGNITO_USER_POOLS` authorizer. Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}` . For a `TOKEN` or `REQUEST` authorizer, this is not defined.", - "title": "ProviderARNs", - "type": "array" - }, "RestApiId": { "markdownDescription": "The string identifier of the associated RestApi.", "title": "RestApiId", "type": "string" }, - "Type": { - "markdownDescription": "The authorizer type. Valid values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, and `COGNITO_USER_POOLS` for using an Amazon Cognito user pool.", - "title": "Type", - "type": "string" + "Schema": { + "markdownDescription": "The schema for the model. For `application/json` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.", + "title": "Schema", + "type": "object" } }, "required": [ - "Name", - "RestApiId", - "Type" + "RestApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Authorizer" + "AWS::ApiGateway::Model" ], "type": "string" }, @@ -8389,7 +8777,7 @@ ], "type": "object" }, - "AWS::ApiGateway::BasePathMapping": { + "AWS::ApiGateway::RequestValidator": { "additionalProperties": false, "properties": { "Condition": { @@ -8424,17 +8812,9 @@ "Properties": { "additionalProperties": false, "properties": { - "BasePath": { - "markdownDescription": "The base path name that callers of the API must provide as part of the URL after the domain name.", - "title": "BasePath", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The domain name of the BasePathMapping resource to be described.", - "title": "DomainName", - "type": "string" - }, - "Id": { + "Name": { + "markdownDescription": "The name of this RequestValidator", + "title": "Name", "type": "string" }, "RestApiId": { @@ -8442,20 +8822,25 @@ "title": "RestApiId", "type": "string" }, - "Stage": { - "markdownDescription": "The name of the associated stage.", - "title": "Stage", - "type": "string" + "ValidateRequestBody": { + "markdownDescription": "A Boolean flag to indicate whether to validate a request body according to the configured Model schema.", + "title": "ValidateRequestBody", + "type": "boolean" + }, + "ValidateRequestParameters": { + "markdownDescription": "A Boolean flag to indicate whether to validate request parameters ( `true` ) or not ( `false` ).", + "title": "ValidateRequestParameters", + "type": "boolean" } }, "required": [ - "DomainName" + "RestApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::BasePathMapping" + "AWS::ApiGateway::RequestValidator" ], "type": "string" }, @@ -8474,7 +8859,7 @@ ], "type": "object" }, - "AWS::ApiGateway::BasePathMappingV2": { + "AWS::ApiGateway::Resource": { "additionalProperties": false, "properties": { "Condition": { @@ -8509,36 +8894,32 @@ "Properties": { "additionalProperties": false, "properties": { - "BasePath": { - "markdownDescription": "The base path name that callers of the private API must provide as part of the URL after the domain name.", - "title": "BasePath", + "ParentId": { + "markdownDescription": "The parent resource's identifier.", + "title": "ParentId", "type": "string" }, - "DomainNameArn": { - "markdownDescription": "The ARN of the domain name for the BasePathMappingV2 resource to be described.", - "title": "DomainNameArn", + "PathPart": { + "markdownDescription": "The last path segment for this resource.", + "title": "PathPart", "type": "string" }, "RestApiId": { - "markdownDescription": "The private API's identifier. This identifier is unique across all of your APIs in API Gateway.", + "markdownDescription": "The string identifier of the associated RestApi.", "title": "RestApiId", "type": "string" - }, - "Stage": { - "markdownDescription": "Represents a unique identifier for a version of a deployed private RestApi that is callable by users. The Stage must depend on the `RestApi` 's stage. To create a dependency, add a DependsOn attribute to the BasePathMappingV2 resource.", - "title": "Stage", - "type": "string" } }, "required": [ - "DomainNameArn", + "ParentId", + "PathPart", "RestApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::BasePathMappingV2" + "AWS::ApiGateway::Resource" ], "type": "string" }, @@ -8557,12 +8938,19 @@ ], "type": "object" }, - "AWS::ApiGateway::ClientCertificate": { + "AWS::ApiGateway::RestApi": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, + "Connectors": { + "additionalProperties": { + "$ref": "#/definitions/EmbeddedConnector" + }, + "title": "Connectors", + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -8592,16 +8980,100 @@ "Properties": { "additionalProperties": false, "properties": { + "ApiKeySourceType": { + "markdownDescription": "The source of the API key for metering requests according to a usage plan. Valid values are: `HEADER` to read the API key from the `X-API-Key` header of a request. `AUTHORIZER` to read the API key from the `UsageIdentifierKey` from a custom authorizer.", + "title": "ApiKeySourceType", + "type": "string" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", + "title": "BinaryMediaTypes", + "type": "array" + }, + "Body": { + "markdownDescription": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.", + "title": "Body", + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location", + "markdownDescription": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format.", + "title": "BodyS3Location" + }, + "CloneFrom": { + "markdownDescription": "The ID of the RestApi that you want to clone from.", + "title": "CloneFrom", + "type": "string" + }, "Description": { - "markdownDescription": "The description of the client certificate.", + "markdownDescription": "The description of the RestApi.", "title": "Description", "type": "string" }, + "DisableExecuteApiEndpoint": { + "markdownDescription": "Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default `https://{api_id}.execute-api.{region}.amazonaws.com` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint", + "title": "DisableExecuteApiEndpoint", + "type": "boolean" + }, + "EndpointAccessMode": { + "markdownDescription": "The endpoint access mode for your RestApi.", + "title": "EndpointAccessMode", + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration", + "markdownDescription": "A list of the endpoint types and IP address types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the `Parameters` property.", + "title": "EndpointConfiguration" + }, + "FailOnWarnings": { + "markdownDescription": "A query parameter to indicate whether to rollback the API update ( `true` ) or not ( `false` ) when a warning is encountered. The default value is `false` .", + "title": "FailOnWarnings", + "type": "boolean" + }, + "MinimumCompressionSize": { + "markdownDescription": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.", + "title": "MinimumCompressionSize", + "type": "number" + }, + "Mode": { + "markdownDescription": "This property applies only when you use OpenAPI to define your REST API. The `Mode` determines how API Gateway handles resource updates.\n\nValid values are `overwrite` or `merge` .\n\nFor `overwrite` , the new API definition replaces the existing one. The existing API identifier remains unchanged.\n\nFor `merge` , the new API definition is merged with the existing API.\n\nIf you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is `overwrite` . For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API.\n\nUse the default mode to define top-level `RestApi` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.", + "title": "Mode", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.", + "title": "Name", + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "markdownDescription": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set `ignore=documentation` as a `parameters` value, as in the AWS CLI command of `aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Policy": { + "markdownDescription": "A policy document that contains the permissions for the `RestApi` resource. To set the ARN for the policy, use the `!Join` intrinsic function with `\"\"` as delimiter and values of `\"execute-api:/\"` and `\"*\"` .", + "title": "Policy", + "type": "object" + }, + "SecurityPolicy": { + "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this RestApi.", + "title": "SecurityPolicy", + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with `aws:` . The tag value can be up to 256 characters.", "title": "Tags", "type": "array" } @@ -8610,7 +9082,7 @@ }, "Type": { "enum": [ - "AWS::ApiGateway::ClientCertificate" + "AWS::ApiGateway::RestApi" ], "type": "string" }, @@ -8628,7 +9100,60 @@ ], "type": "object" }, - "AWS::ApiGateway::Deployment": { + "AWS::ApiGateway::RestApi.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke an API (RestApi). Use `ipv4` to allow only IPv4 addresses to invoke an API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke an API. For the `PRIVATE` endpoint type, only `dualstack` is supported.", + "title": "IpAddressType", + "type": "string" + }, + "Types": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", + "title": "Types", + "type": "array" + }, + "VpcEndpointIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for `PRIVATE` endpoint type.", + "title": "VpcEndpointIds", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGateway::RestApi.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the S3 bucket where the OpenAPI file is stored.", + "title": "Bucket", + "type": "string" + }, + "ETag": { + "markdownDescription": "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file.", + "title": "ETag", + "type": "string" + }, + "Key": { + "markdownDescription": "The file name of the OpenAPI file (Amazon S3 object name).", + "title": "Key", + "type": "string" + }, + "Version": { + "markdownDescription": "For versioning-enabled buckets, a specific version of the OpenAPI file.", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage": { "additionalProperties": false, "properties": { "Condition": { @@ -8663,30 +9188,87 @@ "Properties": { "additionalProperties": false, "properties": { - "DeploymentCanarySettings": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings", - "markdownDescription": "The input configuration for a canary deployment.", - "title": "DeploymentCanarySettings" + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting", + "markdownDescription": "Access log settings, including the access log format and access log destination ARN.", + "title": "AccessLogSetting" + }, + "CacheClusterEnabled": { + "markdownDescription": "Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set `CachingEnabled` to `true` for a method.", + "title": "CacheClusterEnabled", + "type": "boolean" + }, + "CacheClusterSize": { + "markdownDescription": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) .", + "title": "CacheClusterSize", + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting", + "markdownDescription": "Settings for the canary deployment in this stage.", + "title": "CanarySetting" + }, + "ClientCertificateId": { + "markdownDescription": "The identifier of a client certificate for an API stage.", + "title": "ClientCertificateId", + "type": "string" + }, + "DeploymentId": { + "markdownDescription": "The identifier of the Deployment that the stage points to.", + "title": "DeploymentId", + "type": "string" }, "Description": { - "markdownDescription": "The description for the Deployment resource to create.", + "markdownDescription": "The stage's description.", "title": "Description", "type": "string" }, + "DocumentationVersion": { + "markdownDescription": "The version of the associated API documentation.", + "title": "DocumentationVersion", + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" + }, + "markdownDescription": "A map that defines the method settings for a Stage resource. Keys (designated as `/{method_setting_key` below) are method paths defined as `{resource_path}/{http_method}` for an individual method override, or `/\\*/\\*` for overriding all methods in the stage.", + "title": "MethodSettings", + "type": "array" + }, "RestApiId": { "markdownDescription": "The string identifier of the associated RestApi.", "title": "RestApiId", "type": "string" }, - "StageDescription": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription", - "markdownDescription": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.", - "title": "StageDescription" - }, "StageName": { - "markdownDescription": "The name of the Stage resource for the Deployment resource to create.", + "markdownDescription": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", "title": "StageName", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + }, + "TracingEnabled": { + "markdownDescription": "Specifies whether active tracing with X-ray is enabled for the Stage.", + "title": "TracingEnabled", + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "markdownDescription": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Variables", + "type": "object" } }, "required": [ @@ -8696,7 +9278,7 @@ }, "Type": { "enum": [ - "AWS::ApiGateway::Deployment" + "AWS::ApiGateway::Stage" ], "type": "string" }, @@ -8715,25 +9297,30 @@ ], "type": "object" }, - "AWS::ApiGateway::Deployment.AccessLogSetting": { + "AWS::ApiGateway::Stage.AccessLogSetting": { "additionalProperties": false, "properties": { "DestinationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` .", + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` . This parameter is required to enable access logging.", "title": "DestinationArn", "type": "string" }, "Format": { - "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least `$context.requestId` .", + "markdownDescription": "A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference) . The format must include at least `$context.requestId` . This parameter is required to enable access logging.", "title": "Format", "type": "string" } }, "type": "object" }, - "AWS::ApiGateway::Deployment.CanarySetting": { + "AWS::ApiGateway::Stage.CanarySetting": { "additionalProperties": false, "properties": { + "DeploymentId": { + "markdownDescription": "The ID of the canary deployment.", + "title": "DeploymentId", + "type": "string" + }, "PercentTraffic": { "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.", "title": "PercentTraffic", @@ -8758,44 +9345,17 @@ }, "type": "object" }, - "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { + "AWS::ApiGateway::Stage.MethodSetting": { "additionalProperties": false, "properties": { - "PercentTraffic": { - "markdownDescription": "The percentage (0.0-100.0) of traffic routed to the canary deployment.", - "title": "PercentTraffic", - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "markdownDescription": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "StageVariableOverrides", - "type": "object" - }, - "UseStageCache": { - "markdownDescription": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.", - "title": "UseStageCache", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "markdownDescription": "Specifies whether the cached responses are encrypted.", - "title": "CacheDataEncrypted", - "type": "boolean" - }, - "CacheTtlInSeconds": { - "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", - "title": "CacheTtlInSeconds", + "CacheDataEncrypted": { + "markdownDescription": "Specifies whether the cached responses are encrypted.", + "title": "CacheDataEncrypted", + "type": "boolean" + }, + "CacheTtlInSeconds": { + "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", + "title": "CacheTtlInSeconds", "type": "number" }, "CachingEnabled": { @@ -8809,7 +9369,7 @@ "type": "boolean" }, "HttpMethod": { - "markdownDescription": "The HTTP method.", + "markdownDescription": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .", "title": "HttpMethod", "type": "string" }, @@ -8824,7 +9384,7 @@ "type": "boolean" }, "ResourcePath": { - "markdownDescription": "The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ).", + "markdownDescription": "The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ). To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .", "title": "ResourcePath", "type": "string" }, @@ -8841,120 +9401,165 @@ }, "type": "object" }, - "AWS::ApiGateway::Deployment.StageDescription": { + "AWS::ApiGateway::UsagePlan": { "additionalProperties": false, "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting", - "markdownDescription": "Specifies settings for logging access in this stage.", - "title": "AccessLogSetting" - }, - "CacheClusterEnabled": { - "markdownDescription": "Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set `CachingEnabled` to `true` for a method.", - "title": "CacheClusterEnabled", - "type": "boolean" - }, - "CacheClusterSize": { - "markdownDescription": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference* .", - "title": "CacheClusterSize", + "Condition": { "type": "string" }, - "CacheDataEncrypted": { - "markdownDescription": "Indicates whether the cached responses are encrypted.", - "title": "CacheDataEncrypted", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CacheTtlInSeconds": { - "markdownDescription": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.", - "title": "CacheTtlInSeconds", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "CachingEnabled": { - "markdownDescription": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide* .", - "title": "CachingEnabled", - "type": "boolean" + "Metadata": { + "type": "object" }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting", - "markdownDescription": "Specifies settings for the canary deployment in this stage.", - "title": "CanarySetting" + "Properties": { + "additionalProperties": false, + "properties": { + "ApiStages": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" + }, + "markdownDescription": "The associated API stages of a usage plan.", + "title": "ApiStages", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of a usage plan.", + "title": "Description", + "type": "string" + }, + "Quota": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings", + "markdownDescription": "The target maximum number of permitted requests per a given unit time interval.", + "title": "Quota" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + }, + "Throttle": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings", + "markdownDescription": "A map containing method level throttling information for API stage in a usage plan.", + "title": "Throttle" + }, + "UsagePlanName": { + "markdownDescription": "The name of a usage plan.", + "title": "UsagePlanName", + "type": "string" + } + }, + "type": "object" }, - "ClientCertificateId": { - "markdownDescription": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.", - "title": "ClientCertificateId", + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlan" + ], "type": "string" }, - "DataTraceEnabled": { - "markdownDescription": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.", - "title": "DataTraceEnabled", - "type": "boolean" - }, - "Description": { - "markdownDescription": "A description of the purpose of the stage.", - "title": "Description", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "DocumentationVersion": { - "markdownDescription": "The version identifier of the API documentation snapshot.", - "title": "DocumentationVersion", + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ApiStage": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "API Id of the associated API stage in a usage plan.", + "title": "ApiId", "type": "string" }, - "LoggingLevel": { - "markdownDescription": "The logging level for this method. For valid values, see the `loggingLevel` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference* .", - "title": "LoggingLevel", + "Stage": { + "markdownDescription": "API stage name of the associated API stage in a usage plan.", + "title": "Stage", "type": "string" }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" - }, - "markdownDescription": "Configures settings for all of the stage's methods.", - "title": "MethodSettings", - "type": "array" - }, - "MetricsEnabled": { - "markdownDescription": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.", - "title": "MetricsEnabled", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "Throttle": { + "additionalProperties": false, + "markdownDescription": "Map containing method level throttling information for API stage in a usage plan.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + } }, - "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the stage.", - "title": "Tags", - "type": "array" - }, - "ThrottlingBurstLimit": { - "markdownDescription": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .", - "title": "ThrottlingBurstLimit", + "title": "Throttle", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.QuotaSettings": { + "additionalProperties": false, + "properties": { + "Limit": { + "markdownDescription": "The target maximum number of requests that can be made in a given time period.", + "title": "Limit", "type": "number" }, - "ThrottlingRateLimit": { - "markdownDescription": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .", - "title": "ThrottlingRateLimit", + "Offset": { + "markdownDescription": "The number of requests subtracted from the given limit in the initial time period.", + "title": "Offset", "type": "number" }, - "TracingEnabled": { - "markdownDescription": "Specifies whether active tracing with X-ray is enabled for this stage.\n\nFor more information, see [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide* .", - "title": "TracingEnabled", - "type": "boolean" + "Period": { + "markdownDescription": "The time period in which the limit applies. Valid values are \"DAY\", \"WEEK\" or \"MONTH\".", + "title": "Period", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ThrottleSettings": { + "additionalProperties": false, + "properties": { + "BurstLimit": { + "markdownDescription": "The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.", + "title": "BurstLimit", + "type": "number" }, - "Variables": { - "additionalProperties": true, - "markdownDescription": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Variables", - "type": "object" + "RateLimit": { + "markdownDescription": "The API target request rate limit.", + "title": "RateLimit", + "type": "number" } }, "type": "object" }, - "AWS::ApiGateway::DocumentationPart": { + "AWS::ApiGateway::UsagePlanKey": { "additionalProperties": false, "properties": { "Condition": { @@ -8989,32 +9594,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Location": { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location", - "markdownDescription": "The location of the targeted API entity of the to-be-created documentation part.", - "title": "Location" + "KeyId": { + "markdownDescription": "The Id of the UsagePlanKey resource.", + "title": "KeyId", + "type": "string" }, - "Properties": { - "markdownDescription": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.", - "title": "Properties", + "KeyType": { + "markdownDescription": "The type of a UsagePlanKey resource for a plan customer.", + "title": "KeyType", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", + "UsagePlanId": { + "markdownDescription": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", + "title": "UsagePlanId", "type": "string" } }, "required": [ - "Location", - "Properties", - "RestApiId" + "KeyId", + "KeyType", + "UsagePlanId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DocumentationPart" + "AWS::ApiGateway::UsagePlanKey" ], "type": "string" }, @@ -9033,38 +9638,7 @@ ], "type": "object" }, - "AWS::ApiGateway::DocumentationPart.Location": { - "additionalProperties": false, - "properties": { - "Method": { - "markdownDescription": "The HTTP verb of a method. It is a valid field for the API entity types of `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `*` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other `location` attributes, the child entity's `method` attribute must match that of the parent entity exactly.", - "title": "Method", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the targeted API entity. It is a valid and required field for the API entity types of `AUTHORIZER` , `MODEL` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` and `RESPONSE_HEADER` . It is an invalid field for any other entity type.", - "title": "Name", - "type": "string" - }, - "Path": { - "markdownDescription": "The URL path of the target. It is a valid field for the API entity types of `RESOURCE` , `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `/` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other `location` attributes, the child entity's `path` attribute must match that of the parent entity as a prefix.", - "title": "Path", - "type": "string" - }, - "StatusCode": { - "markdownDescription": "The HTTP status code of a response. It is a valid field for the API entity types of `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `*` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other `location` attributes, the child entity's `statusCode` attribute must match that of the parent entity exactly.", - "title": "StatusCode", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of API entity to which the documentation content applies. Valid values are `API` , `AUTHORIZER` , `MODEL` , `RESOURCE` , `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . Content inheritance does not apply to any entity of the `API` , `AUTHORIZER` , `METHOD` , `MODEL` , `REQUEST_BODY` , or `RESOURCE` type.", - "title": "Type", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationVersion": { + "AWS::ApiGateway::VpcLink": { "additionalProperties": false, "properties": { "Condition": { @@ -9100,30 +9674,41 @@ "additionalProperties": false, "properties": { "Description": { - "markdownDescription": "A description about the new documentation snapshot.", + "markdownDescription": "The description of the VPC link.", "title": "Description", "type": "string" }, - "DocumentationVersion": { - "markdownDescription": "The version identifier of the to-be-updated documentation version.", - "title": "DocumentationVersion", + "Name": { + "markdownDescription": "The name used to label and identify the VPC link.", + "title": "Name", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the VPC link.", + "title": "Tags", + "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.", + "title": "TargetArns", + "type": "array" } }, "required": [ - "DocumentationVersion", - "RestApiId" + "Name", + "TargetArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DocumentationVersion" + "AWS::ApiGateway::VpcLink" ], "type": "string" }, @@ -9142,12 +9727,19 @@ ], "type": "object" }, - "AWS::ApiGateway::DomainName": { + "AWS::ApiGatewayV2::Api": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, + "Connectors": { + "additionalProperties": { + "$ref": "#/definitions/EmbeddedConnector" + }, + "title": "Connectors", + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -9177,65 +9769,108 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. Certificate Manager is the only supported source.", - "title": "CertificateArn", + "ApiKeySelectionExpression": { + "markdownDescription": "An API key selection expression. Supported only for WebSocket APIs. See [API Key Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) .", + "title": "ApiKeySelectionExpression", "type": "string" }, - "DomainName": { - "markdownDescription": "The custom domain name as an API host name, for example, `my-api.example.com` .", - "title": "DomainName", + "BasePath": { + "markdownDescription": "Specifies how to interpret the base path of the API during import. Valid values are `ignore` , `prepend` , and `split` . The default value is `ignore` . To learn more, see [Set the OpenAPI basePath Property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api-basePath.html) . Supported only for HTTP APIs.", + "title": "BasePath", "type": "string" }, - "EndpointAccessMode": { - "markdownDescription": "The endpoint access mode for your DomainName.", - "title": "EndpointAccessMode", + "Body": { + "markdownDescription": "The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.", + "title": "Body", + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location", + "markdownDescription": "The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.", + "title": "BodyS3Location" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors", + "markdownDescription": "A CORS configuration. Supported only for HTTP APIs. See [Configuring CORS](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) for more information.", + "title": "CorsConfiguration" + }, + "CredentialsArn": { + "markdownDescription": "This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, specify `null` . Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.", + "title": "CredentialsArn", "type": "string" }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration", - "markdownDescription": "The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.", - "title": "EndpointConfiguration" + "Description": { + "markdownDescription": "The description of the API.", + "title": "Description", + "type": "string" }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication", - "markdownDescription": "The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.", - "title": "MutualTlsAuthentication" + "DisableExecuteApiEndpoint": { + "markdownDescription": "Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.", + "title": "DisableExecuteApiEndpoint", + "type": "boolean" }, - "OwnershipVerificationCertificateArn": { - "markdownDescription": "The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.", - "title": "OwnershipVerificationCertificateArn", + "DisableSchemaValidation": { + "markdownDescription": "Avoid validating models when creating a deployment. Supported only for WebSocket APIs.", + "title": "DisableSchemaValidation", + "type": "boolean" + }, + "FailOnWarnings": { + "markdownDescription": "Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.", + "title": "FailOnWarnings", + "type": "boolean" + }, + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke the API. Use `ipv4` to allow only IPv4 addresses to invoke your API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your API.\n\nDon\u2019t use IP address type for an HTTP API based on an OpenAPI specification. Instead, specify the IP address type in the OpenAPI specification.", + "title": "IpAddressType", "type": "string" }, - "RegionalCertificateArn": { - "markdownDescription": "The reference to an AWS -managed certificate that will be used for validating the regional domain name. Certificate Manager is the only supported source.", - "title": "RegionalCertificateArn", + "Name": { + "markdownDescription": "The name of the API. Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .", + "title": "Name", "type": "string" }, - "RoutingMode": { - "markdownDescription": "The routing mode for this domain name. The routing mode determines how API Gateway sends traffic from your custom domain name to your public APIs.", - "title": "RoutingMode", + "ProtocolType": { + "markdownDescription": "The API protocol. Valid values are `WEBSOCKET` or `HTTP` . Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .", + "title": "ProtocolType", "type": "string" }, - "SecurityPolicy": { - "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this DomainName.", - "title": "SecurityPolicy", + "RouteKey": { + "markdownDescription": "This property is part of quick create. If you don't specify a `routeKey` , a default route of `$default` is created. The `$default` route acts as a catch-all for any request made to your API, for a particular stage. The `$default` route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.", + "title": "RouteKey", + "type": "string" + }, + "RouteSelectionExpression": { + "markdownDescription": "The route selection expression for the API. For HTTP APIs, the `routeSelectionExpression` must be `${request.method} ${request.path}` . If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.", + "title": "RouteSelectionExpression", "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, + "additionalProperties": true, "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "title": "Tags", - "type": "array" + "type": "object" + }, + "Target": { + "markdownDescription": "This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.", + "title": "Target", + "type": "string" + }, + "Version": { + "markdownDescription": "A version identifier for the API.", + "title": "Version", + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DomainName" + "AWS::ApiGatewayV2::Api" ], "type": "string" }, @@ -9253,42 +9888,306 @@ ], "type": "object" }, - "AWS::ApiGateway::DomainName.EndpointConfiguration": { + "AWS::ApiGatewayV2::Api.BodyS3Location": { "additionalProperties": false, "properties": { - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke this DomainName. Use `ipv4` to allow only IPv4 addresses to invoke this DomainName, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke this DomainName. For the `PRIVATE` endpoint type, only `dualstack` is supported.", - "title": "IpAddressType", + "Bucket": { + "markdownDescription": "The S3 bucket that contains the OpenAPI definition to import. Required if you specify a `BodyS3Location` for an API.", + "title": "Bucket", "type": "string" }, - "Types": { + "Etag": { + "markdownDescription": "The Etag of the S3 object.", + "title": "Etag", + "type": "string" + }, + "Key": { + "markdownDescription": "The key of the S3 object. Required if you specify a `BodyS3Location` for an API.", + "title": "Key", + "type": "string" + }, + "Version": { + "markdownDescription": "The version of the S3 object.", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Api.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "markdownDescription": "Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.", + "title": "AllowCredentials", + "type": "boolean" + }, + "AllowHeaders": { "items": { "type": "string" }, - "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", - "title": "Types", + "markdownDescription": "Represents a collection of allowed headers. Supported only for HTTP APIs.", + "title": "AllowHeaders", + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.", + "title": "AllowMethods", + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents a collection of allowed origins. Supported only for HTTP APIs.", + "title": "AllowOrigins", + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents a collection of exposed headers. Supported only for HTTP APIs.", + "title": "ExposeHeaders", "type": "array" + }, + "MaxAge": { + "markdownDescription": "The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.", + "title": "MaxAge", + "type": "number" } }, "type": "object" }, - "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { "additionalProperties": false, "properties": { - "TruststoreUri": { - "markdownDescription": "An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example `s3://bucket-name/key-name` . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.", - "title": "TruststoreUri", + "Condition": { "type": "string" }, - "TruststoreVersion": { - "markdownDescription": "The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.", - "title": "TruststoreVersion", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "The ID of the API for which to override the configuration of API Gateway-managed resources.", + "title": "ApiId", + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides", + "markdownDescription": "Overrides the integration configuration for an API Gateway-managed integration.", + "title": "Integration" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides", + "markdownDescription": "Overrides the route configuration for an API Gateway-managed route.", + "title": "Route" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides", + "markdownDescription": "Overrides the stage configuration for an API Gateway-managed stage.", + "title": "Stage" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ApiGateway::DomainNameAccessAssociation": { + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "markdownDescription": "The ARN of the CloudWatch Logs log group to receive access logs.", + "title": "DestinationArn", + "type": "string" + }, + "Format": { + "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.", + "title": "Format", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "The description of the integration.", + "title": "Description", + "type": "string" + }, + "IntegrationMethod": { + "markdownDescription": "Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .", + "title": "IntegrationMethod", + "type": "string" + }, + "PayloadFormatVersion": { + "markdownDescription": "Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .", + "title": "PayloadFormatVersion", + "type": "string" + }, + "TimeoutInMillis": { + "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.", + "title": "TimeoutInMillis", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "The authorization scopes supported by this route.", + "title": "AuthorizationScopes", + "type": "array" + }, + "AuthorizationType": { + "markdownDescription": "The authorization type for the route. To learn more, see [AuthorizationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationtype) .", + "title": "AuthorizationType", + "type": "string" + }, + "AuthorizerId": { + "markdownDescription": "The identifier of the `Authorizer` resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", + "title": "AuthorizerId", + "type": "string" + }, + "OperationName": { + "markdownDescription": "The operation name for the route.", + "title": "OperationName", + "type": "string" + }, + "Target": { + "markdownDescription": "For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively.", + "title": "Target", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", + "title": "DataTraceEnabled", + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "markdownDescription": "Specifies whether detailed metrics are enabled.", + "title": "DetailedMetricsEnabled", + "type": "boolean" + }, + "LoggingLevel": { + "markdownDescription": "Specifies the logging level for this route: `INFO` , `ERROR` , or `OFF` . This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", + "title": "LoggingLevel", + "type": "string" + }, + "ThrottlingBurstLimit": { + "markdownDescription": "Specifies the throttling burst limit.", + "title": "ThrottlingBurstLimit", + "type": "number" + }, + "ThrottlingRateLimit": { + "markdownDescription": "Specifies the throttling rate limit.", + "title": "ThrottlingRateLimit", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings", + "markdownDescription": "Settings for logging access in a stage.", + "title": "AccessLogSettings" + }, + "AutoDeploy": { + "markdownDescription": "Specifies whether updates to an API automatically trigger a new deployment. The default value is `true` .", + "title": "AutoDeploy", + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings", + "markdownDescription": "The default route settings for the stage.", + "title": "DefaultRouteSettings" + }, + "Description": { + "markdownDescription": "The description for the API stage.", + "title": "Description", + "type": "string" + }, + "RouteSettings": { + "markdownDescription": "Route settings for the stage.", + "title": "RouteSettings", + "type": "object" + }, + "StageVariables": { + "markdownDescription": "A map that defines the stage variables for a `Stage` . Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", + "title": "StageVariables", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiMapping": { "additionalProperties": false, "properties": { "Condition": { @@ -9323,40 +10222,37 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessAssociationSource": { - "markdownDescription": "The identifier of the domain name access association source. For a `VPCE` , the value is the VPC endpoint ID.", - "title": "AccessAssociationSource", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "AccessAssociationSourceType": { - "markdownDescription": "The type of the domain name access association source. Only `VPCE` is currently supported.", - "title": "AccessAssociationSourceType", + "ApiMappingKey": { + "markdownDescription": "The API mapping key.", + "title": "ApiMappingKey", "type": "string" }, - "DomainNameArn": { - "markdownDescription": "The ARN of the domain name.", - "title": "DomainNameArn", + "DomainName": { + "markdownDescription": "The domain name.", + "title": "DomainName", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "title": "Tags", - "type": "array" + "Stage": { + "markdownDescription": "The API stage.", + "title": "Stage", + "type": "string" } }, "required": [ - "AccessAssociationSource", - "AccessAssociationSourceType", - "DomainNameArn" + "ApiId", + "DomainName", + "Stage" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DomainNameAccessAssociation" + "AWS::ApiGatewayV2::ApiMapping" ], "type": "string" }, @@ -9375,7 +10271,7 @@ ], "type": "object" }, - "AWS::ApiGateway::DomainNameV2": { + "AWS::ApiGatewayV2::Authorizer": { "additionalProperties": false, "properties": { "Condition": { @@ -9410,55 +10306,75 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name. AWS Certificate Manager is the only supported source.", - "title": "CertificateArn", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "DomainName": { - "markdownDescription": "Represents a custom domain name as a user-friendly host name of an API (RestApi).", - "title": "DomainName", + "AuthorizerCredentialsArn": { + "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for `REQUEST` authorizers.", + "title": "AuthorizerCredentialsArn", "type": "string" }, - "EndpointAccessMode": { - "markdownDescription": "The endpoint access mode for your DomainName.", - "title": "EndpointAccessMode", + "AuthorizerPayloadFormatVersion": { + "markdownDescription": "Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are `1.0` and `2.0` . To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .", + "title": "AuthorizerPayloadFormatVersion", "type": "string" }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::DomainNameV2.EndpointConfiguration", - "markdownDescription": "The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.", - "title": "EndpointConfiguration" - }, - "Policy": { - "markdownDescription": "A stringified JSON policy document that applies to the `execute-api` service for this DomainName regardless of the caller and Method configuration. You can use `Fn::ToJsonString` to enter your `policy` . For more information, see [Fn::ToJsonString](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ToJsonString.html) .", - "title": "Policy", - "type": "object" + "AuthorizerResultTtlInSeconds": { + "markdownDescription": "The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.", + "title": "AuthorizerResultTtlInSeconds", + "type": "number" }, - "RoutingMode": { - "markdownDescription": "The routing mode for this domain name. The routing mode determines how API Gateway sends traffic from your custom domain name to your private APIs.", - "title": "RoutingMode", + "AuthorizerType": { + "markdownDescription": "The authorizer type. Specify `REQUEST` for a Lambda function using incoming request parameters. Specify `JWT` to use JSON Web Tokens (supported only for HTTP APIs).", + "title": "AuthorizerType", "type": "string" }, - "SecurityPolicy": { - "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this DomainName.", - "title": "SecurityPolicy", + "AuthorizerUri": { + "markdownDescription": "The authorizer's Uniform Resource Identifier (URI). For `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2: *{account_id}* :function: *{lambda_function_name}* /invocations` . In general, the URI has this form: `arn:aws:apigateway: *{region}* :lambda:path/ *{service_api}*` , where *{region}* is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .", + "title": "AuthorizerUri", "type": "string" }, - "Tags": { + "EnableSimpleResponses": { + "markdownDescription": "Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .", + "title": "EnableSimpleResponses", + "type": "boolean" + }, + "IdentitySource": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "title": "Tags", + "markdownDescription": "The identity source for which authorization is requested.\n\nFor a `REQUEST` authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with `$` , for example, `$request.header.Auth` , `$request.querystring.Name` . These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .\n\nFor `JWT` , a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example `$request.header.Authorization` .", + "title": "IdentitySource", "type": "array" + }, + "IdentityValidationExpression": { + "markdownDescription": "This parameter is not used.", + "title": "IdentityValidationExpression", + "type": "string" + }, + "JwtConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration", + "markdownDescription": "The `JWTConfiguration` property specifies the configuration of a JWT authorizer. Required for the `JWT` authorizer type. Supported only for HTTP APIs.", + "title": "JwtConfiguration" + }, + "Name": { + "markdownDescription": "The name of the authorizer.", + "title": "Name", + "type": "string" } }, + "required": [ + "ApiId", + "AuthorizerType", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DomainNameV2" + "AWS::ApiGatewayV2::Authorizer" ], "type": "string" }, @@ -9472,30 +10388,31 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::DomainNameV2.EndpointConfiguration": { + "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { "additionalProperties": false, "properties": { - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke an API (RestApi) or a DomainName. Use `ipv4` to allow only IPv4 addresses to invoke an API or DomainName, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke an API or a DomainName. For the `PRIVATE` endpoint type, only `dualstack` is supported.", - "title": "IpAddressType", - "type": "string" - }, - "Types": { + "Audience": { "items": { "type": "string" }, - "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", - "title": "Types", + "markdownDescription": "A list of the intended recipients of the JWT. A valid JWT must provide an `aud` that matches at least one entry in this list. See [RFC 7519](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc7519#section-4.1.3) . Required for the `JWT` authorizer type. Supported only for HTTP APIs.", + "title": "Audience", "type": "array" + }, + "Issuer": { + "markdownDescription": "The base domain of the identity provider that issues JSON Web Tokens. For example, an Amazon Cognito user pool has the following format: `https://cognito-idp. {region} .amazonaws.com/ {userPoolId}` . Required for the `JWT` authorizer type. Supported only for HTTP APIs.", + "title": "Issuer", + "type": "string" } }, "type": "object" }, - "AWS::ApiGateway::GatewayResponse": { + "AWS::ApiGatewayV2::Deployment": { "additionalProperties": false, "properties": { "Condition": { @@ -9530,53 +10447,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ResponseParameters": { - "additionalProperties": true, - "markdownDescription": "Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ResponseParameters", - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "markdownDescription": "Response templates of the GatewayResponse as a string-to-string map of key-value pairs.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ResponseTemplates", - "type": "object" - }, - "ResponseType": { - "markdownDescription": "The response type of the associated GatewayResponse.", - "title": "ResponseType", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", + "Description": { + "markdownDescription": "The description for the deployment resource.", + "title": "Description", "type": "string" }, - "StatusCode": { - "markdownDescription": "The HTTP status code for this GatewayResponse.", - "title": "StatusCode", + "StageName": { + "markdownDescription": "The name of an existing stage to associate with the deployment.", + "title": "StageName", "type": "string" } }, "required": [ - "ResponseType", - "RestApiId" + "ApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::GatewayResponse" + "AWS::ApiGatewayV2::Deployment" ], "type": "string" }, @@ -9595,7 +10489,7 @@ ], "type": "object" }, - "AWS::ApiGateway::Method": { + "AWS::ApiGatewayV2::DomainName": { "additionalProperties": false, "properties": { "Condition": { @@ -9630,100 +10524,49 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKeyRequired": { - "markdownDescription": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.", - "title": "ApiKeyRequired", - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of authorization scopes configured on the method. The scopes are used with a `COGNITO_USER_POOLS` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.", - "title": "AuthorizationScopes", - "type": "array" - }, - "AuthorizationType": { - "markdownDescription": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference* .\n\n> If you specify the `AuthorizerId` property, specify `CUSTOM` or `COGNITO_USER_POOLS` for this property.", - "title": "AuthorizationType", - "type": "string" - }, - "AuthorizerId": { - "markdownDescription": "The identifier of an authorizer to use on this method. The method's authorization type must be `CUSTOM` or `COGNITO_USER_POOLS` .", - "title": "AuthorizerId", - "type": "string" - }, - "HttpMethod": { - "markdownDescription": "The method's HTTP verb.", - "title": "HttpMethod", + "DomainName": { + "markdownDescription": "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore ( `_` ) character are not supported.", + "title": "DomainName", "type": "string" }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGateway::Method.Integration", - "markdownDescription": "Represents an `HTTP` , `HTTP_PROXY` , `AWS` , `AWS_PROXY` , or Mock integration.", - "title": "Integration" - }, - "MethodResponses": { + "DomainNameConfigurations": { "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" }, - "markdownDescription": "Gets a method response associated with a given HTTP status code.", - "title": "MethodResponses", + "markdownDescription": "The domain name configurations.", + "title": "DomainNameConfigurations", "type": "array" }, - "OperationName": { - "markdownDescription": "A human-friendly operation identifier for the method. For example, you can assign the `operationName` of `ListPets` for the `GET /pets` method in the `PetStore` example.", - "title": "OperationName", - "type": "string" + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication", + "markdownDescription": "The mutual TLS authentication configuration for a custom domain name.", + "title": "MutualTlsAuthentication" }, - "RequestModels": { - "additionalProperties": true, - "markdownDescription": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "RequestModels", - "type": "object" + "RoutingMode": { + "markdownDescription": "The routing mode API Gateway uses to route traffic to your APIs.", + "title": "RoutingMode", + "type": "string" }, - "RequestParameters": { + "Tags": { "additionalProperties": true, - "markdownDescription": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of `method.request.{location}.{name}` , where `location` is `querystring` , `path` , or `header` and `name` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required ( `true` ) or optional ( `false` ). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.", + "markdownDescription": "The collection of tags associated with a domain name.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "RequestParameters", + "title": "Tags", "type": "object" - }, - "RequestValidatorId": { - "markdownDescription": "The identifier of a RequestValidator for request validation.", - "title": "RequestValidatorId", - "type": "string" - }, - "ResourceId": { - "markdownDescription": "The Resource identifier for the MethodResponse resource.", - "title": "ResourceId", - "type": "string" - }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" } }, "required": [ - "HttpMethod", - "ResourceId", - "RestApiId" + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Method" + "AWS::ApiGatewayV2::DomainName" ], "type": "string" }, @@ -9742,196 +10585,370 @@ ], "type": "object" }, - "AWS::ApiGateway::Method.Integration": { + "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { "additionalProperties": false, "properties": { - "CacheKeyParameters": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of request parameters whose values API Gateway caches. To be valid values for `cacheKeyParameters` , these parameters must also be specified for Method `requestParameters` .", - "title": "CacheKeyParameters", - "type": "array" - }, - "CacheNamespace": { - "markdownDescription": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the `cacheNamespace` . You can specify the same `cacheNamespace` across resources to return the same cached data for requests to different resources.", - "title": "CacheNamespace", + "CertificateArn": { + "markdownDescription": "An AWS -managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.", + "title": "CertificateArn", "type": "string" }, - "ConnectionId": { - "markdownDescription": "The ID of the VpcLink used for the integration when `connectionType=VPC_LINK` and undefined, otherwise.", - "title": "ConnectionId", + "CertificateName": { + "markdownDescription": "The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.", + "title": "CertificateName", "type": "string" }, - "ConnectionType": { - "markdownDescription": "The type of the network connection to the integration endpoint. The valid value is `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and a network load balancer in a VPC. The default value is `INTERNET` .", - "title": "ConnectionType", + "EndpointType": { + "markdownDescription": "The endpoint type.", + "title": "EndpointType", "type": "string" }, - "ContentHandling": { - "markdownDescription": "Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\nIf this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the `passthroughBehavior` is configured to support payload pass-through.", - "title": "ContentHandling", + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke the domain name. Use `ipv4` to allow only IPv4 addresses to invoke your domain name, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your domain name.", + "title": "IpAddressType", "type": "string" }, - "Credentials": { - "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::\\*:user/\\*` . To use resource-based permissions on supported AWS services, specify null.", - "title": "Credentials", + "OwnershipVerificationCertificateArn": { + "markdownDescription": "The Amazon resource name (ARN) for the public certificate issued by Certificate Manager . This ARN is used to validate custom domain ownership. It's required only if you configure mutual TLS and use either an ACM-imported or a private CA certificate ARN as the regionalCertificateArn.", + "title": "OwnershipVerificationCertificateArn", "type": "string" }, - "IntegrationHttpMethod": { - "markdownDescription": "Specifies the integration's HTTP method type. For the Type property, if you specify `MOCK` , this property is optional. For Lambda integrations, you must set the integration method to `POST` . For all other types, you must specify this property.", - "title": "IntegrationHttpMethod", + "SecurityPolicy": { + "markdownDescription": "The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are `TLS_1_0` and `TLS_1_2` .", + "title": "SecurityPolicy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "markdownDescription": "An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3:// bucket-name / key-name` . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.", + "title": "TruststoreUri", "type": "string" }, - "IntegrationResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" - }, - "markdownDescription": "Specifies the integration's responses.", - "title": "IntegrationResponses", - "type": "array" - }, - "IntegrationTarget": { - "markdownDescription": "The ALB or NLB listener to send the request to. Only supported for private integrations that use VPC links V2.", - "title": "IntegrationTarget", + "TruststoreVersion": { + "markdownDescription": "The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.", + "title": "TruststoreVersion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "PassthroughBehavior": { - "markdownDescription": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in `requestTemplates` . The valid value is one of the following: `WHEN_NO_MATCH` : passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. `WHEN_NO_TEMPLATES` : passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. `NEVER` : rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.", - "title": "PassthroughBehavior", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RequestParameters": { - "additionalProperties": true, - "markdownDescription": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of `method.request.{location}.{name}` , where `location` is `querystring` , `path` , or `header` and `name` must be a valid and unique method request parameter name.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "title": "RequestParameters", + ] + }, + "Metadata": { "type": "object" }, - "RequestTemplates": { - "additionalProperties": true, - "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", + "type": "string" + }, + "ConnectionId": { + "markdownDescription": "The ID of the VPC link for a private integration. Supported only for HTTP APIs.", + "title": "ConnectionId", + "type": "string" + }, + "ConnectionType": { + "markdownDescription": "The type of the network connection to the integration endpoint. Specify `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and resources in a VPC. The default value is `INTERNET` .", + "title": "ConnectionType", + "type": "string" + }, + "ContentHandlingStrategy": { + "markdownDescription": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\n`CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.\n\n`CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.\n\nIf this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", + "title": "ContentHandlingStrategy", + "type": "string" + }, + "CredentialsArn": { + "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, don't specify this parameter.", + "title": "CredentialsArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the integration.", + "title": "Description", + "type": "string" + }, + "IntegrationMethod": { + "markdownDescription": "Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .", + "title": "IntegrationMethod", + "type": "string" + }, + "IntegrationSubtype": { + "markdownDescription": "Supported only for HTTP API `AWS_PROXY` integrations. Specifies the AWS service action to invoke. To learn more, see [Integration subtype reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) .", + "title": "IntegrationSubtype", + "type": "string" + }, + "IntegrationType": { + "markdownDescription": "The integration type of an integration. One of the following:\n\n`AWS` : for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.\n\n`AWS_PROXY` : for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.\n\n`HTTP` : for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.\n\n`HTTP_PROXY` : for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an `HTTP_PROXY` integration.\n\n`MOCK` : for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.", + "title": "IntegrationType", + "type": "string" + }, + "IntegrationUri": { + "markdownDescription": "For a Lambda integration, specify the URI of a Lambda function.\n\nFor an HTTP integration, specify a fully-qualified URL.\n\nFor an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses `DiscoverInstances` to identify resources. You can use query parameters to target specific resources. To learn more, see [DiscoverInstances](https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html) . For private integrations, all resources must be owned by the same AWS account .", + "title": "IntegrationUri", + "type": "string" + }, + "PassthroughBehavior": { + "markdownDescription": "Specifies the pass-through behavior for incoming requests based on the `Content-Type` header in the request, and the available mapping templates specified as the `requestTemplates` property on the `Integration` resource. There are three valid values: `WHEN_NO_MATCH` , `WHEN_NO_TEMPLATES` , and `NEVER` . Supported only for WebSocket APIs.\n\n`WHEN_NO_MATCH` passes the request body for unmapped content types through to the integration backend without transformation.\n\n`NEVER` rejects unmapped content types with an `HTTP 415 Unsupported Media Type` response.\n\n`WHEN_NO_TEMPLATES` allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same `HTTP 415 Unsupported Media Type` response.", + "title": "PassthroughBehavior", + "type": "string" + }, + "PayloadFormatVersion": { + "markdownDescription": "Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .", + "title": "PayloadFormatVersion", + "type": "string" + }, + "RequestParameters": { + "additionalProperties": true, + "markdownDescription": "For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of `method.request. {location} . {name}` , where `{location}` is `querystring` , `path` , or `header` ; and `{name}` must be a valid and unique method request parameter name.\n\nFor HTTP API integrations with a specified `integrationSubtype` , request parameters are a key-value map specifying parameters that are passed to `AWS_PROXY` integrations. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Working with AWS service integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html) .\n\nFor HTTP API integrations without a specified `integrationSubtype` request parameters are a key-value map specifying how to transform HTTP requests before sending them to the backend. The key should follow the pattern :. where action can be `append` , `overwrite` or `remove` . For values, you can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "RequestParameters", + "type": "object" + }, + "RequestTemplates": { + "additionalProperties": true, + "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "RequestTemplates", + "type": "object" + }, + "ResponseParameters": { + "additionalProperties": false, + "markdownDescription": "Supported only for HTTP APIs. You use response parameters to transform the HTTP response from a backend integration before returning the response to clients. Specify a key-value map from a selection key to response parameters. The selection key must be a valid HTTP status code within the range of 200-599. The value is of type [`ResponseParameterList`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameterlist.html) . To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameterMap" + } + }, + "title": "ResponseParameters", + "type": "object" + }, + "TemplateSelectionExpression": { + "markdownDescription": "The template selection expression for the integration. Supported only for WebSocket APIs.", + "title": "TemplateSelectionExpression", "type": "string" + }, + "TimeoutInMillis": { + "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.", + "title": "TimeoutInMillis", + "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig", + "markdownDescription": "The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.", + "title": "TlsConfig" } }, - "title": "RequestTemplates", + "required": [ + "ApiId", + "IntegrationType" + ], "type": "object" }, - "ResponseTransferMode": { - "markdownDescription": "The response transfer mode of the integration. Use `STREAM` to have API Gateway stream response your back to you or use `BUFFERED` to have API Gateway wait to receive the complete response before beginning transmission.", - "title": "ResponseTransferMode", - "type": "string" - }, - "TimeoutInMillis": { - "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds. You can increase the default value to longer than 29 seconds for Regional or private APIs only.", - "title": "TimeoutInMillis", - "type": "number" - }, "Type": { - "markdownDescription": "Specifies an API method integration type. The valid value is one of the following:\n\nFor the HTTP and HTTP proxy integrations, each integration can specify a protocol ( `http/https` ), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a `connectionType` of `VPC_LINK` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.", - "title": "Type", + "enum": [ + "AWS::ApiGatewayV2::Integration" + ], "type": "string" }, - "Uri": { - "markdownDescription": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n\nFor `HTTP` or `HTTP_PROXY` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If `connectionType` is `VPC_LINK` specify the Network Load Balancer DNS name. For `AWS` or `AWS_PROXY` integrations, the URI is of the form `arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}` . Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either `arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}` or `arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}`", - "title": "Uri", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::Method.IntegrationResponse": { + "AWS::ApiGatewayV2::Integration.ResponseParameter": { "additionalProperties": false, "properties": { - "ContentHandling": { - "markdownDescription": "Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\nIf this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", - "title": "ContentHandling", + "Destination": { + "markdownDescription": "Specifies the location of the response to modify, and how to modify it. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", + "title": "Destination", "type": "string" }, + "Source": { + "markdownDescription": "Specifies the data to update the parameter with. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", + "title": "Source", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameterMap": { + "additionalProperties": false, + "properties": { "ResponseParameters": { - "additionalProperties": true, - "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of `method.response.header.{name}` , where `name` is a valid and unique header name. The mapped non-static value must match the pattern of `integration.response.header.{name}` or `integration.response.body.{JSON-expression}` , where `name` is a valid and unique response header name and `JSON-expression` is a valid JSON expression without the `$` prefix.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" }, + "markdownDescription": "", "title": "ResponseParameters", - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "markdownDescription": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ResponseTemplates", - "type": "object" - }, - "SelectionPattern": { - "markdownDescription": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the `.+` regex to match error response. However, make sure that the error response does not contain any newline ( `\\n` ) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.", - "title": "SelectionPattern", - "type": "string" - }, - "StatusCode": { - "markdownDescription": "Specifies the status code that is used to map the integration response to an existing MethodResponse.", - "title": "StatusCode", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "markdownDescription": "If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.", + "title": "ServerNameToVerify", "type": "string" } }, - "required": [ - "StatusCode" - ], "type": "object" }, - "AWS::ApiGateway::Method.MethodResponse": { + "AWS::ApiGatewayV2::IntegrationResponse": { "additionalProperties": false, "properties": { - "ResponseModels": { - "additionalProperties": true, - "markdownDescription": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "title": "ResponseModels", + ] + }, + "Metadata": { "type": "object" }, - "ResponseParameters": { - "additionalProperties": true, - "markdownDescription": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern `method.response.header.{name}` , where `name` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in `integration.response.header.{name}` , a static value enclosed within a pair of single quotes (e.g., `'application/json'` ), or a JSON expression from the back-end response payload in the form of `integration.response.body.{JSON-expression}` , where `JSON-expression` is a valid JSON expression without the `$` prefix.)", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", + "type": "string" + }, + "ContentHandlingStrategy": { + "markdownDescription": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\n`CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.\n\n`CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.\n\nIf this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", + "title": "ContentHandlingStrategy", + "type": "string" + }, + "IntegrationId": { + "markdownDescription": "The integration ID.", + "title": "IntegrationId", + "type": "string" + }, + "IntegrationResponseKey": { + "markdownDescription": "The integration response key.", + "title": "IntegrationResponseKey", + "type": "string" + }, + "ResponseParameters": { + "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of `method.response.header. *{name}*` , where name is a valid and unique header name. The mapped non-static value must match the pattern of `integration.response.header. *{name}*` or `integration.response.body. *{JSON-expression}*` , where `*{name}*` is a valid and unique response header name and `*{JSON-expression}*` is a valid JSON expression without the `$` prefix.", + "title": "ResponseParameters", + "type": "object" + }, + "ResponseTemplates": { + "markdownDescription": "The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", + "title": "ResponseTemplates", + "type": "object" + }, + "TemplateSelectionExpression": { + "markdownDescription": "The template selection expression for the integration response. Supported only for WebSocket APIs.", + "title": "TemplateSelectionExpression", "type": "string" } }, - "title": "ResponseParameters", + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], "type": "object" }, - "StatusCode": { - "markdownDescription": "The method response's status code.", - "title": "StatusCode", + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "StatusCode" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::Model": { + "AWS::ApiGatewayV2::Model": { "additionalProperties": false, "properties": { "Condition": { @@ -9966,8 +10983,13 @@ "Properties": { "additionalProperties": false, "properties": { + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", + "type": "string" + }, "ContentType": { - "markdownDescription": "The content-type for the model.", + "markdownDescription": "The content-type for the model, for example, \"application/json\".", "title": "ContentType", "type": "string" }, @@ -9977,29 +10999,26 @@ "type": "string" }, "Name": { - "markdownDescription": "A name for the model. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the model 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.", + "markdownDescription": "The name of the model.", "title": "Name", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" - }, "Schema": { - "markdownDescription": "The schema for the model. For `application/json` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.", + "markdownDescription": "The schema for the model. For application/json models, this should be JSON schema draft 4 model.", "title": "Schema", "type": "object" } }, "required": [ - "RestApiId" + "ApiId", + "Name", + "Schema" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Model" + "AWS::ApiGatewayV2::Model" ], "type": "string" }, @@ -10018,7 +11037,7 @@ ], "type": "object" }, - "AWS::ApiGateway::RequestValidator": { + "AWS::ApiGatewayV2::Route": { "additionalProperties": false, "properties": { "Condition": { @@ -10053,35 +11072,79 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of this RequestValidator", - "title": "Name", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", + "ApiKeyRequired": { + "markdownDescription": "Specifies whether an API key is required for the route. Supported only for WebSocket APIs.", + "title": "ApiKeyRequired", + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "The authorization scopes supported by this route.", + "title": "AuthorizationScopes", + "type": "array" + }, + "AuthorizationType": { + "markdownDescription": "The authorization type for the route. For WebSocket APIs, valid values are `NONE` for open access, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer. For HTTP APIs, valid values are `NONE` for open access, `JWT` for using JSON Web Tokens, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.", + "title": "AuthorizationType", "type": "string" }, - "ValidateRequestBody": { - "markdownDescription": "A Boolean flag to indicate whether to validate a request body according to the configured Model schema.", - "title": "ValidateRequestBody", - "type": "boolean" + "AuthorizerId": { + "markdownDescription": "The identifier of the `Authorizer` resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", + "title": "AuthorizerId", + "type": "string" }, - "ValidateRequestParameters": { - "markdownDescription": "A Boolean flag to indicate whether to validate request parameters ( `true` ) or not ( `false` ).", - "title": "ValidateRequestParameters", - "type": "boolean" + "ModelSelectionExpression": { + "markdownDescription": "The model selection expression for the route. Supported only for WebSocket APIs.", + "title": "ModelSelectionExpression", + "type": "string" + }, + "OperationName": { + "markdownDescription": "The operation name for the route.", + "title": "OperationName", + "type": "string" + }, + "RequestModels": { + "markdownDescription": "The request models for the route. Supported only for WebSocket APIs.", + "title": "RequestModels", + "type": "object" + }, + "RequestParameters": { + "markdownDescription": "The request parameters for the route. Supported only for WebSocket APIs.", + "title": "RequestParameters", + "type": "object" + }, + "RouteKey": { + "markdownDescription": "The route key for the route. For HTTP APIs, the route key can be either `$default` , or a combination of an HTTP method and resource path, for example, `GET /pets` .", + "title": "RouteKey", + "type": "string" + }, + "RouteResponseSelectionExpression": { + "markdownDescription": "The route response selection expression for the route. Supported only for WebSocket APIs.", + "title": "RouteResponseSelectionExpression", + "type": "string" + }, + "Target": { + "markdownDescription": "The target for the route.", + "title": "Target", + "type": "string" } }, "required": [ - "RestApiId" + "ApiId", + "RouteKey" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::RequestValidator" + "AWS::ApiGatewayV2::Route" ], "type": "string" }, @@ -10100,7 +11163,7 @@ ], "type": "object" }, - "AWS::ApiGateway::Resource": { + "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { "Condition": { @@ -10135,32 +11198,53 @@ "Properties": { "additionalProperties": false, "properties": { - "ParentId": { - "markdownDescription": "The parent resource's identifier.", - "title": "ParentId", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "PathPart": { - "markdownDescription": "The last path segment for this resource.", - "title": "PathPart", + "ModelSelectionExpression": { + "markdownDescription": "The model selection expression for the route response. Supported only for WebSocket APIs.", + "title": "ModelSelectionExpression", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", + "ResponseModels": { + "markdownDescription": "The response models for the route response.", + "title": "ResponseModels", + "type": "object" + }, + "ResponseParameters": { + "additionalProperties": false, + "markdownDescription": "The route response parameters.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse.ParameterConstraints" + } + }, + "title": "ResponseParameters", + "type": "object" + }, + "RouteId": { + "markdownDescription": "The route ID.", + "title": "RouteId", + "type": "string" + }, + "RouteResponseKey": { + "markdownDescription": "The route response key.", + "title": "RouteResponseKey", "type": "string" } }, "required": [ - "ParentId", - "PathPart", - "RestApiId" + "ApiId", + "RouteId", + "RouteResponseKey" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Resource" + "AWS::ApiGatewayV2::RouteResponse" ], "type": "string" }, @@ -10179,19 +11263,26 @@ ], "type": "object" }, - "AWS::ApiGateway::RestApi": { + "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "markdownDescription": "Specifies whether the parameter is required.", + "title": "Required", + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RoutingRule": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, - "Connectors": { - "additionalProperties": { - "$ref": "#/definitions/EmbeddedConnector" - }, - "title": "Connectors", - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -10221,112 +11312,44 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKeySourceType": { - "markdownDescription": "The source of the API key for metering requests according to a usage plan. Valid values are: `HEADER` to read the API key from the `X-API-Key` header of a request. `AUTHORIZER` to read the API key from the `UsageIdentifierKey` from a custom authorizer.", - "title": "ApiKeySourceType", - "type": "string" - }, - "BinaryMediaTypes": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.Action" }, - "markdownDescription": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", - "title": "BinaryMediaTypes", + "markdownDescription": "The resulting action based on matching a routing rules condition. Only InvokeApi is supported.", + "title": "Actions", "type": "array" }, - "Body": { - "markdownDescription": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.", - "title": "Body", - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location", - "markdownDescription": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format.", - "title": "BodyS3Location" - }, - "CloneFrom": { - "markdownDescription": "The ID of the RestApi that you want to clone from.", - "title": "CloneFrom", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the RestApi.", - "title": "Description", - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "markdownDescription": "Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default `https://{api_id}.execute-api.{region}.amazonaws.com` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint", - "title": "DisableExecuteApiEndpoint", - "type": "boolean" - }, - "EndpointAccessMode": { - "markdownDescription": "The endpoint access mode for your RestApi.", - "title": "EndpointAccessMode", - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration", - "markdownDescription": "A list of the endpoint types and IP address types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the `Parameters` property.", - "title": "EndpointConfiguration" - }, - "FailOnWarnings": { - "markdownDescription": "A query parameter to indicate whether to rollback the API update ( `true` ) or not ( `false` ) when a warning is encountered. The default value is `false` .", - "title": "FailOnWarnings", - "type": "boolean" - }, - "MinimumCompressionSize": { - "markdownDescription": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.", - "title": "MinimumCompressionSize", - "type": "number" - }, - "Mode": { - "markdownDescription": "This property applies only when you use OpenAPI to define your REST API. The `Mode` determines how API Gateway handles resource updates.\n\nValid values are `overwrite` or `merge` .\n\nFor `overwrite` , the new API definition replaces the existing one. The existing API identifier remains unchanged.\n\nFor `merge` , the new API definition is merged with the existing API.\n\nIf you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is `overwrite` . For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API.\n\nUse the default mode to define top-level `RestApi` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.", - "title": "Mode", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.", - "title": "Name", - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set `ignore=documentation` as a `parameters` value, as in the AWS CLI command of `aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "Policy": { - "markdownDescription": "A policy document that contains the permissions for the `RestApi` resource. To set the ARN for the policy, use the `!Join` intrinsic function with `\"\"` as delimiter and values of `\"execute-api:/\"` and `\"*\"` .", - "title": "Policy", - "type": "object" - }, - "SecurityPolicy": { - "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this RestApi.", - "title": "SecurityPolicy", - "type": "string" - }, - "Tags": { + "Conditions": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.Condition" }, - "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with `aws:` . The tag value can be up to 256 characters.", - "title": "Tags", + "markdownDescription": "The conditions of the routing rule.", + "title": "Conditions", "type": "array" }, - "Version": { + "DomainNameArn": { + "markdownDescription": "The ARN of the domain name.", + "title": "DomainNameArn", "type": "string" + }, + "Priority": { + "markdownDescription": "The order in which API Gateway evaluates a rule. Priority is evaluated from the lowest value to the highest value. Rules can't have the same priority. Priority values 1-1,000,000 are supported.", + "title": "Priority", + "type": "number" } }, + "required": [ + "Actions", + "Conditions", + "DomainNameArn", + "Priority" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::RestApi" + "AWS::ApiGatewayV2::RoutingRule" ], "type": "string" }, @@ -10340,64 +11363,121 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::RestApi.EndpointConfiguration": { + "AWS::ApiGatewayV2::RoutingRule.Action": { "additionalProperties": false, "properties": { - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke an API (RestApi). Use `ipv4` to allow only IPv4 addresses to invoke an API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke an API. For the `PRIVATE` endpoint type, only `dualstack` is supported.", - "title": "IpAddressType", + "InvokeApi": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.ActionInvokeApi", + "markdownDescription": "Represents an InvokeApi action.", + "title": "InvokeApi" + } + }, + "required": [ + "InvokeApi" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RoutingRule.ActionInvokeApi": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "The API identifier of the target API.", + "title": "ApiId", "type": "string" }, - "Types": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", - "title": "Types", - "type": "array" + "Stage": { + "markdownDescription": "The name of the target stage.", + "title": "Stage", + "type": "string" }, - "VpcEndpointIds": { + "StripBasePath": { + "markdownDescription": "The strip base path setting. When true, API Gateway strips the incoming matched base path when forwarding the request to the target API.", + "title": "StripBasePath", + "type": "boolean" + } + }, + "required": [ + "ApiId", + "Stage" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RoutingRule.Condition": { + "additionalProperties": false, + "properties": { + "MatchBasePaths": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchBasePaths", + "markdownDescription": "The base path to be matched.", + "title": "MatchBasePaths" + }, + "MatchHeaders": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchHeaders", + "markdownDescription": "The headers to be matched.", + "title": "MatchHeaders" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::RoutingRule.MatchBasePaths": { + "additionalProperties": false, + "properties": { + "AnyOf": { "items": { "type": "string" }, - "markdownDescription": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for `PRIVATE` endpoint type.", - "title": "VpcEndpointIds", + "markdownDescription": "The string of the case sensitive base path to be matched.", + "title": "AnyOf", "type": "array" } }, + "required": [ + "AnyOf" + ], "type": "object" }, - "AWS::ApiGateway::RestApi.S3Location": { + "AWS::ApiGatewayV2::RoutingRule.MatchHeaderValue": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the S3 bucket where the OpenAPI file is stored.", - "title": "Bucket", - "type": "string" - }, - "ETag": { - "markdownDescription": "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file.", - "title": "ETag", - "type": "string" - }, - "Key": { - "markdownDescription": "The file name of the OpenAPI file (Amazon S3 object name).", - "title": "Key", + "Header": { + "markdownDescription": "The case insensitive header name to be matched. The header name must be less than 40 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~.` .", + "title": "Header", "type": "string" }, - "Version": { - "markdownDescription": "For versioning-enabled buckets, a specific version of the OpenAPI file.", - "title": "Version", + "ValueGlob": { + "markdownDescription": "The case sensitive header glob value to be matched against entire header value. The header glob value must be less than 128 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~` . Wildcard matching is supported for header glob values but must be for `*prefix-match` , `suffix-match*` , or `*infix*-match` .", + "title": "ValueGlob", "type": "string" } }, + "required": [ + "Header", + "ValueGlob" + ], "type": "object" }, - "AWS::ApiGateway::Stage": { + "AWS::ApiGatewayV2::RoutingRule.MatchHeaders": { + "additionalProperties": false, + "properties": { + "AnyOf": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchHeaderValue" + }, + "markdownDescription": "The header name and header value glob to be matched. The matchHeaders condition is matched if any of the header name and header value globs are matched.", + "title": "AnyOf", + "type": "array" + } + }, + "required": [ + "AnyOf" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage": { "additionalProperties": false, "properties": { "Condition": { @@ -10432,97 +11512,71 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting", - "markdownDescription": "Access log settings, including the access log format and access log destination ARN.", - "title": "AccessLogSetting" - }, - "CacheClusterEnabled": { - "markdownDescription": "Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set `CachingEnabled` to `true` for a method.", - "title": "CacheClusterEnabled", - "type": "boolean" + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings", + "markdownDescription": "Settings for logging access in this stage.", + "title": "AccessLogSettings" }, - "CacheClusterSize": { - "markdownDescription": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) .", - "title": "CacheClusterSize", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting", - "markdownDescription": "Settings for the canary deployment in this stage.", - "title": "CanarySetting" + "AutoDeploy": { + "markdownDescription": "Specifies whether updates to an API automatically trigger a new deployment. The default value is `false` .", + "title": "AutoDeploy", + "type": "boolean" }, "ClientCertificateId": { - "markdownDescription": "The identifier of a client certificate for an API stage.", + "markdownDescription": "The identifier of a client certificate for a `Stage` . Supported only for WebSocket APIs.", "title": "ClientCertificateId", "type": "string" }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings", + "markdownDescription": "The default route settings for the stage.", + "title": "DefaultRouteSettings" + }, "DeploymentId": { - "markdownDescription": "The identifier of the Deployment that the stage points to.", + "markdownDescription": "The deployment identifier for the API stage. Can't be updated if `autoDeploy` is enabled.", "title": "DeploymentId", "type": "string" }, "Description": { - "markdownDescription": "The stage's description.", + "markdownDescription": "The description for the API stage.", "title": "Description", "type": "string" }, - "DocumentationVersion": { - "markdownDescription": "The version of the associated API documentation.", - "title": "DocumentationVersion", - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" - }, - "markdownDescription": "A map that defines the method settings for a Stage resource. Keys (designated as `/{method_setting_key` below) are method paths defined as `{resource_path}/{http_method}` for an individual method override, or `/\\*/\\*` for overriding all methods in the stage.", - "title": "MethodSettings", - "type": "array" - }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" + "RouteSettings": { + "markdownDescription": "Route settings for the stage.", + "title": "RouteSettings", + "type": "object" }, "StageName": { - "markdownDescription": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "markdownDescription": "The stage name. Stage names can contain only alphanumeric characters, hyphens, and underscores, or be `$default` . Maximum length is 128 characters.", "title": "StageName", "type": "string" }, + "StageVariables": { + "markdownDescription": "A map that defines the stage variables for a `Stage` . Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", + "title": "StageVariables", + "type": "object" + }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", "title": "Tags", - "type": "array" - }, - "TracingEnabled": { - "markdownDescription": "Specifies whether active tracing with X-ray is enabled for the Stage.", - "title": "TracingEnabled", - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "markdownDescription": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Variables", "type": "object" } }, "required": [ - "RestApiId" + "ApiId", + "StageName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Stage" + "AWS::ApiGatewayV2::Stage" ], "type": "string" }, @@ -10541,97 +11595,40 @@ ], "type": "object" }, - "AWS::ApiGateway::Stage.AccessLogSetting": { + "AWS::ApiGatewayV2::Stage.AccessLogSettings": { "additionalProperties": false, "properties": { "DestinationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` . This parameter is required to enable access logging.", + "markdownDescription": "The ARN of the CloudWatch Logs log group to receive access logs. This parameter is required to enable access logging.", "title": "DestinationArn", "type": "string" }, "Format": { - "markdownDescription": "A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference) . The format must include at least `$context.requestId` . This parameter is required to enable access logging.", + "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. This parameter is required to enable access logging.", "title": "Format", "type": "string" } }, "type": "object" }, - "AWS::ApiGateway::Stage.CanarySetting": { - "additionalProperties": false, - "properties": { - "DeploymentId": { - "markdownDescription": "The ID of the canary deployment.", - "title": "DeploymentId", - "type": "string" - }, - "PercentTraffic": { - "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.", - "title": "PercentTraffic", - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "markdownDescription": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "StageVariableOverrides", - "type": "object" - }, - "UseStageCache": { - "markdownDescription": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", - "title": "UseStageCache", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.MethodSetting": { + "AWS::ApiGatewayV2::Stage.RouteSettings": { "additionalProperties": false, "properties": { - "CacheDataEncrypted": { - "markdownDescription": "Specifies whether the cached responses are encrypted.", - "title": "CacheDataEncrypted", - "type": "boolean" - }, - "CacheTtlInSeconds": { - "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", - "title": "CacheTtlInSeconds", - "type": "number" - }, - "CachingEnabled": { - "markdownDescription": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", - "title": "CachingEnabled", - "type": "boolean" - }, "DataTraceEnabled": { - "markdownDescription": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", + "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", "title": "DataTraceEnabled", "type": "boolean" }, - "HttpMethod": { - "markdownDescription": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .", - "title": "HttpMethod", - "type": "string" + "DetailedMetricsEnabled": { + "markdownDescription": "Specifies whether detailed metrics are enabled.", + "title": "DetailedMetricsEnabled", + "type": "boolean" }, "LoggingLevel": { - "markdownDescription": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are `OFF` , `ERROR` , and `INFO` . Choose `ERROR` to write only error-level entries to CloudWatch Logs, or choose `INFO` to include all `ERROR` events as well as extra informational events.", + "markdownDescription": "Specifies the logging level for this route: `INFO` , `ERROR` , or `OFF` . This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", "title": "LoggingLevel", "type": "string" }, - "MetricsEnabled": { - "markdownDescription": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", - "title": "MetricsEnabled", - "type": "boolean" - }, - "ResourcePath": { - "markdownDescription": "The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ). To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .", - "title": "ResourcePath", - "type": "string" - }, "ThrottlingBurstLimit": { "markdownDescription": "Specifies the throttling burst limit.", "title": "ThrottlingBurstLimit", @@ -10645,7 +11642,7 @@ }, "type": "object" }, - "AWS::ApiGateway::UsagePlan": { + "AWS::ApiGatewayV2::VpcLink": { "additionalProperties": false, "properties": { "Condition": { @@ -10680,48 +11677,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiStages": { + "Name": { + "markdownDescription": "The name of the VPC link.", + "title": "Name", + "type": "string" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" + "type": "string" }, - "markdownDescription": "The associated API stages of a usage plan.", - "title": "ApiStages", + "markdownDescription": "A list of security group IDs for the VPC link.", + "title": "SecurityGroupIds", "type": "array" }, - "Description": { - "markdownDescription": "The description of a usage plan.", - "title": "Description", - "type": "string" - }, - "Quota": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings", - "markdownDescription": "The target maximum number of permitted requests per a given unit time interval.", - "title": "Quota" - }, - "Tags": { + "SubnetIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "title": "Tags", + "markdownDescription": "A list of subnet IDs to include in the VPC link.", + "title": "SubnetIds", "type": "array" }, - "Throttle": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings", - "markdownDescription": "A map containing method level throttling information for API stage in a usage plan.", - "title": "Throttle" - }, - "UsagePlanName": { - "markdownDescription": "The name of a usage plan.", - "title": "UsagePlanName", - "type": "string" + "Tags": { + "additionalProperties": true, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" } }, + "required": [ + "Name", + "SubnetIds" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::UsagePlan" + "AWS::ApiGatewayV2::VpcLink" ], "type": "string" }, @@ -10735,75 +11732,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::UsagePlan.ApiStage": { - "additionalProperties": false, - "properties": { - "ApiId": { - "markdownDescription": "API Id of the associated API stage in a usage plan.", - "title": "ApiId", - "type": "string" - }, - "Stage": { - "markdownDescription": "API stage name of the associated API stage in a usage plan.", - "title": "Stage", - "type": "string" - }, - "Throttle": { - "additionalProperties": false, - "markdownDescription": "Map containing method level throttling information for API stage in a usage plan.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - } - }, - "title": "Throttle", - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.QuotaSettings": { - "additionalProperties": false, - "properties": { - "Limit": { - "markdownDescription": "The target maximum number of requests that can be made in a given time period.", - "title": "Limit", - "type": "number" - }, - "Offset": { - "markdownDescription": "The number of requests subtracted from the given limit in the initial time period.", - "title": "Offset", - "type": "number" - }, - "Period": { - "markdownDescription": "The time period in which the limit applies. Valid values are \"DAY\", \"WEEK\" or \"MONTH\".", - "title": "Period", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ThrottleSettings": { - "additionalProperties": false, - "properties": { - "BurstLimit": { - "markdownDescription": "The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.", - "title": "BurstLimit", - "type": "number" - }, - "RateLimit": { - "markdownDescription": "The API target request rate limit.", - "title": "RateLimit", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlanKey": { + "AWS::AppConfig::Application": { "additionalProperties": false, "properties": { "Condition": { @@ -10838,32 +11772,33 @@ "Properties": { "additionalProperties": false, "properties": { - "KeyId": { - "markdownDescription": "The Id of the UsagePlanKey resource.", - "title": "KeyId", + "Description": { + "markdownDescription": "A description of the application.", + "title": "Description", "type": "string" }, - "KeyType": { - "markdownDescription": "The type of a UsagePlanKey resource for a plan customer.", - "title": "KeyType", + "Name": { + "markdownDescription": "A name for the application.", + "title": "Name", "type": "string" }, - "UsagePlanId": { - "markdownDescription": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", - "title": "UsagePlanId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Application.Tags" + }, + "markdownDescription": "Metadata to assign to the application. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" } }, "required": [ - "KeyId", - "KeyType", - "UsagePlanId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::UsagePlanKey" + "AWS::AppConfig::Application" ], "type": "string" }, @@ -10882,7 +11817,27 @@ ], "type": "object" }, - "AWS::ApiGateway::VpcLink": { + "AWS::AppConfig::Application.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key-value string map. The valid character set is `[a-zA-Z+-=._:/]` . The tag key can be up to 128 characters and must not start with `aws:` .", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The tag value can be up to 256 characters.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -10917,42 +11872,73 @@ "Properties": { "additionalProperties": false, "properties": { + "ApplicationId": { + "markdownDescription": "The application ID.", + "title": "ApplicationId", + "type": "string" + }, + "DeletionProtectionCheck": { + "markdownDescription": "A parameter to configure deletion protection. Deletion protection prevents a user from deleting a configuration profile if your application has called either [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) or [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) for the configuration profile during the specified interval.\n\nThis parameter supports the following values:\n\n- `BYPASS` : Instructs AWS AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.\n- `APPLY` : Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. `APPLY` also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.\n- `ACCOUNT_DEFAULT` : The default setting, which instructs AWS AppConfig to implement the deletion protection value specified in the `UpdateAccountSettings` API.", + "title": "DeletionProtectionCheck", + "type": "string" + }, "Description": { - "markdownDescription": "The description of the VPC link.", + "markdownDescription": "A description of the configuration profile.", "title": "Description", "type": "string" }, + "KmsKeyIdentifier": { + "markdownDescription": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.", + "title": "KmsKeyIdentifier", + "type": "string" + }, + "LocationUri": { + "markdownDescription": "A URI to locate the configuration. You can specify the following:\n\n- For the AWS AppConfig hosted configuration store and for feature flags, specify `hosted` .\n- For an AWS Systems Manager Parameter Store parameter, specify either the parameter name in the format `ssm-parameter://` or the ARN.\n- For an AWS CodePipeline pipeline, specify the URI in the following format: `codepipeline` ://.\n- For an AWS Secrets Manager secret, specify the URI in the following format: `secretsmanager` ://.\n- For an Amazon S3 object, specify the URI in the following format: `s3:///` . Here is an example: `s3://amzn-s3-demo-bucket/my-app/us-east-1/my-config.json`\n- For an SSM document, specify either the document name in the format `ssm-document://` or the Amazon Resource Name (ARN).", + "title": "LocationUri", + "type": "string" + }, "Name": { - "markdownDescription": "The name used to label and identify the VPC link.", + "markdownDescription": "A name for the configuration profile.", "title": "Name", "type": "string" }, + "RetrievalRoleArn": { + "markdownDescription": "The ARN of an IAM role with permission to access the configuration at the specified `LocationUri` .\n\n> A retrieval role ARN is not required for configurations stored in AWS CodePipeline or the AWS AppConfig hosted configuration store. It is required for all other sources that store your configuration.", + "title": "RetrievalRoleArn", + "type": "string" + }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" }, - "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the VPC link.", + "markdownDescription": "Metadata to assign to the configuration profile. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", "title": "Tags", "type": "array" }, - "TargetArns": { + "Type": { + "markdownDescription": "The type of configurations contained in the profile. AWS AppConfig supports `feature flags` and `freeform` configurations. We recommend you create feature flag configurations to enable or disable new features and freeform configurations to distribute configurations to an application. When calling this API, enter one of the following values for `Type` :\n\n`AWS.AppConfig.FeatureFlags`\n\n`AWS.Freeform`", + "title": "Type", + "type": "string" + }, + "Validators": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" }, - "markdownDescription": "The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.", - "title": "TargetArns", + "markdownDescription": "A list of methods for validating the configuration.", + "title": "Validators", "type": "array" } }, "required": [ - "Name", - "TargetArns" + "ApplicationId", + "LocationUri", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::VpcLink" + "AWS::AppConfig::ConfigurationProfile" ], "type": "string" }, @@ -10971,18 +11957,43 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Api": { + "AWS::AppConfig::ConfigurationProfile.Tags": { "additionalProperties": false, "properties": { - "Condition": { + "Key": { + "markdownDescription": "The key-value string map. The valid character set is `[a-zA-Z+-=._:/]` . The tag key can be up to 128 characters and must not start with `aws:` .", + "title": "Key", "type": "string" }, - "Connectors": { - "additionalProperties": { - "$ref": "#/definitions/EmbeddedConnector" - }, - "title": "Connectors", - "type": "object" + "Value": { + "markdownDescription": "The tag value can be up to 256 characters.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Validators": { + "additionalProperties": false, + "properties": { + "Content": { + "markdownDescription": "Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda function.", + "title": "Content", + "type": "string" + }, + "Type": { + "markdownDescription": "AWS AppConfig supports validators of type `JSON_SCHEMA` and `LAMBDA`", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Deployment": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" }, "DeletionPolicy": { "enum": [ @@ -11013,108 +12024,70 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKeySelectionExpression": { - "markdownDescription": "An API key selection expression. Supported only for WebSocket APIs. See [API Key Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) .", - "title": "ApiKeySelectionExpression", + "ApplicationId": { + "markdownDescription": "The application ID.", + "title": "ApplicationId", "type": "string" }, - "BasePath": { - "markdownDescription": "Specifies how to interpret the base path of the API during import. Valid values are `ignore` , `prepend` , and `split` . The default value is `ignore` . To learn more, see [Set the OpenAPI basePath Property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api-basePath.html) . Supported only for HTTP APIs.", - "title": "BasePath", + "ConfigurationProfileId": { + "markdownDescription": "The configuration profile ID.", + "title": "ConfigurationProfileId", "type": "string" }, - "Body": { - "markdownDescription": "The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.", - "title": "Body", - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location", - "markdownDescription": "The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.", - "title": "BodyS3Location" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors", - "markdownDescription": "A CORS configuration. Supported only for HTTP APIs. See [Configuring CORS](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) for more information.", - "title": "CorsConfiguration" + "ConfigurationVersion": { + "markdownDescription": "The configuration version to deploy. If deploying an AWS AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.", + "title": "ConfigurationVersion", + "type": "string" }, - "CredentialsArn": { - "markdownDescription": "This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, specify `null` . Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.", - "title": "CredentialsArn", + "DeploymentStrategyId": { + "markdownDescription": "The deployment strategy ID.", + "title": "DeploymentStrategyId", "type": "string" }, "Description": { - "markdownDescription": "The description of the API.", + "markdownDescription": "A description of the deployment.", "title": "Description", "type": "string" }, - "DisableExecuteApiEndpoint": { - "markdownDescription": "Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.", - "title": "DisableExecuteApiEndpoint", - "type": "boolean" - }, - "DisableSchemaValidation": { - "markdownDescription": "Avoid validating models when creating a deployment. Supported only for WebSocket APIs.", - "title": "DisableSchemaValidation", - "type": "boolean" - }, - "FailOnWarnings": { - "markdownDescription": "Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.", - "title": "FailOnWarnings", - "type": "boolean" - }, - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke the API. Use `ipv4` to allow only IPv4 addresses to invoke your API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your API.\n\nDon\u2019t use IP address type for an HTTP API based on an OpenAPI specification. Instead, specify the IP address type in the OpenAPI specification.", - "title": "IpAddressType", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the API. Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .", - "title": "Name", - "type": "string" - }, - "ProtocolType": { - "markdownDescription": "The API protocol. Valid values are `WEBSOCKET` or `HTTP` . Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .", - "title": "ProtocolType", - "type": "string" + "DynamicExtensionParameters": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Deployment.DynamicExtensionParameters" + }, + "markdownDescription": "A map of dynamic extension parameter names to values to pass to associated extensions with `PRE_START_DEPLOYMENT` actions.", + "title": "DynamicExtensionParameters", + "type": "array" }, - "RouteKey": { - "markdownDescription": "This property is part of quick create. If you don't specify a `routeKey` , a default route of `$default` is created. The `$default` route acts as a catch-all for any request made to your API, for a particular stage. The `$default` route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.", - "title": "RouteKey", + "EnvironmentId": { + "markdownDescription": "The environment ID.", + "title": "EnvironmentId", "type": "string" }, - "RouteSelectionExpression": { - "markdownDescription": "The route selection expression for the API. For HTTP APIs, the `routeSelectionExpression` must be `${request.method} ${request.path}` . If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.", - "title": "RouteSelectionExpression", + "KmsKeyIdentifier": { + "markdownDescription": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.", + "title": "KmsKeyIdentifier", "type": "string" }, "Tags": { - "additionalProperties": true, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Metadata to assign to the deployment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", "title": "Tags", - "type": "object" - }, - "Target": { - "markdownDescription": "This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.", - "title": "Target", - "type": "string" - }, - "Version": { - "markdownDescription": "A version identifier for the API.", - "title": "Version", - "type": "string" + "type": "array" } }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "ConfigurationVersion", + "DeploymentStrategyId", + "EnvironmentId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::Api" + "AWS::AppConfig::Deployment" ], "type": "string" }, @@ -11128,85 +12101,33 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGatewayV2::Api.BodyS3Location": { + "AWS::AppConfig::Deployment.DynamicExtensionParameters": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The S3 bucket that contains the OpenAPI definition to import. Required if you specify a `BodyS3Location` for an API.", - "title": "Bucket", - "type": "string" - }, - "Etag": { - "markdownDescription": "The Etag of the S3 object.", - "title": "Etag", + "ExtensionReference": { + "markdownDescription": "The ARN or ID of the extension for which you are inserting a dynamic parameter.", + "title": "ExtensionReference", "type": "string" }, - "Key": { - "markdownDescription": "The key of the S3 object. Required if you specify a `BodyS3Location` for an API.", - "title": "Key", + "ParameterName": { + "markdownDescription": "The parameter name.", + "title": "ParameterName", "type": "string" }, - "Version": { - "markdownDescription": "The version of the S3 object.", - "title": "Version", + "ParameterValue": { + "markdownDescription": "The parameter value.", + "title": "ParameterValue", "type": "string" } }, "type": "object" }, - "AWS::ApiGatewayV2::Api.Cors": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "markdownDescription": "Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.", - "title": "AllowCredentials", - "type": "boolean" - }, - "AllowHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents a collection of allowed headers. Supported only for HTTP APIs.", - "title": "AllowHeaders", - "type": "array" - }, - "AllowMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.", - "title": "AllowMethods", - "type": "array" - }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents a collection of allowed origins. Supported only for HTTP APIs.", - "title": "AllowOrigins", - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents a collection of exposed headers. Supported only for HTTP APIs.", - "title": "ExposeHeaders", - "type": "array" - }, - "MaxAge": { - "markdownDescription": "The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.", - "title": "MaxAge", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "AWS::AppConfig::DeploymentStrategy": { "additionalProperties": false, "properties": { "Condition": { @@ -11241,35 +12162,61 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The ID of the API for which to override the configuration of API Gateway-managed resources.", - "title": "ApiId", + "DeploymentDurationInMinutes": { + "markdownDescription": "Total amount of time for a deployment to last.", + "title": "DeploymentDurationInMinutes", + "type": "number" + }, + "Description": { + "markdownDescription": "A description of the deployment strategy.", + "title": "Description", "type": "string" }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides", - "markdownDescription": "Overrides the integration configuration for an API Gateway-managed integration.", - "title": "Integration" + "FinalBakeTimeInMinutes": { + "markdownDescription": "Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see [Configuring permissions for rollback based on Amazon CloudWatch alarms](https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html) in the *AWS AppConfig User Guide* .", + "title": "FinalBakeTimeInMinutes", + "type": "number" }, - "Route": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides", - "markdownDescription": "Overrides the route configuration for an API Gateway-managed route.", - "title": "Route" + "GrowthFactor": { + "markdownDescription": "The percentage of targets to receive a deployed configuration during each interval.", + "title": "GrowthFactor", + "type": "number" }, - "Stage": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides", - "markdownDescription": "Overrides the stage configuration for an API Gateway-managed stage.", - "title": "Stage" + "GrowthType": { + "markdownDescription": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:\n\n*Linear* : For this type, AWS AppConfig processes the deployment by dividing the total number of targets by the value specified for `Step percentage` . For example, a linear deployment that uses a `Step percentage` of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.\n\n*Exponential* : For this type, AWS AppConfig processes the deployment exponentially using the following formula: `G*(2^N)` . In this formula, `G` is the growth factor specified by the user and `N` is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:\n\n`2*(2^0)`\n\n`2*(2^1)`\n\n`2*(2^2)`\n\nExpressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.", + "title": "GrowthType", + "type": "string" + }, + "Name": { + "markdownDescription": "A name for the deployment strategy.", + "title": "Name", + "type": "string" + }, + "ReplicateTo": { + "markdownDescription": "Save the deployment strategy to a Systems Manager (SSM) document.", + "title": "ReplicateTo", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Assigns metadata to an AWS AppConfig resource. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.", + "title": "Tags", + "type": "array" } }, "required": [ - "ApiId" + "DeploymentDurationInMinutes", + "GrowthFactor", + "Name", + "ReplicateTo" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + "AWS::AppConfig::DeploymentStrategy" ], "type": "string" }, @@ -11288,152 +12235,7 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "markdownDescription": "The ARN of the CloudWatch Logs log group to receive access logs.", - "title": "DestinationArn", - "type": "string" - }, - "Format": { - "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.", - "title": "Format", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "The description of the integration.", - "title": "Description", - "type": "string" - }, - "IntegrationMethod": { - "markdownDescription": "Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .", - "title": "IntegrationMethod", - "type": "string" - }, - "PayloadFormatVersion": { - "markdownDescription": "Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .", - "title": "PayloadFormatVersion", - "type": "string" - }, - "TimeoutInMillis": { - "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.", - "title": "TimeoutInMillis", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { - "additionalProperties": false, - "properties": { - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "The authorization scopes supported by this route.", - "title": "AuthorizationScopes", - "type": "array" - }, - "AuthorizationType": { - "markdownDescription": "The authorization type for the route. To learn more, see [AuthorizationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationtype) .", - "title": "AuthorizationType", - "type": "string" - }, - "AuthorizerId": { - "markdownDescription": "The identifier of the `Authorizer` resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", - "title": "AuthorizerId", - "type": "string" - }, - "OperationName": { - "markdownDescription": "The operation name for the route.", - "title": "OperationName", - "type": "string" - }, - "Target": { - "markdownDescription": "For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively.", - "title": "Target", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { - "additionalProperties": false, - "properties": { - "DetailedMetricsEnabled": { - "markdownDescription": "Specifies whether detailed metrics are enabled.", - "title": "DetailedMetricsEnabled", - "type": "boolean" - }, - "ThrottlingBurstLimit": { - "markdownDescription": "Specifies the throttling burst limit.", - "title": "ThrottlingBurstLimit", - "type": "number" - }, - "ThrottlingRateLimit": { - "markdownDescription": "Specifies the throttling rate limit.", - "title": "ThrottlingRateLimit", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings", - "markdownDescription": "Settings for logging access in a stage.", - "title": "AccessLogSettings" - }, - "AutoDeploy": { - "markdownDescription": "Specifies whether updates to an API automatically trigger a new deployment. The default value is `true` .", - "title": "AutoDeploy", - "type": "boolean" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings", - "markdownDescription": "The default route settings for the stage.", - "title": "DefaultRouteSettings" - }, - "Description": { - "markdownDescription": "The description for the API stage.", - "title": "Description", - "type": "string" - }, - "RouteSettings": { - "additionalProperties": false, - "markdownDescription": "Route settings for the stage.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" - } - }, - "title": "RouteSettings", - "type": "object" - }, - "StageVariables": { - "additionalProperties": true, - "markdownDescription": "A map that defines the stage variables for a `Stage` . Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "StageVariables", - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiMapping": { + "AWS::AppConfig::Environment": { "additionalProperties": false, "properties": { "Condition": { @@ -11468,37 +12270,52 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", + "ApplicationId": { + "markdownDescription": "The application ID.", + "title": "ApplicationId", "type": "string" }, - "ApiMappingKey": { - "markdownDescription": "The API mapping key.", - "title": "ApiMappingKey", + "DeletionProtectionCheck": { + "markdownDescription": "A parameter to configure deletion protection. Deletion protection prevents a user from deleting an environment if your application called either [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) or [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) in the environment during the specified interval.\n\nThis parameter supports the following values:\n\n- `BYPASS` : Instructs AWS AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.\n- `APPLY` : Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. `APPLY` also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.\n- `ACCOUNT_DEFAULT` : The default setting, which instructs AWS AppConfig to implement the deletion protection value specified in the `UpdateAccountSettings` API.", + "title": "DeletionProtectionCheck", "type": "string" }, - "DomainName": { - "markdownDescription": "The domain name.", - "title": "DomainName", + "Description": { + "markdownDescription": "A description of the environment.", + "title": "Description", "type": "string" }, - "Stage": { - "markdownDescription": "The API stage.", - "title": "Stage", + "Monitors": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Monitor" + }, + "markdownDescription": "Amazon CloudWatch alarms to monitor during the deployment process.", + "title": "Monitors", + "type": "array" + }, + "Name": { + "markdownDescription": "A name for the environment.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" } }, "required": [ - "ApiId", - "DomainName", - "Stage" + "ApplicationId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::ApiMapping" + "AWS::AppConfig::Environment" ], "type": "string" }, @@ -11517,7 +12334,26 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Authorizer": { + "AWS::AppConfig::Environment.Monitor": { + "additionalProperties": false, + "properties": { + "AlarmArn": { + "markdownDescription": "Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.", + "title": "AlarmArn", + "type": "string" + }, + "AlarmRoleArn": { + "markdownDescription": "ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor `AlarmArn` .", + "title": "AlarmRoleArn", + "type": "string" + } + }, + "required": [ + "AlarmArn" + ], + "type": "object" + }, + "AWS::AppConfig::Extension": { "additionalProperties": false, "properties": { "Condition": { @@ -11552,75 +12388,55 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "AuthorizerCredentialsArn": { - "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for `REQUEST` authorizers.", - "title": "AuthorizerCredentialsArn", - "type": "string" + "Actions": { + "markdownDescription": "The actions defined in the extension.", + "title": "Actions", + "type": "object" }, - "AuthorizerPayloadFormatVersion": { - "markdownDescription": "Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are `1.0` and `2.0` . To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .", - "title": "AuthorizerPayloadFormatVersion", + "Description": { + "markdownDescription": "Information about the extension.", + "title": "Description", "type": "string" }, - "AuthorizerResultTtlInSeconds": { - "markdownDescription": "The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.", - "title": "AuthorizerResultTtlInSeconds", + "LatestVersionNumber": { + "markdownDescription": "You can omit this field when you create an extension. When you create a new version, specify the most recent current version number. For example, you create version 3, enter 2 for this field.", + "title": "LatestVersionNumber", "type": "number" }, - "AuthorizerType": { - "markdownDescription": "The authorizer type. Specify `REQUEST` for a Lambda function using incoming request parameters. Specify `JWT` to use JSON Web Tokens (supported only for HTTP APIs).", - "title": "AuthorizerType", - "type": "string" - }, - "AuthorizerUri": { - "markdownDescription": "The authorizer's Uniform Resource Identifier (URI). For `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2: *{account_id}* :function: *{lambda_function_name}* /invocations` . In general, the URI has this form: `arn:aws:apigateway: *{region}* :lambda:path/ *{service_api}*` , where *{region}* is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .", - "title": "AuthorizerUri", + "Name": { + "markdownDescription": "A name for the extension. Each extension name in your account must be unique. Extension versions use the same name.", + "title": "Name", "type": "string" }, - "EnableSimpleResponses": { - "markdownDescription": "Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .", - "title": "EnableSimpleResponses", - "type": "boolean" + "Parameters": { + "additionalProperties": false, + "markdownDescription": "The parameters accepted by the extension. You specify parameter values when you associate the extension to an AWS AppConfig resource by using the `CreateExtensionAssociation` API action. For AWS Lambda extension actions, these parameters are included in the Lambda request object.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" + } + }, + "title": "Parameters", + "type": "object" }, - "IdentitySource": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The identity source for which authorization is requested.\n\nFor a `REQUEST` authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with `$` , for example, `$request.header.Auth` , `$request.querystring.Name` . These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .\n\nFor `JWT` , a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example `$request.header.Authorization` .", - "title": "IdentitySource", + "markdownDescription": "Adds one or more tags for the specified extension. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", "type": "array" - }, - "IdentityValidationExpression": { - "markdownDescription": "This parameter is not used.", - "title": "IdentityValidationExpression", - "type": "string" - }, - "JwtConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration", - "markdownDescription": "The `JWTConfiguration` property specifies the configuration of a JWT authorizer. Required for the `JWT` authorizer type. Supported only for HTTP APIs.", - "title": "JwtConfiguration" - }, - "Name": { - "markdownDescription": "The name of the authorizer.", - "title": "Name", - "type": "string" } }, "required": [ - "ApiId", - "AuthorizerType", + "Actions", "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::Authorizer" + "AWS::AppConfig::Extension" ], "type": "string" }, @@ -11639,26 +12455,31 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { + "AWS::AppConfig::Extension.Parameter": { "additionalProperties": false, "properties": { - "Audience": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the intended recipients of the JWT. A valid JWT must provide an `aud` that matches at least one entry in this list. See [RFC 7519](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc7519#section-4.1.3) . Required for the `JWT` authorizer type. Supported only for HTTP APIs.", - "title": "Audience", - "type": "array" - }, - "Issuer": { - "markdownDescription": "The base domain of the identity provider that issues JSON Web Tokens. For example, an Amazon Cognito user pool has the following format: `https://cognito-idp. {region} .amazonaws.com/ {userPoolId}` . Required for the `JWT` authorizer type. Supported only for HTTP APIs.", - "title": "Issuer", + "Description": { + "markdownDescription": "Information about the parameter.", + "title": "Description", "type": "string" + }, + "Dynamic": { + "markdownDescription": "Indicates whether this parameter's value can be supplied at the extension's action point instead of during extension association. Dynamic parameters can't be marked `Required` .", + "title": "Dynamic", + "type": "boolean" + }, + "Required": { + "markdownDescription": "A parameter value must be specified in the extension association.", + "title": "Required", + "type": "boolean" } }, + "required": [ + "Required" + ], "type": "object" }, - "AWS::ApiGatewayV2::Deployment": { + "AWS::AppConfig::ExtensionAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -11693,30 +12514,46 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", + "ExtensionIdentifier": { + "markdownDescription": "The name, the ID, or the Amazon Resource Name (ARN) of the extension.", + "title": "ExtensionIdentifier", "type": "string" }, - "Description": { - "markdownDescription": "The description for the deployment resource.", - "title": "Description", - "type": "string" + "ExtensionVersionNumber": { + "markdownDescription": "The version number of the extension. If not specified, AWS AppConfig uses the maximum version of the extension.", + "title": "ExtensionVersionNumber", + "type": "number" }, - "StageName": { - "markdownDescription": "The name of an existing stage to associate with the deployment.", - "title": "StageName", + "Parameters": { + "additionalProperties": true, + "markdownDescription": "The parameter names and values defined in the extensions. Extension parameters marked `Required` must be entered for this field.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "ResourceIdentifier": { + "markdownDescription": "The ARN of an application, configuration profile, or environment.", + "title": "ResourceIdentifier", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Adds one or more tags for the specified extension association. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" } }, - "required": [ - "ApiId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::Deployment" + "AWS::AppConfig::ExtensionAssociation" ], "type": "string" }, @@ -11730,12 +12567,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ApiGatewayV2::DomainName": { + "AWS::AppConfig::HostedConfigurationVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -11770,49 +12606,53 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore ( `_` ) character are not supported.", - "title": "DomainName", + "ApplicationId": { + "markdownDescription": "The application ID.", + "title": "ApplicationId", "type": "string" }, - "DomainNameConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" - }, - "markdownDescription": "The domain name configurations.", - "title": "DomainNameConfigurations", - "type": "array" + "ConfigurationProfileId": { + "markdownDescription": "The configuration profile ID.", + "title": "ConfigurationProfileId", + "type": "string" }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication", - "markdownDescription": "The mutual TLS authentication configuration for a custom domain name.", - "title": "MutualTlsAuthentication" + "Content": { + "markdownDescription": "The configuration data, as bytes.\n\n> AWS AppConfig accepts any type of data, including text formats like JSON or TOML, or binary formats like protocol buffers or compressed data.", + "title": "Content", + "type": "string" }, - "RoutingMode": { - "markdownDescription": "The routing mode API Gateway uses to route traffic to your APIs.", - "title": "RoutingMode", + "ContentType": { + "markdownDescription": "A standard MIME type describing the format of the configuration content. For more information, see [Content-Type](https://docs.aws.amazon.com/https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17) .", + "title": "ContentType", "type": "string" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The collection of tags associated with a domain name.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" + "Description": { + "markdownDescription": "A description of the configuration.\n\n> Due to HTTP limitations, this field only supports ASCII characters.", + "title": "Description", + "type": "string" + }, + "LatestVersionNumber": { + "markdownDescription": "An optional locking token used to prevent race conditions from overwriting configuration updates when creating a new version. To ensure your data is not overwritten when creating multiple hosted configuration versions in rapid succession, specify the version number of the latest hosted configuration version.", + "title": "LatestVersionNumber", + "type": "number" + }, + "VersionLabel": { + "markdownDescription": "A user-defined label for an AWS AppConfig hosted configuration version.", + "title": "VersionLabel", + "type": "string" } }, "required": [ - "DomainName" + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::DomainName" + "AWS::AppConfig::HostedConfigurationVersion" ], "type": "string" }, @@ -11831,59 +12671,7 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "markdownDescription": "An AWS -managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.", - "title": "CertificateArn", - "type": "string" - }, - "CertificateName": { - "markdownDescription": "The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.", - "title": "CertificateName", - "type": "string" - }, - "EndpointType": { - "markdownDescription": "The endpoint type.", - "title": "EndpointType", - "type": "string" - }, - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke the domain name. Use `ipv4` to allow only IPv4 addresses to invoke your domain name, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your domain name.", - "title": "IpAddressType", - "type": "string" - }, - "OwnershipVerificationCertificateArn": { - "markdownDescription": "The Amazon resource name (ARN) for the public certificate issued by Certificate Manager . This ARN is used to validate custom domain ownership. It's required only if you configure mutual TLS and use either an ACM-imported or a private CA certificate ARN as the regionalCertificateArn.", - "title": "OwnershipVerificationCertificateArn", - "type": "string" - }, - "SecurityPolicy": { - "markdownDescription": "The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are `TLS_1_0` and `TLS_1_2` .", - "title": "SecurityPolicy", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "markdownDescription": "An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3:// bucket-name / key-name` . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.", - "title": "TruststoreUri", - "type": "string" - }, - "TruststoreVersion": { - "markdownDescription": "The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.", - "title": "TruststoreVersion", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration": { + "AWS::AppFlow::Connector": { "additionalProperties": false, "properties": { "Condition": { @@ -11918,124 +12706,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", + "ConnectorLabel": { + "markdownDescription": "The label used for registering the connector.", + "title": "ConnectorLabel", "type": "string" }, - "ConnectionId": { - "markdownDescription": "The ID of the VPC link for a private integration. Supported only for HTTP APIs.", - "title": "ConnectionId", - "type": "string" + "ConnectorProvisioningConfig": { + "$ref": "#/definitions/AWS::AppFlow::Connector.ConnectorProvisioningConfig", + "markdownDescription": "The configuration required for registering the connector.", + "title": "ConnectorProvisioningConfig" }, - "ConnectionType": { - "markdownDescription": "The type of the network connection to the integration endpoint. Specify `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and resources in a VPC. The default value is `INTERNET` .", - "title": "ConnectionType", + "ConnectorProvisioningType": { + "markdownDescription": "The provisioning type used to register the connector.", + "title": "ConnectorProvisioningType", "type": "string" }, - "ContentHandlingStrategy": { - "markdownDescription": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\n`CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.\n\n`CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.\n\nIf this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", - "title": "ContentHandlingStrategy", + "Description": { + "markdownDescription": "A description about the connector runtime setting.", + "title": "Description", "type": "string" - }, - "CredentialsArn": { - "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, don't specify this parameter.", - "title": "CredentialsArn", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the integration.", - "title": "Description", - "type": "string" - }, - "IntegrationMethod": { - "markdownDescription": "Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .", - "title": "IntegrationMethod", - "type": "string" - }, - "IntegrationSubtype": { - "markdownDescription": "Supported only for HTTP API `AWS_PROXY` integrations. Specifies the AWS service action to invoke. To learn more, see [Integration subtype reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) .", - "title": "IntegrationSubtype", - "type": "string" - }, - "IntegrationType": { - "markdownDescription": "The integration type of an integration. One of the following:\n\n`AWS` : for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.\n\n`AWS_PROXY` : for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.\n\n`HTTP` : for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.\n\n`HTTP_PROXY` : for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an `HTTP_PROXY` integration.\n\n`MOCK` : for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.", - "title": "IntegrationType", - "type": "string" - }, - "IntegrationUri": { - "markdownDescription": "For a Lambda integration, specify the URI of a Lambda function.\n\nFor an HTTP integration, specify a fully-qualified URL.\n\nFor an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses `DiscoverInstances` to identify resources. You can use query parameters to target specific resources. To learn more, see [DiscoverInstances](https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html) . For private integrations, all resources must be owned by the same AWS account .", - "title": "IntegrationUri", - "type": "string" - }, - "PassthroughBehavior": { - "markdownDescription": "Specifies the pass-through behavior for incoming requests based on the `Content-Type` header in the request, and the available mapping templates specified as the `requestTemplates` property on the `Integration` resource. There are three valid values: `WHEN_NO_MATCH` , `WHEN_NO_TEMPLATES` , and `NEVER` . Supported only for WebSocket APIs.\n\n`WHEN_NO_MATCH` passes the request body for unmapped content types through to the integration backend without transformation.\n\n`NEVER` rejects unmapped content types with an `HTTP 415 Unsupported Media Type` response.\n\n`WHEN_NO_TEMPLATES` allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same `HTTP 415 Unsupported Media Type` response.", - "title": "PassthroughBehavior", - "type": "string" - }, - "PayloadFormatVersion": { - "markdownDescription": "Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .", - "title": "PayloadFormatVersion", - "type": "string" - }, - "RequestParameters": { - "additionalProperties": true, - "markdownDescription": "For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of `method.request. {location} . {name}` , where `{location}` is `querystring` , `path` , or `header` ; and `{name}` must be a valid and unique method request parameter name.\n\nFor HTTP API integrations with a specified `integrationSubtype` , request parameters are a key-value map specifying parameters that are passed to `AWS_PROXY` integrations. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Working with AWS service integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html) .\n\nFor HTTP API integrations without a specified `integrationSubtype` request parameters are a key-value map specifying how to transform HTTP requests before sending them to the backend. The key should follow the pattern :. where action can be `append` , `overwrite` or `remove` . For values, you can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "RequestParameters", - "type": "object" - }, - "RequestTemplates": { - "additionalProperties": true, - "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "RequestTemplates", - "type": "object" - }, - "ResponseParameters": { - "additionalProperties": false, - "markdownDescription": "Supported only for HTTP APIs. You use response parameters to transform the HTTP response from a backend integration before returning the response to clients. Specify a key-value map from a selection key to response parameters. The selection key must be a valid HTTP status code within the range of 200-599. The value is of type [`ResponseParameterList`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameterlist.html) . To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameterMap" - } - }, - "title": "ResponseParameters", - "type": "object" - }, - "TemplateSelectionExpression": { - "markdownDescription": "The template selection expression for the integration. Supported only for WebSocket APIs.", - "title": "TemplateSelectionExpression", - "type": "string" - }, - "TimeoutInMillis": { - "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.", - "title": "TimeoutInMillis", - "type": "number" - }, - "TlsConfig": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig", - "markdownDescription": "The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.", - "title": "TlsConfig" } }, "required": [ - "ApiId", - "IntegrationType" + "ConnectorProvisioningConfig", + "ConnectorProvisioningType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::Integration" + "AWS::AppFlow::Connector" ], "type": "string" }, @@ -12054,48 +12754,32 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Integration.ResponseParameter": { - "additionalProperties": false, - "properties": { - "Destination": { - "markdownDescription": "Specifies the location of the response to modify, and how to modify it. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", - "title": "Destination", - "type": "string" - }, - "Source": { - "markdownDescription": "Specifies the data to update the parameter with. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", - "title": "Source", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.ResponseParameterMap": { + "AWS::AppFlow::Connector.ConnectorProvisioningConfig": { "additionalProperties": false, "properties": { - "ResponseParameters": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" - }, - "markdownDescription": "", - "title": "ResponseParameters", - "type": "array" + "Lambda": { + "$ref": "#/definitions/AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig", + "markdownDescription": "Contains information about the configuration of the lambda which is being registered as the connector.", + "title": "Lambda" } }, "type": "object" }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { + "AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig": { "additionalProperties": false, "properties": { - "ServerNameToVerify": { - "markdownDescription": "If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.", - "title": "ServerNameToVerify", + "LambdaArn": { + "markdownDescription": "Lambda ARN of the connector being registered.", + "title": "LambdaArn", "type": "string" } }, + "required": [ + "LambdaArn" + ], "type": "object" }, - "AWS::ApiGatewayV2::IntegrationResponse": { + "AWS::AppFlow::ConnectorProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -12130,52 +12814,47 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", + "ConnectionMode": { + "markdownDescription": "Indicates the connection mode and if it is public or private.", + "title": "ConnectionMode", "type": "string" }, - "ContentHandlingStrategy": { - "markdownDescription": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\n`CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.\n\n`CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.\n\nIf this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", - "title": "ContentHandlingStrategy", + "ConnectorLabel": { + "markdownDescription": "The label for the connector profile being created.", + "title": "ConnectorLabel", "type": "string" }, - "IntegrationId": { - "markdownDescription": "The integration ID.", - "title": "IntegrationId", - "type": "string" + "ConnectorProfileConfig": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig", + "markdownDescription": "Defines the connector-specific configuration and credentials.", + "title": "ConnectorProfileConfig" }, - "IntegrationResponseKey": { - "markdownDescription": "The integration response key.", - "title": "IntegrationResponseKey", + "ConnectorProfileName": { + "markdownDescription": "The name of the connector profile. The name is unique for each `ConnectorProfile` in the AWS account .", + "title": "ConnectorProfileName", "type": "string" }, - "ResponseParameters": { - "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of `method.response.header. *{name}*` , where name is a valid and unique header name. The mapped non-static value must match the pattern of `integration.response.header. *{name}*` or `integration.response.body. *{JSON-expression}*` , where `*{name}*` is a valid and unique response header name and `*{JSON-expression}*` is a valid JSON expression without the `$` prefix.", - "title": "ResponseParameters", - "type": "object" - }, - "ResponseTemplates": { - "markdownDescription": "The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", - "title": "ResponseTemplates", - "type": "object" + "ConnectorType": { + "markdownDescription": "The type of connector, such as Salesforce, Amplitude, and so on.", + "title": "ConnectorType", + "type": "string" }, - "TemplateSelectionExpression": { - "markdownDescription": "The template selection expression for the integration response. Supported only for WebSocket APIs.", - "title": "TemplateSelectionExpression", + "KMSArn": { + "markdownDescription": "The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.", + "title": "KMSArn", "type": "string" } }, "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" + "ConnectionMode", + "ConnectorProfileName", + "ConnectorType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" + "AWS::AppFlow::ConnectorProfile" ], "type": "string" }, @@ -12194,1122 +12873,1142 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Model": { + "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "ContentType": { - "markdownDescription": "The content-type for the model, for example, \"application/json\".", - "title": "ContentType", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the model.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the model.", - "title": "Name", - "type": "string" - }, - "Schema": { - "markdownDescription": "The schema for the model. For application/json models, this should be JSON schema draft 4 model.", - "title": "Schema", - "type": "object" - } - }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], + "ApiKey": { + "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", + "title": "ApiKey", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SecretKey": { + "markdownDescription": "The Secret Access Key portion of the credentials.", + "title": "SecretKey", "type": "string" } }, "required": [ - "Type", - "Properties" + "ApiKey", + "SecretKey" ], "type": "object" }, - "AWS::ApiGatewayV2::PortalProduct": { + "AWS::AppFlow::ConnectorProfile.ApiKeyCredentials": { "additionalProperties": false, "properties": { - "Condition": { + "ApiKey": { + "markdownDescription": "The API key required for API key authentication.", + "title": "ApiKey", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ApiSecretKey": { + "markdownDescription": "The API secret key required for API key authentication.", + "title": "ApiSecretKey", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "DisplayName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DisplayName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::PortalProduct" - ], + } + }, + "required": [ + "ApiKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.BasicAuthCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "markdownDescription": "The password to use to connect to a resource.", + "title": "Password", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Username": { + "markdownDescription": "The username to use to connect to a resource.", + "title": "Username", "type": "string" } }, "required": [ - "Type", - "Properties" + "Password", + "Username" ], "type": "object" }, - "AWS::ApiGatewayV2::Route": { + "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { "additionalProperties": false, "properties": { - "Condition": { + "AuthCode": { + "markdownDescription": "The code provided by the connector when it has been authenticated via the connected app.", + "title": "AuthCode", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RedirectUri": { + "markdownDescription": "The URL to which the authentication server redirects the browser after authorization has been granted.", + "title": "RedirectUri", "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required by each connector.", + "title": "ConnectorProfileCredentials" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ConnectorProfileProperties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties", + "markdownDescription": "The connector-specific properties of the profile configuration.", + "title": "ConnectorProfileProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Amplitude.", + "title": "Amplitude" }, - "Metadata": { - "type": "object" + "CustomConnector": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials", + "markdownDescription": "The connector-specific profile credentials that are required when using the custom connector.", + "title": "CustomConnector" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "ApiKeyRequired": { - "markdownDescription": "Specifies whether an API key is required for the route. Supported only for WebSocket APIs.", - "title": "ApiKeyRequired", - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "The authorization scopes supported by this route.", - "title": "AuthorizationScopes", - "type": "array" - }, - "AuthorizationType": { - "markdownDescription": "The authorization type for the route. For WebSocket APIs, valid values are `NONE` for open access, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer. For HTTP APIs, valid values are `NONE` for open access, `JWT` for using JSON Web Tokens, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.", - "title": "AuthorizationType", - "type": "string" - }, - "AuthorizerId": { - "markdownDescription": "The identifier of the `Authorizer` resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", - "title": "AuthorizerId", - "type": "string" - }, - "ModelSelectionExpression": { - "markdownDescription": "The model selection expression for the route. Supported only for WebSocket APIs.", - "title": "ModelSelectionExpression", - "type": "string" - }, - "OperationName": { - "markdownDescription": "The operation name for the route.", - "title": "OperationName", - "type": "string" - }, - "RequestModels": { - "markdownDescription": "The request models for the route. Supported only for WebSocket APIs.", - "title": "RequestModels", - "type": "object" - }, - "RequestParameters": { - "markdownDescription": "The request parameters for the route. Supported only for WebSocket APIs.", - "title": "RequestParameters", - "type": "object" - }, - "RouteKey": { - "markdownDescription": "The route key for the route. For HTTP APIs, the route key can be either `$default` , or a combination of an HTTP method and resource path, for example, `GET /pets` .", - "title": "RouteKey", - "type": "string" - }, - "RouteResponseSelectionExpression": { - "markdownDescription": "The route response selection expression for the route. Supported only for WebSocket APIs.", - "title": "RouteResponseSelectionExpression", - "type": "string" - }, - "Target": { - "markdownDescription": "The target for the route.", - "title": "Target", - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Datadog.", + "title": "Datadog" }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Dynatrace.", + "title": "Dynatrace" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Google Analytics.", + "title": "GoogleAnalytics" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Infor Nexus.", + "title": "InforNexus" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Marketo.", + "title": "Marketo" + }, + "Pardot": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Salesforce Pardot.", + "title": "Pardot" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Amazon Redshift.", + "title": "Redshift" + }, + "SAPOData": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials", + "markdownDescription": "The connector-specific profile credentials required when using SAPOData.", + "title": "SAPOData" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Salesforce.", + "title": "Salesforce" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using ServiceNow.", + "title": "ServiceNow" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Singular.", + "title": "Singular" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Slack.", + "title": "Slack" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Snowflake.", + "title": "Snowflake" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Trend Micro.", + "title": "Trendmicro" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Veeva.", + "title": "Veeva" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Zendesk.", + "title": "Zendesk" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ApiGatewayV2::RouteResponse": { + "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "CustomConnector": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties", + "markdownDescription": "The properties required by the custom connector.", + "title": "CustomConnector" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Datadog.", + "title": "Datadog" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Dynatrace.", + "title": "Dynatrace" }, - "Metadata": { - "type": "object" + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Infor Nexus.", + "title": "InforNexus" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "ModelSelectionExpression": { - "markdownDescription": "The model selection expression for the route response. Supported only for WebSocket APIs.", - "title": "ModelSelectionExpression", - "type": "string" - }, - "ResponseModels": { - "markdownDescription": "The response models for the route response.", - "title": "ResponseModels", - "type": "object" - }, - "ResponseParameters": { - "additionalProperties": false, - "markdownDescription": "The route response parameters.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse.ParameterConstraints" - } - }, - "title": "ResponseParameters", - "type": "object" - }, - "RouteId": { - "markdownDescription": "The route ID.", - "title": "RouteId", - "type": "string" - }, - "RouteResponseKey": { - "markdownDescription": "The route response key.", - "title": "RouteResponseKey", + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Marketo.", + "title": "Marketo" + }, + "Pardot": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Salesforce Pardot.", + "title": "Pardot" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Amazon Redshift.", + "title": "Redshift" + }, + "SAPOData": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties", + "markdownDescription": "The connector-specific profile properties required when using SAPOData.", + "title": "SAPOData" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Salesforce.", + "title": "Salesforce" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by serviceNow.", + "title": "ServiceNow" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Slack.", + "title": "Slack" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Snowflake.", + "title": "Snowflake" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Veeva.", + "title": "Veeva" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Zendesk.", + "title": "Zendesk" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.CustomAuthCredentials": { + "additionalProperties": false, + "properties": { + "CredentialsMap": { + "additionalProperties": true, + "markdownDescription": "A map that holds custom authentication credentials.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "ApiId", - "RouteId", - "RouteResponseKey" - ], + "title": "CredentialsMap", "type": "object" }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::RouteResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CustomAuthenticationType": { + "markdownDescription": "The custom authentication type that the connector uses.", + "title": "CustomAuthenticationType", "type": "string" } }, "required": [ - "Type", - "Properties" + "CustomAuthenticationType" ], "type": "object" }, - "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { + "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Required": { - "markdownDescription": "Specifies whether the parameter is required.", - "title": "Required", - "type": "boolean" + "ApiKey": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ApiKeyCredentials", + "markdownDescription": "The API keys required for the authentication of the user.", + "title": "ApiKey" + }, + "AuthenticationType": { + "markdownDescription": "The authentication type that the custom connector uses for authenticating while creating a connector profile.", + "title": "AuthenticationType", + "type": "string" + }, + "Basic": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials", + "markdownDescription": "The basic credentials that are required for the authentication of the user.", + "title": "Basic" + }, + "Custom": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomAuthCredentials", + "markdownDescription": "If the connector uses the custom authentication mechanism, this holds the required credentials.", + "title": "Custom" + }, + "Oauth2": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Credentials", + "markdownDescription": "The OAuth 2.0 credentials required for the authentication of the user.", + "title": "Oauth2" } }, "required": [ - "Required" + "AuthenticationType" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule": { + "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "OAuth2Properties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Properties", + "markdownDescription": "The OAuth 2.0 properties required for OAuth 2.0 authentication.", + "title": "OAuth2Properties" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.Action" - }, - "markdownDescription": "The resulting action based on matching a routing rules condition. Only InvokeApi is supported.", - "title": "Actions", - "type": "array" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.Condition" - }, - "markdownDescription": "The conditions of the routing rule.", - "title": "Conditions", - "type": "array" - }, - "DomainNameArn": { - "markdownDescription": "The ARN of the domain name.", - "title": "DomainNameArn", + "ProfileProperties": { + "additionalProperties": true, + "markdownDescription": "A map of properties that are required to create a profile for the custom connector.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Priority": { - "markdownDescription": "The order in which API Gateway evaluates a rule. Priority is evaluated from the lowest value to the highest value. Rules can't have the same priority. Priority values 1-1,000,000 are supported.", - "title": "Priority", - "type": "number" } }, - "required": [ - "Actions", - "Conditions", - "DomainNameArn", - "Priority" - ], + "title": "ProfileProperties", "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::RoutingRule" - ], + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", + "title": "ApiKey", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ApplicationKey": { + "markdownDescription": "Application keys, in conjunction with your API key, give you full access to Datadog\u2019s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.", + "title": "ApplicationKey", "type": "string" } }, "required": [ - "Type", - "Properties" + "ApiKey", + "ApplicationKey" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.Action": { + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { "additionalProperties": false, "properties": { - "InvokeApi": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.ActionInvokeApi", - "markdownDescription": "Represents an InvokeApi action.", - "title": "InvokeApi" + "InstanceUrl": { + "markdownDescription": "The location of the Datadog resource.", + "title": "InstanceUrl", + "type": "string" } }, "required": [ - "InvokeApi" + "InstanceUrl" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.ActionInvokeApi": { + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier of the target API.", - "title": "ApiId", - "type": "string" - }, - "Stage": { - "markdownDescription": "The name of the target stage.", - "title": "Stage", + "ApiToken": { + "markdownDescription": "The API tokens used by Dynatrace API to authenticate various API calls.", + "title": "ApiToken", "type": "string" - }, - "StripBasePath": { - "markdownDescription": "The strip base path setting. When true, API Gateway strips the incoming matched base path when forwarding the request to the target API.", - "title": "StripBasePath", - "type": "boolean" } }, "required": [ - "ApiId", - "Stage" + "ApiToken" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.Condition": { + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { "additionalProperties": false, "properties": { - "MatchBasePaths": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchBasePaths", - "markdownDescription": "The base path to be matched.", - "title": "MatchBasePaths" - }, - "MatchHeaders": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchHeaders", - "markdownDescription": "The headers to be matched.", - "title": "MatchHeaders" + "InstanceUrl": { + "markdownDescription": "The location of the Dynatrace resource.", + "title": "InstanceUrl", + "type": "string" } }, + "required": [ + "InstanceUrl" + ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.MatchBasePaths": { + "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "AnyOf": { - "items": { - "type": "string" - }, - "markdownDescription": "The string of the case sensitive base path to be matched.", - "title": "AnyOf", - "type": "array" + "AccessToken": { + "markdownDescription": "The credentials used to access protected Google Analytics resources.", + "title": "AccessToken", + "type": "string" + }, + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", + "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" + }, + "RefreshToken": { + "markdownDescription": "The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.", + "title": "RefreshToken", + "type": "string" } }, "required": [ - "AnyOf" + "ClientId", + "ClientSecret" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.MatchHeaderValue": { + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Header": { - "markdownDescription": "The case insensitive header name to be matched. The header name must be less than 40 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~.` .", - "title": "Header", + "AccessKeyId": { + "markdownDescription": "The Access Key portion of the credentials.", + "title": "AccessKeyId", "type": "string" }, - "ValueGlob": { - "markdownDescription": "The case sensitive header glob value to be matched against entire header value. The header glob value must be less than 128 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~` . Wildcard matching is supported for header glob values but must be for `*prefix-match` , `suffix-match*` , or `*infix*-match` .", - "title": "ValueGlob", + "Datakey": { + "markdownDescription": "The encryption keys used to encrypt data.", + "title": "Datakey", + "type": "string" + }, + "SecretAccessKey": { + "markdownDescription": "The secret key used to sign requests.", + "title": "SecretAccessKey", + "type": "string" + }, + "UserId": { + "markdownDescription": "The identifier for the user.", + "title": "UserId", "type": "string" } }, "required": [ - "Header", - "ValueGlob" + "AccessKeyId", + "Datakey", + "SecretAccessKey", + "UserId" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.MatchHeaders": { + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { "additionalProperties": false, "properties": { - "AnyOf": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchHeaderValue" - }, - "markdownDescription": "The header name and header value glob to be matched. The matchHeaders condition is matched if any of the header name and header value globs are matched.", - "title": "AnyOf", - "type": "array" + "InstanceUrl": { + "markdownDescription": "The location of the Infor Nexus resource.", + "title": "InstanceUrl", + "type": "string" } }, "required": [ - "AnyOf" + "InstanceUrl" ], "type": "object" }, - "AWS::ApiGatewayV2::Stage": { + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Condition": { + "AccessToken": { + "markdownDescription": "The credentials used to access protected Marketo resources.", + "title": "AccessToken", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" }, - "Metadata": { - "type": "object" + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "markdownDescription": "The location of the Marketo resource.", + "title": "InstanceUrl", + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.OAuth2Credentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "The access token used to access the connector on your behalf.", + "title": "AccessToken", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings", - "markdownDescription": "Settings for logging access in this stage.", - "title": "AccessLogSettings" - }, - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "AutoDeploy": { - "markdownDescription": "Specifies whether updates to an API automatically trigger a new deployment. The default value is `false` .", - "title": "AutoDeploy", - "type": "boolean" - }, - "ClientCertificateId": { - "markdownDescription": "The identifier of a client certificate for a `Stage` . Supported only for WebSocket APIs.", - "title": "ClientCertificateId", - "type": "string" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings", - "markdownDescription": "The default route settings for the stage.", - "title": "DefaultRouteSettings" - }, - "DeploymentId": { - "markdownDescription": "The deployment identifier for the API stage. Can't be updated if `autoDeploy` is enabled.", - "title": "DeploymentId", - "type": "string" - }, - "Description": { - "markdownDescription": "The description for the API stage.", - "title": "Description", - "type": "string" - }, - "RouteSettings": { - "markdownDescription": "Route settings for the stage.", - "title": "RouteSettings", - "type": "object" - }, - "StageName": { - "markdownDescription": "The stage name. Stage names can contain only alphanumeric characters, hyphens, and underscores, or be `$default` . Maximum length is 128 characters.", - "title": "StageName", + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", + "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" + }, + "OAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "", + "title": "OAuthRequest" + }, + "RefreshToken": { + "markdownDescription": "The refresh token used to refresh an expired access token.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.OAuth2Properties": { + "additionalProperties": false, + "properties": { + "OAuth2GrantType": { + "markdownDescription": "The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.", + "title": "OAuth2GrantType", + "type": "string" + }, + "TokenUrl": { + "markdownDescription": "The token URL required for OAuth 2.0 authentication.", + "title": "TokenUrl", + "type": "string" + }, + "TokenUrlCustomProperties": { + "additionalProperties": true, + "markdownDescription": "Associates your token URL with a map of properties that you define. Use this parameter to provide any additional details that the connector requires to authenticate your request.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "StageVariables": { - "markdownDescription": "A map that defines the stage variables for a `Stage` . Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", - "title": "StageVariables", - "type": "object" - }, - "Tags": { - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "title": "Tags", - "type": "object" } }, - "required": [ - "ApiId", - "StageName" - ], + "title": "TokenUrlCustomProperties", "type": "object" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.OAuthCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "The access token used to access protected SAPOData resources.", + "title": "AccessToken", + "type": "string" }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Stage" - ], + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "", + "title": "ConnectorOAuthRequest" + }, + "RefreshToken": { + "markdownDescription": "The refresh token used to refresh expired access token.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.OAuthProperties": { + "additionalProperties": false, + "properties": { + "AuthCodeUrl": { + "markdownDescription": "The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type authentication.", + "title": "AuthCodeUrl", + "type": "string" + }, + "OAuthScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "The OAuth scopes required for OAuth type authentication.", + "title": "OAuthScopes", + "type": "array" + }, + "TokenUrl": { + "markdownDescription": "The token url required to fetch access/refresh tokens using authorization code and also to refresh expired access token using refresh token.", + "title": "TokenUrl", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "The credentials used to access protected Salesforce Pardot resources.", + "title": "AccessToken", + "type": "string" + }, + "ClientCredentialsArn": { + "markdownDescription": "The secret manager ARN, which contains the client ID and client secret of the connected app.", + "title": "ClientCredentialsArn", + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "", + "title": "ConnectorOAuthRequest" + }, + "RefreshToken": { + "markdownDescription": "The credentials used to acquire new access tokens.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "BusinessUnitId": { + "markdownDescription": "The business unit id of Salesforce Pardot instance.", + "title": "BusinessUnitId", + "type": "string" + }, + "InstanceUrl": { + "markdownDescription": "The location of the Salesforce Pardot resource.", + "title": "InstanceUrl", "type": "string" + }, + "IsSandboxEnvironment": { + "markdownDescription": "Indicates whether the connector profile applies to a sandbox or production environment.", + "title": "IsSandboxEnvironment", + "type": "boolean" } }, "required": [ - "Type", - "Properties" + "BusinessUnitId" ], "type": "object" }, - "AWS::ApiGatewayV2::Stage.AccessLogSettings": { + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "DestinationArn": { - "markdownDescription": "The ARN of the CloudWatch Logs log group to receive access logs. This parameter is required to enable access logging.", - "title": "DestinationArn", + "Password": { + "markdownDescription": "The password that corresponds to the user name.", + "title": "Password", "type": "string" }, - "Format": { - "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. This parameter is required to enable access logging.", - "title": "Format", + "Username": { + "markdownDescription": "The name of the user.", + "title": "Username", "type": "string" } }, "type": "object" }, - "AWS::ApiGatewayV2::Stage.RouteSettings": { + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { "additionalProperties": false, "properties": { - "DataTraceEnabled": { - "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", - "title": "DataTraceEnabled", + "BucketName": { + "markdownDescription": "A name for the associated Amazon S3 bucket.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", + "title": "BucketPrefix", + "type": "string" + }, + "ClusterIdentifier": { + "markdownDescription": "The unique ID that's assigned to an Amazon Redshift cluster.", + "title": "ClusterIdentifier", + "type": "string" + }, + "DataApiRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that permits Amazon AppFlow to access your Amazon Redshift database through the Data API. For more information, and for the polices that you attach to this role, see [Allow Amazon AppFlow to access Amazon Redshift databases with the Data API](https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#access-redshift) .", + "title": "DataApiRoleArn", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "The name of an Amazon Redshift database.", + "title": "DatabaseName", + "type": "string" + }, + "DatabaseUrl": { + "markdownDescription": "The JDBC URL of the Amazon Redshift cluster.", + "title": "DatabaseUrl", + "type": "string" + }, + "IsRedshiftServerless": { + "markdownDescription": "Indicates whether the connector profile defines a connection to an Amazon Redshift Serverless data warehouse.", + "title": "IsRedshiftServerless", "type": "boolean" }, - "DetailedMetricsEnabled": { - "markdownDescription": "Specifies whether detailed metrics are enabled.", - "title": "DetailedMetricsEnabled", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift read-only access to Amazon S3. For more information, and for the polices that you attach to this role, see [Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3](https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#redshift-access-s3) .", + "title": "RoleArn", + "type": "string" + }, + "WorkgroupName": { + "markdownDescription": "The name of an Amazon Redshift workgroup.", + "title": "WorkgroupName", + "type": "string" + } + }, + "required": [ + "BucketName", + "RoleArn" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "BasicAuthCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials", + "markdownDescription": "The SAPOData basic authentication credentials.", + "title": "BasicAuthCredentials" + }, + "OAuthCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthCredentials", + "markdownDescription": "The SAPOData OAuth type authentication credentials.", + "title": "OAuthCredentials" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "ApplicationHostUrl": { + "markdownDescription": "The location of the SAPOData resource.", + "title": "ApplicationHostUrl", + "type": "string" + }, + "ApplicationServicePath": { + "markdownDescription": "The application path to catalog service.", + "title": "ApplicationServicePath", + "type": "string" + }, + "ClientNumber": { + "markdownDescription": "The client number for the client creating the connection.", + "title": "ClientNumber", + "type": "string" + }, + "DisableSSO": { + "markdownDescription": "If you set this parameter to `true` , Amazon AppFlow bypasses the single sign-on (SSO) settings in your SAP account when it accesses your SAP OData instance.\n\nWhether you need this option depends on the types of credentials that you applied to your SAP OData connection profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from connecting to your account with your username and password. In this case, bypassing SSO makes it possible for Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no affect.", + "title": "DisableSSO", "type": "boolean" }, - "LoggingLevel": { - "markdownDescription": "Specifies the logging level for this route: `INFO` , `ERROR` , or `OFF` . This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", - "title": "LoggingLevel", + "LogonLanguage": { + "markdownDescription": "The logon language of SAPOData instance.", + "title": "LogonLanguage", "type": "string" }, - "ThrottlingBurstLimit": { - "markdownDescription": "Specifies the throttling burst limit.", - "title": "ThrottlingBurstLimit", - "type": "number" + "OAuthProperties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthProperties", + "markdownDescription": "The SAPOData OAuth properties required for OAuth type authentication.", + "title": "OAuthProperties" }, - "ThrottlingRateLimit": { - "markdownDescription": "Specifies the throttling rate limit.", - "title": "ThrottlingRateLimit", + "PortNumber": { + "markdownDescription": "The port number of the SAPOData instance.", + "title": "PortNumber", "type": "number" + }, + "PrivateLinkServiceName": { + "markdownDescription": "The SAPOData Private Link service name to be used for private data transfers.", + "title": "PrivateLinkServiceName", + "type": "string" } }, "type": "object" }, - "AWS::ApiGatewayV2::VpcLink": { + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Condition": { + "AccessToken": { + "markdownDescription": "The credentials used to access protected Salesforce resources.", + "title": "AccessToken", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientCredentialsArn": { + "markdownDescription": "The secret manager ARN, which contains the client ID and client secret of the connected app.", + "title": "ClientCredentialsArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" }, - "Metadata": { - "type": "object" + "JwtToken": { + "markdownDescription": "A JSON web token (JWT) that authorizes Amazon AppFlow to access your Salesforce records.", + "title": "JwtToken", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the VPC link.", - "title": "Name", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of security group IDs for the VPC link.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of subnet IDs to include in the VPC link.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "Name", - "SubnetIds" - ], - "type": "object" + "OAuth2GrantType": { + "markdownDescription": "Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests an access token from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your Salesforce records.\n\nYou can specify one of the following values:\n\n- **AUTHORIZATION_CODE** - Amazon AppFlow passes an authorization code when it requests the access token from Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in to your Salesforce account and authorize Amazon AppFlow to access your records.\n- **JWT_BEARER** - Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to your Salesforce account. When you use this grant type, you don't need to log in to your Salesforce account to authorize Amazon AppFlow to access your records.\n\n> The CLIENT_CREDENTIALS value is not supported for Salesforce.", + "title": "OAuth2GrantType", + "type": "string" }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::VpcLink" - ], + "RefreshToken": { + "markdownDescription": "The credentials used to acquire new access tokens.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "markdownDescription": "The location of the Salesforce resource.", + "title": "InstanceUrl", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "isSandboxEnvironment": { + "markdownDescription": "Indicates whether the connector profile applies to a sandbox or production environment.", + "title": "isSandboxEnvironment", + "type": "boolean" + }, + "usePrivateLinkForMetadataAndAuthorization": { + "markdownDescription": "If the connection mode for the connector profile is private, this parameter sets whether Amazon AppFlow uses the private network to send metadata and authorization calls to Salesforce. Amazon AppFlow sends private calls through AWS PrivateLink . These calls travel through AWS infrastructure without being exposed to the public internet.\n\nSet either of the following values:\n\n- **true** - Amazon AppFlow sends all calls to Salesforce over the private network.\n\nThese private calls are:\n\n- Calls to get metadata about your Salesforce records. This metadata describes your Salesforce objects and their fields.\n- Calls to get or refresh access tokens that allow Amazon AppFlow to access your Salesforce records.\n- Calls to transfer your Salesforce records as part of a flow run.\n- **false** - The default value. Amazon AppFlow sends some calls to Salesforce privately and other calls over the public internet.\n\nThe public calls are:\n\n- Calls to get metadata about your Salesforce records.\n- Calls to get or refresh access tokens.\n\nThe private calls are:\n\n- Calls to transfer your Salesforce records as part of a flow run.", + "title": "usePrivateLinkForMetadataAndAuthorization", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "OAuth2Credentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Credentials", + "markdownDescription": "The OAuth 2.0 credentials required to authenticate the user.", + "title": "OAuth2Credentials" + }, + "Password": { + "markdownDescription": "The password that corresponds to the user name.", + "title": "Password", + "type": "string" + }, + "Username": { + "markdownDescription": "The name of the user.", + "title": "Username", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "markdownDescription": "The location of the ServiceNow resource.", + "title": "InstanceUrl", "type": "string" } }, "required": [ - "Type", - "Properties" + "InstanceUrl" ], "type": "object" }, - "AWS::AppConfig::Application": { + "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Condition": { + "ApiKey": { + "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", + "title": "ApiKey", "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "required": [ + "ApiKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "The credentials used to access protected Slack resources.", + "title": "AccessToken", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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 application.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the application.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Application.Tags" - }, - "markdownDescription": "Metadata to assign to the application. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" + "ClientId": { + "markdownDescription": "The identifier for the client.", + "title": "ClientId", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AppConfig::Application" - ], + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "markdownDescription": "The location of the Slack resource.", + "title": "InstanceUrl", "type": "string" } }, "required": [ - "Type", - "Properties" + "InstanceUrl" ], "type": "object" }, - "AWS::AppConfig::Application.Tags": { + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key-value string map. The valid character set is `[a-zA-Z+-=._:/]` . The tag key can be up to 128 characters and must not start with `aws:` .", - "title": "Key", + "Password": { + "markdownDescription": "The password that corresponds to the user name.", + "title": "Password", "type": "string" }, - "Value": { - "markdownDescription": "The tag value can be up to 256 characters.", - "title": "Value", + "Username": { + "markdownDescription": "The name of the user.", + "title": "Username", "type": "string" } }, "required": [ - "Key", - "Value" + "Password", + "Username" ], "type": "object" }, - "AWS::AppConfig::ConfigurationProfile": { + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { "additionalProperties": false, "properties": { - "Condition": { + "AccountName": { + "markdownDescription": "The name of the account.", + "title": "AccountName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket associated with Snowflake.", + "title": "BucketName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "BucketPrefix": { + "markdownDescription": "The bucket path that refers to the Amazon S3 bucket associated with Snowflake.", + "title": "BucketPrefix", + "type": "string" }, - "Metadata": { - "type": "object" + "PrivateLinkServiceName": { + "markdownDescription": "The Snowflake Private Link service name to be used for private data transfers.", + "title": "PrivateLinkServiceName", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "markdownDescription": "The application ID.", - "title": "ApplicationId", - "type": "string" - }, - "DeletionProtectionCheck": { - "markdownDescription": "A parameter to configure deletion protection. Deletion protection prevents a user from deleting a configuration profile if your application has called either [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) or [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) for the configuration profile during the specified interval.\n\nThis parameter supports the following values:\n\n- `BYPASS` : Instructs AWS AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.\n- `APPLY` : Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. `APPLY` also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.\n- `ACCOUNT_DEFAULT` : The default setting, which instructs AWS AppConfig to implement the deletion protection value specified in the `UpdateAccountSettings` API.", - "title": "DeletionProtectionCheck", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the configuration profile.", - "title": "Description", - "type": "string" - }, - "KmsKeyIdentifier": { - "markdownDescription": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.", - "title": "KmsKeyIdentifier", - "type": "string" - }, - "LocationUri": { - "markdownDescription": "A URI to locate the configuration. You can specify the following:\n\n- For the AWS AppConfig hosted configuration store and for feature flags, specify `hosted` .\n- For an AWS Systems Manager Parameter Store parameter, specify either the parameter name in the format `ssm-parameter://` or the ARN.\n- For an AWS CodePipeline pipeline, specify the URI in the following format: `codepipeline` ://.\n- For an AWS Secrets Manager secret, specify the URI in the following format: `secretsmanager` ://.\n- For an Amazon S3 object, specify the URI in the following format: `s3:///` . Here is an example: `s3://amzn-s3-demo-bucket/my-app/us-east-1/my-config.json`\n- For an SSM document, specify either the document name in the format `ssm-document://` or the Amazon Resource Name (ARN).", - "title": "LocationUri", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the configuration profile.", - "title": "Name", - "type": "string" - }, - "RetrievalRoleArn": { - "markdownDescription": "The ARN of an IAM role with permission to access the configuration at the specified `LocationUri` .\n\n> A retrieval role ARN is not required for configurations stored in AWS CodePipeline or the AWS AppConfig hosted configuration store. It is required for all other sources that store your configuration.", - "title": "RetrievalRoleArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" - }, - "markdownDescription": "Metadata to assign to the configuration profile. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of configurations contained in the profile. AWS AppConfig supports `feature flags` and `freeform` configurations. We recommend you create feature flag configurations to enable or disable new features and freeform configurations to distribute configurations to an application. When calling this API, enter one of the following values for `Type` :\n\n`AWS.AppConfig.FeatureFlags`\n\n`AWS.Freeform`", - "title": "Type", - "type": "string" - }, - "Validators": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" - }, - "markdownDescription": "A list of methods for validating the configuration.", - "title": "Validators", - "type": "array" - } - }, - "required": [ - "ApplicationId", - "LocationUri", - "Name" - ], - "type": "object" + "Region": { + "markdownDescription": "The AWS Region of the Snowflake account.", + "title": "Region", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AppConfig::ConfigurationProfile" - ], + "Stage": { + "markdownDescription": "The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema>.", + "title": "Stage", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Warehouse": { + "markdownDescription": "The name of the Snowflake warehouse.", + "title": "Warehouse", "type": "string" } }, "required": [ - "Type", - "Properties" + "BucketName", + "Stage", + "Warehouse" ], "type": "object" }, - "AWS::AppConfig::ConfigurationProfile.Tags": { + "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key-value string map. The valid character set is `[a-zA-Z+-=._:/]` . The tag key can be up to 128 characters and must not start with `aws:` .", - "title": "Key", + "ApiSecretKey": { + "markdownDescription": "The Secret Access Key portion of the credentials.", + "title": "ApiSecretKey", + "type": "string" + } + }, + "required": [ + "ApiSecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "markdownDescription": "The password that corresponds to the user name.", + "title": "Password", "type": "string" }, - "Value": { - "markdownDescription": "The tag value can be up to 256 characters.", - "title": "Value", + "Username": { + "markdownDescription": "The name of the user.", + "title": "Username", "type": "string" } }, + "required": [ + "Password", + "Username" + ], "type": "object" }, - "AWS::AppConfig::ConfigurationProfile.Validators": { + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda function.", - "title": "Content", + "InstanceUrl": { + "markdownDescription": "The location of the Veeva resource.", + "title": "InstanceUrl", + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "The credentials used to access protected Zendesk resources.", + "title": "AccessToken", "type": "string" }, - "Type": { - "markdownDescription": "AWS AppConfig supports validators of type `JSON_SCHEMA` and `LAMBDA`", - "title": "Type", + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" } }, + "required": [ + "ClientId", + "ClientSecret" + ], "type": "object" }, - "AWS::AppConfig::Deployment": { + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "markdownDescription": "The location of the Zendesk resource.", + "title": "InstanceUrl", + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::Flow": { "additionalProperties": false, "properties": { "Condition": { @@ -13344,70 +14043,78 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "markdownDescription": "The application ID.", - "title": "ApplicationId", - "type": "string" - }, - "ConfigurationProfileId": { - "markdownDescription": "The configuration profile ID.", - "title": "ConfigurationProfileId", - "type": "string" - }, - "ConfigurationVersion": { - "markdownDescription": "The configuration version to deploy. If deploying an AWS AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.", - "title": "ConfigurationVersion", - "type": "string" - }, - "DeploymentStrategyId": { - "markdownDescription": "The deployment strategy ID.", - "title": "DeploymentStrategyId", - "type": "string" - }, "Description": { - "markdownDescription": "A description of the deployment.", + "markdownDescription": "A user-entered description of the flow.", "title": "Description", "type": "string" }, - "DynamicExtensionParameters": { + "DestinationFlowConfigList": { "items": { - "$ref": "#/definitions/AWS::AppConfig::Deployment.DynamicExtensionParameters" + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" }, - "markdownDescription": "A map of dynamic extension parameter names to values to pass to associated extensions with `PRE_START_DEPLOYMENT` actions.", - "title": "DynamicExtensionParameters", + "markdownDescription": "The configuration that controls how Amazon AppFlow places data in the destination connector.", + "title": "DestinationFlowConfigList", "type": "array" }, - "EnvironmentId": { - "markdownDescription": "The environment ID.", - "title": "EnvironmentId", + "FlowName": { + "markdownDescription": "The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.", + "title": "FlowName", "type": "string" }, - "KmsKeyIdentifier": { - "markdownDescription": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.", - "title": "KmsKeyIdentifier", + "FlowStatus": { + "markdownDescription": "Sets the status of the flow. You can specify one of the following values:\n\n- **Active** - The flow runs based on the trigger settings that you defined. Active scheduled flows run as scheduled, and active event-triggered flows run when the specified change event occurs. However, active on-demand flows run only when you manually start them by using Amazon AppFlow.\n- **Suspended** - You can use this option to deactivate an active flow. Scheduled and event-triggered flows will cease to run until you reactive them. This value only affects scheduled and event-triggered flows. It has no effect for on-demand flows.\n\nIf you omit the FlowStatus parameter, Amazon AppFlow creates the flow with a default status. The default status for on-demand flows is Active. The default status for scheduled and event-triggered flows is Draft, which means they\u2019re not yet active.", + "title": "FlowStatus", "type": "string" }, + "KMSArn": { + "markdownDescription": "The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.", + "title": "KMSArn", + "type": "string" + }, + "MetadataCatalogConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MetadataCatalogConfig", + "markdownDescription": "Specifies the configuration that Amazon AppFlow uses when it catalogs your data. When Amazon AppFlow catalogs your data, it stores metadata in a data catalog.", + "title": "MetadataCatalogConfig" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig", + "markdownDescription": "Contains information about the configuration of the source connector used in the flow.", + "title": "SourceFlowConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Metadata to assign to the deployment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "markdownDescription": "The tags used to organize, track, or control access for your flow.", "title": "Tags", "type": "array" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.Task" + }, + "markdownDescription": "A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.", + "title": "Tasks", + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig", + "markdownDescription": "The trigger settings that determine how and when Amazon AppFlow runs the specified flow.", + "title": "TriggerConfig" } }, "required": [ - "ApplicationId", - "ConfigurationProfileId", - "ConfigurationVersion", - "DeploymentStrategyId", - "EnvironmentId" + "DestinationFlowConfigList", + "FlowName", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::AppConfig::Deployment" + "AWS::AppFlow::Flow" ], "type": "string" }, @@ -13426,2078 +14133,1295 @@ ], "type": "object" }, - "AWS::AppConfig::Deployment.DynamicExtensionParameters": { + "AWS::AppFlow::Flow.AggregationConfig": { "additionalProperties": false, "properties": { - "ExtensionReference": { - "markdownDescription": "The ARN or ID of the extension for which you are inserting a dynamic parameter.", - "title": "ExtensionReference", - "type": "string" - }, - "ParameterName": { - "markdownDescription": "The parameter name.", - "title": "ParameterName", + "AggregationType": { + "markdownDescription": "Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.", + "title": "AggregationType", "type": "string" }, - "ParameterValue": { - "markdownDescription": "The parameter value.", - "title": "ParameterValue", - "type": "string" + "TargetFileSize": { + "markdownDescription": "The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.", + "title": "TargetFileSize", + "type": "number" } }, "type": "object" }, - "AWS::AppConfig::DeploymentStrategy": { + "AWS::AppFlow::Flow.AmplitudeSourceProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentDurationInMinutes": { - "markdownDescription": "Total amount of time for a deployment to last.", - "title": "DeploymentDurationInMinutes", - "type": "number" - }, - "Description": { - "markdownDescription": "A description of the deployment strategy.", - "title": "Description", - "type": "string" - }, - "FinalBakeTimeInMinutes": { - "markdownDescription": "Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see [Configuring permissions for rollback based on Amazon CloudWatch alarms](https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html) in the *AWS AppConfig User Guide* .", - "title": "FinalBakeTimeInMinutes", - "type": "number" - }, - "GrowthFactor": { - "markdownDescription": "The percentage of targets to receive a deployed configuration during each interval.", - "title": "GrowthFactor", - "type": "number" - }, - "GrowthType": { - "markdownDescription": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:\n\n*Linear* : For this type, AWS AppConfig processes the deployment by dividing the total number of targets by the value specified for `Step percentage` . For example, a linear deployment that uses a `Step percentage` of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.\n\n*Exponential* : For this type, AWS AppConfig processes the deployment exponentially using the following formula: `G*(2^N)` . In this formula, `G` is the growth factor specified by the user and `N` is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:\n\n`2*(2^0)`\n\n`2*(2^1)`\n\n`2*(2^2)`\n\nExpressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.", - "title": "GrowthType", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the deployment strategy.", - "title": "Name", - "type": "string" - }, - "ReplicateTo": { - "markdownDescription": "Save the deployment strategy to a Systems Manager (SSM) document.", - "title": "ReplicateTo", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Assigns metadata to an AWS AppConfig resource. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DeploymentDurationInMinutes", - "GrowthFactor", - "Name", - "ReplicateTo" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::DeploymentStrategy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Object": { + "markdownDescription": "The object specified in the Amplitude flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Type", - "Properties" + "Object" ], "type": "object" }, - "AWS::AppConfig::Environment": { + "AWS::AppFlow::Flow.ConnectorOperator": { "additionalProperties": false, "properties": { - "Condition": { + "Amplitude": { + "markdownDescription": "The operation to be performed on the provided Amplitude source fields.", + "title": "Amplitude", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CustomConnector": { + "markdownDescription": "Operators supported by the custom connector.", + "title": "CustomConnector", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Datadog": { + "markdownDescription": "The operation to be performed on the provided Datadog source fields.", + "title": "Datadog", + "type": "string" }, - "Metadata": { - "type": "object" + "Dynatrace": { + "markdownDescription": "The operation to be performed on the provided Dynatrace source fields.", + "title": "Dynatrace", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "markdownDescription": "The application ID.", - "title": "ApplicationId", - "type": "string" - }, - "DeletionProtectionCheck": { - "markdownDescription": "A parameter to configure deletion protection. Deletion protection prevents a user from deleting an environment if your application called either [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) or [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) in the environment during the specified interval.\n\nThis parameter supports the following values:\n\n- `BYPASS` : Instructs AWS AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.\n- `APPLY` : Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. `APPLY` also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.\n- `ACCOUNT_DEFAULT` : The default setting, which instructs AWS AppConfig to implement the deletion protection value specified in the `UpdateAccountSettings` API.", - "title": "DeletionProtectionCheck", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the environment.", - "title": "Description", - "type": "string" - }, - "Monitors": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Monitor" - }, - "markdownDescription": "Amazon CloudWatch alarms to monitor during the deployment process.", - "title": "Monitors", - "type": "array" - }, - "Name": { - "markdownDescription": "A name for the environment.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" + "GoogleAnalytics": { + "markdownDescription": "The operation to be performed on the provided Google Analytics source fields.", + "title": "GoogleAnalytics", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AppConfig::Environment" - ], + "InforNexus": { + "markdownDescription": "The operation to be performed on the provided Infor Nexus source fields.", + "title": "InforNexus", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Marketo": { + "markdownDescription": "The operation to be performed on the provided Marketo source fields.", + "title": "Marketo", "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Environment.Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "markdownDescription": "Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.", - "title": "AlarmArn", + }, + "Pardot": { + "markdownDescription": "The operation to be performed on the provided Salesforce Pardot source fields.", + "title": "Pardot", "type": "string" }, - "AlarmRoleArn": { - "markdownDescription": "ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor `AlarmArn` .", - "title": "AlarmRoleArn", + "S3": { + "markdownDescription": "The operation to be performed on the provided Amazon S3 source fields.", + "title": "S3", "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "AWS::AppConfig::ExperimentDefinition": { - "additionalProperties": false, - "properties": { - "Condition": { + }, + "SAPOData": { + "markdownDescription": "The operation to be performed on the provided SAPOData source fields.", + "title": "SAPOData", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Salesforce": { + "markdownDescription": "The operation to be performed on the provided Salesforce source fields.", + "title": "Salesforce", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ServiceNow": { + "markdownDescription": "The operation to be performed on the provided ServiceNow source fields.", + "title": "ServiceNow", + "type": "string" }, - "Metadata": { - "type": "object" + "Singular": { + "markdownDescription": "The operation to be performed on the provided Singular source fields.", + "title": "Singular", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationIdentifier": { - "type": "string" - }, - "AudienceDescription": { - "type": "string" - }, - "AudienceRule": { - "type": "string" - }, - "ConfigurationProfileIdentifier": { - "type": "string" - }, - "Control": { - "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition.Treatment" - }, - "EnvironmentIdentifier": { - "type": "string" - }, - "FlagKey": { - "type": "string" - }, - "Hypothesis": { - "type": "string" - }, - "LaunchCriteria": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Treatments": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition.Treatment" - }, - "type": "array" - } - }, - "required": [ - "ApplicationIdentifier", - "AudienceRule", - "ConfigurationProfileIdentifier", - "Control", - "EnvironmentIdentifier", - "FlagKey", - "Name", - "Treatments" - ], - "type": "object" + "Slack": { + "markdownDescription": "The operation to be performed on the provided Slack source fields.", + "title": "Slack", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AppConfig::ExperimentDefinition" - ], + "Trendmicro": { + "markdownDescription": "The operation to be performed on the provided Trend Micro source fields.", + "title": "Trendmicro", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Veeva": { + "markdownDescription": "The operation to be performed on the provided Veeva source fields.", + "title": "Veeva", + "type": "string" + }, + "Zendesk": { + "markdownDescription": "The operation to be performed on the provided Zendesk source fields.", + "title": "Zendesk", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::AppConfig::ExperimentDefinition.AttributeValue": { + "AWS::AppFlow::Flow.CustomConnectorDestinationProperties": { "additionalProperties": false, "properties": { - "BooleanValue": { - "type": "boolean" - }, - "NumberArray": { - "items": { - "type": "number" + "CustomProperties": { + "additionalProperties": true, + "markdownDescription": "The custom properties that are specific to the connector when it's used as a destination in the flow.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "CustomProperties", + "type": "object" }, - "NumberValue": { - "type": "number" + "EntityName": { + "markdownDescription": "The entity specified in the custom connector as a destination in the flow.", + "title": "EntityName", + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.", + "title": "ErrorHandlingConfig" }, - "StringArray": { + "IdFieldNames": { "items": { "type": "string" }, + "markdownDescription": "The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update, delete, or upsert.", + "title": "IdFieldNames", "type": "array" }, - "StringValue": { + "WriteOperationType": { + "markdownDescription": "Specifies the type of write operation to be performed in the custom connector when it's used as destination.", + "title": "WriteOperationType", "type": "string" } }, + "required": [ + "EntityName" + ], "type": "object" }, - "AWS::AppConfig::ExperimentDefinition.Treatment": { + "AWS::AppFlow::Flow.CustomConnectorSourceProperties": { "additionalProperties": false, "properties": { - "AttributeValues": { - "additionalProperties": false, + "CustomProperties": { + "additionalProperties": true, + "markdownDescription": "Custom properties that are required to use the custom connector as a source.", "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition.AttributeValue" + "type": "string" } }, + "title": "CustomProperties", "type": "object" }, - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" + "DataTransferApi": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DataTransferApi", + "markdownDescription": "The API of the connector application that Amazon AppFlow uses to transfer your data.", + "title": "DataTransferApi" }, - "Key": { + "EntityName": { + "markdownDescription": "The entity specified in the custom connector as a source in the flow.", + "title": "EntityName", "type": "string" - }, - "Weight": { - "type": "number" } }, "required": [ - "Enabled", - "Weight" + "EntityName" ], "type": "object" }, - "AWS::AppConfig::Extension": { + "AWS::AppFlow::Flow.DataTransferApi": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The name of the connector application API.", + "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": { - "Actions": { - "markdownDescription": "The actions defined in the extension.", - "title": "Actions", - "type": "object" - }, - "Description": { - "markdownDescription": "Information about the extension.", - "title": "Description", - "type": "string" - }, - "LatestVersionNumber": { - "markdownDescription": "You can omit this field when you create an extension. When you create a new version, specify the most recent current version number. For example, you create version 3, enter 2 for this field.", - "title": "LatestVersionNumber", - "type": "number" - }, - "Name": { - "markdownDescription": "A name for the extension. Each extension name in your account must be unique. Extension versions use the same name.", - "title": "Name", - "type": "string" - }, - "Parameters": { - "additionalProperties": false, - "markdownDescription": "The parameters accepted by the extension. You specify parameter values when you associate the extension to an AWS AppConfig resource by using the `CreateExtensionAssociation` API action. For AWS Lambda extension actions, these parameters are included in the Lambda request object.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" - } - }, - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Adds one or more tags for the specified extension. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, "Type": { - "enum": [ - "AWS::AppConfig::Extension" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "You can specify one of the following types:\n\n- **AUTOMATIC** - The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.\n- **SYNC** - A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.\n- **ASYNC** - An asynchronous API. This type of API optimizes a flow for large datasets.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "Type" ], "type": "object" }, - "AWS::AppConfig::Extension.Parameter": { + "AWS::AppFlow::Flow.DatadogSourceProperties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "Information about the parameter.", - "title": "Description", + "Object": { + "markdownDescription": "The object specified in the Datadog flow source.", + "title": "Object", "type": "string" - }, - "Dynamic": { - "markdownDescription": "Indicates whether this parameter's value can be supplied at the extension's action point instead of during extension association. Dynamic parameters can't be marked `Required` .", - "title": "Dynamic", - "type": "boolean" - }, - "Required": { - "markdownDescription": "A parameter value must be specified in the extension association.", - "title": "Required", - "type": "boolean" } }, "required": [ - "Required" + "Object" ], "type": "object" }, - "AWS::AppConfig::ExtensionAssociation": { + "AWS::AppFlow::Flow.DestinationConnectorProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "CustomConnector": { + "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorDestinationProperties", + "markdownDescription": "The properties that are required to query the custom Connector.", + "title": "CustomConnector" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "EventBridge": { + "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties", + "markdownDescription": "The properties required to query Amazon EventBridge.", + "title": "EventBridge" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LookoutMetrics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties", + "markdownDescription": "The properties required to query Amazon Lookout for Metrics.", + "title": "LookoutMetrics" }, - "Metadata": { - "type": "object" + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoDestinationProperties", + "markdownDescription": "The properties required to query Marketo.", + "title": "Marketo" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExtensionIdentifier": { - "markdownDescription": "The name, the ID, or the Amazon Resource Name (ARN) of the extension.", - "title": "ExtensionIdentifier", - "type": "string" - }, - "ExtensionVersionNumber": { - "markdownDescription": "The version number of the extension. If not specified, AWS AppConfig uses the maximum version of the extension.", - "title": "ExtensionVersionNumber", - "type": "number" - }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "The parameter names and values defined in the extensions. Extension parameters marked `Required` must be entered for this field.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "ResourceIdentifier": { - "markdownDescription": "The ARN of an application, configuration profile, or environment.", - "title": "ResourceIdentifier", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Adds one or more tags for the specified extension association. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties", + "markdownDescription": "The properties required to query Amazon Redshift.", + "title": "Redshift" }, - "Type": { - "enum": [ - "AWS::AppConfig::ExtensionAssociation" - ], - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties", + "markdownDescription": "The properties required to query Amazon S3.", + "title": "S3" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "SAPOData": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataDestinationProperties", + "markdownDescription": "The properties required to query SAPOData.", + "title": "SAPOData" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties", + "markdownDescription": "The properties required to query Salesforce.", + "title": "Salesforce" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties", + "markdownDescription": "The properties required to query Snowflake.", + "title": "Snowflake" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties", + "markdownDescription": "The properties required to query Upsolver.", + "title": "Upsolver" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties", + "markdownDescription": "The properties required to query Zendesk.", + "title": "Zendesk" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::AppConfig::HostedConfigurationVersion": { + "AWS::AppFlow::Flow.DestinationFlowConfig": { "additionalProperties": false, "properties": { - "Condition": { + "ApiVersion": { + "markdownDescription": "The API version that the destination connector uses.", + "title": "ApiVersion", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ConnectorProfileName": { + "markdownDescription": "The name of the connector profile. This name must be unique for each connector profile in the AWS account .", + "title": "ConnectorProfileName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The application ID.", - "title": "ApplicationId", - "type": "string" - }, - "ConfigurationProfileId": { - "markdownDescription": "The configuration profile ID.", - "title": "ConfigurationProfileId", - "type": "string" - }, - "Content": { - "markdownDescription": "The configuration data, as bytes.\n\n> AWS AppConfig accepts any type of data, including text formats like JSON or TOML, or binary formats like protocol buffers or compressed data.", - "title": "Content", - "type": "string" - }, - "ContentType": { - "markdownDescription": "A standard MIME type describing the format of the configuration content. For more information, see [Content-Type](https://docs.aws.amazon.com/https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17) .", - "title": "ContentType", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the configuration.\n\n> Due to HTTP limitations, this field only supports ASCII characters.", - "title": "Description", - "type": "string" - }, - "LatestVersionNumber": { - "markdownDescription": "An optional locking token used to prevent race conditions from overwriting configuration updates when creating a new version. To ensure your data is not overwritten when creating multiple hosted configuration versions in rapid succession, specify the version number of the latest hosted configuration version.", - "title": "LatestVersionNumber", - "type": "number" - }, - "VersionLabel": { - "markdownDescription": "A user-defined label for an AWS AppConfig hosted configuration version.", - "title": "VersionLabel", - "type": "string" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "Content", - "ContentType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::HostedConfigurationVersion" - ], + "ConnectorType": { + "markdownDescription": "The type of destination connector, such as Sales force, Amazon S3, and so on.", + "title": "ConnectorType", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "DestinationConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties", + "markdownDescription": "This stores the information that is required to query a particular connector.", + "title": "DestinationConnectorProperties" } }, "required": [ - "Type", - "Properties" + "ConnectorType", + "DestinationConnectorProperties" ], "type": "object" }, - "AWS::AppFlow::Connector": { + "AWS::AppFlow::Flow.DynatraceSourceProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorLabel": { - "markdownDescription": "The label used for registering the connector.", - "title": "ConnectorLabel", - "type": "string" - }, - "ConnectorProvisioningConfig": { - "$ref": "#/definitions/AWS::AppFlow::Connector.ConnectorProvisioningConfig", - "markdownDescription": "The configuration required for registering the connector.", - "title": "ConnectorProvisioningConfig" - }, - "ConnectorProvisioningType": { - "markdownDescription": "The provisioning type used to register the connector.", - "title": "ConnectorProvisioningType", - "type": "string" - }, - "Description": { - "markdownDescription": "A description about the connector runtime setting.", - "title": "Description", - "type": "string" - } - }, - "required": [ - "ConnectorProvisioningConfig", - "ConnectorProvisioningType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::Connector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Object": { + "markdownDescription": "The object specified in the Dynatrace flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Type", - "Properties" + "Object" ], "type": "object" }, - "AWS::AppFlow::Connector.ConnectorProvisioningConfig": { + "AWS::AppFlow::Flow.ErrorHandlingConfig": { "additionalProperties": false, "properties": { - "Lambda": { - "$ref": "#/definitions/AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig", - "markdownDescription": "Contains information about the configuration of the lambda which is being registered as the connector.", - "title": "Lambda" + "BucketName": { + "markdownDescription": "Specifies the name of the Amazon S3 bucket.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "Specifies the Amazon S3 bucket prefix.", + "title": "BucketPrefix", + "type": "string" + }, + "FailOnFirstError": { + "markdownDescription": "Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.", + "title": "FailOnFirstError", + "type": "boolean" } }, "type": "object" }, - "AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig": { + "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { "additionalProperties": false, "properties": { - "LambdaArn": { - "markdownDescription": "Lambda ARN of the connector being registered.", - "title": "LambdaArn", + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The object specified in the Amplitude flow source.", + "title": "ErrorHandlingConfig" + }, + "Object": { + "markdownDescription": "The object specified in the Amazon EventBridge flow destination.", + "title": "Object", "type": "string" } }, "required": [ - "LambdaArn" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile": { + "AWS::AppFlow::Flow.GlueDataCatalog": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatabaseName": { + "markdownDescription": "", + "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": { - "ConnectionMode": { - "markdownDescription": "Indicates the connection mode and if it is public or private.", - "title": "ConnectionMode", - "type": "string" - }, - "ConnectorLabel": { - "markdownDescription": "The label for the connector profile being created.", - "title": "ConnectorLabel", - "type": "string" - }, - "ConnectorProfileConfig": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig", - "markdownDescription": "Defines the connector-specific configuration and credentials.", - "title": "ConnectorProfileConfig" - }, - "ConnectorProfileName": { - "markdownDescription": "The name of the connector profile. The name is unique for each `ConnectorProfile` in the AWS account .", - "title": "ConnectorProfileName", - "type": "string" - }, - "ConnectorType": { - "markdownDescription": "The type of connector, such as Salesforce, Amplitude, and so on.", - "title": "ConnectorType", - "type": "string" - }, - "KMSArn": { - "markdownDescription": "The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.", - "title": "KMSArn", - "type": "string" - } - }, - "required": [ - "ConnectionMode", - "ConnectorProfileName", - "ConnectorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::ConnectorProfile" - ], + "RoleArn": { + "markdownDescription": "", + "title": "RoleArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TablePrefix": { + "markdownDescription": "", + "title": "TablePrefix", "type": "string" } }, "required": [ - "Type", - "Properties" + "DatabaseName", + "RoleArn", + "TablePrefix" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { + "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { "additionalProperties": false, "properties": { - "ApiKey": { - "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", - "title": "ApiKey", - "type": "string" - }, - "SecretKey": { - "markdownDescription": "The Secret Access Key portion of the credentials.", - "title": "SecretKey", + "Object": { + "markdownDescription": "The object specified in the Google Analytics flow source.", + "title": "Object", "type": "string" } }, "required": [ - "ApiKey", - "SecretKey" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ApiKeyCredentials": { + "AWS::AppFlow::Flow.IncrementalPullConfig": { "additionalProperties": false, "properties": { - "ApiKey": { - "markdownDescription": "The API key required for API key authentication.", - "title": "ApiKey", - "type": "string" - }, - "ApiSecretKey": { - "markdownDescription": "The API secret key required for API key authentication.", - "title": "ApiSecretKey", + "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" } }, - "required": [ - "ApiKey" - ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.BasicAuthCredentials": { + "AWS::AppFlow::Flow.InforNexusSourceProperties": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password to use to connect to a resource.", - "title": "Password", - "type": "string" - }, - "Username": { - "markdownDescription": "The username to use to connect to a resource.", - "title": "Username", + "Object": { + "markdownDescription": "The object specified in the Infor Nexus flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Password", - "Username" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { + "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { "additionalProperties": false, "properties": { - "AuthCode": { - "markdownDescription": "The code provided by the connector when it has been authenticated via the connected app.", - "title": "AuthCode", - "type": "string" - }, - "RedirectUri": { - "markdownDescription": "The URL to which the authentication server redirects the browser after authorization has been granted.", - "title": "RedirectUri", + "Object": { + "markdownDescription": "The object specified in the Amazon Lookout for Metrics flow destination.", + "title": "Object", "type": "string" } }, "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { + "AWS::AppFlow::Flow.MarketoDestinationProperties": { "additionalProperties": false, "properties": { - "ConnectorProfileCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required by each connector.", - "title": "ConnectorProfileCredentials" - }, - "ConnectorProfileProperties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties", - "markdownDescription": "The connector-specific properties of the profile configuration.", - "title": "ConnectorProfileProperties" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" + }, + "Object": { + "markdownDescription": "The object specified in the Marketo flow destination.", + "title": "Object", + "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { + "AWS::AppFlow::Flow.MarketoSourceProperties": { "additionalProperties": false, "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Amplitude.", - "title": "Amplitude" - }, - "CustomConnector": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials", - "markdownDescription": "The connector-specific profile credentials that are required when using the custom connector.", - "title": "CustomConnector" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Datadog.", - "title": "Datadog" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Dynatrace.", - "title": "Dynatrace" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Google Analytics.", - "title": "GoogleAnalytics" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Infor Nexus.", - "title": "InforNexus" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Marketo.", - "title": "Marketo" - }, - "Pardot": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Salesforce Pardot.", - "title": "Pardot" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Amazon Redshift.", - "title": "Redshift" - }, - "SAPOData": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials", - "markdownDescription": "The connector-specific profile credentials required when using SAPOData.", - "title": "SAPOData" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Salesforce.", - "title": "Salesforce" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using ServiceNow.", - "title": "ServiceNow" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Singular.", - "title": "Singular" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Slack.", - "title": "Slack" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Snowflake.", - "title": "Snowflake" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Trend Micro.", - "title": "Trendmicro" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Veeva.", - "title": "Veeva" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Zendesk.", - "title": "Zendesk" + "Object": { + "markdownDescription": "The object specified in the Marketo flow source.", + "title": "Object", + "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { + "AWS::AppFlow::Flow.MetadataCatalogConfig": { "additionalProperties": false, "properties": { - "CustomConnector": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties", - "markdownDescription": "The properties required by the custom connector.", - "title": "CustomConnector" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Datadog.", - "title": "Datadog" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Dynatrace.", - "title": "Dynatrace" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Infor Nexus.", - "title": "InforNexus" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Marketo.", - "title": "Marketo" - }, - "Pardot": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Salesforce Pardot.", - "title": "Pardot" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Amazon Redshift.", - "title": "Redshift" - }, - "SAPOData": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties", - "markdownDescription": "The connector-specific profile properties required when using SAPOData.", - "title": "SAPOData" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Salesforce.", - "title": "Salesforce" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by serviceNow.", - "title": "ServiceNow" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Slack.", - "title": "Slack" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Snowflake.", - "title": "Snowflake" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Veeva.", - "title": "Veeva" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Zendesk.", - "title": "Zendesk" + "GlueDataCatalog": { + "$ref": "#/definitions/AWS::AppFlow::Flow.GlueDataCatalog", + "markdownDescription": "Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the AWS Glue Data Catalog .", + "title": "GlueDataCatalog" } }, "type": "object" }, - "AWS::AppFlow::ConnectorProfile.CustomAuthCredentials": { + "AWS::AppFlow::Flow.PardotSourceProperties": { "additionalProperties": false, "properties": { - "CredentialsMap": { - "additionalProperties": true, - "markdownDescription": "A map that holds custom authentication credentials.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "CredentialsMap", - "type": "object" - }, - "CustomAuthenticationType": { - "markdownDescription": "The custom authentication type that the connector uses.", - "title": "CustomAuthenticationType", + "Object": { + "markdownDescription": "The object specified in the Salesforce Pardot flow source.", + "title": "Object", "type": "string" } }, "required": [ - "CustomAuthenticationType" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials": { + "AWS::AppFlow::Flow.PrefixConfig": { "additionalProperties": false, "properties": { - "ApiKey": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ApiKeyCredentials", - "markdownDescription": "The API keys required for the authentication of the user.", - "title": "ApiKey" + "PathPrefixHierarchy": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies whether the destination file path includes either or both of the following elements:\n\n- **EXECUTION_ID** - The ID that Amazon AppFlow assigns to the flow run.\n- **SCHEMA_VERSION** - The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:\n\n- Source-to-destination field mappings\n- Field data types\n- Partition keys", + "title": "PathPrefixHierarchy", + "type": "array" }, - "AuthenticationType": { - "markdownDescription": "The authentication type that the custom connector uses for authenticating while creating a connector profile.", - "title": "AuthenticationType", + "PrefixFormat": { + "markdownDescription": "Determines the level of granularity for the date and time that's included in the prefix.", + "title": "PrefixFormat", "type": "string" }, - "Basic": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials", - "markdownDescription": "The basic credentials that are required for the authentication of the user.", - "title": "Basic" - }, - "Custom": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomAuthCredentials", - "markdownDescription": "If the connector uses the custom authentication mechanism, this holds the required credentials.", - "title": "Custom" - }, - "Oauth2": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Credentials", - "markdownDescription": "The OAuth 2.0 credentials required for the authentication of the user.", - "title": "Oauth2" + "PrefixType": { + "markdownDescription": "Determines the format of the prefix, and whether it applies to the file name, file path, or both.", + "title": "PrefixType", + "type": "string" } }, - "required": [ - "AuthenticationType" - ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties": { + "AWS::AppFlow::Flow.RedshiftDestinationProperties": { "additionalProperties": false, "properties": { - "OAuth2Properties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Properties", - "markdownDescription": "The OAuth 2.0 properties required for OAuth 2.0 authentication.", - "title": "OAuth2Properties" + "BucketPrefix": { + "markdownDescription": "The object key for the bucket in which Amazon AppFlow places the destination files.", + "title": "BucketPrefix", + "type": "string" }, - "ProfileProperties": { - "additionalProperties": true, - "markdownDescription": "A map of properties that are required to create a profile for the custom connector.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ProfileProperties", - "type": "object" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", - "title": "ApiKey", + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "markdownDescription": "The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.", + "title": "IntermediateBucketName", "type": "string" }, - "ApplicationKey": { - "markdownDescription": "Application keys, in conjunction with your API key, give you full access to Datadog\u2019s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.", - "title": "ApplicationKey", + "Object": { + "markdownDescription": "The object specified in the Amazon Redshift flow destination.", + "title": "Object", "type": "string" } }, "required": [ - "ApiKey", - "ApplicationKey" + "IntermediateBucketName", + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { + "AWS::AppFlow::Flow.S3DestinationProperties": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Datadog resource.", - "title": "InstanceUrl", + "BucketName": { + "markdownDescription": "The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.", + "title": "BucketName", "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", + "title": "BucketPrefix", + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig", + "markdownDescription": "The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.", + "title": "S3OutputFormatConfig" } }, "required": [ - "InstanceUrl" + "BucketName" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { + "AWS::AppFlow::Flow.S3InputFormatConfig": { "additionalProperties": false, "properties": { - "ApiToken": { - "markdownDescription": "The API tokens used by Dynatrace API to authenticate various API calls.", - "title": "ApiToken", + "S3InputFileType": { + "markdownDescription": "The file type that Amazon AppFlow gets from your Amazon S3 bucket.", + "title": "S3InputFileType", "type": "string" } }, - "required": [ - "ApiToken" - ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { + "AWS::AppFlow::Flow.S3OutputFormatConfig": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Dynatrace resource.", - "title": "InstanceUrl", + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig", + "markdownDescription": "The aggregation settings that you can use to customize the output format of your flow data.", + "title": "AggregationConfig" + }, + "FileType": { + "markdownDescription": "Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.", + "title": "FileType", "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig", + "markdownDescription": "Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.", + "title": "PrefixConfig" + }, + "PreserveSourceDataTyping": { + "markdownDescription": "If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.\n\n- `true` : Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or `1` in your source data is still an integer in your output.\n- `false` : Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of `1` in your source data becomes the string `\"1\"` in the output.", + "title": "PreserveSourceDataTyping", + "type": "boolean" } }, - "required": [ - "InstanceUrl" - ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { + "AWS::AppFlow::Flow.S3SourceProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Google Analytics resources.", - "title": "AccessToken", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", + "BucketName": { + "markdownDescription": "The Amazon S3 bucket name where the source files are stored.", + "title": "BucketName", "type": "string" }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", + "BucketPrefix": { + "markdownDescription": "The object key for the Amazon S3 bucket in which the source files are stored.", + "title": "BucketPrefix", "type": "string" }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" - }, - "RefreshToken": { - "markdownDescription": "The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.", - "title": "RefreshToken", - "type": "string" + "S3InputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3InputFormatConfig", + "markdownDescription": "When you use Amazon S3 as the source, the configuration format that you provide the flow input data.", + "title": "S3InputFormatConfig" } }, "required": [ - "ClientId", - "ClientSecret" + "BucketName", + "BucketPrefix" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SAPODataDestinationProperties": { "additionalProperties": false, "properties": { - "AccessKeyId": { - "markdownDescription": "The Access Key portion of the credentials.", - "title": "AccessKeyId", - "type": "string" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" }, - "Datakey": { - "markdownDescription": "The encryption keys used to encrypt data.", - "title": "Datakey", - "type": "string" + "IdFieldNames": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of field names that can be used as an ID field when performing a write operation.", + "title": "IdFieldNames", + "type": "array" }, - "SecretAccessKey": { - "markdownDescription": "The secret key used to sign requests.", - "title": "SecretAccessKey", + "ObjectPath": { + "markdownDescription": "The object path specified in the SAPOData flow destination.", + "title": "ObjectPath", "type": "string" }, - "UserId": { - "markdownDescription": "The identifier for the user.", - "title": "UserId", + "SuccessResponseHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SuccessResponseHandlingConfig", + "markdownDescription": "Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.\n\nFor example, this setting would determine where to write the response from a destination connector upon a successful insert operation.", + "title": "SuccessResponseHandlingConfig" + }, + "WriteOperationType": { + "markdownDescription": "The possible write operations in the destination connector. When this value is not provided, this defaults to the `INSERT` operation.", + "title": "WriteOperationType", "type": "string" } }, "required": [ - "AccessKeyId", - "Datakey", - "SecretAccessKey", - "UserId" + "ObjectPath" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { + "AWS::AppFlow::Flow.SAPODataPaginationConfig": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Infor Nexus resource.", - "title": "InstanceUrl", - "type": "string" + "maxPageSize": { + "markdownDescription": "The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000.", + "title": "maxPageSize", + "type": "number" } }, "required": [ - "InstanceUrl" + "maxPageSize" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SAPODataParallelismConfig": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Marketo resources.", - "title": "AccessToken", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", - "type": "string" - }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" + "maxParallelism": { + "markdownDescription": "The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application.", + "title": "maxParallelism", + "type": "number" } }, "required": [ - "ClientId", - "ClientSecret" + "maxParallelism" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { + "AWS::AppFlow::Flow.SAPODataSourceProperties": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Marketo resource.", - "title": "InstanceUrl", + "ObjectPath": { + "markdownDescription": "The object path specified in the SAPOData flow source.", + "title": "ObjectPath", "type": "string" + }, + "paginationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataPaginationConfig", + "markdownDescription": "Sets the page size for each concurrent process that transfers OData records from your SAP instance.", + "title": "paginationConfig" + }, + "parallelismConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataParallelismConfig", + "markdownDescription": "Sets the number of concurrent processes that transfers OData records from your SAP instance.", + "title": "parallelismConfig" } }, "required": [ - "InstanceUrl" + "ObjectPath" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.OAuth2Credentials": { + "AWS::AppFlow::Flow.SalesforceDestinationProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The access token used to access the connector on your behalf.", - "title": "AccessToken", + "DataTransferApi": { + "markdownDescription": "Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.\n\n- **AUTOMATIC** - The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.\n\nEach of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.\n\nBy choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.\n- **BULKV2** - Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.\n\nNote that Bulk API 2.0 does not transfer Salesforce compound fields.\n- **REST_SYNC** - Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.", + "title": "DataTransferApi", "type": "string" }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", - "type": "string" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", - "type": "string" + "IdFieldNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.", + "title": "IdFieldNames", + "type": "array" }, - "OAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "", - "title": "OAuthRequest" + "Object": { + "markdownDescription": "The object specified in the Salesforce flow destination.", + "title": "Object", + "type": "string" }, - "RefreshToken": { - "markdownDescription": "The refresh token used to refresh an expired access token.", - "title": "RefreshToken", + "WriteOperationType": { + "markdownDescription": "This specifies the type of write operation to be performed in Salesforce. When the value is `UPSERT` , then `idFieldNames` is required.", + "title": "WriteOperationType", "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.OAuth2Properties": { + "AWS::AppFlow::Flow.SalesforceSourceProperties": { "additionalProperties": false, "properties": { - "OAuth2GrantType": { - "markdownDescription": "The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.", - "title": "OAuth2GrantType", + "DataTransferApi": { + "markdownDescription": "Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.\n\n- **AUTOMATIC** - The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers from Salesforce. If your flow transfers fewer than 1,000,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.\n\nEach of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900,000 records, and it might use Bulk API 2.0 on the next day to transfer 1,100,000 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.\n\nBy choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.\n- **BULKV2** - Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.\n\nNote that Bulk API 2.0 does not transfer Salesforce compound fields.\n- **REST_SYNC** - Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail wituh a timed out error.", + "title": "DataTransferApi", "type": "string" }, - "TokenUrl": { - "markdownDescription": "The token URL required for OAuth 2.0 authentication.", - "title": "TokenUrl", - "type": "string" + "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" }, - "TokenUrlCustomProperties": { - "additionalProperties": true, - "markdownDescription": "Associates your token URL with a map of properties that you define. Use this parameter to provide any additional details that the connector requires to authenticate your request.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TokenUrlCustomProperties", - "type": "object" + "IncludeDeletedRecords": { + "markdownDescription": "Indicates whether Amazon AppFlow includes deleted files in the flow run.", + "title": "IncludeDeletedRecords", + "type": "boolean" + }, + "Object": { + "markdownDescription": "The object specified in the Salesforce flow source.", + "title": "Object", + "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.OAuthCredentials": { + "AWS::AppFlow::Flow.ScheduledTriggerProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The access token used to access protected SAPOData resources.", - "title": "AccessToken", + "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" }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", - "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" }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", - "type": "string" + "FlowErrorDeactivationThreshold": { + "markdownDescription": "Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.", + "title": "FlowErrorDeactivationThreshold", + "type": "number" }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "", - "title": "ConnectorOAuthRequest" + "ScheduleEndTime": { + "markdownDescription": "The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-27T13:00:00-07:00` .", + "title": "ScheduleEndTime", + "type": "number" }, - "RefreshToken": { - "markdownDescription": "The refresh token used to refresh expired access token.", - "title": "RefreshToken", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.OAuthProperties": { - "additionalProperties": false, - "properties": { - "AuthCodeUrl": { - "markdownDescription": "The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type authentication.", - "title": "AuthCodeUrl", + "ScheduleExpression": { + "markdownDescription": "The scheduling expression that determines the rate at which the schedule will run, for example `rate(5minutes)` .", + "title": "ScheduleExpression", "type": "string" }, - "OAuthScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "The OAuth scopes required for OAuth type authentication.", - "title": "OAuthScopes", - "type": "array" + "ScheduleOffset": { + "markdownDescription": "Specifies the optional offset that is added to the time interval for a schedule-triggered flow.", + "title": "ScheduleOffset", + "type": "number" }, - "TokenUrl": { - "markdownDescription": "The token url required to fetch access/refresh tokens using authorization code and also to refresh expired access token using refresh token.", - "title": "TokenUrl", + "ScheduleStartTime": { + "markdownDescription": "The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-26T13:00:00-07:00` .", + "title": "ScheduleStartTime", + "type": "number" + }, + "TimeZone": { + "markdownDescription": "Specifies the time zone used when referring to the dates and times of a scheduled flow, such as `America/New_York` . This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.\n\nIf you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the `America/New_York` timezone are `-04:00` EDT and `-05:00 EST` .", + "title": "TimeZone", "type": "string" } }, + "required": [ + "ScheduleExpression" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials": { + "AWS::AppFlow::Flow.ServiceNowSourceProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Salesforce Pardot resources.", - "title": "AccessToken", - "type": "string" - }, - "ClientCredentialsArn": { - "markdownDescription": "The secret manager ARN, which contains the client ID and client secret of the connected app.", - "title": "ClientCredentialsArn", - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "", - "title": "ConnectorOAuthRequest" - }, - "RefreshToken": { - "markdownDescription": "The credentials used to acquire new access tokens.", - "title": "RefreshToken", + "Object": { + "markdownDescription": "The object specified in the ServiceNow flow source.", + "title": "Object", "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties": { + "AWS::AppFlow::Flow.SingularSourceProperties": { "additionalProperties": false, "properties": { - "BusinessUnitId": { - "markdownDescription": "The business unit id of Salesforce Pardot instance.", - "title": "BusinessUnitId", - "type": "string" - }, - "InstanceUrl": { - "markdownDescription": "The location of the Salesforce Pardot resource.", - "title": "InstanceUrl", + "Object": { + "markdownDescription": "The object specified in the Singular flow source.", + "title": "Object", "type": "string" - }, - "IsSandboxEnvironment": { - "markdownDescription": "Indicates whether the connector profile applies to a sandbox or production environment.", - "title": "IsSandboxEnvironment", - "type": "boolean" } }, "required": [ - "BusinessUnitId" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SlackSourceProperties": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password that corresponds to the user name.", - "title": "Password", - "type": "string" - }, - "Username": { - "markdownDescription": "The name of the user.", - "title": "Username", + "Object": { + "markdownDescription": "The object specified in the Slack flow source.", + "title": "Object", "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { + "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "A name for the associated Amazon S3 bucket.", - "title": "BucketName", - "type": "string" - }, "BucketPrefix": { "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", "title": "BucketPrefix", "type": "string" }, - "ClusterIdentifier": { - "markdownDescription": "The unique ID that's assigned to an Amazon Redshift cluster.", - "title": "ClusterIdentifier", - "type": "string" - }, - "DataApiRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that permits Amazon AppFlow to access your Amazon Redshift database through the Data API. For more information, and for the polices that you attach to this role, see [Allow Amazon AppFlow to access Amazon Redshift databases with the Data API](https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#access-redshift) .", - "title": "DataApiRoleArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of an Amazon Redshift database.", - "title": "DatabaseName", - "type": "string" - }, - "DatabaseUrl": { - "markdownDescription": "The JDBC URL of the Amazon Redshift cluster.", - "title": "DatabaseUrl", - "type": "string" - }, - "IsRedshiftServerless": { - "markdownDescription": "Indicates whether the connector profile defines a connection to an Amazon Redshift Serverless data warehouse.", - "title": "IsRedshiftServerless", - "type": "boolean" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift read-only access to Amazon S3. For more information, and for the polices that you attach to this role, see [Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3](https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#redshift-access-s3) .", - "title": "RoleArn", + "IntermediateBucketName": { + "markdownDescription": "The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.", + "title": "IntermediateBucketName", "type": "string" }, - "WorkgroupName": { - "markdownDescription": "The name of an Amazon Redshift workgroup.", - "title": "WorkgroupName", + "Object": { + "markdownDescription": "The object specified in the Snowflake flow destination.", + "title": "Object", "type": "string" } }, "required": [ - "BucketName", - "RoleArn" + "IntermediateBucketName", + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SourceConnectorProperties": { "additionalProperties": false, "properties": { - "BasicAuthCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials", - "markdownDescription": "The SAPOData basic authentication credentials.", - "title": "BasicAuthCredentials" + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Amplitude.", + "title": "Amplitude" }, - "OAuthCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthCredentials", - "markdownDescription": "The SAPOData OAuth type authentication credentials.", - "title": "OAuthCredentials" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "ApplicationHostUrl": { - "markdownDescription": "The location of the SAPOData resource.", - "title": "ApplicationHostUrl", - "type": "string" + "CustomConnector": { + "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorSourceProperties", + "markdownDescription": "The properties that are applied when the custom connector is being used as a source.", + "title": "CustomConnector" }, - "ApplicationServicePath": { - "markdownDescription": "The application path to catalog service.", - "title": "ApplicationServicePath", - "type": "string" + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Datadog.", + "title": "Datadog" }, - "ClientNumber": { - "markdownDescription": "The client number for the client creating the connection.", - "title": "ClientNumber", - "type": "string" + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Dynatrace.", + "title": "Dynatrace" }, - "DisableSSO": { - "markdownDescription": "If you set this parameter to `true` , Amazon AppFlow bypasses the single sign-on (SSO) settings in your SAP account when it accesses your SAP OData instance.\n\nWhether you need this option depends on the types of credentials that you applied to your SAP OData connection profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from connecting to your account with your username and password. In this case, bypassing SSO makes it possible for Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no affect.", - "title": "DisableSSO", - "type": "boolean" + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Google Analytics.", + "title": "GoogleAnalytics" }, - "LogonLanguage": { - "markdownDescription": "The logon language of SAPOData instance.", - "title": "LogonLanguage", - "type": "string" + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Infor Nexus.", + "title": "InforNexus" }, - "OAuthProperties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthProperties", - "markdownDescription": "The SAPOData OAuth properties required for OAuth type authentication.", - "title": "OAuthProperties" + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Marketo.", + "title": "Marketo" }, - "PortNumber": { - "markdownDescription": "The port number of the SAPOData instance.", - "title": "PortNumber", - "type": "number" + "Pardot": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PardotSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Salesforce Pardot.", + "title": "Pardot" }, - "PrivateLinkServiceName": { - "markdownDescription": "The SAPOData Private Link service name to be used for private data transfers.", - "title": "PrivateLinkServiceName", - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties", + "markdownDescription": "Specifies the information that is required for querying Amazon S3.", + "title": "S3" + }, + "SAPOData": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataSourceProperties", + "markdownDescription": "The properties that are applied when using SAPOData as a flow source.", + "title": "SAPOData" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Salesforce.", + "title": "Salesforce" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties", + "markdownDescription": "Specifies the information that is required for querying ServiceNow.", + "title": "ServiceNow" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Singular.", + "title": "Singular" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Slack.", + "title": "Slack" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Trend Micro.", + "title": "Trendmicro" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Veeva.", + "title": "Veeva" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Zendesk.", + "title": "Zendesk" } }, "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SourceFlowConfig": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Salesforce resources.", - "title": "AccessToken", + "ApiVersion": { + "markdownDescription": "The API version of the connector when it's used as a source in the flow.", + "title": "ApiVersion", "type": "string" }, - "ClientCredentialsArn": { - "markdownDescription": "The secret manager ARN, which contains the client ID and client secret of the connected app.", - "title": "ClientCredentialsArn", + "ConnectorProfileName": { + "markdownDescription": "The name of the connector profile. This name must be unique for each connector profile in the AWS account .", + "title": "ConnectorProfileName", "type": "string" }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" - }, - "JwtToken": { - "markdownDescription": "A JSON web token (JWT) that authorizes Amazon AppFlow to access your Salesforce records.", - "title": "JwtToken", + "ConnectorType": { + "markdownDescription": "The type of connector, such as Salesforce, Amplitude, and so on.", + "title": "ConnectorType", "type": "string" }, - "OAuth2GrantType": { - "markdownDescription": "Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests an access token from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your Salesforce records.\n\nYou can specify one of the following values:\n\n- **AUTHORIZATION_CODE** - Amazon AppFlow passes an authorization code when it requests the access token from Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in to your Salesforce account and authorize Amazon AppFlow to access your records.\n- **JWT_BEARER** - Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to your Salesforce account. When you use this grant type, you don't need to log in to your Salesforce account to authorize Amazon AppFlow to access your records.\n\n> The CLIENT_CREDENTIALS value is not supported for Salesforce.", - "title": "OAuth2GrantType", - "type": "string" + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.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" }, - "RefreshToken": { - "markdownDescription": "The credentials used to acquire new access tokens.", - "title": "RefreshToken", - "type": "string" + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties", + "markdownDescription": "Specifies the information that is required to query a particular source connector.", + "title": "SourceConnectorProperties" } }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { + "AWS::AppFlow::Flow.SuccessResponseHandlingConfig": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Salesforce resource.", - "title": "InstanceUrl", + "BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket.", + "title": "BucketName", "type": "string" }, - "isSandboxEnvironment": { - "markdownDescription": "Indicates whether the connector profile applies to a sandbox or production environment.", - "title": "isSandboxEnvironment", - "type": "boolean" - }, - "usePrivateLinkForMetadataAndAuthorization": { - "markdownDescription": "If the connection mode for the connector profile is private, this parameter sets whether Amazon AppFlow uses the private network to send metadata and authorization calls to Salesforce. Amazon AppFlow sends private calls through AWS PrivateLink . These calls travel through AWS infrastructure without being exposed to the public internet.\n\nSet either of the following values:\n\n- **true** - Amazon AppFlow sends all calls to Salesforce over the private network.\n\nThese private calls are:\n\n- Calls to get metadata about your Salesforce records. This metadata describes your Salesforce objects and their fields.\n- Calls to get or refresh access tokens that allow Amazon AppFlow to access your Salesforce records.\n- Calls to transfer your Salesforce records as part of a flow run.\n- **false** - The default value. Amazon AppFlow sends some calls to Salesforce privately and other calls over the public internet.\n\nThe public calls are:\n\n- Calls to get metadata about your Salesforce records.\n- Calls to get or refresh access tokens.\n\nThe private calls are:\n\n- Calls to transfer your Salesforce records as part of a flow run.", - "title": "usePrivateLinkForMetadataAndAuthorization", - "type": "boolean" + "BucketPrefix": { + "markdownDescription": "The Amazon S3 bucket prefix.", + "title": "BucketPrefix", + "type": "string" } }, "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { + "AWS::AppFlow::Flow.Task": { "additionalProperties": false, "properties": { - "OAuth2Credentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Credentials", - "markdownDescription": "The OAuth 2.0 credentials required to authenticate the user.", - "title": "OAuth2Credentials" + "ConnectorOperator": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator", + "markdownDescription": "The operation to be performed on the provided source fields.", + "title": "ConnectorOperator" }, - "Password": { - "markdownDescription": "The password that corresponds to the user name.", - "title": "Password", + "DestinationField": { + "markdownDescription": "A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.", + "title": "DestinationField", "type": "string" }, - "Username": { - "markdownDescription": "The name of the user.", - "title": "Username", + "SourceFields": { + "items": { + "type": "string" + }, + "markdownDescription": "The source fields to which a particular task is applied.", + "title": "SourceFields", + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" + }, + "markdownDescription": "A map used to store task-related information. The execution service looks for particular information based on the `TaskType` .", + "title": "TaskProperties", + "type": "array" + }, + "TaskType": { + "markdownDescription": "Specifies the particular task implementation that Amazon AppFlow performs.\n\n*Allowed values* : `Arithmetic` | `Filter` | `Map` | `Map_all` | `Mask` | `Merge` | `Truncate` | `Validate`", + "title": "TaskType", "type": "string" } }, + "required": [ + "SourceFields", + "TaskType" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { + "AWS::AppFlow::Flow.TaskPropertiesObject": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the ServiceNow resource.", - "title": "InstanceUrl", + "Key": { + "markdownDescription": "The task property key.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The task property value.", + "title": "Value", "type": "string" } }, "required": [ - "InstanceUrl" + "Key", + "Value" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { + "AWS::AppFlow::Flow.TrendmicroSourceProperties": { "additionalProperties": false, "properties": { - "ApiKey": { - "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", - "title": "ApiKey", + "Object": { + "markdownDescription": "The object specified in the Trend Micro flow source.", + "title": "Object", "type": "string" } }, "required": [ - "ApiKey" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { + "AWS::AppFlow::Flow.TriggerConfig": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Slack resources.", - "title": "AccessToken", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The identifier for the client.", - "title": "ClientId", - "type": "string" - }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Slack resource.", - "title": "InstanceUrl", - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "markdownDescription": "The password that corresponds to the user name.", - "title": "Password", - "type": "string" + "TriggerProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties", + "markdownDescription": "Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the `Scheduled` trigger type.", + "title": "TriggerProperties" }, - "Username": { - "markdownDescription": "The name of the user.", - "title": "Username", + "TriggerType": { + "markdownDescription": "Specifies the type of flow trigger. This can be `OnDemand` , `Scheduled` , or `Event` .", + "title": "TriggerType", "type": "string" } }, "required": [ - "Password", - "Username" + "TriggerType" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { "additionalProperties": false, "properties": { - "AccountName": { - "markdownDescription": "The name of the account.", - "title": "AccountName", - "type": "string" - }, "BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket associated with Snowflake.", + "markdownDescription": "The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.", "title": "BucketName", "type": "string" }, "BucketPrefix": { - "markdownDescription": "The bucket path that refers to the Amazon S3 bucket associated with Snowflake.", + "markdownDescription": "The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.", "title": "BucketPrefix", "type": "string" }, - "PrivateLinkServiceName": { - "markdownDescription": "The Snowflake Private Link service name to be used for private data transfers.", - "title": "PrivateLinkServiceName", - "type": "string" - }, - "Region": { - "markdownDescription": "The AWS Region of the Snowflake account.", - "title": "Region", - "type": "string" - }, - "Stage": { - "markdownDescription": "The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema>.", - "title": "Stage", - "type": "string" - }, - "Warehouse": { - "markdownDescription": "The name of the Snowflake warehouse.", - "title": "Warehouse", - "type": "string" + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig", + "markdownDescription": "The configuration that determines how data is formatted when Upsolver is used as the flow destination.", + "title": "S3OutputFormatConfig" } }, "required": [ "BucketName", - "Stage", - "Warehouse" + "S3OutputFormatConfig" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { "additionalProperties": false, "properties": { - "ApiSecretKey": { - "markdownDescription": "The Secret Access Key portion of the credentials.", - "title": "ApiSecretKey", + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig", + "markdownDescription": "The aggregation settings that you can use to customize the output format of your flow data.", + "title": "AggregationConfig" + }, + "FileType": { + "markdownDescription": "Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.", + "title": "FileType", "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig", + "markdownDescription": "Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.", + "title": "PrefixConfig" } }, "required": [ - "ApiSecretKey" + "PrefixConfig" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { + "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password that corresponds to the user name.", - "title": "Password", + "DocumentType": { + "markdownDescription": "The document type specified in the Veeva document extract flow.", + "title": "DocumentType", "type": "string" }, - "Username": { - "markdownDescription": "The name of the user.", - "title": "Username", - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Veeva resource.", - "title": "InstanceUrl", + "IncludeAllVersions": { + "markdownDescription": "Boolean value to include All Versions of files in Veeva document extract flow.", + "title": "IncludeAllVersions", + "type": "boolean" + }, + "IncludeRenditions": { + "markdownDescription": "Boolean value to include file renditions in Veeva document extract flow.", + "title": "IncludeRenditions", + "type": "boolean" + }, + "IncludeSourceFiles": { + "markdownDescription": "Boolean value to include source files in Veeva document extract flow.", + "title": "IncludeSourceFiles", + "type": "boolean" + }, + "Object": { + "markdownDescription": "The object specified in the Veeva flow source.", + "title": "Object", "type": "string" } }, "required": [ - "InstanceUrl" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { + "AWS::AppFlow::Flow.ZendeskDestinationProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Zendesk resources.", - "title": "AccessToken", - "type": "string" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", - "type": "string" + "IdFieldNames": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of field names that can be used as an ID field when performing a write operation.", + "title": "IdFieldNames", + "type": "array" }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", + "Object": { + "markdownDescription": "The object specified in the Zendesk flow destination.", + "title": "Object", "type": "string" }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" + "WriteOperationType": { + "markdownDescription": "The possible write operations in the destination connector. When this value is not provided, this defaults to the `INSERT` operation.", + "title": "WriteOperationType", + "type": "string" } }, "required": [ - "ClientId", - "ClientSecret" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { + "AWS::AppFlow::Flow.ZendeskSourceProperties": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Zendesk resource.", - "title": "InstanceUrl", + "Object": { + "markdownDescription": "The object specified in the Zendesk flow source.", + "title": "Object", "type": "string" } }, "required": [ - "InstanceUrl" + "Object" ], "type": "object" }, - "AWS::AppFlow::Flow": { + "AWS::AppIntegrations::Application": { "additionalProperties": false, "properties": { "Condition": { @@ -15532,78 +15456,76 @@ "Properties": { "additionalProperties": false, "properties": { + "ApplicationConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationConfig", + "markdownDescription": "", + "title": "ApplicationConfig" + }, + "ApplicationSourceConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig", + "markdownDescription": "The configuration for where the application should be loaded from.", + "title": "ApplicationSourceConfig" + }, + "ApplicationType": { + "type": "string" + }, "Description": { - "markdownDescription": "A user-entered description of the flow.", + "markdownDescription": "The description of the application.", "title": "Description", "type": "string" }, - "DestinationFlowConfigList": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" - }, - "markdownDescription": "The configuration that controls how Amazon AppFlow places data in the destination connector.", - "title": "DestinationFlowConfigList", - "type": "array" + "IframeConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.IframeConfig", + "markdownDescription": "", + "title": "IframeConfig" }, - "FlowName": { - "markdownDescription": "The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.", - "title": "FlowName", - "type": "string" + "InitializationTimeout": { + "markdownDescription": "", + "title": "InitializationTimeout", + "type": "number" }, - "FlowStatus": { - "markdownDescription": "Sets the status of the flow. You can specify one of the following values:\n\n- **Active** - The flow runs based on the trigger settings that you defined. Active scheduled flows run as scheduled, and active event-triggered flows run when the specified change event occurs. However, active on-demand flows run only when you manually start them by using Amazon AppFlow.\n- **Suspended** - You can use this option to deactivate an active flow. Scheduled and event-triggered flows will cease to run until you reactive them. This value only affects scheduled and event-triggered flows. It has no effect for on-demand flows.\n\nIf you omit the FlowStatus parameter, Amazon AppFlow creates the flow with a default status. The default status for on-demand flows is Active. The default status for scheduled and event-triggered flows is Draft, which means they\u2019re not yet active.", - "title": "FlowStatus", - "type": "string" + "IsService": { + "markdownDescription": "Indicates whether the application is a service.", + "title": "IsService", + "type": "boolean" }, - "KMSArn": { - "markdownDescription": "The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.", - "title": "KMSArn", + "Name": { + "markdownDescription": "The name of the application.", + "title": "Name", "type": "string" }, - "MetadataCatalogConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MetadataCatalogConfig", - "markdownDescription": "Specifies the configuration that Amazon AppFlow uses when it catalogs your data. When Amazon AppFlow catalogs your data, it stores metadata in a data catalog.", - "title": "MetadataCatalogConfig" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig", - "markdownDescription": "Contains information about the configuration of the source connector used in the flow.", - "title": "SourceFlowConfig" + "Namespace": { + "markdownDescription": "The namespace of the application.", + "title": "Namespace", + "type": "string" }, - "Tags": { + "Permissions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags used to organize, track, or control access for your flow.", - "title": "Tags", + "markdownDescription": "", + "title": "Permissions", "type": "array" }, - "Tasks": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.Task" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.", - "title": "Tasks", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig", - "markdownDescription": "The trigger settings that determine how and when Amazon AppFlow runs the specified flow.", - "title": "TriggerConfig" } }, "required": [ - "DestinationFlowConfigList", - "FlowName", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" + "ApplicationSourceConfig", + "Name", + "Namespace" ], "type": "object" }, "Type": { "enum": [ - "AWS::AppFlow::Flow" + "AWS::AppIntegrations::Application" ], "type": "string" }, @@ -15622,1295 +15544,921 @@ ], "type": "object" }, - "AWS::AppFlow::Flow.AggregationConfig": { + "AWS::AppIntegrations::Application.ApplicationConfig": { "additionalProperties": false, "properties": { - "AggregationType": { - "markdownDescription": "Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.", - "title": "AggregationType", - "type": "string" - }, - "TargetFileSize": { - "markdownDescription": "The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.", - "title": "TargetFileSize", - "type": "number" + "ContactHandling": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ContactHandling", + "markdownDescription": "", + "title": "ContactHandling" } }, "type": "object" }, - "AWS::AppFlow::Flow.AmplitudeSourceProperties": { + "AWS::AppIntegrations::Application.ApplicationSourceConfig": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Amplitude flow source.", - "title": "Object", - "type": "string" + "ExternalUrlConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig", + "markdownDescription": "The external URL source for the application.", + "title": "ExternalUrlConfig" } }, "required": [ - "Object" + "ExternalUrlConfig" ], "type": "object" }, - "AWS::AppFlow::Flow.ConnectorOperator": { + "AWS::AppIntegrations::Application.ContactHandling": { "additionalProperties": false, "properties": { - "Amplitude": { - "markdownDescription": "The operation to be performed on the provided Amplitude source fields.", - "title": "Amplitude", - "type": "string" - }, - "CustomConnector": { - "markdownDescription": "Operators supported by the custom connector.", - "title": "CustomConnector", - "type": "string" - }, - "Datadog": { - "markdownDescription": "The operation to be performed on the provided Datadog source fields.", - "title": "Datadog", - "type": "string" - }, - "Dynatrace": { - "markdownDescription": "The operation to be performed on the provided Dynatrace source fields.", - "title": "Dynatrace", - "type": "string" - }, - "GoogleAnalytics": { - "markdownDescription": "The operation to be performed on the provided Google Analytics source fields.", - "title": "GoogleAnalytics", - "type": "string" - }, - "InforNexus": { - "markdownDescription": "The operation to be performed on the provided Infor Nexus source fields.", - "title": "InforNexus", - "type": "string" - }, - "Marketo": { - "markdownDescription": "The operation to be performed on the provided Marketo source fields.", - "title": "Marketo", - "type": "string" - }, - "Pardot": { - "markdownDescription": "The operation to be performed on the provided Salesforce Pardot source fields.", - "title": "Pardot", + "Scope": { + "markdownDescription": "", + "title": "Scope", "type": "string" - }, - "S3": { - "markdownDescription": "The operation to be performed on the provided Amazon S3 source fields.", - "title": "S3", + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "additionalProperties": false, + "properties": { + "AccessUrl": { + "markdownDescription": "The URL to access the application.", + "title": "AccessUrl", "type": "string" }, - "SAPOData": { - "markdownDescription": "The operation to be performed on the provided SAPOData source fields.", - "title": "SAPOData", - "type": "string" + "ApprovedOrigins": { + "items": { + "type": "string" + }, + "markdownDescription": "Additional URLs to allow list if different than the access URL.", + "title": "ApprovedOrigins", + "type": "array" + } + }, + "required": [ + "AccessUrl" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.IframeConfig": { + "additionalProperties": false, + "properties": { + "Allow": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Allow", + "type": "array" }, - "Salesforce": { - "markdownDescription": "The operation to be performed on the provided Salesforce source fields.", - "title": "Salesforce", + "Sandbox": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Sandbox", + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppIntegrations::DataIntegration": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "ServiceNow": { - "markdownDescription": "The operation to be performed on the provided ServiceNow source fields.", - "title": "ServiceNow", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Singular": { - "markdownDescription": "The operation to be performed on the provided Singular source fields.", - "title": "Singular", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Slack": { - "markdownDescription": "The operation to be performed on the provided Slack source fields.", - "title": "Slack", - "type": "string" + "Metadata": { + "type": "object" }, - "Trendmicro": { - "markdownDescription": "The operation to be performed on the provided Trend Micro source fields.", - "title": "Trendmicro", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description of the DataIntegration.", + "title": "Description", + "type": "string" + }, + "FileConfiguration": { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.FileConfiguration", + "markdownDescription": "The configuration for what files should be pulled from the source.", + "title": "FileConfiguration" + }, + "KmsKey": { + "markdownDescription": "The KMS key for the DataIntegration.", + "title": "KmsKey", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the DataIntegration.", + "title": "Name", + "type": "string" + }, + "ObjectConfiguration": { + "markdownDescription": "The configuration for what data should be pulled from the source.", + "title": "ObjectConfiguration", + "type": "object" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.ScheduleConfig", + "markdownDescription": "The name of the data and how often it should be pulled from the source.", + "title": "ScheduleConfig" + }, + "SourceURI": { + "markdownDescription": "The URI of the data source.", + "title": "SourceURI", + "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": [ + "KmsKey", + "Name", + "SourceURI" + ], + "type": "object" }, - "Veeva": { - "markdownDescription": "The operation to be performed on the provided Veeva source fields.", - "title": "Veeva", + "Type": { + "enum": [ + "AWS::AppIntegrations::DataIntegration" + ], "type": "string" }, - "Zendesk": { - "markdownDescription": "The operation to be performed on the provided Zendesk source fields.", - "title": "Zendesk", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::AppFlow::Flow.CustomConnectorDestinationProperties": { + "AWS::AppIntegrations::DataIntegration.FileConfiguration": { "additionalProperties": false, "properties": { - "CustomProperties": { - "additionalProperties": true, - "markdownDescription": "The custom properties that are specific to the connector when it's used as a destination in the flow.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "CustomProperties", + "Filters": { + "markdownDescription": "Restrictions for what files should be pulled from the source.", + "title": "Filters", "type": "object" }, - "EntityName": { - "markdownDescription": "The entity specified in the custom connector as a destination in the flow.", - "title": "EntityName", - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.", - "title": "ErrorHandlingConfig" - }, - "IdFieldNames": { + "Folders": { "items": { "type": "string" }, - "markdownDescription": "The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update, delete, or upsert.", - "title": "IdFieldNames", + "markdownDescription": "Identifiers for the source folders to pull all files from recursively.", + "title": "Folders", "type": "array" - }, - "WriteOperationType": { - "markdownDescription": "Specifies the type of write operation to be performed in the custom connector when it's used as destination.", - "title": "WriteOperationType", - "type": "string" } }, "required": [ - "EntityName" + "Folders" ], "type": "object" }, - "AWS::AppFlow::Flow.CustomConnectorSourceProperties": { + "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { "additionalProperties": false, "properties": { - "CustomProperties": { - "additionalProperties": true, - "markdownDescription": "Custom properties that are required to use the custom connector as a source.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "CustomProperties", - "type": "object" + "FirstExecutionFrom": { + "markdownDescription": "The start date for objects to import in the first flow run as an Unix/epoch timestamp in milliseconds or in ISO-8601 format.", + "title": "FirstExecutionFrom", + "type": "string" }, - "DataTransferApi": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DataTransferApi", - "markdownDescription": "The API of the connector application that Amazon AppFlow uses to transfer your data.", - "title": "DataTransferApi" + "Object": { + "markdownDescription": "The name of the object to pull from the data source.", + "title": "Object", + "type": "string" }, - "EntityName": { - "markdownDescription": "The entity specified in the custom connector as a source in the flow.", - "title": "EntityName", + "ScheduleExpression": { + "markdownDescription": "How often the data should be pulled from data source.", + "title": "ScheduleExpression", "type": "string" } }, "required": [ - "EntityName" + "ScheduleExpression" ], "type": "object" }, - "AWS::AppFlow::Flow.DataTransferApi": { + "AWS::AppIntegrations::EventIntegration": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the connector application API.", - "title": "Name", + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "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 event integration description.", + "title": "Description", + "type": "string" + }, + "EventBridgeBus": { + "markdownDescription": "The Amazon EventBridge bus for the event integration.", + "title": "EventBridgeBus", + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter", + "markdownDescription": "The event integration filter.", + "title": "EventFilter" + }, + "Name": { + "markdownDescription": "The name of the event integration.", + "title": "Name", + "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": [ + "EventBridgeBus", + "EventFilter", + "Name" + ], + "type": "object" + }, "Type": { - "markdownDescription": "You can specify one of the following types:\n\n- **AUTOMATIC** - The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.\n- **SYNC** - A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.\n- **ASYNC** - An asynchronous API. This type of API optimizes a flow for large datasets.", - "title": "Type", + "enum": [ + "AWS::AppIntegrations::EventIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name", - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::AppFlow::Flow.DatadogSourceProperties": { + "AWS::AppIntegrations::EventIntegration.EventFilter": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Datadog flow source.", - "title": "Object", + "Source": { + "markdownDescription": "The source of the events.", + "title": "Source", "type": "string" } }, "required": [ - "Object" + "Source" ], "type": "object" }, - "AWS::AppFlow::Flow.DestinationConnectorProperties": { + "AWS::AppMesh::GatewayRoute": { "additionalProperties": false, "properties": { - "CustomConnector": { - "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorDestinationProperties", - "markdownDescription": "The properties that are required to query the custom Connector.", - "title": "CustomConnector" - }, - "EventBridge": { - "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties", - "markdownDescription": "The properties required to query Amazon EventBridge.", - "title": "EventBridge" - }, - "LookoutMetrics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties", - "markdownDescription": "The properties required to query Amazon Lookout for Metrics.", - "title": "LookoutMetrics" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoDestinationProperties", - "markdownDescription": "The properties required to query Marketo.", - "title": "Marketo" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties", - "markdownDescription": "The properties required to query Amazon Redshift.", - "title": "Redshift" + "Condition": { + "type": "string" }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties", - "markdownDescription": "The properties required to query Amazon S3.", - "title": "S3" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SAPOData": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataDestinationProperties", - "markdownDescription": "The properties required to query SAPOData.", - "title": "SAPOData" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties", - "markdownDescription": "The properties required to query Salesforce.", - "title": "Salesforce" + "Metadata": { + "type": "object" }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties", - "markdownDescription": "The properties required to query Snowflake.", - "title": "Snowflake" + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "markdownDescription": "The name of the gateway route.", + "title": "GatewayRouteName", + "type": "string" + }, + "MeshName": { + "markdownDescription": "The name of the service mesh that the resource resides in.", + "title": "MeshName", + "type": "string" + }, + "MeshOwner": { + "markdownDescription": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .", + "title": "MeshOwner", + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec", + "markdownDescription": "The specifications of the gateway route.", + "title": "Spec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Optional metadata that you can apply to the gateway route to assist with categorization and organization. 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": "Tags", + "type": "array" + }, + "VirtualGatewayName": { + "markdownDescription": "The virtual gateway that the gateway route is associated with.", + "title": "VirtualGatewayName", + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" }, - "Upsolver": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties", - "markdownDescription": "The properties required to query Upsolver.", - "title": "Upsolver" + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties", - "markdownDescription": "The properties required to query Zendesk.", - "title": "Zendesk" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::AppFlow::Flow.DestinationFlowConfig": { + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch": { "additionalProperties": false, "properties": { - "ApiVersion": { - "markdownDescription": "The API version that the destination connector uses.", - "title": "ApiVersion", - "type": "string" - }, - "ConnectorProfileName": { - "markdownDescription": "The name of the connector profile. This name must be unique for each connector profile in the AWS account .", - "title": "ConnectorProfileName", + "Exact": { + "markdownDescription": "The exact host name to match on.", + "title": "Exact", "type": "string" }, - "ConnectorType": { - "markdownDescription": "The type of destination connector, such as Sales force, Amazon S3, and so on.", - "title": "ConnectorType", + "Suffix": { + "markdownDescription": "The specified ending characters of the host name to match on.", + "title": "Suffix", "type": "string" - }, - "DestinationConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties", - "markdownDescription": "This stores the information that is required to query a particular connector.", - "title": "DestinationConnectorProperties" } }, - "required": [ - "ConnectorType", - "DestinationConnectorProperties" - ], "type": "object" }, - "AWS::AppFlow::Flow.DynatraceSourceProperties": { + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Dynatrace flow source.", - "title": "Object", + "DefaultTargetHostname": { + "markdownDescription": "The default target host name to write to.", + "title": "DefaultTargetHostname", "type": "string" } }, - "required": [ - "Object" - ], "type": "object" }, - "AWS::AppFlow::Flow.ErrorHandlingConfig": { + "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "Specifies the name of the Amazon S3 bucket.", - "title": "BucketName", + "Exact": { + "markdownDescription": "The exact method header to be matched on.", + "title": "Exact", "type": "string" }, - "BucketPrefix": { - "markdownDescription": "Specifies the Amazon S3 bucket prefix.", - "title": "BucketPrefix", + "Prefix": { + "markdownDescription": "The specified beginning characters of the method header to be matched on.", + "title": "Prefix", "type": "string" }, - "FailOnFirstError": { - "markdownDescription": "Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.", - "title": "FailOnFirstError", - "type": "boolean" + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch", + "markdownDescription": "An object that represents the range of values to match on.", + "title": "Range" + }, + "Regex": { + "markdownDescription": "The regex used to match the method header.", + "title": "Regex", + "type": "string" + }, + "Suffix": { + "markdownDescription": "The specified ending characters of the method header to match on.", + "title": "Suffix", + "type": "string" } }, "type": "object" }, - "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { + "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch": { "additionalProperties": false, "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The object specified in the Amplitude flow source.", - "title": "ErrorHandlingConfig" + "End": { + "markdownDescription": "The end of the range.", + "title": "End", + "type": "number" }, - "Object": { - "markdownDescription": "The object specified in the Amazon EventBridge flow destination.", - "title": "Object", - "type": "string" + "Start": { + "markdownDescription": "The start of the range.", + "title": "Start", + "type": "number" } }, "required": [ - "Object" + "End", + "Start" ], "type": "object" }, - "AWS::AppFlow::Flow.GlueDataCatalog": { + "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { "additionalProperties": false, "properties": { - "DatabaseName": { - "markdownDescription": "", - "title": "DatabaseName", - "type": "string" + "GrpcRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRoute", + "markdownDescription": "An object that represents the specification of a gRPC gateway route.", + "title": "GrpcRoute" }, - "RoleArn": { - "markdownDescription": "", - "title": "RoleArn", - "type": "string" + "Http2Route": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute", + "markdownDescription": "An object that represents the specification of an HTTP/2 gateway route.", + "title": "Http2Route" }, - "TablePrefix": { - "markdownDescription": "", - "title": "TablePrefix", - "type": "string" + "HttpRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute", + "markdownDescription": "An object that represents the specification of an HTTP gateway route.", + "title": "HttpRoute" + }, + "Priority": { + "markdownDescription": "The ordering of the gateway routes spec.", + "title": "Priority", + "type": "number" } }, - "required": [ - "DatabaseName", - "RoleArn", - "TablePrefix" - ], "type": "object" }, - "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Google Analytics flow source.", - "title": "Object", - "type": "string" + "Port": { + "markdownDescription": "The port number of the gateway route target.", + "title": "Port", + "type": "number" + }, + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService", + "markdownDescription": "An object that represents a virtual service gateway route target.", + "title": "VirtualService" } }, "required": [ - "Object" + "VirtualService" ], "type": "object" }, - "AWS::AppFlow::Flow.IncrementalPullConfig": { + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { "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", + "VirtualServiceName": { + "markdownDescription": "The name of the virtual service that traffic is routed to.", + "title": "VirtualServiceName", "type": "string" } }, + "required": [ + "VirtualServiceName" + ], "type": "object" }, - "AWS::AppFlow::Flow.InforNexusSourceProperties": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Infor Nexus flow source.", - "title": "Object", - "type": "string" + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction", + "markdownDescription": "An object that represents the action to take if a match is determined.", + "title": "Action" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch", + "markdownDescription": "An object that represents the criteria for determining a request match.", + "title": "Match" } }, "required": [ - "Object" + "Action", + "Match" ], "type": "object" }, - "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Amazon Lookout for Metrics flow destination.", - "title": "Object", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.MarketoDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite", + "markdownDescription": "The gateway route action to rewrite.", + "title": "Rewrite" }, - "Object": { - "markdownDescription": "The object specified in the Marketo flow destination.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Marketo flow source.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.MetadataCatalogConfig": { - "additionalProperties": false, - "properties": { - "GlueDataCatalog": { - "$ref": "#/definitions/AWS::AppFlow::Flow.GlueDataCatalog", - "markdownDescription": "Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the AWS Glue Data Catalog .", - "title": "GlueDataCatalog" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.PardotSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Salesforce Pardot flow source.", - "title": "Object", - "type": "string" + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget", + "markdownDescription": "An object that represents the target that traffic is routed to when a request matches the gateway route.", + "title": "Target" } }, "required": [ - "Object" + "Target" ], "type": "object" }, - "AWS::AppFlow::Flow.PrefixConfig": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { "additionalProperties": false, "properties": { - "PathPrefixHierarchy": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch", + "markdownDescription": "The gateway route host name to be matched on.", + "title": "Hostname" + }, + "Metadata": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata" }, - "markdownDescription": "Specifies whether the destination file path includes either or both of the following elements:\n\n- **EXECUTION_ID** - The ID that Amazon AppFlow assigns to the flow run.\n- **SCHEMA_VERSION** - The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:\n\n- Source-to-destination field mappings\n- Field data types\n- Partition keys", - "title": "PathPrefixHierarchy", + "markdownDescription": "The gateway route metadata to be matched on.", + "title": "Metadata", "type": "array" }, - "PrefixFormat": { - "markdownDescription": "Determines the level of granularity for the date and time that's included in the prefix.", - "title": "PrefixFormat", - "type": "string" - }, - "PrefixType": { - "markdownDescription": "Determines the format of the prefix, and whether it applies to the file name, file path, or both.", - "title": "PrefixType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.RedshiftDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "markdownDescription": "The object key for the bucket in which Amazon AppFlow places the destination files.", - "title": "BucketPrefix", - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "markdownDescription": "The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.", - "title": "IntermediateBucketName", - "type": "string" - }, - "Object": { - "markdownDescription": "The object specified in the Amazon Redshift flow destination.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3DestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", - "title": "BucketPrefix", - "type": "string" + "Port": { + "markdownDescription": "The gateway route port to be matched on.", + "title": "Port", + "type": "number" }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig", - "markdownDescription": "The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.", - "title": "S3OutputFormatConfig" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3InputFormatConfig": { - "additionalProperties": false, - "properties": { - "S3InputFileType": { - "markdownDescription": "The file type that Amazon AppFlow gets from your Amazon S3 bucket.", - "title": "S3InputFileType", + "ServiceName": { + "markdownDescription": "The fully qualified domain name for the service to match from the request.", + "title": "ServiceName", "type": "string" } }, "type": "object" }, - "AWS::AppFlow::Flow.S3OutputFormatConfig": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata": { "additionalProperties": false, "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig", - "markdownDescription": "The aggregation settings that you can use to customize the output format of your flow data.", - "title": "AggregationConfig" - }, - "FileType": { - "markdownDescription": "Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.", - "title": "FileType", - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig", - "markdownDescription": "Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.", - "title": "PrefixConfig" - }, - "PreserveSourceDataTyping": { - "markdownDescription": "If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.\n\n- `true` : Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or `1` in your source data is still an integer in your output.\n- `false` : Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of `1` in your source data becomes the string `\"1\"` in the output.", - "title": "PreserveSourceDataTyping", + "Invert": { + "markdownDescription": "Specify `True` to match anything except the match criteria. The default value is `False` .", + "title": "Invert", "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The Amazon S3 bucket name where the source files are stored.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "The object key for the Amazon S3 bucket in which the source files are stored.", - "title": "BucketPrefix", - "type": "string" - }, - "S3InputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3InputFormatConfig", - "markdownDescription": "When you use Amazon S3 as the source, the configuration format that you provide the flow input data.", - "title": "S3InputFormatConfig" - } - }, - "required": [ - "BucketName", - "BucketPrefix" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SAPODataDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of field names that can be used as an ID field when performing a write operation.", - "title": "IdFieldNames", - "type": "array" - }, - "ObjectPath": { - "markdownDescription": "The object path specified in the SAPOData flow destination.", - "title": "ObjectPath", - "type": "string" }, - "SuccessResponseHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SuccessResponseHandlingConfig", - "markdownDescription": "Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.\n\nFor example, this setting would determine where to write the response from a destination connector upon a successful insert operation.", - "title": "SuccessResponseHandlingConfig" + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch", + "markdownDescription": "The criteria for determining a metadata match.", + "title": "Match" }, - "WriteOperationType": { - "markdownDescription": "The possible write operations in the destination connector. When this value is not provided, this defaults to the `INSERT` operation.", - "title": "WriteOperationType", + "Name": { + "markdownDescription": "A name for the gateway route metadata.", + "title": "Name", "type": "string" } }, "required": [ - "ObjectPath" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SAPODataPaginationConfig": { - "additionalProperties": false, - "properties": { - "maxPageSize": { - "markdownDescription": "The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000.", - "title": "maxPageSize", - "type": "number" - } - }, - "required": [ - "maxPageSize" + "Name" ], "type": "object" }, - "AWS::AppFlow::Flow.SAPODataParallelismConfig": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite": { "additionalProperties": false, "properties": { - "maxParallelism": { - "markdownDescription": "The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application.", - "title": "maxParallelism", - "type": "number" + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite", + "markdownDescription": "The host name of the gateway route to rewrite.", + "title": "Hostname" } }, - "required": [ - "maxParallelism" - ], "type": "object" }, - "AWS::AppFlow::Flow.SAPODataSourceProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { "additionalProperties": false, "properties": { - "ObjectPath": { - "markdownDescription": "The object path specified in the SAPOData flow source.", - "title": "ObjectPath", - "type": "string" - }, - "paginationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataPaginationConfig", - "markdownDescription": "Sets the page size for each concurrent process that transfers OData records from your SAP instance.", - "title": "paginationConfig" + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction", + "markdownDescription": "An object that represents the action to take if a match is determined.", + "title": "Action" }, - "parallelismConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataParallelismConfig", - "markdownDescription": "Sets the number of concurrent processes that transfers OData records from your SAP instance.", - "title": "parallelismConfig" + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch", + "markdownDescription": "An object that represents the criteria for determining a request match.", + "title": "Match" } }, "required": [ - "ObjectPath" + "Action", + "Match" ], "type": "object" }, - "AWS::AppFlow::Flow.SalesforceDestinationProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { "additionalProperties": false, "properties": { - "DataTransferApi": { - "markdownDescription": "Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.\n\n- **AUTOMATIC** - The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.\n\nEach of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.\n\nBy choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.\n- **BULKV2** - Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.\n\nNote that Bulk API 2.0 does not transfer Salesforce compound fields.\n- **REST_SYNC** - Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.", - "title": "DataTransferApi", - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.", - "title": "IdFieldNames", - "type": "array" - }, - "Object": { - "markdownDescription": "The object specified in the Salesforce flow destination.", - "title": "Object", - "type": "string" + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite", + "markdownDescription": "The gateway route action to rewrite.", + "title": "Rewrite" }, - "WriteOperationType": { - "markdownDescription": "This specifies the type of write operation to be performed in Salesforce. When the value is `UPSERT` , then `idFieldNames` is required.", - "title": "WriteOperationType", - "type": "string" + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget", + "markdownDescription": "An object that represents the target that traffic is routed to when a request matches the gateway route.", + "title": "Target" } }, "required": [ - "Object" + "Target" ], "type": "object" }, - "AWS::AppFlow::Flow.SalesforceSourceProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader": { "additionalProperties": false, "properties": { - "DataTransferApi": { - "markdownDescription": "Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.\n\n- **AUTOMATIC** - The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers from Salesforce. If your flow transfers fewer than 1,000,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.\n\nEach of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900,000 records, and it might use Bulk API 2.0 on the next day to transfer 1,100,000 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.\n\nBy choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.\n- **BULKV2** - Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.\n\nNote that Bulk API 2.0 does not transfer Salesforce compound fields.\n- **REST_SYNC** - Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail wituh a timed out error.", - "title": "DataTransferApi", - "type": "string" - }, - "EnableDynamicFieldUpdate": { - "markdownDescription": "The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.", - "title": "EnableDynamicFieldUpdate", + "Invert": { + "markdownDescription": "Specify `True` to match anything except the match criteria. The default value is `False` .", + "title": "Invert", "type": "boolean" }, - "IncludeDeletedRecords": { - "markdownDescription": "Indicates whether Amazon AppFlow includes deleted files in the flow run.", - "title": "IncludeDeletedRecords", - "type": "boolean" + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch", + "markdownDescription": "An object that represents the method and value to match with the header value sent in a request. Specify one match method.", + "title": "Match" }, - "Object": { - "markdownDescription": "The object specified in the Salesforce flow source.", - "title": "Object", + "Name": { + "markdownDescription": "A name for the HTTP header in the gateway route that will be matched on.", + "title": "Name", "type": "string" } }, "required": [ - "Object" + "Name" ], "type": "object" }, - "AWS::AppFlow::Flow.ScheduledTriggerProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch": { "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", - "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" - }, - "FlowErrorDeactivationThreshold": { - "markdownDescription": "Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.", - "title": "FlowErrorDeactivationThreshold", - "type": "number" - }, - "ScheduleEndTime": { - "markdownDescription": "The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-27T13:00:00-07:00` .", - "title": "ScheduleEndTime", - "type": "number" - }, - "ScheduleExpression": { - "markdownDescription": "The scheduling expression that determines the rate at which the schedule will run, for example `rate(5minutes)` .", - "title": "ScheduleExpression", + "Exact": { + "markdownDescription": "The value sent by the client must match the specified value exactly.", + "title": "Exact", "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": "The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-26T13:00:00-07:00` .", - "title": "ScheduleStartTime", - "type": "number" - }, - "TimeZone": { - "markdownDescription": "Specifies the time zone used when referring to the dates and times of a scheduled flow, such as `America/New_York` . This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.\n\nIf you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the `America/New_York` timezone are `-04:00` EDT and `-05:00 EST` .", - "title": "TimeZone", - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the ServiceNow flow source.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SingularSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Singular flow source.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SlackSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Slack flow source.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", - "title": "BucketPrefix", + "Prefix": { + "markdownDescription": "The value sent by the client must begin with the specified characters.", + "title": "Prefix", "type": "string" }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch", + "markdownDescription": "An object that represents the range of values to match on.", + "title": "Range" }, - "IntermediateBucketName": { - "markdownDescription": "The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.", - "title": "IntermediateBucketName", + "Regex": { + "markdownDescription": "The value sent by the client must include the specified characters.", + "title": "Regex", "type": "string" }, - "Object": { - "markdownDescription": "The object specified in the Snowflake flow destination.", - "title": "Object", + "Suffix": { + "markdownDescription": "The value sent by the client must end with the specified characters.", + "title": "Suffix", "type": "string" } }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Amplitude.", - "title": "Amplitude" - }, - "CustomConnector": { - "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorSourceProperties", - "markdownDescription": "The properties that are applied when the custom connector is being used as a source.", - "title": "CustomConnector" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Datadog.", - "title": "Datadog" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Dynatrace.", - "title": "Dynatrace" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Google Analytics.", - "title": "GoogleAnalytics" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Infor Nexus.", - "title": "InforNexus" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Marketo.", - "title": "Marketo" - }, - "Pardot": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PardotSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Salesforce Pardot.", - "title": "Pardot" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties", - "markdownDescription": "Specifies the information that is required for querying Amazon S3.", - "title": "S3" - }, - "SAPOData": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataSourceProperties", - "markdownDescription": "The properties that are applied when using SAPOData as a flow source.", - "title": "SAPOData" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Salesforce.", - "title": "Salesforce" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties", - "markdownDescription": "Specifies the information that is required for querying ServiceNow.", - "title": "ServiceNow" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Singular.", - "title": "Singular" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Slack.", - "title": "Slack" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Trend Micro.", - "title": "Trendmicro" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Veeva.", - "title": "Veeva" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Zendesk.", - "title": "Zendesk" - } - }, "type": "object" }, - "AWS::AppFlow::Flow.SourceFlowConfig": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { "additionalProperties": false, "properties": { - "ApiVersion": { - "markdownDescription": "The API version of the connector when it's used as a source in the flow.", - "title": "ApiVersion", - "type": "string" + "Headers": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader" + }, + "markdownDescription": "The client request headers to match on.", + "title": "Headers", + "type": "array" }, - "ConnectorProfileName": { - "markdownDescription": "The name of the connector profile. This name must be unique for each connector profile in the AWS account .", - "title": "ConnectorProfileName", - "type": "string" + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch", + "markdownDescription": "The host name to match on.", + "title": "Hostname" }, - "ConnectorType": { - "markdownDescription": "The type of connector, such as Salesforce, Amplitude, and so on.", - "title": "ConnectorType", + "Method": { + "markdownDescription": "The method to match on.", + "title": "Method", "type": "string" }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.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::AppFlow::Flow.SourceConnectorProperties", - "markdownDescription": "Specifies the information that is required to query a particular source connector.", - "title": "SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SuccessResponseHandlingConfig": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket.", - "title": "BucketName", - "type": "string" + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpPathMatch", + "markdownDescription": "The path to match on.", + "title": "Path" }, - "BucketPrefix": { - "markdownDescription": "The Amazon S3 bucket prefix.", - "title": "BucketPrefix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator", - "markdownDescription": "The operation to be performed on the provided source fields.", - "title": "ConnectorOperator" + "Port": { + "markdownDescription": "The port number to match on.", + "title": "Port", + "type": "number" }, - "DestinationField": { - "markdownDescription": "A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.", - "title": "DestinationField", + "Prefix": { + "markdownDescription": "Specifies the path to match requests with. This parameter must always start with `/` , which by itself matches all requests to the virtual service name. You can also match for path-based routing of requests. For example, if your virtual service name is `my-service.local` and you want the route to match requests to `my-service.local/metrics` , your prefix should be `/metrics` .", + "title": "Prefix", "type": "string" }, - "SourceFields": { - "items": { - "type": "string" - }, - "markdownDescription": "The source fields to which a particular task is applied.", - "title": "SourceFields", - "type": "array" - }, - "TaskProperties": { + "QueryParameters": { "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.QueryParameter" }, - "markdownDescription": "A map used to store task-related information. The execution service looks for particular information based on the `TaskType` .", - "title": "TaskProperties", + "markdownDescription": "The query parameter to match on.", + "title": "QueryParameters", "type": "array" - }, - "TaskType": { - "markdownDescription": "Specifies the particular task implementation that Amazon AppFlow performs.\n\n*Allowed values* : `Arithmetic` | `Filter` | `Map` | `Map_all` | `Mask` | `Merge` | `Truncate` | `Validate`", - "title": "TaskType", - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TaskPropertiesObject": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The task property key.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The task property value.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TrendmicroSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Trend Micro flow source.", - "title": "Object", - "type": "string" } }, - "required": [ - "Object" - ], "type": "object" }, - "AWS::AppFlow::Flow.TriggerConfig": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite": { "additionalProperties": false, "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties", - "markdownDescription": "Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the `Scheduled` trigger type.", - "title": "TriggerProperties" - }, - "TriggerType": { - "markdownDescription": "Specifies the type of flow trigger. This can be `OnDemand` , `Scheduled` , or `Event` .", - "title": "TriggerType", + "Exact": { + "markdownDescription": "The exact path to rewrite.", + "title": "Exact", "type": "string" } }, - "required": [ - "TriggerType" - ], "type": "object" }, - "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.", - "title": "BucketName", + "DefaultPrefix": { + "markdownDescription": "The default prefix used to replace the incoming route prefix when rewritten.", + "title": "DefaultPrefix", "type": "string" }, - "BucketPrefix": { - "markdownDescription": "The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.", - "title": "BucketPrefix", + "Value": { + "markdownDescription": "The value used to replace the incoming route prefix when rewritten.", + "title": "Value", "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig", - "markdownDescription": "The configuration that determines how data is formatted when Upsolver is used as the flow destination.", - "title": "S3OutputFormatConfig" } }, - "required": [ - "BucketName", - "S3OutputFormatConfig" - ], "type": "object" }, - "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite": { "additionalProperties": false, "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig", - "markdownDescription": "The aggregation settings that you can use to customize the output format of your flow data.", - "title": "AggregationConfig" + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite", + "markdownDescription": "The host name to rewrite.", + "title": "Hostname" }, - "FileType": { - "markdownDescription": "Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.", - "title": "FileType", - "type": "string" + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite", + "markdownDescription": "The path to rewrite.", + "title": "Path" }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig", - "markdownDescription": "Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.", - "title": "PrefixConfig" + "Prefix": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite", + "markdownDescription": "The specified beginning characters to rewrite.", + "title": "Prefix" } }, - "required": [ - "PrefixConfig" - ], "type": "object" }, - "AWS::AppFlow::Flow.VeevaSourceProperties": { + "AWS::AppMesh::GatewayRoute.HttpPathMatch": { "additionalProperties": false, "properties": { - "DocumentType": { - "markdownDescription": "The document type specified in the Veeva document extract flow.", - "title": "DocumentType", + "Exact": { + "markdownDescription": "The exact path to match on.", + "title": "Exact", "type": "string" }, - "IncludeAllVersions": { - "markdownDescription": "Boolean value to include All Versions of files in Veeva document extract flow.", - "title": "IncludeAllVersions", - "type": "boolean" - }, - "IncludeRenditions": { - "markdownDescription": "Boolean value to include file renditions in Veeva document extract flow.", - "title": "IncludeRenditions", - "type": "boolean" - }, - "IncludeSourceFiles": { - "markdownDescription": "Boolean value to include source files in Veeva document extract flow.", - "title": "IncludeSourceFiles", - "type": "boolean" - }, - "Object": { - "markdownDescription": "The object specified in the Veeva flow source.", - "title": "Object", + "Regex": { + "markdownDescription": "The regex used to match the path.", + "title": "Regex", "type": "string" } }, - "required": [ - "Object" - ], "type": "object" }, - "AWS::AppFlow::Flow.ZendeskDestinationProperties": { + "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch": { "additionalProperties": false, "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of field names that can be used as an ID field when performing a write operation.", - "title": "IdFieldNames", - "type": "array" - }, - "Object": { - "markdownDescription": "The object specified in the Zendesk flow destination.", - "title": "Object", - "type": "string" - }, - "WriteOperationType": { - "markdownDescription": "The possible write operations in the destination connector. When this value is not provided, this defaults to the `INSERT` operation.", - "title": "WriteOperationType", + "Exact": { + "markdownDescription": "The exact query parameter to match on.", + "title": "Exact", "type": "string" } }, - "required": [ - "Object" - ], "type": "object" }, - "AWS::AppFlow::Flow.ZendeskSourceProperties": { + "AWS::AppMesh::GatewayRoute.QueryParameter": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Zendesk flow source.", - "title": "Object", + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch", + "markdownDescription": "The query parameter to match on.", + "title": "Match" + }, + "Name": { + "markdownDescription": "A name for the query parameter that will be matched on.", + "title": "Name", "type": "string" } }, "required": [ - "Object" + "Name" ], "type": "object" }, - "AWS::AppIntegrations::Application": { + "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { "Condition": { @@ -16945,76 +16493,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationConfig", - "markdownDescription": "", - "title": "ApplicationConfig" - }, - "ApplicationSourceConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig", - "markdownDescription": "The configuration for where the application should be loaded from.", - "title": "ApplicationSourceConfig" - }, - "ApplicationType": { - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the application.", - "title": "Description", - "type": "string" - }, - "IframeConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.IframeConfig", - "markdownDescription": "", - "title": "IframeConfig" - }, - "InitializationTimeout": { - "markdownDescription": "", - "title": "InitializationTimeout", - "type": "number" - }, - "IsService": { - "markdownDescription": "Indicates whether the application is a service.", - "title": "IsService", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the application.", - "title": "Name", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the application.", - "title": "Namespace", + "MeshName": { + "markdownDescription": "The name to use for the service mesh.", + "title": "MeshName", "type": "string" }, - "Permissions": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Permissions", - "type": "array" + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec", + "markdownDescription": "The service mesh specification to apply.", + "title": "Spec" }, "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": "Optional metadata that you can apply to the service mesh to assist with categorization and organization. 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": "Tags", "type": "array" } }, - "required": [ - "ApplicationSourceConfig", - "Name", - "Namespace" - ], "type": "object" }, "Type": { "enum": [ - "AWS::AppIntegrations::Application" + "AWS::AppMesh::Mesh" ], "type": "string" }, @@ -17028,95 +16530,52 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::Application.ApplicationConfig": { - "additionalProperties": false, - "properties": { - "ContactHandling": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.ContactHandling", - "markdownDescription": "", - "title": "ContactHandling" - } - }, - "type": "object" - }, - "AWS::AppIntegrations::Application.ApplicationSourceConfig": { - "additionalProperties": false, - "properties": { - "ExternalUrlConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig", - "markdownDescription": "The external URL source for the application.", - "title": "ExternalUrlConfig" - } - }, - "required": [ - "ExternalUrlConfig" + "Type" ], "type": "object" }, - "AWS::AppIntegrations::Application.ContactHandling": { + "AWS::AppMesh::Mesh.EgressFilter": { "additionalProperties": false, "properties": { - "Scope": { - "markdownDescription": "", - "title": "Scope", + "Type": { + "markdownDescription": "The egress filter type. By default, the type is `DROP_ALL` , which allows egress only from virtual nodes to other defined resources in the service mesh (and any traffic to `*.amazonaws.com` for AWS API calls). You can set the egress filter type to `ALLOW_ALL` to allow egress to any endpoint inside or outside of the service mesh.\n\n> If you specify any backends on a virtual node when using `ALLOW_ALL` , you must specifiy all egress for that virtual node as backends. Otherwise, `ALLOW_ALL` will no longer work for that virtual node.", + "title": "Type", "type": "string" } }, "required": [ - "Scope" + "Type" ], "type": "object" }, - "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "AWS::AppMesh::Mesh.MeshServiceDiscovery": { "additionalProperties": false, "properties": { - "AccessUrl": { - "markdownDescription": "The URL to access the application.", - "title": "AccessUrl", + "IpPreference": { + "markdownDescription": "The IP version to use to control traffic within the mesh.", + "title": "IpPreference", "type": "string" - }, - "ApprovedOrigins": { - "items": { - "type": "string" - }, - "markdownDescription": "Additional URLs to allow list if different than the access URL.", - "title": "ApprovedOrigins", - "type": "array" } }, - "required": [ - "AccessUrl" - ], "type": "object" }, - "AWS::AppIntegrations::Application.IframeConfig": { + "AWS::AppMesh::Mesh.MeshSpec": { "additionalProperties": false, "properties": { - "Allow": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Allow", - "type": "array" + "EgressFilter": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter", + "markdownDescription": "The egress filter rules for the service mesh.", + "title": "EgressFilter" }, - "Sandbox": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Sandbox", - "type": "array" + "ServiceDiscovery": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshServiceDiscovery", + "markdownDescription": "An object that represents the service discovery information for a service mesh.", + "title": "ServiceDiscovery" } }, "type": "object" }, - "AWS::AppIntegrations::DataIntegration": { + "AWS::AppMesh::Route": { "additionalProperties": false, "properties": { "Condition": { @@ -17151,957 +16610,9 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the DataIntegration.", - "title": "Description", - "type": "string" - }, - "FileConfiguration": { - "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.FileConfiguration", - "markdownDescription": "The configuration for what files should be pulled from the source.", - "title": "FileConfiguration" - }, - "KmsKey": { - "markdownDescription": "The KMS key for the DataIntegration.", - "title": "KmsKey", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the DataIntegration.", - "title": "Name", - "type": "string" - }, - "ObjectConfiguration": { - "markdownDescription": "The configuration for what data should be pulled from the source.", - "title": "ObjectConfiguration", - "type": "object" - }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.ScheduleConfig", - "markdownDescription": "The name of the data and how often it should be pulled from the source.", - "title": "ScheduleConfig" - }, - "SourceURI": { - "markdownDescription": "The URI of the data source.", - "title": "SourceURI", - "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": [ - "KmsKey", - "Name", - "SourceURI" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppIntegrations::DataIntegration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::DataIntegration.FileConfiguration": { - "additionalProperties": false, - "properties": { - "Filters": { - "markdownDescription": "Restrictions for what files should be pulled from the source.", - "title": "Filters", - "type": "object" - }, - "Folders": { - "items": { - "type": "string" - }, - "markdownDescription": "Identifiers for the source folders to pull all files from recursively.", - "title": "Folders", - "type": "array" - } - }, - "required": [ - "Folders" - ], - "type": "object" - }, - "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { - "additionalProperties": false, - "properties": { - "FirstExecutionFrom": { - "markdownDescription": "The start date for objects to import in the first flow run as an Unix/epoch timestamp in milliseconds or in ISO-8601 format.", - "title": "FirstExecutionFrom", - "type": "string" - }, - "Object": { - "markdownDescription": "The name of the object to pull from the data source.", - "title": "Object", - "type": "string" - }, - "ScheduleExpression": { - "markdownDescription": "How often the data should be pulled from data source.", - "title": "ScheduleExpression", - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 event integration description.", - "title": "Description", - "type": "string" - }, - "EventBridgeBus": { - "markdownDescription": "The Amazon EventBridge bus for the event integration.", - "title": "EventBridgeBus", - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter", - "markdownDescription": "The event integration filter.", - "title": "EventFilter" - }, - "Name": { - "markdownDescription": "The name of the event integration.", - "title": "Name", - "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": [ - "EventBridgeBus", - "EventFilter", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppIntegrations::EventIntegration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventFilter": { - "additionalProperties": false, - "properties": { - "Source": { - "markdownDescription": "The source of the events.", - "title": "Source", - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayRouteName": { - "markdownDescription": "The name of the gateway route.", - "title": "GatewayRouteName", - "type": "string" - }, - "MeshName": { - "markdownDescription": "The name of the service mesh that the resource resides in.", - "title": "MeshName", - "type": "string" - }, - "MeshOwner": { - "markdownDescription": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .", - "title": "MeshOwner", - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec", - "markdownDescription": "The specifications of the gateway route.", - "title": "Spec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Optional metadata that you can apply to the gateway route to assist with categorization and organization. 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": "Tags", - "type": "array" - }, - "VirtualGatewayName": { - "markdownDescription": "The virtual gateway that the gateway route is associated with.", - "title": "VirtualGatewayName", - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualGatewayName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::GatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact host name to match on.", - "title": "Exact", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The specified ending characters of the host name to match on.", - "title": "Suffix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite": { - "additionalProperties": false, - "properties": { - "DefaultTargetHostname": { - "markdownDescription": "The default target host name to write to.", - "title": "DefaultTargetHostname", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact method header to be matched on.", - "title": "Exact", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The specified beginning characters of the method header to be matched on.", - "title": "Prefix", - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch", - "markdownDescription": "An object that represents the range of values to match on.", - "title": "Range" - }, - "Regex": { - "markdownDescription": "The regex used to match the method header.", - "title": "Regex", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The specified ending characters of the method header to match on.", - "title": "Suffix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch": { - "additionalProperties": false, - "properties": { - "End": { - "markdownDescription": "The end of the range.", - "title": "End", - "type": "number" - }, - "Start": { - "markdownDescription": "The start of the range.", - "title": "Start", - "type": "number" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { - "additionalProperties": false, - "properties": { - "GrpcRoute": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRoute", - "markdownDescription": "An object that represents the specification of a gRPC gateway route.", - "title": "GrpcRoute" - }, - "Http2Route": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute", - "markdownDescription": "An object that represents the specification of an HTTP/2 gateway route.", - "title": "Http2Route" - }, - "HttpRoute": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute", - "markdownDescription": "An object that represents the specification of an HTTP gateway route.", - "title": "HttpRoute" - }, - "Priority": { - "markdownDescription": "The ordering of the gateway routes spec.", - "title": "Priority", - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { - "additionalProperties": false, - "properties": { - "Port": { - "markdownDescription": "The port number of the gateway route target.", - "title": "Port", - "type": "number" - }, - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService", - "markdownDescription": "An object that represents a virtual service gateway route target.", - "title": "VirtualService" - } - }, - "required": [ - "VirtualService" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { - "additionalProperties": false, - "properties": { - "VirtualServiceName": { - "markdownDescription": "The name of the virtual service that traffic is routed to.", - "title": "VirtualServiceName", - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction", - "markdownDescription": "An object that represents the action to take if a match is determined.", - "title": "Action" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch", - "markdownDescription": "An object that represents the criteria for determining a request match.", - "title": "Match" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { - "additionalProperties": false, - "properties": { - "Rewrite": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite", - "markdownDescription": "The gateway route action to rewrite.", - "title": "Rewrite" - }, - "Target": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget", - "markdownDescription": "An object that represents the target that traffic is routed to when a request matches the gateway route.", - "title": "Target" - } - }, - "required": [ - "Target" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { - "additionalProperties": false, - "properties": { - "Hostname": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch", - "markdownDescription": "The gateway route host name to be matched on.", - "title": "Hostname" - }, - "Metadata": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata" - }, - "markdownDescription": "The gateway route metadata to be matched on.", - "title": "Metadata", - "type": "array" - }, - "Port": { - "markdownDescription": "The gateway route port to be matched on.", - "title": "Port", - "type": "number" - }, - "ServiceName": { - "markdownDescription": "The fully qualified domain name for the service to match from the request.", - "title": "ServiceName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata": { - "additionalProperties": false, - "properties": { - "Invert": { - "markdownDescription": "Specify `True` to match anything except the match criteria. The default value is `False` .", - "title": "Invert", - "type": "boolean" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch", - "markdownDescription": "The criteria for determining a metadata match.", - "title": "Match" - }, - "Name": { - "markdownDescription": "A name for the gateway route metadata.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite": { - "additionalProperties": false, - "properties": { - "Hostname": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite", - "markdownDescription": "The host name of the gateway route to rewrite.", - "title": "Hostname" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction", - "markdownDescription": "An object that represents the action to take if a match is determined.", - "title": "Action" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch", - "markdownDescription": "An object that represents the criteria for determining a request match.", - "title": "Match" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { - "additionalProperties": false, - "properties": { - "Rewrite": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite", - "markdownDescription": "The gateway route action to rewrite.", - "title": "Rewrite" - }, - "Target": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget", - "markdownDescription": "An object that represents the target that traffic is routed to when a request matches the gateway route.", - "title": "Target" - } - }, - "required": [ - "Target" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader": { - "additionalProperties": false, - "properties": { - "Invert": { - "markdownDescription": "Specify `True` to match anything except the match criteria. The default value is `False` .", - "title": "Invert", - "type": "boolean" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch", - "markdownDescription": "An object that represents the method and value to match with the header value sent in a request. Specify one match method.", - "title": "Match" - }, - "Name": { - "markdownDescription": "A name for the HTTP header in the gateway route that will be matched on.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The value sent by the client must match the specified value exactly.", - "title": "Exact", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The value sent by the client must begin with the specified characters.", - "title": "Prefix", - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch", - "markdownDescription": "An object that represents the range of values to match on.", - "title": "Range" - }, - "Regex": { - "markdownDescription": "The value sent by the client must include the specified characters.", - "title": "Regex", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The value sent by the client must end with the specified characters.", - "title": "Suffix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { - "additionalProperties": false, - "properties": { - "Headers": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader" - }, - "markdownDescription": "The client request headers to match on.", - "title": "Headers", - "type": "array" - }, - "Hostname": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch", - "markdownDescription": "The host name to match on.", - "title": "Hostname" - }, - "Method": { - "markdownDescription": "The method to match on.", - "title": "Method", - "type": "string" - }, - "Path": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpPathMatch", - "markdownDescription": "The path to match on.", - "title": "Path" - }, - "Port": { - "markdownDescription": "The port number to match on.", - "title": "Port", - "type": "number" - }, - "Prefix": { - "markdownDescription": "Specifies the path to match requests with. This parameter must always start with `/` , which by itself matches all requests to the virtual service name. You can also match for path-based routing of requests. For example, if your virtual service name is `my-service.local` and you want the route to match requests to `my-service.local/metrics` , your prefix should be `/metrics` .", - "title": "Prefix", - "type": "string" - }, - "QueryParameters": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.QueryParameter" - }, - "markdownDescription": "The query parameter to match on.", - "title": "QueryParameters", - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact path to rewrite.", - "title": "Exact", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite": { - "additionalProperties": false, - "properties": { - "DefaultPrefix": { - "markdownDescription": "The default prefix used to replace the incoming route prefix when rewritten.", - "title": "DefaultPrefix", - "type": "string" - }, - "Value": { - "markdownDescription": "The value used to replace the incoming route prefix when rewritten.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite": { - "additionalProperties": false, - "properties": { - "Hostname": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite", - "markdownDescription": "The host name to rewrite.", - "title": "Hostname" - }, - "Path": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite", - "markdownDescription": "The path to rewrite.", - "title": "Path" - }, - "Prefix": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite", - "markdownDescription": "The specified beginning characters to rewrite.", - "title": "Prefix" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpPathMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact path to match on.", - "title": "Exact", - "type": "string" - }, - "Regex": { - "markdownDescription": "The regex used to match the path.", - "title": "Regex", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact query parameter to match on.", - "title": "Exact", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.QueryParameter": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch", - "markdownDescription": "The query parameter to match on.", - "title": "Match" - }, - "Name": { - "markdownDescription": "A name for the query parameter that will be matched on.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "markdownDescription": "The name to use for the service mesh.", - "title": "MeshName", - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec", - "markdownDescription": "The service mesh specification to apply.", - "title": "Spec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Optional metadata that you can apply to the service mesh to assist with categorization and organization. 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": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Mesh" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.EgressFilter": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "The egress filter type. By default, the type is `DROP_ALL` , which allows egress only from virtual nodes to other defined resources in the service mesh (and any traffic to `*.amazonaws.com` for AWS API calls). You can set the egress filter type to `ALLOW_ALL` to allow egress to any endpoint inside or outside of the service mesh.\n\n> If you specify any backends on a virtual node when using `ALLOW_ALL` , you must specifiy all egress for that virtual node as backends. Otherwise, `ALLOW_ALL` will no longer work for that virtual node.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.MeshServiceDiscovery": { - "additionalProperties": false, - "properties": { - "IpPreference": { - "markdownDescription": "The IP version to use to control traffic within the mesh.", - "title": "IpPreference", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Mesh.MeshSpec": { - "additionalProperties": false, - "properties": { - "EgressFilter": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter", - "markdownDescription": "The egress filter rules for the service mesh.", - "title": "EgressFilter" - }, - "ServiceDiscovery": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshServiceDiscovery", - "markdownDescription": "An object that represents the service discovery information for a service mesh.", - "title": "ServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::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": { - "MeshName": { - "markdownDescription": "The name of the service mesh to create the route in.", - "title": "MeshName", + "MeshName": { + "markdownDescription": "The name of the service mesh to create the route in.", + "title": "MeshName", "type": "string" }, "MeshOwner": { @@ -22937,9 +21448,6 @@ "title": "AccessEndpoints", "type": "array" }, - "AgentAccessConfig": { - "$ref": "#/definitions/AWS::AppStream::Stack.AgentAccessConfig" - }, "ApplicationSettings": { "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings", "markdownDescription": "The persistent application settings for users of the stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.", @@ -23066,54 +21574,6 @@ ], "type": "object" }, - "AWS::AppStream::Stack.AgentAccessConfig": { - "additionalProperties": false, - "properties": { - "S3BucketArn": { - "type": "string" - }, - "ScreenImageFormat": { - "type": "string" - }, - "ScreenResolution": { - "type": "string" - }, - "ScreenshotsUploadEnabled": { - "type": "boolean" - }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.AgentAccessSetting" - }, - "type": "array" - }, - "UserControlMode": { - "type": "string" - } - }, - "required": [ - "ScreenImageFormat", - "ScreenResolution", - "Settings" - ], - "type": "object" - }, - "AWS::AppStream::Stack.AgentAccessSetting": { - "additionalProperties": false, - "properties": { - "AgentAction": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "AgentAction", - "Permission" - ], - "type": "object" - }, "AWS::AppStream::Stack.ApplicationSettings": { "additionalProperties": false, "properties": { @@ -25577,79 +24037,6 @@ }, "type": "object" }, - "AWS::AppSync::Type": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Definition": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "required": [ - "ApiId", - "Definition", - "Format" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::Type" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::AppTest::TestCase": { "additionalProperties": false, "properties": { @@ -28535,63 +26922,6 @@ ], "type": "object" }, - "AWS::Artifact::Report": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Artifact::Report" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Athena::CapacityReservation": { "additionalProperties": false, "properties": { @@ -28996,114 +27326,6 @@ ], "type": "object" }, - "AWS::Athena::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": { - "EngineConfiguration": { - "$ref": "#/definitions/AWS::Athena::Session.EngineConfiguration" - }, - "ExecutionRole": { - "type": "string" - }, - "WorkGroup": { - "type": "string" - } - }, - "required": [ - "EngineConfiguration", - "WorkGroup" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::Session.EngineConfiguration": { - "additionalProperties": false, - "properties": { - "AdditionalConfigs": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "CoordinatorDpuSize": { - "type": "number" - }, - "DefaultExecutorDpuSize": { - "type": "number" - }, - "MaxConcurrentDpus": { - "type": "number" - }, - "SparkProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "MaxConcurrentDpus" - ], - "type": "object" - }, "AWS::Athena::WorkGroup": { "additionalProperties": false, "properties": { @@ -29802,121 +28024,6 @@ }, "type": "object" }, - "AWS::AuditManager::AssessmentFramework": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComplianceType": { - "type": "string" - }, - "ControlSets": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::AssessmentFramework.ControlSet" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ControlSets", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AuditManager::AssessmentFramework" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AuditManager::AssessmentFramework.ControlSet": { - "additionalProperties": false, - "properties": { - "Controls": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::AssessmentFramework.ControlSetControl" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Controls", - "Name" - ], - "type": "object" - }, - "AWS::AuditManager::AssessmentFramework.ControlSetControl": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -30345,21 +28452,6 @@ }, "type": "object" }, - "AWS::AutoScaling::AutoScalingGroup.DistributionSegment": { - "additionalProperties": false, - "properties": { - "TargetCapacityTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "TargetCapacityTypes" - ], - "type": "object" - }, "AWS::AutoScaling::AutoScalingGroup.InstanceLifecyclePolicy": { "additionalProperties": false, "properties": { @@ -30549,12 +28641,6 @@ "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { "additionalProperties": false, "properties": { - "DistributionSegments": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.DistributionSegment" - }, - "type": "array" - }, "OnDemandAllocationStrategy": { "markdownDescription": "The allocation strategy to apply to your On-Demand Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.\n\nThe following lists the valid values:\n\n- **lowest-price** - Uses price to determine which instance types are the highest priority, launching the lowest priced instance types within an Availability Zone first. This is the default value for Auto Scaling groups that specify `InstanceRequirements` .\n- **prioritized** - You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling launches your highest priority instance types first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance type, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on. This is the default value for Auto Scaling groups that don't specify `InstanceRequirements` and cannot be used for groups that do.", "title": "OnDemandAllocationStrategy", @@ -34260,86 +32346,6 @@ ], "type": "object" }, - "AWS::BCMDataExports::Table": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BCMDataExports::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BCMDataExports::Table.Column": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Backup::BackupPlan": { "additionalProperties": false, "properties": { @@ -35159,7 +33165,7 @@ ], "type": "object" }, - "AWS::Backup::LegalHold": { + "AWS::Backup::LogicallyAirGappedBackupVault": { "additionalProperties": false, "properties": { "Condition": { @@ -35194,32 +33200,63 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "AccessPolicy": { + "markdownDescription": "The backup vault access policy document in JSON format.", + "title": "AccessPolicy", + "type": "object" }, - "RecoveryPointSelection": { - "$ref": "#/definitions/AWS::Backup::LegalHold.RecoveryPointSelection" + "BackupVaultName": { + "markdownDescription": "The name of a logical container where backups are stored. Logically air-gapped backup vaults are identified by names that are unique to the account used to create them and the Region where they are created.", + "title": "BackupVaultName", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Backup::LegalHold.TagsItems" + "BackupVaultTags": { + "additionalProperties": true, + "markdownDescription": "The tags to assign to the vault.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "BackupVaultTags", + "type": "object" }, - "Title": { + "EncryptionKeyArn": { + "markdownDescription": "The server-side encryption key that is used to protect your backups; for example, `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab` .\n\nIf this field is left blank, AWS Backup will create an AWS owned key to be used to encrypt the content of the logically air-gapped vault. The ARN of this created key will be available as `Fn::GetAtt` output.", + "title": "EncryptionKeyArn", "type": "string" + }, + "MaxRetentionDays": { + "markdownDescription": "The maximum retention period that the vault retains its recovery points.", + "title": "MaxRetentionDays", + "type": "number" + }, + "MinRetentionDays": { + "markdownDescription": "This setting specifies the minimum retention period that the vault retains its recovery points.\n\nThe minimum value accepted is 7 days.", + "title": "MinRetentionDays", + "type": "number" + }, + "MpaApprovalTeamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the MPA approval team to associate with the backup vault. This cannot be changed after it is set from the CloudFormation template.", + "title": "MpaApprovalTeamArn", + "type": "string" + }, + "Notifications": { + "$ref": "#/definitions/AWS::Backup::LogicallyAirGappedBackupVault.NotificationObjectType", + "markdownDescription": "Returns event notifications for the specified backup vault.", + "title": "Notifications" } }, "required": [ - "Description", - "RecoveryPointSelection", - "Title" + "BackupVaultName", + "MaxRetentionDays", + "MinRetentionDays" ], "type": "object" }, "Type": { "enum": [ - "AWS::Backup::LegalHold" + "AWS::Backup::LogicallyAirGappedBackupVault" ], "type": "string" }, @@ -35238,193 +33275,30 @@ ], "type": "object" }, - "AWS::Backup::LegalHold.DateRange": { - "additionalProperties": false, - "properties": { - "FromDate": { - "type": "string" - }, - "ToDate": { - "type": "string" - } - }, - "required": [ - "FromDate", - "ToDate" - ], - "type": "object" - }, - "AWS::Backup::LegalHold.RecoveryPointSelection": { + "AWS::Backup::LogicallyAirGappedBackupVault.NotificationObjectType": { "additionalProperties": false, "properties": { - "DateRange": { - "$ref": "#/definitions/AWS::Backup::LegalHold.DateRange" - }, - "ResourceIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VaultNames": { + "BackupVaultEvents": { "items": { "type": "string" }, + "markdownDescription": "An array of events that indicate the status of jobs to back up resources to the backup vault.", + "title": "BackupVaultEvents", "type": "array" - } - }, - "type": "object" - }, - "AWS::Backup::LegalHold.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" }, - "Value": { + "SNSTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) that specifies the topic for a backup vault\u2019s events; for example, `arn:aws:sns:us-west-2:111122223333:MyVaultTopic` .", + "title": "SNSTopicArn", "type": "string" } }, "required": [ - "Key", - "Value" + "BackupVaultEvents", + "SNSTopicArn" ], "type": "object" }, - "AWS::Backup::LogicallyAirGappedBackupVault": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicy": { - "markdownDescription": "The backup vault access policy document in JSON format.", - "title": "AccessPolicy", - "type": "object" - }, - "BackupVaultName": { - "markdownDescription": "The name of a logical container where backups are stored. Logically air-gapped backup vaults are identified by names that are unique to the account used to create them and the Region where they are created.", - "title": "BackupVaultName", - "type": "string" - }, - "BackupVaultTags": { - "additionalProperties": true, - "markdownDescription": "The tags to assign to the vault.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "BackupVaultTags", - "type": "object" - }, - "EncryptionKeyArn": { - "markdownDescription": "The server-side encryption key that is used to protect your backups; for example, `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab` .\n\nIf this field is left blank, AWS Backup will create an AWS owned key to be used to encrypt the content of the logically air-gapped vault. The ARN of this created key will be available as `Fn::GetAtt` output.", - "title": "EncryptionKeyArn", - "type": "string" - }, - "MaxRetentionDays": { - "markdownDescription": "The maximum retention period that the vault retains its recovery points.", - "title": "MaxRetentionDays", - "type": "number" - }, - "MinRetentionDays": { - "markdownDescription": "This setting specifies the minimum retention period that the vault retains its recovery points.\n\nThe minimum value accepted is 7 days.", - "title": "MinRetentionDays", - "type": "number" - }, - "MpaApprovalTeamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the MPA approval team to associate with the backup vault. This cannot be changed after it is set from the CloudFormation template.", - "title": "MpaApprovalTeamArn", - "type": "string" - }, - "Notifications": { - "$ref": "#/definitions/AWS::Backup::LogicallyAirGappedBackupVault.NotificationObjectType", - "markdownDescription": "Returns event notifications for the specified backup vault.", - "title": "Notifications" - } - }, - "required": [ - "BackupVaultName", - "MaxRetentionDays", - "MinRetentionDays" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::LogicallyAirGappedBackupVault" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::LogicallyAirGappedBackupVault.NotificationObjectType": { - "additionalProperties": false, - "properties": { - "BackupVaultEvents": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of events that indicate the status of jobs to back up resources to the backup vault.", - "title": "BackupVaultEvents", - "type": "array" - }, - "SNSTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) that specifies the topic for a backup vault\u2019s events; for example, `arn:aws:sns:us-west-2:111122223333:MyVaultTopic` .", - "title": "SNSTopicArn", - "type": "string" - } - }, - "required": [ - "BackupVaultEvents", - "SNSTopicArn" - ], - "type": "object" - }, - "AWS::Backup::ReportPlan": { + "AWS::Backup::ReportPlan": { "additionalProperties": false, "properties": { "Condition": { @@ -36090,221 +33964,6 @@ ], "type": "object" }, - "AWS::BackupSearch::SearchJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "SearchScope": { - "$ref": "#/definitions/AWS::BackupSearch::SearchJob.SearchScope" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::BackupSearch::SearchJob.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "SearchScope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BackupSearch::SearchJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchJob.SearchScope": { - "additionalProperties": false, - "properties": { - "BackupResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "BackupResourceTypes" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchJob.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchResultExportJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExportSpecification": { - "$ref": "#/definitions/AWS::BackupSearch::SearchResultExportJob.ExportSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::BackupSearch::SearchResultExportJob.TagsItems" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BackupSearch::SearchResultExportJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchResultExportJob.ExportSpecification": { - "additionalProperties": false, - "properties": { - "S3ExportSpecification": { - "$ref": "#/definitions/AWS::BackupSearch::SearchResultExportJob.S3ExportSpecification" - } - }, - "required": [ - "S3ExportSpecification" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchResultExportJob.S3ExportSpecification": { - "additionalProperties": false, - "properties": { - "DestinationBucket": { - "type": "string" - }, - "DestinationPrefix": { - "type": "string" - } - }, - "required": [ - "DestinationBucket" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchResultExportJob.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::Batch::ComputeEnvironment": { "additionalProperties": false, "properties": { @@ -36355,9 +34014,6 @@ "title": "Context", "type": "string" }, - "EcsSettings": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.EcsSettings" - }, "EksConfiguration": { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.EksConfiguration", "markdownDescription": "The details for the Amazon EKS cluster that supports the compute environment.\n\n> To create a compute environment that uses EKS resources, the caller must have permissions to call `eks:DescribeCluster` .", @@ -36431,18 +34087,6 @@ ], "type": "object" }, - "AWS::Batch::ComputeEnvironment.CapacityReservations": { - "additionalProperties": false, - "properties": { - "ReservationGroupArn": { - "type": "string" - }, - "ReservationPreference": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::ComputeEnvironment.ComputeResources": { "additionalProperties": false, "properties": { @@ -36456,15 +34100,6 @@ "title": "BidPercentage", "type": "number" }, - "CapacityTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, "DesiredvCpus": { "markdownDescription": "The desired number of vCPUS in the compute environment. AWS Batch modifies this value between the minimum and maximum values based on job queue demand.\n\n> This parameter isn't applicable to jobs that are running on Fargate resources. Don't specify it. > AWS Batch doesn't support changing the desired number of vCPUs of an existing compute environment. Don't specify this parameter for compute environments using Amazon EKS clusters. > When you update the `desiredvCpus` setting, the value must be between the `minvCpus` and `maxvCpus` values.\n> \n> Additionally, the updated `desiredvCpus` value must be greater than or equal to the current `desiredvCpus` value. For more information, see [Troubleshooting AWS Batch](https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#error-desired-vcpus-update) in the *AWS Batch User Guide* .", "title": "DesiredvCpus", @@ -36506,9 +34141,6 @@ "markdownDescription": "The launch template to use for your compute resources. Any other compute resource parameters that you specify in a [CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html) API operation override the same parameters in the launch template. You must specify either the launch template ID or launch template name in the request, but not both. For more information, see [Launch Template Support](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in the ** . Removing the launch template from a compute environment will not remove the AMI specified in the launch template. In order to update the AMI specified in a launch template, the `updateToLatestImageVersion` parameter must be set to `true` .\n\nWhen updating a compute environment, changing the launch template requires an infrastructure update of the compute environment. For more information, see [Updating compute environments](https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) in the ** .\n\n> This parameter isn't applicable to jobs running on Fargate resources, and shouldn't be specified.", "title": "LaunchTemplate" }, - "ManagedInstancesProvider": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ManagedInstancesProvider" - }, "MaxvCpus": { "markdownDescription": "The maximum number of Amazon EC2 vCPUs that an environment can reach.\n\n> With `BEST_FIT_PROGRESSIVE` , `SPOT_CAPACITY_OPTIMIZED` and `SPOT_PRICE_CAPACITY_OPTIMIZED` (recommended) strategies using On-Demand or Spot Instances, and the `BEST_FIT` strategy using Spot Instances, AWS Batch might need to exceed `maxvCpus` to meet your capacity requirements. In this event, AWS Batch never exceeds `maxvCpus` by more than a single instance.", "title": "MaxvCpus", @@ -36572,6 +34204,7 @@ }, "required": [ "MaxvCpus", + "Subnets", "Type" ], "type": "object" @@ -36612,15 +34245,6 @@ ], "type": "object" }, - "AWS::Batch::ComputeEnvironment.EcsSettings": { - "additionalProperties": false, - "properties": { - "ContainerInsights": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::ComputeEnvironment.EksConfiguration": { "additionalProperties": false, "properties": { @@ -36641,67 +34265,6 @@ ], "type": "object" }, - "AWS::Batch::ComputeEnvironment.InfrastructureOptimization": { - "additionalProperties": false, - "properties": { - "ScaleInAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.InstanceLaunchTemplate": { - "additionalProperties": false, - "properties": { - "CapacityOptionType": { - "type": "string" - }, - "CapacityReservations": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.CapacityReservations" - }, - "Ec2InstanceProfileArn": { - "type": "string" - }, - "FipsEnabled": { - "type": "boolean" - }, - "InstanceMetadataTagsPropagation": { - "type": "boolean" - }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.InstanceRequirements" - }, - "LocalStorageConfiguration": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ManagedInstancesLocalStorageConfiguration" - }, - "Monitoring": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ManagedInstancesNetworkConfiguration" - }, - "StorageConfiguration": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ManagedInstancesStorageConfiguration" - } - }, - "required": [ - "Ec2InstanceProfileArn", - "NetworkConfiguration" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.InstanceRequirements": { - "additionalProperties": false, - "properties": { - "AllowedInstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { "additionalProperties": false, "properties": { @@ -36770,68 +34333,6 @@ }, "type": "object" }, - "AWS::Batch::ComputeEnvironment.ManagedInstancesLocalStorageConfiguration": { - "additionalProperties": false, - "properties": { - "UseLocalStorage": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ManagedInstancesNetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroups", - "Subnets" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ManagedInstancesProvider": { - "additionalProperties": false, - "properties": { - "InfrastructureOptimization": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.InfrastructureOptimization" - }, - "InfrastructureRoleArn": { - "type": "string" - }, - "InstanceLaunchTemplate": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.InstanceLaunchTemplate" - }, - "PropagateTags": { - "type": "string" - } - }, - "required": [ - "InfrastructureRoleArn", - "InstanceLaunchTemplate" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ManagedInstancesStorageConfiguration": { - "additionalProperties": false, - "properties": { - "StorageSizeGiB": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Batch::ComputeEnvironment.UpdatePolicy": { "additionalProperties": false, "properties": { @@ -37398,9 +34899,6 @@ "markdownDescription": "The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.", "title": "NetworkConfiguration" }, - "NetworkMode": { - "type": "string" - }, "PidMode": { "markdownDescription": "The process namespace to use for the containers in the task. The valid values are `host` or `task` . For example, monitoring sidecars might need `pidMode` to access information about other containers running in the same task.\n\nIf `host` is specified, all containers within the tasks that specified the `host` PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.\n\nIf `task` is specified, all containers within the specified task share the same process namespace.\n\nIf no value is specified, the default is a private namespace for each container. For more information, see [PID settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid) in the Docker run reference.", "title": "PidMode", @@ -40170,94 +37668,6 @@ ], "type": "object" }, - "AWS::Bedrock::AsyncInvoke": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::AsyncInvoke" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Bedrock::AsyncInvoke.AsyncInvokeOutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3OutputDataConfig": { - "$ref": "#/definitions/AWS::Bedrock::AsyncInvoke.AsyncInvokeS3OutputDataConfig" - } - }, - "required": [ - "S3OutputDataConfig" - ], - "type": "object" - }, - "AWS::Bedrock::AsyncInvoke.AsyncInvokeS3OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, "AWS::Bedrock::AutomatedReasoningPolicy": { "additionalProperties": false, "properties": { @@ -41734,18 +39144,6 @@ ], "type": "object" }, - "AWS::Bedrock::DataSource.AudioExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "AudioExtractionStatus": { - "type": "string" - } - }, - "required": [ - "AudioExtractionStatus" - ], - "type": "object" - }, "AWS::Bedrock::DataSource.BedrockDataAutomationConfiguration": { "additionalProperties": false, "properties": { @@ -41961,9 +39359,6 @@ "markdownDescription": "The configuration information to connect to Confluence as your data source.\n\n> Confluence data source connector is in preview release and is subject to change.", "title": "ConfluenceConfiguration" }, - "ManagedKnowledgeBaseConnectorConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.ManagedKnowledgeBaseConnectorConfiguration" - }, "S3Configuration": { "$ref": "#/definitions/AWS::Bedrock::DataSource.S3DataSourceConfiguration", "markdownDescription": "The configuration information to connect to Amazon S3 as your data source.", @@ -41995,21 +39390,6 @@ ], "type": "object" }, - "AWS::Bedrock::DataSource.DeletionProtectionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionProtectionStatus": { - "type": "string" - }, - "DeletionProtectionThreshold": { - "type": "number" - } - }, - "required": [ - "DeletionProtectionStatus" - ], - "type": "object" - }, "AWS::Bedrock::DataSource.EnrichmentStrategyConfiguration": { "additionalProperties": false, "properties": { @@ -42081,18 +39461,6 @@ ], "type": "object" }, - "AWS::Bedrock::DataSource.ImageExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "ImageExtractionStatus": { - "type": "string" - } - }, - "required": [ - "ImageExtractionStatus" - ], - "type": "object" - }, "AWS::Bedrock::DataSource.IntermediateStorage": { "additionalProperties": false, "properties": { @@ -42107,36 +39475,6 @@ ], "type": "object" }, - "AWS::Bedrock::DataSource.ManagedKnowledgeBaseConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "ConnectorParameters": { - "type": "object" - }, - "DeletionProtectionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.DeletionProtectionConfiguration" - }, - "MediaExtractionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.MediaExtractionConfiguration" - } - }, - "type": "object" - }, - "AWS::Bedrock::DataSource.MediaExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "AudioExtractionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.AudioExtractionConfiguration" - }, - "ImageExtractionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.ImageExtractionConfiguration" - }, - "VideoExtractionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.VideoExtractionConfiguration" - } - }, - "type": "object" - }, "AWS::Bedrock::DataSource.ParsingConfiguration": { "additionalProperties": false, "properties": { @@ -42537,18 +39875,6 @@ }, "type": "object" }, - "AWS::Bedrock::DataSource.VideoExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "VideoExtractionStatus": { - "type": "string" - } - }, - "required": [ - "VideoExtractionStatus" - ], - "type": "object" - }, "AWS::Bedrock::DataSource.WebCrawlerConfiguration": { "additionalProperties": false, "properties": { @@ -42640,87 +39966,6 @@ ], "type": "object" }, - "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": { @@ -44038,73 +41283,6 @@ }, "type": "object" }, - "AWS::Bedrock::FlowExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FlowAliasIdentifier": { - "type": "string" - }, - "FlowExecutionName": { - "type": "string" - }, - "FlowIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::FlowExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Bedrock::FlowVersion": { "additionalProperties": false, "properties": { @@ -45077,87 +42255,6 @@ ], "type": "object" }, - "AWS::Bedrock::FoundationModel": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::FoundationModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Bedrock::FoundationModel.ModelLifecycle": { - "additionalProperties": false, - "properties": { - "EndOfLifeTime": { - "type": "string" - }, - "LegacyTime": { - "type": "string" - }, - "PublicExtendedAccessTime": { - "type": "string" - }, - "StartOfLifeTime": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, "AWS::Bedrock::Guardrail": { "additionalProperties": false, "properties": { @@ -45836,7 +42933,7 @@ ], "type": "object" }, - "AWS::Bedrock::ImportedModel": { + "AWS::Bedrock::IntelligentPromptRouter": { "additionalProperties": false, "properties": { "Condition": { @@ -45871,21 +42968,54 @@ "Properties": { "additionalProperties": false, "properties": { - "JobName": { + "Description": { + "markdownDescription": "An optional description of the prompt router to help identify its purpose.", + "title": "Description", "type": "string" }, - "ModelDataSource": { - "$ref": "#/definitions/AWS::Bedrock::ImportedModel.ModelDataSource" + "FallbackModel": { + "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel", + "markdownDescription": "The default model to use when the routing criteria is not met.", + "title": "FallbackModel" }, - "ModelName": { + "Models": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel" + }, + "markdownDescription": "A list of foundation models that the prompt router can route requests to. At least one model must be specified.", + "title": "Models", + "type": "array" + }, + "PromptRouterName": { + "markdownDescription": "The name of the prompt router. The name must be unique within your AWS account in the current region.", + "title": "PromptRouterName", "type": "string" + }, + "RoutingCriteria": { + "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.RoutingCriteria", + "markdownDescription": "Routing criteria for a prompt router.", + "title": "RoutingCriteria" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource as tags. You can use tags to categorize and manage your AWS resources.", + "title": "Tags", + "type": "array" } }, + "required": [ + "FallbackModel", + "Models", + "PromptRouterName", + "RoutingCriteria" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Bedrock::ImportedModel" + "AWS::Bedrock::IntelligentPromptRouter" ], "type": "string" }, @@ -45899,176 +43029,40 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Bedrock::ImportedModel.CustomModelUnits": { + "AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel": { "additionalProperties": false, "properties": { - "CustomModelUnitsPerModelCopy": { - "type": "number" - }, - "CustomModelUnitsVersion": { + "ModelArn": { + "markdownDescription": "The target model's ARN.", + "title": "ModelArn", "type": "string" } }, - "type": "object" - }, - "AWS::Bedrock::ImportedModel.ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Bedrock::ImportedModel.S3DataSource" - } - }, "required": [ - "S3DataSource" + "ModelArn" ], "type": "object" }, - "AWS::Bedrock::ImportedModel.S3DataSource": { + "AWS::Bedrock::IntelligentPromptRouter.RoutingCriteria": { "additionalProperties": false, "properties": { - "S3Uri": { - "type": "string" + "ResponseQualityDifference": { + "markdownDescription": "The criteria's response quality difference.", + "title": "ResponseQualityDifference", + "type": "number" } }, "required": [ - "S3Uri" + "ResponseQualityDifference" ], "type": "object" }, - "AWS::Bedrock::IntelligentPromptRouter": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "An optional description of the prompt router to help identify its purpose.", - "title": "Description", - "type": "string" - }, - "FallbackModel": { - "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel", - "markdownDescription": "The default model to use when the routing criteria is not met.", - "title": "FallbackModel" - }, - "Models": { - "items": { - "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel" - }, - "markdownDescription": "A list of foundation models that the prompt router can route requests to. At least one model must be specified.", - "title": "Models", - "type": "array" - }, - "PromptRouterName": { - "markdownDescription": "The name of the prompt router. The name must be unique within your AWS account in the current region.", - "title": "PromptRouterName", - "type": "string" - }, - "RoutingCriteria": { - "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.RoutingCriteria", - "markdownDescription": "Routing criteria for a prompt router.", - "title": "RoutingCriteria" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this resource as tags. You can use tags to categorize and manage your AWS resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "FallbackModel", - "Models", - "PromptRouterName", - "RoutingCriteria" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::IntelligentPromptRouter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel": { - "additionalProperties": false, - "properties": { - "ModelArn": { - "markdownDescription": "The target model's ARN.", - "title": "ModelArn", - "type": "string" - } - }, - "required": [ - "ModelArn" - ], - "type": "object" - }, - "AWS::Bedrock::IntelligentPromptRouter.RoutingCriteria": { - "additionalProperties": false, - "properties": { - "ResponseQualityDifference": { - "markdownDescription": "The criteria's response quality difference.", - "title": "ResponseQualityDifference", - "type": "number" - } - }, - "required": [ - "ResponseQualityDifference" - ], - "type": "object" - }, - "AWS::Bedrock::KnowledgeBase": { + "AWS::Bedrock::KnowledgeBase": { "additionalProperties": false, "properties": { "Condition": { @@ -46281,9 +43275,6 @@ "markdownDescription": "Settings for an Amazon Kendra knowledge base.", "title": "KendraKnowledgeBaseConfiguration" }, - "ManagedKnowledgeBaseConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseConfiguration" - }, "SqlKnowledgeBaseConfiguration": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.SqlKnowledgeBaseConfiguration", "markdownDescription": "Specifies configurations for a knowledge base connected to an SQL database.", @@ -46305,33 +43296,6 @@ ], "type": "object" }, - "AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "EmbeddingModelArn": { - "type": "string" - }, - "EmbeddingModelConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.EmbeddingModelConfiguration" - }, - "EmbeddingModelType": { - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseServerSideEncryptionConfiguration" - } - }, - "type": "object" - }, - "AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Bedrock::KnowledgeBase.MongoDbAtlasConfiguration": { "additionalProperties": false, "properties": { @@ -47160,338 +44124,6 @@ ], "type": "object" }, - "AWS::Bedrock::KnowledgeBasePolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KnowledgeBaseId": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "KnowledgeBaseId", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::KnowledgeBasePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Bedrock::ModelImportJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ImportedModelKmsKeyArn": { - "type": "string" - }, - "ModelDataSource": { - "$ref": "#/definitions/AWS::Bedrock::ModelImportJob.ModelDataSource" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Bedrock::ModelImportJob.VpcConfig" - } - }, - "required": [ - "ModelDataSource", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::ModelImportJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Bedrock::ModelImportJob.ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Bedrock::ModelImportJob.S3DataSource" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Bedrock::ModelImportJob.S3DataSource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Bedrock::ModelImportJob.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ModelInvocationJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.ModelInvocationJobInputDataConfig": { - "additionalProperties": false, - "properties": { - "S3InputDataConfig": { - "$ref": "#/definitions/AWS::Bedrock::ModelInvocationJob.ModelInvocationJobS3InputDataConfig" - } - }, - "required": [ - "S3InputDataConfig" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.ModelInvocationJobOutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3OutputDataConfig": { - "$ref": "#/definitions/AWS::Bedrock::ModelInvocationJob.ModelInvocationJobS3OutputDataConfig" - } - }, - "required": [ - "S3OutputDataConfig" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.ModelInvocationJobS3InputDataConfig": { - "additionalProperties": false, - "properties": { - "S3BucketOwner": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.ModelInvocationJobS3OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3BucketOwner": { - "type": "string" - }, - "S3EncryptionKeyId": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, "AWS::Bedrock::Prompt": { "additionalProperties": false, "properties": { @@ -48608,82 +45240,6 @@ ], "type": "object" }, - "AWS::Bedrock::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": { - "EncryptionKeyArn": { - "type": "string" - }, - "SessionMetadata": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::BedrockAgentCore::ApiKeyCredentialProvider": { "additionalProperties": false, "properties": { @@ -49174,7 +45730,7 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider": { + "AWS::BedrockAgentCore::CodeInterpreterCustom": { "additionalProperties": false, "properties": { "Condition": { @@ -49209,35 +45765,53 @@ "Properties": { "additionalProperties": false, "properties": { - "ComputeConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.ComputeConfiguration" + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.Certificate" + }, + "type": "array" }, "Description": { + "markdownDescription": "The code interpreter description.", + "title": "Description", + "type": "string" + }, + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the execution role.", + "title": "ExecutionRoleArn", "type": "string" }, "Name": { + "markdownDescription": "The name of the code interpreter.", + "title": "Name", "type": "string" }, - "PermissionsConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.PermissionsConfiguration" + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.CodeInterpreterNetworkConfiguration", + "markdownDescription": "The network configuration for a code interpreter. This structure defines how the code interpreter connects to the network.", + "title": "NetworkConfiguration" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "The tags for the code interpreter.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "Tags", + "type": "object" } }, "required": [ - "ComputeConfiguration", "Name", - "PermissionsConfiguration" + "NetworkConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::BedrockAgentCore::CapacityProvider" + "AWS::BedrockAgentCore::CodeInterpreterCustom" ], "type": "string" }, @@ -49256,800 +45830,220 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.CapacityReservationSpecification": { + "AWS::BedrockAgentCore::CodeInterpreterCustom.Certificate": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { - "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.CapacityReservationTarget" + "CertificateLocation": { + "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.CertificateLocation" } }, + "required": [ + "CertificateLocation" + ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.CapacityReservationTarget": { + "AWS::BedrockAgentCore::CodeInterpreterCustom.CertificateLocation": { "additionalProperties": false, "properties": { - "CapacityReservationId": { - "type": "string" - }, - "CapacityReservationResourceGroupArn": { + "SecretArn": { "type": "string" } }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.ComputeConfiguration": { - "additionalProperties": false, - "properties": { - "Ec2Configuration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.Ec2Configuration" - } - }, "required": [ - "Ec2Configuration" + "SecretArn" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.EbsVolumeConfiguration": { + "AWS::BedrockAgentCore::CodeInterpreterCustom.CodeInterpreterNetworkConfiguration": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SizeGiB": { - "type": "number" - }, - "SnapshotId": { + "NetworkMode": { + "markdownDescription": "The network mode.", + "title": "NetworkMode", "type": "string" }, - "Throughput": { - "type": "number" - }, - "VolumeType": { - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.VpcConfig", + "markdownDescription": "", + "title": "VpcConfig" } }, "required": [ - "Name", - "SizeGiB" + "NetworkMode" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.Ec2Configuration": { + "AWS::BedrockAgentCore::CodeInterpreterCustom.VpcConfig": { "additionalProperties": false, "properties": { - "LaunchTemplateSource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.LaunchTemplateSource" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.InstanceLifecycleConfiguration" - }, - "RootVolume": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.RootVolumeConfiguration" - }, - "Volumes": { + "SecurityGroups": { "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.VolumeConfiguration" + "type": "string" }, + "markdownDescription": "", + "title": "SecurityGroups", "type": "array" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.VpcConfiguration" - } - }, - "required": [ - "LaunchTemplateSource", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.EphemeralBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.EphemeralEBSVolumeConfiguration" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.EphemeralEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "EbsCardIndex": { - "type": "number" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "Throughput": { - "type": "number" - }, - "VolumeInitializationRate": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.InstanceLifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "IdleInstanceTimeout": { - "type": "number" - }, - "MaxLifetime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.InstanceRequirements": { - "additionalProperties": false, - "properties": { - "AllowedInstanceTypes": { + "Subnets": { "items": { "type": "string" }, + "markdownDescription": "", + "title": "Subnets", "type": "array" } }, "required": [ - "AllowedInstanceTypes" + "SecurityGroups", + "Subnets" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.LaunchParameters": { + "AWS::BedrockAgentCore::ConfigurationBundle": { "additionalProperties": false, "properties": { - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.CapacityReservationSpecification" - }, - "EphemeralVolumes": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.EphemeralBlockDeviceMapping" - }, - "type": "array" - }, - "InstanceProfileArn": { + "Condition": { "type": "string" }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.InstanceRequirements" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.LicenseSpecification" - }, - "type": "array" - }, - "Monitoring": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OperatingSystem": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "PropagatedTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "BundleName": { + "type": "string" + }, + "CommitMessage": { + "type": "string" + }, + "Components": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.ComponentConfiguration" + } + }, + "type": "object" + }, + "CreatedBy": { + "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource" + }, + "Description": { "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "BundleName", + "Components" + ], "type": "object" }, - "SshKeyName": { + "Type": { + "enum": [ + "AWS::BedrockAgentCore::ConfigurationBundle" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InstanceRequirements", - "OperatingSystem" + "Type", + "Properties" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.LaunchTemplateSource": { + "AWS::BedrockAgentCore::ConfigurationBundle.ComponentConfiguration": { "additionalProperties": false, "properties": { - "LaunchParameters": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.LaunchParameters" + "Configuration": { + "type": "object" } }, "required": [ - "LaunchParameters" + "Configuration" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.LicenseSpecification": { + "AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource": { "additionalProperties": false, "properties": { - "LicenseConfigurationArn": { + "Arn": { "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.PermissionsConfiguration": { - "additionalProperties": false, - "properties": { - "CapacityProviderOperatorRoleArn": { + }, + "Name": { "type": "string" } }, "required": [ - "CapacityProviderOperatorRoleArn" + "Name" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.RootVolumeConfiguration": { + "AWS::BedrockAgentCore::ConfigurationBundle.VersionLineageMetadata": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "FreeSpaceGiB": { - "type": "number" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { + "BranchName": { "type": "string" }, - "Throughput": { - "type": "number" - }, - "VolumeType": { + "CommitMessage": { "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.VolumeConfiguration": { - "additionalProperties": false, - "properties": { - "EbsConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.EbsVolumeConfiguration" - } - }, - "required": [ - "EbsConfiguration" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" }, - "Subnets": { + "CreatedBy": { + "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource" + }, + "ParentVersionIds": { "items": { "type": "string" }, "type": "array" } }, - "required": [ - "SecurityGroups", - "Subnets" - ], "type": "object" }, - "AWS::BedrockAgentCore::CodeInterpreter": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::BedrockAgentCore::CodeInterpreter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.Certificate" - }, - "type": "array" - }, - "Description": { - "markdownDescription": "The code interpreter description.", - "title": "Description", - "type": "string" - }, - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the execution role.", - "title": "ExecutionRoleArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the code interpreter.", - "title": "Name", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.CodeInterpreterNetworkConfiguration", - "markdownDescription": "The network configuration for a code interpreter. This structure defines how the code interpreter connects to the network.", - "title": "NetworkConfiguration" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The tags for the code interpreter.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "Name", - "NetworkConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::CodeInterpreterCustom" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateLocation": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.CertificateLocation" - } - }, - "required": [ - "CertificateLocation" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom.CertificateLocation": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom.CodeInterpreterNetworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkMode": { - "markdownDescription": "The network mode.", - "title": "NetworkMode", - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.VpcConfig", - "markdownDescription": "", - "title": "VpcConfig" - } - }, - "required": [ - "NetworkMode" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "SecurityGroups", - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Subnets", - "type": "array" - } - }, - "required": [ - "SecurityGroups", - "Subnets" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundle": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "BundleName": { - "type": "string" - }, - "CommitMessage": { - "type": "string" - }, - "Components": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.ComponentConfiguration" - } - }, - "type": "object" - }, - "CreatedBy": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource" - }, - "Description": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "BundleName", - "Components" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::ConfigurationBundle" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundle.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "Configuration": { - "type": "object" - } - }, - "required": [ - "Configuration" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundle.VersionLineageMetadata": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "CommitMessage": { - "type": "string" - }, - "CreatedBy": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource" - }, - "ParentVersionIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundleVersion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "CommitMessage": { - "type": "string" - }, - "Components": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundleVersion.ComponentConfiguration" - } - }, - "type": "object" - }, - "CreatedBy": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundleVersion.VersionCreatedBySource" - } - }, - "required": [ - "Components" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::ConfigurationBundleVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundleVersion.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "Configuration": { - "type": "object" - } - }, - "required": [ - "Configuration" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundleVersion.VersionCreatedBySource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::Dataset": { + "AWS::BedrockAgentCore::Dataset": { "additionalProperties": false, "properties": { "Condition": { @@ -50320,11 +46314,11 @@ "properties": { "BedrockEvaluatorModelConfig": { "$ref": "#/definitions/AWS::BedrockAgentCore::Evaluator.BedrockEvaluatorModelConfig" - }, - "ResponsesEvaluatorModelConfig": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Evaluator.OpenResponsesEvaluatorModelConfig" } }, + "required": [ + "BedrockEvaluatorModelConfig" + ], "type": "object" }, "AWS::BedrockAgentCore::Evaluator.InferenceConfiguration": { @@ -50397,30 +46391,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Evaluator.OpenResponsesEvaluatorModelConfig": { - "additionalProperties": false, - "properties": { - "MaxOutputTokens": { - "type": "number" - }, - "ModelId": { - "type": "string" - }, - "Reasoning": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Evaluator.ReasoningConfiguration" - }, - "Temperature": { - "type": "number" - }, - "TopP": { - "type": "number" - } - }, - "required": [ - "ModelId" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Evaluator.RatingScale": { "additionalProperties": false, "properties": { @@ -50439,15 +46409,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Evaluator.ReasoningConfiguration": { - "additionalProperties": false, - "properties": { - "Effort": { - "type": "string" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Gateway": { "additionalProperties": false, "properties": { @@ -50549,9 +46510,6 @@ }, "title": "Tags", "type": "object" - }, - "WafConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.WafConfiguration" } }, "required": [ @@ -50664,15 +46622,6 @@ "AWS::BedrockAgentCore::Gateway.CustomJWTAuthorizerConfiguration": { "additionalProperties": false, "properties": { - "AdvertisedScopeMapping": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, "AllowedAudience": { "items": { "type": "string" @@ -50709,9 +46658,6 @@ "markdownDescription": "The discovery URL for the authorizer configuration.", "title": "DiscoveryUrl", "type": "string" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.PrivateEndpoint" } }, "required": [ @@ -50798,9 +46744,6 @@ "markdownDescription": "", "title": "PassRequestHeaders", "type": "boolean" - }, - "PayloadFilter": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.InterceptorPayloadFilter" } }, "required": [ @@ -50808,33 +46751,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Gateway.InterceptorPayloadExclusionSelector": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - } - }, - "required": [ - "Field" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::Gateway.InterceptorPayloadFilter": { - "additionalProperties": false, - "properties": { - "Exclude": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.InterceptorPayloadExclusionSelector" - }, - "type": "array" - } - }, - "required": [ - "Exclude" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Gateway.LambdaInterceptorConfiguration": { "additionalProperties": false, "properties": { @@ -50879,62 +46795,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Gateway.ManagedVpcResource": { - "additionalProperties": false, - "properties": { - "EndpointIpAddressType": { - "type": "string" - }, - "RoutingDomain": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcIdentifier": { - "type": "string" - } - }, - "required": [ - "EndpointIpAddressType", - "SubnetIds", - "VpcIdentifier" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::Gateway.PrivateEndpoint": { - "additionalProperties": false, - "properties": { - "ManagedVpcResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.ManagedVpcResource" - }, - "SelfManagedLatticeResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.SelfManagedLatticeResource" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::Gateway.SelfManagedLatticeResource": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationIdentifier": { - "type": "string" - } - }, - "required": [ - "ResourceConfigurationIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Gateway.SessionConfiguration": { "additionalProperties": false, "properties": { @@ -50953,15 +46813,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Gateway.WafConfiguration": { - "additionalProperties": false, - "properties": { - "FailureMode": { - "type": "string" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Gateway.WorkloadIdentityDetails": { "additionalProperties": false, "properties": { @@ -50976,469 +46827,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::GatewayRateLimit": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "DimensionKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit.LimitEntry" - }, - "type": "array" - }, - "GatewayIdentifier": { - "type": "string" - }, - "RateLimitId": { - "type": "string" - } - }, - "required": [ - "DimensionKeys", - "Entries" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::GatewayRateLimit" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRateLimit.LimitEntry": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit.RateConfig" - }, - "type": "array" - }, - "Dimensions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Requests": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit.RateConfig" - }, - "type": "array" - }, - "Tokens": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit.RateConfig" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRateLimit.RateConfig": { - "additionalProperties": false, - "properties": { - "Period": { - "type": "string" - }, - "Rate": { - "type": "number" - } - }, - "required": [ - "Period", - "Rate" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.Action" - }, - "type": "array" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.Condition" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "GatewayIdentifier": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Actions", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::GatewayRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.Action": { - "additionalProperties": false, - "properties": { - "ConfigurationBundle": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.ConfigurationBundleAction" - }, - "RouteToTarget": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.RouteToTargetAction" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.Condition": { - "additionalProperties": false, - "properties": { - "MatchPaths": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.MatchPaths" - }, - "MatchPrincipals": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.MatchPrincipals" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.ConfigurationBundleAction": { - "additionalProperties": false, - "properties": { - "StaticOverride": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.StaticOverride" - }, - "WeightedOverride": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.WeightedOverride" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.ConfigurationBundleReference": { - "additionalProperties": false, - "properties": { - "BundleArn": { - "type": "string" - }, - "BundleVersion": { - "type": "string" - } - }, - "required": [ - "BundleArn", - "BundleVersion" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.IamPrincipal": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Operator": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.MatchPaths": { - "additionalProperties": false, - "properties": { - "AnyOf": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AnyOf" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.MatchPrincipalEntry": { - "additionalProperties": false, - "properties": { - "IamPrincipal": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.IamPrincipal" - } - }, - "required": [ - "IamPrincipal" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.MatchPrincipals": { - "additionalProperties": false, - "properties": { - "AnyOf": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.MatchPrincipalEntry" - }, - "type": "array" - } - }, - "required": [ - "AnyOf" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.RouteToTargetAction": { - "additionalProperties": false, - "properties": { - "StaticRoute": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.StaticRoute" - }, - "WeightedRoute": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.WeightedRoute" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.StaticOverride": { - "additionalProperties": false, - "properties": { - "BundleArn": { - "type": "string" - }, - "BundleVersion": { - "type": "string" - } - }, - "required": [ - "BundleArn", - "BundleVersion" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.StaticRoute": { - "additionalProperties": false, - "properties": { - "TargetName": { - "type": "string" - } - }, - "required": [ - "TargetName" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.TargetTrafficSplitEntry": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Metadata": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "TargetName": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "TargetName", - "Weight" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.TrafficSplitEntry": { - "additionalProperties": false, - "properties": { - "ConfigurationBundle": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.ConfigurationBundleReference" - }, - "Description": { - "type": "string" - }, - "Metadata": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "ConfigurationBundle", - "Name", - "Weight" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.WeightedOverride": { - "additionalProperties": false, - "properties": { - "TrafficSplit": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.TrafficSplitEntry" - }, - "type": "array" - } - }, - "required": [ - "TrafficSplit" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.WeightedRoute": { - "additionalProperties": false, - "properties": { - "TrafficSplit": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.TargetTrafficSplitEntry" - }, - "type": "array" - } - }, - "required": [ - "TrafficSplit" - ], - "type": "object" - }, "AWS::BedrockAgentCore::GatewayTarget": { "additionalProperties": false, "properties": { @@ -51832,111 +47220,33 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceConnectorSource": { + "AWS::BedrockAgentCore::GatewayTarget.ManagedResourceDetails": { "additionalProperties": false, "properties": { - "ConnectorId": { + "Domain": { "type": "string" - } - }, - "required": [ - "ConnectorId" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceConnectorTargetConfiguration": { - "additionalProperties": false, - "properties": { - "Source": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceConnectorSource" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceOperationConfiguration": { - "additionalProperties": false, - "properties": { - "Models": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.ModelEntry" - }, - "type": "array" }, - "Path": { + "ResourceAssociationArn": { "type": "string" }, - "ProviderPath": { + "ResourceGatewayArn": { "type": "string" } }, - "required": [ - "Path" - ], "type": "object" }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceProviderTargetConfiguration": { + "AWS::BedrockAgentCore::GatewayTarget.ManagedVpcResource": { "additionalProperties": false, "properties": { - "Endpoint": { + "EndpointIpAddressType": { "type": "string" }, - "ModelMapping": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.ModelMapping" + "RoutingDomain": { + "type": "string" }, - "Operations": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceOperationConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Endpoint" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceTargetConfiguration": { - "additionalProperties": false, - "properties": { - "Connector": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceConnectorTargetConfiguration" - }, - "Provider": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceProviderTargetConfiguration" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.ManagedResourceDetails": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "ResourceAssociationArn": { - "type": "string" - }, - "ResourceGatewayArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.ManagedVpcResource": { - "additionalProperties": false, - "properties": { - "EndpointIpAddressType": { - "type": "string" - }, - "RoutingDomain": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" + "type": "string" }, "type": "array" }, @@ -51946,15 +47256,6 @@ }, "type": "array" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, "VpcIdentifier": { "type": "string" } @@ -52083,27 +47384,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::GatewayTarget.ModelEntry": { - "additionalProperties": false, - "properties": { - "Model": { - "type": "string" - } - }, - "required": [ - "Model" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.ModelMapping": { - "additionalProperties": false, - "properties": { - "ProviderPrefix": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.ProviderPrefix" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::GatewayTarget.OAuth2AuthorizationData": { "additionalProperties": false, "properties": { @@ -52141,7 +47421,7 @@ "GrantType": { "markdownDescription": "", "title": "GrantType", - "type": "object" + "type": "string" }, "ProviderArn": { "markdownDescription": "The provider ARN for the gateway target.", @@ -52197,18 +47477,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::GatewayTarget.ProviderPrefix": { - "additionalProperties": false, - "properties": { - "Separator": { - "type": "string" - }, - "Strip": { - "type": "boolean" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::GatewayTarget.RuntimeTargetConfiguration": { "additionalProperties": false, "properties": { @@ -52319,9 +47587,6 @@ "Http": { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.HttpTargetConfiguration" }, - "Inference": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceTargetConfiguration" - }, "Mcp": { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.McpTargetConfiguration", "markdownDescription": "The target configuration definition for MCP.", @@ -52912,38 +48177,11 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Harness.HarnessManagedMemoryConfiguration": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "EncryptionKeyArn": { - "type": "string" - }, - "EventExpiryDuration": { - "type": "number" - }, - "Strategies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Harness.HarnessMemoryConfiguration": { "additionalProperties": false, "properties": { "AgentCoreMemoryConfiguration": { "$ref": "#/definitions/AWS::BedrockAgentCore::Harness.HarnessAgentCoreMemoryConfiguration" - }, - "Disabled": { - "type": "object" - }, - "ManagedMemoryConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Harness.HarnessManagedMemoryConfiguration" } }, "type": "object" @@ -53027,9 +48265,6 @@ "AWS::BedrockAgentCore::Harness.HarnessSkill": { "additionalProperties": false, "properties": { - "AwsSkills": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Harness.HarnessSkillAwsSkillsSource" - }, "Git": { "$ref": "#/definitions/AWS::BedrockAgentCore::Harness.HarnessSkillGitSource" }, @@ -53042,18 +48277,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Harness.HarnessSkillAwsSkillsSource": { - "additionalProperties": false, - "properties": { - "Paths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Harness.HarnessSkillGitAuth": { "additionalProperties": false, "properties": { @@ -53393,152 +48616,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::HarnessEndpoint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "EndpointName": { - "type": "string" - }, - "HarnessId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetVersion": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "HarnessId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::HarnessEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::HarnessVersion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HarnessId": { - "type": "string" - } - }, - "required": [ - "HarnessId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::HarnessVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Memory": { "additionalProperties": false, "properties": { @@ -54092,9 +49169,6 @@ "ExtractionConfig": { "$ref": "#/definitions/AWS::BedrockAgentCore::Memory.ExtractionConfig" }, - "ExtractionType": { - "type": "string" - }, "Key": { "type": "string" }, @@ -54715,18 +49789,6 @@ }, "OnBehalfOfTokenExchangeConfig": { "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.OnBehalfOfTokenExchangeConfig" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpoint" - }, - "PrivateEndpointOverrides": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpointOverride" - }, - "type": "array" - }, - "PrivateKeyJwtConfig": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeyJwtConfig" } }, "required": [ @@ -54806,18 +49868,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.KmsKeySourceType": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - } - }, - "required": [ - "KmsKeyArn" - ], - "type": "object" - }, "AWS::BedrockAgentCore::OAuth2CredentialProvider.LinkedinOauth2ProviderConfigInput": { "additionalProperties": false, "properties": { @@ -54839,47 +49889,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.ManagedVpcResource": { - "additionalProperties": false, - "properties": { - "EndpointIpAddressType": { - "type": "string" - }, - "RoutingDomain": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "VpcIdentifier": { - "type": "string" - } - }, - "required": [ - "EndpointIpAddressType", - "SubnetIds", - "VpcIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::OAuth2CredentialProvider.MicrosoftOauth2ProviderConfigInput": { "additionalProperties": false, "properties": { @@ -54989,18 +49998,6 @@ }, "OnBehalfOfTokenExchangeConfig": { "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.OnBehalfOfTokenExchangeConfig" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpoint" - }, - "PrivateEndpointOverrides": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpointOverride" - }, - "type": "array" - }, - "PrivateKeyJwtConfig": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeyJwtConfig" } }, "type": "object" @@ -55020,73 +50017,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpoint": { - "additionalProperties": false, - "properties": { - "ManagedVpcResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.ManagedVpcResource" - }, - "SelfManagedLatticeResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.SelfManagedLatticeResource" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpointOverride": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpoint" - } - }, - "required": [ - "Domain", - "PrivateEndpoint" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeyJwtConfig": { - "additionalProperties": false, - "properties": { - "AdditionalHeaderClaims": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AdditionalPayloadClaims": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "PrivateKeySource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeySource" - }, - "SigningAlgorithm": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeySource": { - "additionalProperties": false, - "properties": { - "KmsKeySource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.KmsKeySourceType" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::OAuth2CredentialProvider.SalesforceOauth2ProviderConfigInput": { "additionalProperties": false, "properties": { @@ -55124,18 +50054,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.SelfManagedLatticeResource": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationIdentifier": { - "type": "string" - } - }, - "required": [ - "ResourceConfigurationIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::OAuth2CredentialProvider.SlackOauth2ProviderConfigInput": { "additionalProperties": false, "properties": { @@ -55502,14 +50420,12 @@ }, "PaymentManagerId": { "type": "string" - }, - "ProvisionMode": { - "type": "string" } }, "required": [ "ConnectorName", "ConnectorType", + "CredentialProviderConfigurations", "PaymentManagerId" ], "type": "object" @@ -56211,91 +51127,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::PolicyGeneration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "PolicyEngineId": { - "type": "string" - }, - "Resource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::PolicyGeneration.Resource" - } - }, - "required": [ - "Name", - "PolicyEngineId", - "Resource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::PolicyGeneration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::PolicyGeneration.Resource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, "AWS::BedrockAgentCore::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -56415,9 +51246,6 @@ "markdownDescription": "Represents inbound authorization configuration options used to authenticate incoming requests.", "title": "AuthorizerConfiguration" }, - "CapacityProviderConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.CapacityProviderConfiguration" - }, "Description": { "markdownDescription": "The agent runtime description.", "title": "Description", @@ -56480,6 +51308,7 @@ "required": [ "AgentRuntimeArtifact", "AgentRuntimeName", + "NetworkConfiguration", "RoleArn" ], "type": "object" @@ -56521,24 +51350,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Runtime.AllowedWorkloadConfiguration": { - "additionalProperties": false, - "properties": { - "HostingEnvironments": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.HostingEnvironment" - }, - "type": "array" - }, - "WorkloadIdentities": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.AuthorizerConfiguration": { "additionalProperties": false, "properties": { @@ -56566,34 +51377,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Runtime.CapacityProviderConfiguration": { - "additionalProperties": false, - "properties": { - "CapacityProviderArn": { - "type": "string" - } - }, - "required": [ - "CapacityProviderArn" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::Runtime.CapacityProviderVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "VolumeName": { - "type": "string" - } - }, - "required": [ - "MountPath", - "VolumeName" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.ClaimMatchValueType": { "additionalProperties": false, "properties": { @@ -56708,9 +51491,6 @@ }, "type": "array" }, - "AllowedWorkloadConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.AllowedWorkloadConfiguration" - }, "CustomClaims": { "items": { "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.CustomClaimValidationType" @@ -56721,15 +51501,6 @@ "markdownDescription": "The configuration authorization.", "title": "DiscoveryUrl", "type": "string" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.PrivateEndpoint" - }, - "PrivateEndpointOverrides": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.PrivateEndpointOverride" - }, - "type": "array" } }, "required": [ @@ -56756,9 +51527,6 @@ "AWS::BedrockAgentCore::Runtime.FilesystemConfiguration": { "additionalProperties": false, "properties": { - "CapacityProviderVolume": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.CapacityProviderVolumeConfiguration" - }, "EfsAccessPoint": { "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.EfsAccessPointConfiguration" }, @@ -56771,18 +51539,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Runtime.HostingEnvironment": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.LifecycleConfiguration": { "additionalProperties": false, "properties": { @@ -56799,47 +51555,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Runtime.ManagedVpcResource": { - "additionalProperties": false, - "properties": { - "EndpointIpAddressType": { - "type": "string" - }, - "RoutingDomain": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "VpcIdentifier": { - "type": "string" - } - }, - "required": [ - "EndpointIpAddressType", - "SubnetIds", - "VpcIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.NetworkConfiguration": { "additionalProperties": false, "properties": { @@ -56859,34 +51574,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Runtime.PrivateEndpoint": { - "additionalProperties": false, - "properties": { - "ManagedVpcResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.ManagedVpcResource" - }, - "SelfManagedLatticeResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.SelfManagedLatticeResource" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::Runtime.PrivateEndpointOverride": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.PrivateEndpoint" - } - }, - "required": [ - "Domain", - "PrivateEndpoint" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.RequestHeaderConfiguration": { "additionalProperties": false, "properties": { @@ -56942,18 +51629,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Runtime.SelfManagedLatticeResource": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationIdentifier": { - "type": "string" - } - }, - "required": [ - "ResourceConfigurationIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.SessionStorageConfiguration": { "additionalProperties": false, "properties": { @@ -57100,78 +51775,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::TokenVault": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::BedrockAgentCore::TokenVault" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::TokenVault.KmsConfiguration": { - "additionalProperties": false, - "properties": { - "KeyType": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, "AWS::BedrockAgentCore::WorkloadIdentity": { "additionalProperties": false, "properties": { @@ -58110,7 +52713,7 @@ }, "type": "object" }, - "AWS::Braket::Job": { + "AWS::Braket::SpendingLimit": { "additionalProperties": false, "properties": { "Condition": { @@ -58145,65 +52748,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AlgorithmSpecification": { - "$ref": "#/definitions/AWS::Braket::Job.AlgorithmSpecification" - }, - "CheckpointConfig": { - "$ref": "#/definitions/AWS::Braket::Job.JobCheckpointConfig" - }, - "DeviceConfig": { - "$ref": "#/definitions/AWS::Braket::Job.DeviceConfig" - }, - "HyperParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::Braket::Job.InputFileConfig" - }, - "type": "array" - }, - "InstanceConfig": { - "$ref": "#/definitions/AWS::Braket::Job.InstanceConfig" - }, - "JobName": { + "DeviceArn": { "type": "string" }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::Braket::Job.JobOutputDataConfig" - }, - "RoleArn": { + "SpendingLimit": { "type": "string" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::Braket::Job.JobStoppingCondition" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "TimePeriod": { + "$ref": "#/definitions/AWS::Braket::SpendingLimit.TimePeriod" } }, "required": [ - "AlgorithmSpecification", - "DeviceConfig", - "InstanceConfig", - "JobName", - "OutputDataConfig", - "RoleArn" + "DeviceArn", + "SpendingLimit" ], "type": "object" }, "Type": { "enum": [ - "AWS::Braket::Job" + "AWS::Braket::SpendingLimit" ], "type": "string" }, @@ -58222,242 +52791,23 @@ ], "type": "object" }, - "AWS::Braket::Job.AlgorithmSpecification": { - "additionalProperties": false, - "properties": { - "ScriptModeConfig": { - "$ref": "#/definitions/AWS::Braket::Job.ScriptModeConfig" - } - }, - "required": [ - "ScriptModeConfig" - ], - "type": "object" - }, - "AWS::Braket::Job.DataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Braket::Job.S3DataSource" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Braket::Job.DeviceConfig": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - } - }, - "required": [ - "Device" - ], - "type": "object" - }, - "AWS::Braket::Job.InputFileConfig": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "DataSource": { - "$ref": "#/definitions/AWS::Braket::Job.DataSource" - } - }, - "required": [ - "ChannelName", - "DataSource" - ], - "type": "object" - }, - "AWS::Braket::Job.InstanceConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeSizeInGb": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "VolumeSizeInGb" - ], - "type": "object" - }, - "AWS::Braket::Job.JobCheckpointConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Braket::Job.JobOutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Path": { - "type": "string" - } - }, - "required": [ - "S3Path" - ], - "type": "object" - }, - "AWS::Braket::Job.JobStoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Braket::Job.S3DataSource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Braket::Job.ScriptModeConfig": { + "AWS::Braket::SpendingLimit.TimePeriod": { "additionalProperties": false, "properties": { - "CompressionType": { - "type": "string" - }, - "EntryPoint": { + "EndAt": { "type": "string" }, - "S3Uri": { + "StartAt": { "type": "string" } }, "required": [ - "EntryPoint", - "S3Uri" + "EndAt", + "StartAt" ], "type": "object" }, - "AWS::Braket::SpendingLimit": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceArn": { - "type": "string" - }, - "SpendingLimit": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimePeriod": { - "$ref": "#/definitions/AWS::Braket::SpendingLimit.TimePeriod" - } - }, - "required": [ - "DeviceArn", - "SpendingLimit" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Braket::SpendingLimit" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Braket::SpendingLimit.TimePeriod": { - "additionalProperties": false, - "properties": { - "EndAt": { - "type": "string" - }, - "StartAt": { - "type": "string" - } - }, - "required": [ - "EndAt", - "StartAt" - ], - "type": "object" - }, - "AWS::Budgets::Budget": { + "AWS::Budgets::Budget": { "additionalProperties": false, "properties": { "Condition": { @@ -59775,7 +54125,7 @@ ], "type": "object" }, - "AWS::Cases::Case": { + "AWS::Cases::CaseRule": { "additionalProperties": false, "properties": { "Condition": { @@ -59810,36 +54160,44 @@ "Properties": { "additionalProperties": false, "properties": { - "CustomerId": { + "Description": { + "markdownDescription": "Description of a case rule.", + "title": "Description", "type": "string" }, "DomainId": { + "markdownDescription": "Unique identifier of a Cases domain.", + "title": "DomainId", "type": "string" }, + "Name": { + "markdownDescription": "Name of the case rule.", + "title": "Name", + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::Cases::CaseRule.CaseRuleDetails", + "markdownDescription": "Represents what rule type should take place, under what conditions.", + "title": "Rule" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "An array of key-value pairs to apply to this resource.", + "title": "Tags", "type": "array" - }, - "TemplateId": { - "type": "string" - }, - "Title": { - "type": "string" } }, "required": [ - "CustomerId", - "DomainId", - "TemplateId", - "Title" + "Name", + "Rule" ], "type": "object" }, "Type": { "enum": [ - "AWS::Cases::Case" + "AWS::Cases::CaseRule" ], "type": "string" }, @@ -59858,242 +54216,151 @@ ], "type": "object" }, - "AWS::Cases::CaseRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "Description of a case rule.", - "title": "Description", - "type": "string" - }, - "DomainId": { - "markdownDescription": "Unique identifier of a Cases domain.", - "title": "DomainId", - "type": "string" - }, - "Name": { - "markdownDescription": "Name of the case rule.", - "title": "Name", - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::Cases::CaseRule.CaseRuleDetails", - "markdownDescription": "Represents what rule type should take place, under what conditions.", - "title": "Rule" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name", - "Rule" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cases::CaseRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cases::CaseRule.BooleanCondition": { - "additionalProperties": false, - "properties": { - "EqualTo": { - "$ref": "#/definitions/AWS::Cases::CaseRule.BooleanOperands", - "markdownDescription": "Tests that operandOne is equal to operandTwo.", - "title": "EqualTo" - }, - "NotEqualTo": { - "$ref": "#/definitions/AWS::Cases::CaseRule.BooleanOperands", - "markdownDescription": "Tests that operandOne is not equal to operandTwo.", - "title": "NotEqualTo" - } - }, - "type": "object" - }, - "AWS::Cases::CaseRule.BooleanOperands": { - "additionalProperties": false, - "properties": { - "OperandOne": { - "$ref": "#/definitions/AWS::Cases::CaseRule.OperandOne", - "markdownDescription": "Represents the left hand operand in the condition.", - "title": "OperandOne" - }, - "OperandTwo": { - "$ref": "#/definitions/AWS::Cases::CaseRule.OperandTwo", - "markdownDescription": "Represents the right hand operand in the condition.", - "title": "OperandTwo" - }, - "Result": { - "markdownDescription": "The value of the outer rule if the condition evaluates to true.", - "title": "Result", - "type": "boolean" - } - }, - "required": [ - "OperandOne", - "OperandTwo", - "Result" - ], - "type": "object" - }, - "AWS::Cases::CaseRule.CaseRuleDetails": { - "additionalProperties": false, - "properties": { - "Hidden": { - "$ref": "#/definitions/AWS::Cases::CaseRule.HiddenCaseRule", - "markdownDescription": "Whether a field is visible, based on values in other fields.", - "title": "Hidden" - }, - "Required": { - "$ref": "#/definitions/AWS::Cases::CaseRule.RequiredCaseRule", - "markdownDescription": "Required rule type, used to indicate whether a field is required.", - "title": "Required" - } - }, - "type": "object" - }, - "AWS::Cases::CaseRule.HiddenCaseRule": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::Cases::CaseRule.BooleanCondition" - }, - "markdownDescription": "A list of conditions that determine field visibility.", - "title": "Conditions", - "type": "array" - }, - "DefaultValue": { - "markdownDescription": "Whether the field is hidden when no conditions match.", - "title": "DefaultValue", - "type": "boolean" - } - }, - "required": [ - "Conditions", - "DefaultValue" - ], - "type": "object" - }, - "AWS::Cases::CaseRule.OperandOne": { - "additionalProperties": false, - "properties": { - "FieldId": { - "markdownDescription": "The field ID that this operand should take the value of.", - "title": "FieldId", - "type": "string" - } - }, - "required": [ - "FieldId" - ], - "type": "object" - }, - "AWS::Cases::CaseRule.OperandTwo": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "markdownDescription": "Boolean value type.", - "title": "BooleanValue", - "type": "boolean" - }, - "DoubleValue": { - "markdownDescription": "Double value type.", - "title": "DoubleValue", - "type": "number" - }, - "EmptyValue": { - "markdownDescription": "Represents an empty operand value. In the Amazon Connect admin website, case rules are known as *case field conditions* . For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html) .", - "title": "EmptyValue", - "type": "object" - }, - "StringValue": { - "markdownDescription": "String value type.", - "title": "StringValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cases::CaseRule.RequiredCaseRule": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::Cases::CaseRule.BooleanCondition" - }, - "markdownDescription": "List of conditions for the required rule; the first condition to evaluate to true dictates the value of the rule.", - "title": "Conditions", - "type": "array" - }, - "DefaultValue": { - "markdownDescription": "The value of the rule (that is, whether the field is required) should none of the conditions evaluate to true.", - "title": "DefaultValue", - "type": "boolean" - } - }, - "required": [ - "Conditions", - "DefaultValue" - ], - "type": "object" - }, - "AWS::Cases::Domain": { + "AWS::Cases::CaseRule.BooleanCondition": { + "additionalProperties": false, + "properties": { + "EqualTo": { + "$ref": "#/definitions/AWS::Cases::CaseRule.BooleanOperands", + "markdownDescription": "Tests that operandOne is equal to operandTwo.", + "title": "EqualTo" + }, + "NotEqualTo": { + "$ref": "#/definitions/AWS::Cases::CaseRule.BooleanOperands", + "markdownDescription": "Tests that operandOne is not equal to operandTwo.", + "title": "NotEqualTo" + } + }, + "type": "object" + }, + "AWS::Cases::CaseRule.BooleanOperands": { + "additionalProperties": false, + "properties": { + "OperandOne": { + "$ref": "#/definitions/AWS::Cases::CaseRule.OperandOne", + "markdownDescription": "Represents the left hand operand in the condition.", + "title": "OperandOne" + }, + "OperandTwo": { + "$ref": "#/definitions/AWS::Cases::CaseRule.OperandTwo", + "markdownDescription": "Represents the right hand operand in the condition.", + "title": "OperandTwo" + }, + "Result": { + "markdownDescription": "The value of the outer rule if the condition evaluates to true.", + "title": "Result", + "type": "boolean" + } + }, + "required": [ + "OperandOne", + "OperandTwo", + "Result" + ], + "type": "object" + }, + "AWS::Cases::CaseRule.CaseRuleDetails": { + "additionalProperties": false, + "properties": { + "Hidden": { + "$ref": "#/definitions/AWS::Cases::CaseRule.HiddenCaseRule", + "markdownDescription": "Whether a field is visible, based on values in other fields.", + "title": "Hidden" + }, + "Required": { + "$ref": "#/definitions/AWS::Cases::CaseRule.RequiredCaseRule", + "markdownDescription": "Required rule type, used to indicate whether a field is required.", + "title": "Required" + } + }, + "type": "object" + }, + "AWS::Cases::CaseRule.HiddenCaseRule": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Cases::CaseRule.BooleanCondition" + }, + "markdownDescription": "A list of conditions that determine field visibility.", + "title": "Conditions", + "type": "array" + }, + "DefaultValue": { + "markdownDescription": "Whether the field is hidden when no conditions match.", + "title": "DefaultValue", + "type": "boolean" + } + }, + "required": [ + "Conditions", + "DefaultValue" + ], + "type": "object" + }, + "AWS::Cases::CaseRule.OperandOne": { + "additionalProperties": false, + "properties": { + "FieldId": { + "markdownDescription": "The field ID that this operand should take the value of.", + "title": "FieldId", + "type": "string" + } + }, + "required": [ + "FieldId" + ], + "type": "object" + }, + "AWS::Cases::CaseRule.OperandTwo": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "markdownDescription": "Boolean value type.", + "title": "BooleanValue", + "type": "boolean" + }, + "DoubleValue": { + "markdownDescription": "Double value type.", + "title": "DoubleValue", + "type": "number" + }, + "EmptyValue": { + "markdownDescription": "Represents an empty operand value. In the Amazon Connect admin website, case rules are known as *case field conditions* . For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html) .", + "title": "EmptyValue", + "type": "object" + }, + "StringValue": { + "markdownDescription": "String value type.", + "title": "StringValue", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cases::CaseRule.RequiredCaseRule": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Cases::CaseRule.BooleanCondition" + }, + "markdownDescription": "List of conditions for the required rule; the first condition to evaluate to true dictates the value of the rule.", + "title": "Conditions", + "type": "array" + }, + "DefaultValue": { + "markdownDescription": "The value of the rule (that is, whether the field is required) should none of the conditions evaluate to true.", + "title": "DefaultValue", + "type": "boolean" + } + }, + "required": [ + "Conditions", + "DefaultValue" + ], + "type": "object" + }, + "AWS::Cases::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -60718,73 +54985,6 @@ }, "type": "object" }, - "AWS::Cassandra::Stream": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyspaceName": { - "type": "string" - }, - "StreamViewType": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { @@ -61364,374 +55564,6 @@ }, "type": "object" }, - "AWS::CertificateManager::AcmeDomainValidation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcmeEndpointArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "PrevalidationOptions": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation.PrevalidationOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "AcmeEndpointArn", - "DomainName", - "PrevalidationOptions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::AcmeDomainValidation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeDomainValidation.DnsPrevalidationOptions": { - "additionalProperties": false, - "properties": { - "DomainScope": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation.DomainScope" - }, - "HostedZoneId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CertificateManager::AcmeDomainValidation.DomainScope": { - "additionalProperties": false, - "properties": { - "ExactDomain": { - "type": "string" - }, - "Subdomains": { - "type": "string" - }, - "Wildcards": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CertificateManager::AcmeDomainValidation.PrevalidationOptions": { - "additionalProperties": false, - "properties": { - "DnsPrevalidation": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation.DnsPrevalidationOptions" - } - }, - "required": [ - "DnsPrevalidation" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeDomainValidation.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeEndpoint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizationBehavior": { - "type": "string" - }, - "CertificateAuthority": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeEndpoint.CertificateAuthority" - }, - "CertificateTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Contact": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeEndpoint.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "AuthorizationBehavior", - "CertificateAuthority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::AcmeEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeEndpoint.CertificateAuthority": { - "additionalProperties": false, - "properties": { - "PublicCertificateAuthority": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeEndpoint.PublicCertificateAuthority" - } - }, - "required": [ - "PublicCertificateAuthority" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeEndpoint.PublicCertificateAuthority": { - "additionalProperties": false, - "properties": { - "AllowedKeyAlgorithms": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CertificateManager::AcmeEndpoint.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeExternalAccountBinding": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcmeEndpointArn": { - "type": "string" - }, - "Expiration": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeExternalAccountBinding.Expiration" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeExternalAccountBinding.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "AcmeEndpointArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::AcmeExternalAccountBinding" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeExternalAccountBinding.Expiration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeExternalAccountBinding.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::CertificateManager::Certificate": { "additionalProperties": false, "properties": { @@ -61867,6 +55699,9 @@ "type": "string" } }, + "required": [ + "DomainName" + ], "type": "object" }, "AWS::Chatbot::CustomAction": { @@ -62510,240 +56345,6 @@ ], "type": "object" }, - "AWS::Chime::AppInstanceUser": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "AppInstanceUserId": { - "type": "string" - }, - "ExpirationSettings": { - "$ref": "#/definitions/AWS::Chime::AppInstanceUser.ExpirationSettings" - }, - "Metadata": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppInstanceArn", - "AppInstanceUserId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Chime::AppInstanceUser" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Chime::AppInstanceUser.ExpirationSettings": { - "additionalProperties": false, - "properties": { - "ExpirationCriterion": { - "type": "string" - }, - "ExpirationDays": { - "type": "number" - } - }, - "required": [ - "ExpirationCriterion", - "ExpirationDays" - ], - "type": "object" - }, - "AWS::Chime::ChannelFlow": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Name": { - "type": "string" - }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::Chime::ChannelFlow.Processor" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppInstanceArn", - "Name", - "Processors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Chime::ChannelFlow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Chime::ChannelFlow.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "InvocationType": { - "type": "string" - }, - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "InvocationType", - "ResourceArn" - ], - "type": "object" - }, - "AWS::Chime::ChannelFlow.Processor": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Chime::ChannelFlow.ProcessorConfiguration" - }, - "ExecutionOrder": { - "type": "number" - }, - "FallbackAction": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Configuration", - "ExecutionOrder", - "FallbackAction", - "Name" - ], - "type": "object" - }, - "AWS::Chime::ChannelFlow.ProcessorConfiguration": { - "additionalProperties": false, - "properties": { - "Lambda": { - "$ref": "#/definitions/AWS::Chime::ChannelFlow.LambdaConfiguration" - } - }, - "required": [ - "Lambda" - ], - "type": "object" - }, "AWS::CleanRooms::AnalysisTemplate": { "additionalProperties": false, "properties": { @@ -64591,224 +58192,6 @@ }, "type": "object" }, - "AWS::CleanRooms::IntermediateTable": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "Type": { - "enum": [ - "AWS::CleanRooms::IntermediateTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.DifferentialPrivacy": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn" - }, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule": { - "additionalProperties": false, - "properties": { - "Policy": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Policy", - "Type" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom": { - "additionalProperties": false, - "properties": { - "AdditionalAnalyses": { - "type": "string" - }, - "AllowedAnalyses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedAnalysisProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedResultReceivers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DifferentialPrivacy": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacy" - }, - "DisallowedOutputColumns": { - "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": { - "additionalProperties": false, - "properties": { - "Custom": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom" - } - }, - "required": [ - "Custom" - ], - "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": { @@ -66056,139 +59439,6 @@ ], "type": "object" }, - "AWS::CloudFormation::ChangeSet": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ChangeSetName": { - "type": "string" - }, - "ChangeSetType": { - "type": "string" - }, - "DeploymentMode": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImportExistingResources": { - "type": "boolean" - }, - "IncludeNestedStacks": { - "type": "boolean" - }, - "NotificationARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OnStackFailure": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "StackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::ChangeSet.TagsItems" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateURL": { - "type": "string" - }, - "UsePreviousTemplate": { - "type": "boolean" - } - }, - "required": [ - "ChangeSetName", - "StackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ChangeSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ChangeSet.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { @@ -66261,104 +59511,6 @@ ], "type": "object" }, - "AWS::CloudFormation::GeneratedTemplate": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GeneratedTemplateName": { - "type": "string" - }, - "TemplateConfiguration": { - "$ref": "#/definitions/AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration" - } - }, - "required": [ - "GeneratedTemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::GeneratedTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "type": "string" - }, - "UpdateReplacePolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFormation::GeneratedTemplate.TemplateProgress": { - "additionalProperties": false, - "properties": { - "ResourcesFailed": { - "type": "number" - }, - "ResourcesPending": { - "type": "number" - }, - "ResourcesProcessing": { - "type": "number" - }, - "ResourcesSucceeded": { - "type": "number" - } - }, - "type": "object" - }, "AWS::CloudFormation::GuardHook": { "additionalProperties": false, "properties": { @@ -66921,9 +60073,6 @@ "title": "Alias", "type": "string" }, - "AutoUpdate": { - "type": "boolean" - }, "ExecutionRole": { "markdownDescription": "The IAM role that the Hook assumes to invoke your Lambda function.", "title": "ExecutionRole", @@ -66944,9 +60093,6 @@ "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`", @@ -67017,22 +60163,6 @@ ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogRoleArn": { - "type": "string" - } - }, - "required": [ - "LogGroupName", - "LogRoleArn" - ], - "type": "object" - }, "AWS::CloudFormation::LambdaHook.StackFilters": { "additionalProperties": false, "properties": { @@ -67593,7 +60723,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceScan": { + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -67628,18 +60758,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ScanFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceScan.ScanFilter" - }, - "type": "array" + "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" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig", + "markdownDescription": "Logging configuration information for a resource.", + "title": "LoggingConfig" + }, + "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" + }, + "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" } }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceScan" + "AWS::CloudFormation::ResourceVersion" ], "type": "string" }, @@ -67653,122 +60801,28 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::ResourceScan.ScanFilter": { + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { "additionalProperties": false, "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" + "LogGroupName": { + "markdownDescription": "The Amazon CloudWatch logs group to which CloudFormation sends error logging information when invoking the type's handlers.", + "title": "LogGroupName", + "type": "string" + }, + "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::CloudFormation::ResourceVersion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "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" - }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig", - "markdownDescription": "Logging configuration information for a resource.", - "title": "LoggingConfig" - }, - "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" - }, - "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" - } - }, - "required": [ - "SchemaHandlerPackage", - "TypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ResourceVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ResourceVersion.LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "markdownDescription": "The Amazon CloudWatch logs group to which CloudFormation sends error logging information when invoking the type's handlers.", - "title": "LogGroupName", - "type": "string" - }, - "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::CloudFormation::Stack": { + "AWS::CloudFormation::Stack": { "additionalProperties": false, "properties": { "Condition": { @@ -72753,9 +65807,6 @@ "title": "HTTPSPort", "type": "number" }, - "IpAddressType": { - "type": "string" - }, "Name": { "markdownDescription": "The name of the CloudFront VPC origin endpoint configuration.", "title": "Name", @@ -72781,120 +65832,6 @@ ], "type": "object" }, - "AWS::CloudHSM::Cluster": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - } - }, - "required": [ - "HsmType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudHSM::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudHSM::Cluster.BackupRetentionPolicy": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudHSM::Cluster.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::CloudTrail::Channel": { "additionalProperties": false, "properties": { @@ -73938,9 +66875,6 @@ "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", @@ -74017,9 +66951,6 @@ "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" } }, "type": "object" @@ -74088,18 +67019,6 @@ }, "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": { "additionalProperties": false, "properties": { @@ -74199,27 +67118,6 @@ ], "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": { "additionalProperties": false, "properties": { @@ -74942,12 +67840,9 @@ "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags", "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" + "title": "Tags" } }, "required": [ @@ -74978,6 +67873,11 @@ ], "type": "object" }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::CloudWatch::LogAlarm": { "additionalProperties": false, "properties": { @@ -75069,9 +67969,6 @@ }, "TreatMissingData": { "type": "string" - }, - "WarmUpConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.WarmUpConfiguration" } }, "required": [ @@ -75118,8 +68015,7 @@ } }, "required": [ - "ScheduleExpression", - "StartTimeOffset" + "ScheduleExpression" ], "type": "object" }, @@ -75143,34 +68039,17 @@ }, "ScheduledQueryRoleARN": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ "AggregationExpression", + "LogGroupIdentifiers", "QueryString", "ScheduleConfiguration", "ScheduledQueryRoleARN" ], "type": "object" }, - "AWS::CloudWatch::LogAlarm.WarmUpConfiguration": { - "additionalProperties": false, - "properties": { - "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { - "type": "boolean" - }, - "WarmUpPeriodDurationInMinutes": { - "type": "number" - } - }, - "type": "object" - }, "AWS::CloudWatch::MetricStream": { "additionalProperties": false, "properties": { @@ -75502,107 +68381,6 @@ ], "type": "object" }, - "AWS::CodeArtifact::Package": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Repository": { - "type": "string" - } - }, - "required": [ - "DomainName", - "Format", - "Name", - "Repository" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Package" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeArtifact::Package.OriginConfiguration": { - "additionalProperties": false, - "properties": { - "Restrictions": { - "$ref": "#/definitions/AWS::CodeArtifact::Package.Restrictions" - } - }, - "type": "object" - }, - "AWS::CodeArtifact::Package.Restrictions": { - "additionalProperties": false, - "properties": { - "Publish": { - "type": "string" - }, - "Upstream": { - "type": "string" - } - }, - "type": "object" - }, "AWS::CodeArtifact::PackageGroup": { "additionalProperties": false, "properties": { @@ -75873,128 +68651,6 @@ ], "type": "object" }, - "AWS::CodeBuild::Build": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::Build" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::BuildBatch": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::BuildBatch" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::CodeBuild::Fleet": { "additionalProperties": false, "properties": { @@ -76618,9 +69274,6 @@ "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", @@ -77241,67 +69894,6 @@ ], "type": "object" }, - "AWS::CodeBuild::Sandbox": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "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": { @@ -77655,117 +70247,6 @@ ], "type": "object" }, - "AWS::CodeConnections::Host": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ProviderEndpoint": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::CodeConnections::Host.VpcConfiguration" - } - }, - "required": [ - "Name", - "ProviderEndpoint", - "ProviderType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeConnections::Host" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeConnections::Host.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TlsCertificate": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, "AWS::CodeDeploy::Application": { "additionalProperties": false, "properties": { @@ -81590,12 +74071,6 @@ "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.", @@ -81844,36 +74319,6 @@ }, "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": { @@ -81907,27 +74352,6 @@ }, "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": { @@ -82170,9 +74594,6 @@ "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", @@ -82606,9 +75027,6 @@ "title": "ManagedLoginVersion", "type": "number" }, - "Routing": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.RoutingType" - }, "UserPoolId": { "markdownDescription": "The ID of the user pool that is associated with the domain you're updating.", "title": "UserPoolId", @@ -82649,568 +75067,208 @@ "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": { + "AWS::Cognito::UserPoolGroup": { "additionalProperties": false, "properties": { - "PrimaryRoute53HealthCheckId": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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 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", + "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", + "type": "string" + }, + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create a user group.", + "title": "UserPoolId", + "type": "string" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolGroup" + ], "type": "string" }, - "SecondaryRegion": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PrimaryRoute53HealthCheckId", - "SecondaryRegion" + "Type", + "Properties" ], "type": "object" }, - "AWS::Cognito::UserPoolDomain.RoutingType": { + "AWS::Cognito::UserPoolIdentityProvider": { "additionalProperties": false, "properties": { - "Failover": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.FailoverType" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "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", + "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", + "type": "string" + }, + "UserPoolId": { + "markdownDescription": "The Id of the user pool where you want to create an IdP.", + "title": "UserPoolId", + "type": "string" + } + }, + "required": [ + "ProviderDetails", + "ProviderName", + "ProviderType", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolIdentityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Cognito::UserPoolGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 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", - "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", - "type": "string" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create a user group.", - "title": "UserPoolId", - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolIdentityProvider": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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", - "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", - "type": "string" - }, - "UserPoolId": { - "markdownDescription": "The Id of the user pool where you want to create an IdP.", - "title": "UserPoolId", - "type": "string" - } - }, - "required": [ - "ProviderDetails", - "ProviderName", - "ProviderType", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationSet": { - "type": "string" - }, - "EmailSendingAccount": { - "type": "string" - }, - "From": { - "type": "string" - }, - "ReplyToEmailAddress": { - "type": "string" - }, - "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": [ - "CallerArn" - ], - "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": { - "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": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RegionName": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - }, - "UserPoolTagsAtCreate": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "RegionName", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolReplica" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer": { + "AWS::Cognito::UserPoolResourceServer": { "additionalProperties": false, "properties": { "Condition": { @@ -83876,182 +75934,6 @@ ], "type": "object" }, - "AWS::CognitoSync::Dataset": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Comprehend::DocumentClassificationJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Comprehend::DocumentClassificationJob.InputDataConfig": { - "additionalProperties": false, - "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::DocumentClassificationJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, "AWS::Comprehend::DocumentClassifier": { "additionalProperties": false, "properties": { @@ -84345,221 +76227,6 @@ ], "type": "object" }, - "AWS::Comprehend::DominantLanguageDetectionJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig": { - "additionalProperties": false, - "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::DominantLanguageDetectionJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::EntitiesDetectionJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Comprehend::EntitiesDetectionJob.InputDataConfig": { - "additionalProperties": false, - "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::EntitiesDetectionJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, "AWS::Comprehend::Flywheel": { "additionalProperties": false, "properties": { @@ -84793,7 +76460,7 @@ ], "type": "object" }, - "AWS::Comprehend::FlywheelDataset": { + "AWS::ComputeOptimizer::AutomationRule": { "additionalProperties": false, "properties": { "Condition": { @@ -84828,16 +76495,34 @@ "Properties": { "additionalProperties": false, "properties": { - "DatasetName": { + "Criteria": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Criteria" + }, + "Description": { "type": "string" }, - "DatasetType": { + "Name": { "type": "string" }, - "Description": { + "OrganizationConfiguration": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration" + }, + "Priority": { + "type": "string" + }, + "RecommendedActionTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RuleType": { "type": "string" }, - "FlywheelArn": { + "Schedule": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Schedule" + }, + "Status": { "type": "string" }, "Tags": { @@ -84848,14 +76533,17 @@ } }, "required": [ - "DatasetName", - "FlywheelArn" + "Name", + "RecommendedActionTypes", + "RuleType", + "Schedule", + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::FlywheelDataset" + "AWS::ComputeOptimizer::AutomationRule" ], "type": "string" }, @@ -84874,409 +76562,79 @@ ], "type": "object" }, - "AWS::Comprehend::SentimentDetectionJob": { + "AWS::ComputeOptimizer::AutomationRule.Criteria": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "EbsVolumeSizeInGib": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" + }, + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "EbsVolumeType": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EstimatedMonthlySavings": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "LookBackPeriodInDays": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" + }, + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataAccessRoleArn": { - "type": "string" - }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "LanguageCode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Region": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" }, - "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::Comprehend::SentimentDetectionJob" - ], - "type": "string" + "ResourceArn": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ResourceTag": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition" + }, + "type": "array" + }, + "RestartNeeded": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Comprehend::SentimentDetectionJob.InputDataConfig": { + "AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition": { "additionalProperties": false, "properties": { - "InputFormat": { + "Comparison": { "type": "string" }, - "S3Uri": { - "type": "string" + "Values": { + "items": { + "type": "number" + }, + "type": "array" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::TargetedSentimentDetectionJob": { + "AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::TargetedSentimentDetectionJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "LanguageCode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems" - }, - "type": "array" - }, - "VolumeKmsKeyId": { - "type": "string" - } - }, - "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Comprehend::TargetedSentimentDetectionJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig": { - "additionalProperties": false, - "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::TargetedSentimentDetectionJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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": { - "type": "string" - }, - "RecommendedActionTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleType": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Schedule" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "RecommendedActionTypes", - "RuleType", - "Schedule", - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ComputeOptimizer::AutomationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { + "Comparison": { "type": "string" }, "Values": { @@ -86062,12 +77420,6 @@ "title": "DeliveryS3KeyPrefix", "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", @@ -86146,102 +77498,6 @@ }, "type": "object" }, - "AWS::Config::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": { - "ConnectorConfiguration": { - "$ref": "#/definitions/AWS::Config::Connector.ConnectorConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectorConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::Connector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::Connector.AzureConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIdentifier": { - "type": "string" - }, - "TenantIdentifier": { - "type": "string" - } - }, - "required": [ - "ClientIdentifier", - "TenantIdentifier" - ], - "type": "object" - }, - "AWS::Config::Connector.ConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "Azure": { - "$ref": "#/definitions/AWS::Config::Connector.AzureConnectorConfiguration" - } - }, - "type": "object" - }, "AWS::Config::DeliveryChannel": { "additionalProperties": false, "properties": { @@ -86688,12 +77944,6 @@ "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", @@ -86876,6 +78126,31 @@ }, "type": "object" }, + "AWS::Config::RemediationConfiguration.RemediationParameterValue": { + "additionalProperties": false, + "properties": { + "ResourceValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue", + "markdownDescription": "The value is dynamic and changes at run-time.", + "title": "ResourceValue" + }, + "StaticValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue", + "markdownDescription": "The value is static and does not change at run-time.", + "title": "StaticValue" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ResourceValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::RemediationConfiguration.SsmControls": { "additionalProperties": false, "properties": { @@ -86892,6 +78167,18 @@ }, "type": "object" }, + "AWS::Config::RemediationConfiguration.StaticValue": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Config::StoredQuery": { "additionalProperties": false, "properties": { @@ -87595,78 +78882,6 @@ ], "type": "object" }, - "AWS::Connect::DataLakeAssociation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "InstanceId": { - "type": "string" - }, - "TargetAccountId": { - "type": "string" - } - }, - "required": [ - "DataSetId", - "InstanceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Connect::DataLakeAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Connect::DataTable": { "additionalProperties": false, "properties": { @@ -87741,13 +78956,6 @@ "type": "string" } }, - "required": [ - "InstanceArn", - "Name", - "Status", - "TimeZone", - "ValueLockLevel" - ], "type": "object" }, "Type": { @@ -87766,8 +78974,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -87853,12 +79060,6 @@ "type": "string" } }, - "required": [ - "DataTableArn", - "InstanceArn", - "Name", - "ValueType" - ], "type": "object" }, "Type": { @@ -87877,8 +79078,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -88024,11 +79224,6 @@ "type": "string" } }, - "required": [ - "DataTableArn", - "DataTableRecord", - "InstanceArn" - ], "type": "object" }, "Type": { @@ -88047,8 +79242,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -88559,23 +79753,11 @@ "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption": { "additionalProperties": false, "properties": { - "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", @@ -88654,9 +79836,6 @@ "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", @@ -88735,9 +79914,6 @@ "title": "RefId", "type": "string" }, - "ScoringConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration" - }, "Title": { "markdownDescription": "The title of the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 350.", "title": "Title", @@ -88770,24 +79946,6 @@ ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration": { - "additionalProperties": false, - "properties": { - "IsExcludedFromScoring": { - "type": "boolean" - }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionPointsConfiguration" - }, - "ScoreThresholds": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties": { "additionalProperties": false, "properties": { @@ -88814,24 +79972,6 @@ }, "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold": { - "additionalProperties": false, - "properties": { - "MaxScorePercentage": { - "type": "number" - }, - "MinScorePercentage": { - "type": "number" - }, - "PerformanceCategory": { - "type": "string" - } - }, - "required": [ - "PerformanceCategory" - ], - "type": "object" - }, "AWS::Connect::EvaluationForm.EvaluationFormSection": { "additionalProperties": false, "properties": { @@ -88840,9 +79980,6 @@ "title": "Instructions", "type": "string" }, - "IsExcludedFromScoring": { - "type": "boolean" - }, "Items": { "items": { "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItem" @@ -88856,12 +79993,6 @@ "title": "RefId", "type": "string" }, - "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", @@ -88930,9 +80061,6 @@ "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", @@ -89104,36 +80232,6 @@ ], "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": { @@ -89142,12 +80240,6 @@ "title": "Mode", "type": "string" }, - "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", @@ -89978,240 +81070,6 @@ ], "type": "object" }, - "AWS::Connect::Metric": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "InstanceArn": { - "type": "string" - }, - "MetricCalculation": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricCalculation" - }, - "Name": { - "type": "string" - }, - "PositiveTrendIndicator": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "InstanceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Connect::Metric" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { - "additionalProperties": false, - "properties": { - "AWSIdentityArn": { - "type": "string" - }, - "ConnectUserArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Metric.MetricCalculation": { - "additionalProperties": false, - "properties": { - "Calculation": { - "type": "string" - }, - "CalculationComponents": { - "items": { - "$ref": "#/definitions/AWS::Connect::Metric.CalculationComponent" - }, - "type": "array" - } - }, - "required": [ - "Calculation", - "CalculationComponents" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilter": { - "additionalProperties": false, - "properties": { - "BooleanCondition": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterBooleanCondition" - }, - "MetricFilterKey": { - "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": { - "type": "string" - } - }, - "required": [ - "Comparison" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilterNumberCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Comparison", - "Values" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilterStringCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Comparison", - "Values" - ], - "type": "object" - }, "AWS::Connect::Notification": { "additionalProperties": false, "properties": { @@ -90912,18 +81770,6 @@ ], "type": "object" }, - "AWS::Connect::QuickConnect.FlowQuickConnectConfig": { - "additionalProperties": false, - "properties": { - "ContactFlowArn": { - "type": "string" - } - }, - "required": [ - "ContactFlowArn" - ], - "type": "object" - }, "AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig": { "additionalProperties": false, "properties": { @@ -90961,9 +81807,6 @@ "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.", @@ -91348,12 +82191,6 @@ "title": "AssignContactCategoryActions", "type": "array" }, - "AssignSlaActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.AssignSlaAction" - }, - "type": "array" - }, "CreateCaseActions": { "items": { "$ref": "#/definitions/AWS::Connect::Rule.CreateCaseAction" @@ -91413,51 +82250,6 @@ }, "type": "object" }, - "AWS::Connect::Rule.AssignSlaAction": { - "additionalProperties": false, - "properties": { - "CaseSlaConfiguration": { - "$ref": "#/definitions/AWS::Connect::Rule.CaseSlaConfiguration" - }, - "SlaAssignmentType": { - "type": "string" - } - }, - "required": [ - "CaseSlaConfiguration", - "SlaAssignmentType" - ], - "type": "object" - }, - "AWS::Connect::Rule.CaseSlaConfiguration": { - "additionalProperties": false, - "properties": { - "FieldId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TargetFieldValues": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.SlaTargetFieldValue" - }, - "type": "array" - }, - "TargetSlaMinutes": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "TargetSlaMinutes", - "Type" - ], - "type": "object" - }, "AWS::Connect::Rule.CreateCaseAction": { "additionalProperties": false, "properties": { @@ -91623,9 +82415,6 @@ "title": "DeliveryMethod", "type": "string" }, - "Exclusion": { - "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType" - }, "Recipient": { "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType", "markdownDescription": "Notification recipient.", @@ -91645,15 +82434,6 @@ ], "type": "object" }, - "AWS::Connect::Rule.SlaTargetFieldValue": { - "additionalProperties": false, - "properties": { - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Connect::Rule.SubmitAutoEvaluationAction": { "additionalProperties": false, "properties": { @@ -91956,6 +82736,10 @@ "type": "string" } }, + "required": [ + "ApplicationPermissions", + "Namespace" + ], "type": "object" }, "AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration": { @@ -91979,6 +82763,10 @@ "type": "string" } }, + "required": [ + "FlowModuleId", + "Type" + ], "type": "object" }, "AWS::Connect::SecurityProfile.GranularAccessControlConfiguration": { @@ -92004,6 +82792,9 @@ "type": "array" } }, + "required": [ + "PrimaryAttributeValues" + ], "type": "object" }, "AWS::Connect::SecurityProfile.PrimaryAttributeValue": { @@ -92028,6 +82819,11 @@ "type": "array" } }, + "required": [ + "AccessType", + "AttributeName", + "Values" + ], "type": "object" }, "AWS::Connect::TaskTemplate": { @@ -92295,136 +83091,6 @@ ], "type": "object" }, - "AWS::Connect::TestCase": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "string" - }, - "Description": { - "type": "string" - }, - "EntryPoint": { - "$ref": "#/definitions/AWS::Connect::TestCase.EntryPoint" - }, - "InitializationData": { - "type": "string" - }, - "InstanceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Content", - "InstanceArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Connect::TestCase" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { "additionalProperties": false, "properties": { @@ -92673,9 +83339,6 @@ "AWS::Connect::User.AfterContactWorkConfig": { "additionalProperties": false, "properties": { - "AfterContactWorkMode": { - "type": "string" - }, "AfterContactWorkTimeLimit": { "type": "number" } @@ -94706,7 +85369,7 @@ }, "type": "object" }, - "AWS::ControlCatalog::CommonControl": { + "AWS::ControlTower::EnabledBaseline": { "additionalProperties": false, "properties": { "Condition": { @@ -94740,12 +85403,49 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "BaselineIdentifier": { + "markdownDescription": "The specific `Baseline` enabled as part of the `EnabledBaseline` resource.", + "title": "BaselineIdentifier", + "type": "string" + }, + "BaselineVersion": { + "markdownDescription": "The enabled version of the `Baseline` .", + "title": "BaselineVersion", + "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" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + }, + "TargetIdentifier": { + "markdownDescription": "The target on which to enable the `Baseline` .", + "title": "TargetIdentifier", + "type": "string" + } + }, + "required": [ + "BaselineIdentifier", + "BaselineVersion", + "TargetIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlCatalog::CommonControl" + "AWS::ControlTower::EnabledBaseline" ], "type": "string" }, @@ -94759,35 +85459,28 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ControlCatalog::CommonControl.Domain": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ControlCatalog::CommonControl.Objective": { + "AWS::ControlTower::EnabledBaseline.Parameter": { "additionalProperties": false, "properties": { - "Arn": { + "Key": { + "markdownDescription": "", + "title": "Key", "type": "string" }, - "Name": { - "type": "string" + "Value": { + "markdownDescription": "", + "title": "Value", + "type": "object" } }, "type": "object" }, - "AWS::ControlCatalog::Control": { + "AWS::ControlTower::EnabledControl": { "additionalProperties": false, "properties": { "Condition": { @@ -94821,12 +85514,43 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "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", + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "markdownDescription": "Array of `EnabledControlParameter` objects.", + "title": "Parameters", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "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::ControlCatalog::Control" + "AWS::ControlTower::EnabledControl" ], "type": "string" }, @@ -94840,333 +85564,32 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ControlCatalog::Control.ImplementationDetails": { + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { "additionalProperties": false, "properties": { - "Identifier": { - "type": "string" - }, - "Type": { + "Key": { + "markdownDescription": "The key of a key/value pair. It is of type `string` .", + "title": "Key", "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ControlCatalog::Control.RegionConfiguration": { - "additionalProperties": false, - "properties": { - "DeployableRegions": { - "items": { - "type": "string" - }, - "type": "array" }, - "Scope": { - "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": [ - "Scope" + "Key", + "Value" ], "type": "object" }, - "AWS::ControlCatalog::Objective": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Objective" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ControlCatalog::Objective.Domain": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ControlTower::EnabledBaseline": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BaselineIdentifier": { - "markdownDescription": "The specific `Baseline` enabled as part of the `EnabledBaseline` resource.", - "title": "BaselineIdentifier", - "type": "string" - }, - "BaselineVersion": { - "markdownDescription": "The enabled version of the `Baseline` .", - "title": "BaselineVersion", - "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" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - }, - "TargetIdentifier": { - "markdownDescription": "The target on which to enable the `Baseline` .", - "title": "TargetIdentifier", - "type": "string" - } - }, - "required": [ - "BaselineIdentifier", - "BaselineVersion", - "TargetIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ControlTower::EnabledBaseline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "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": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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", - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" - }, - "markdownDescription": "Array of `EnabledControlParameter` objects.", - "title": "Parameters", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "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::ControlTower::EnabledControl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "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": { + "AWS::ControlTower::LandingZone": { "additionalProperties": false, "properties": { "Condition": { @@ -95928,119 +86351,6 @@ ], "type": "object" }, - "AWS::CustomerProfiles::DomainObjectType": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "Fields": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField" - } - }, - "type": "object" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "Fields", - "ObjectTypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::DomainObjectType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { "additionalProperties": false, "properties": { @@ -102193,142 +92503,6 @@ ], "type": "object" }, - "AWS::DRS::RecoveryInstance": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DRS::SourceNetwork": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "OriginAccountID": { - "type": "string" - }, - "OriginRegion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcID": { - "type": "string" - } - }, - "required": [ - "OriginAccountID", - "OriginRegion", - "VpcID" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DRS::SourceNetwork" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::DSQL::Cluster": { "additionalProperties": false, "properties": { @@ -104681,7 +94855,7 @@ ], "type": "object" }, - "AWS::DataExchange::Assets": { + "AWS::DataPipeline::Pipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -104716,21 +94890,62 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSetId": { + "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" }, - "RevisionId": { - "type": "string" + "ParameterObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + }, + "markdownDescription": "The parameter objects used with the pipeline.", + "title": "ParameterObjects", + "type": "array" + }, + "ParameterValues": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "markdownDescription": "The parameter values used with the pipeline.", + "title": "ParameterValues", + "type": "array" + }, + "PipelineObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + }, + "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" + }, + "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": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DataExchange::Assets" + "AWS::DataPipeline::Pipeline" ], "type": "string" }, @@ -104744,17 +94959,138 @@ } }, "required": [ - "Type" + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.Field": { + "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" + }, + "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" + }, + "Id": { + "markdownDescription": "The ID of the parameter object.", + "title": "Id", + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "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", + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" ], "type": "object" }, - "AWS::DataExchange::Assets.TagsItems": { + "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", + "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", "type": "string" }, "Value": { + "markdownDescription": "The value to associate with the key name.", + "title": "Value", "type": "string" } }, @@ -104764,605 +95100,7 @@ ], "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" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetType", - "Description", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataExchange::DataSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataExchange::EntitledDataSets": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataExchange::EntitledDataSets" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "$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" - }, - "Type": { - "enum": [ - "AWS::DataExchange::EventAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction.Action": { - "additionalProperties": false, - "properties": { - "ExportRevisionToS3": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails" - } - }, - "type": "object" - }, - "AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPattern": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.ExportServerSideEncryption" - }, - "RevisionDestination": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry" - } - }, - "required": [ - "RevisionDestination" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction.Event": { - "additionalProperties": false, - "properties": { - "RevisionPublished": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.RevisionPublished" - } - }, - "type": "object" - }, - "AWS::DataExchange::EventAction.ExportServerSideEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction.RevisionPublished": { - "additionalProperties": false, - "properties": { - "DataSetId": { - "type": "string" - } - }, - "required": [ - "DataSetId" - ], - "type": "object" - }, - "AWS::DataExchange::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::DataExchange::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataPipeline::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": { - "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": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" - }, - "markdownDescription": "The parameter objects used with the pipeline.", - "title": "ParameterObjects", - "type": "array" - }, - "ParameterValues": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" - }, - "markdownDescription": "The parameter values used with the pipeline.", - "title": "ParameterValues", - "type": "array" - }, - "PipelineObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" - }, - "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" - }, - "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": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataPipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.Field": { - "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" - }, - "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" - }, - "Id": { - "markdownDescription": "The ID of the parameter object.", - "title": "Id", - "type": "string" - } - }, - "required": [ - "Attributes", - "Id" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterValue": { - "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", - "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", - "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", - "type": "string" - }, - "Value": { - "markdownDescription": "The value to associate with the key name.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::DataSync::Agent": { + "AWS::DataSync::Agent": { "additionalProperties": false, "properties": { "Condition": { @@ -107623,124 +97361,6 @@ }, "type": "object" }, - "AWS::DataSync::TaskExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::TaskExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataSync::TaskExecution.Options": { - "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": { - "type": "string" - }, - "PreserveDevices": { - "type": "string" - }, - "SecurityDescriptorCopyFlags": { - "type": "string" - }, - "TaskQueueing": { - "type": "string" - }, - "TransferMode": { - "type": "string" - }, - "Uid": { - "type": "string" - }, - "VerifyMode": { - "type": "string" - } - }, - "type": "object" - }, "AWS::DataZone::Connection": { "additionalProperties": false, "properties": { @@ -111338,162 +100958,6 @@ }, "type": "object" }, - "AWS::Deadline::Budget": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Budget.BudgetActionToAdd" - }, - "type": "array" - }, - "ApproximateDollarLimit": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "FarmId": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Deadline::Budget.BudgetSchedule" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UsageTrackingResource": { - "$ref": "#/definitions/AWS::Deadline::Budget.UsageTrackingResource" - } - }, - "required": [ - "Actions", - "ApproximateDollarLimit", - "DisplayName", - "FarmId", - "Schedule", - "UsageTrackingResource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Deadline::Budget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "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": { @@ -112230,7 +101694,7 @@ }, "type": "object" }, - "AWS::Deadline::Job": { + "AWS::Deadline::LicenseEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -112265,36 +101729,46 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "type": "string" - }, - "MaxFailedTasksCount": { - "type": "number" - }, - "MaxRetriesPerTask": { - "type": "number" - }, - "MaxWorkerCount": { - "type": "number" - }, - "Priority": { - "type": "number" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The identifier of the Amazon EC2 security group that controls access to the license endpoint.", + "title": "SecurityGroupIds", + "type": "array" }, - "QueueId": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Identifies the VPC subnets that can connect to a license endpoint.", + "title": "SubnetIds", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "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" + }, + "VpcId": { + "markdownDescription": "The VPC (virtual private cloud) ID associated with the license endpoint.", + "title": "VpcId", + "type": "string" } }, + "required": [ + "SecurityGroupIds", + "SubnetIds", + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Job" + "AWS::Deadline::LicenseEndpoint" ], "type": "string" }, @@ -112308,104 +101782,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Deadline::LicenseEndpoint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The identifier of the Amazon EC2 security group that controls access to the license endpoint.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "Identifies the VPC subnets that can connect to a license endpoint.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "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" - }, - "VpcId": { - "markdownDescription": "The VPC (virtual private cloud) ID associated with the license endpoint.", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Deadline::LicenseEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Deadline::Limit": { + "AWS::Deadline::Limit": { "additionalProperties": false, "properties": { "Condition": { @@ -113305,7 +102687,7 @@ ], "type": "object" }, - "AWS::Deadline::Worker": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "Condition": { @@ -113340,31 +102722,25 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "type": "string" - }, - "FleetId": { - "type": "string" - }, - "HostProperties": { - "$ref": "#/definitions/AWS::Deadline::Worker.HostPropertiesRequest" + "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" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::Deadline::Worker.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tag values to assign to the new behavior graph.", + "title": "Tags", "type": "array" } }, - "required": [ - "FarmId", - "FleetId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Worker" + "AWS::Detective::Graph" ], "type": "string" }, @@ -113378,285 +102754,167 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Deadline::Worker.HostPropertiesRequest": { + "AWS::Detective::MemberInvitation": { "additionalProperties": false, "properties": { - "HostName": { + "Condition": { "type": "string" }, - "IpAddresses": { - "$ref": "#/definitions/AWS::Deadline::Worker.IpAddresses" - } - }, - "type": "object" - }, - "AWS::Deadline::Worker.IpAddresses": { - "additionalProperties": false, - "properties": { - "IpV4Addresses": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "IpV6Addresses": { - "items": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "MemberId": { + "markdownDescription": "The AWS account identifier of the invited account", + "title": "MemberId", + "type": "string" + }, + "Message": { + "markdownDescription": "Customized text to include in the invitation email message.", + "title": "Message", + "type": "string" + } }, - "type": "array" + "required": [ + "GraphArn", + "MemberEmailAddress", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::MemberInvitation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Deadline::Worker.TagsItems": { + "AWS::Detective::OrganizationAdmin": { "additionalProperties": false, "properties": { - "Key": { + "Condition": { "type": "string" }, - "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": { + "AccountId": { + "markdownDescription": "The AWS account identifier of the account to designate as the Detective administrator account for the organization.", + "title": "AccountId", + "type": "string" + } + }, + "required": [ + "AccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::OrganizationAdmin" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::Detective::Graph": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tag values to assign to the new behavior graph.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::Graph" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Detective::MemberInvitation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "GraphArn": { - "markdownDescription": "The ARN of the behavior graph to invite the account to contribute data to.", - "title": "GraphArn", - "type": "string" - }, - "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" - }, - "MemberId": { - "markdownDescription": "The AWS account identifier of the invited account", - "title": "MemberId", - "type": "string" - }, - "Message": { - "markdownDescription": "Customized text to include in the invitation email message.", - "title": "Message", - "type": "string" - } - }, - "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::MemberInvitation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Detective::OrganizationAdmin": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } - }, - "required": [ - "AccountId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::OrganizationAdmin" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsAgent::AgentSpace": { + "AWS::DevOpsAgent::AgentSpace": { "additionalProperties": false, "properties": { "Condition": { @@ -113798,108 +103056,6 @@ }, "type": "object" }, - "AWS::DevOpsAgent::Asset": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "type": "string" - }, - "AssetType": { - "type": "string" - }, - "Files": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Asset.AssetFile" - }, - "type": "array" - }, - "Metadata": { - "type": "object" - }, - "Zip": { - "type": "string" - } - }, - "required": [ - "AgentSpaceId", - "AssetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsAgent::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Asset.AssetFile": { - "additionalProperties": false, - "properties": { - "ContentBytes": { - "type": "string" - }, - "ContentText": { - "type": "string" - }, - "Metadata": { - "type": "object" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, "AWS::DevOpsAgent::Association": { "additionalProperties": false, "properties": { @@ -114652,9 +103808,6 @@ "AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode": { "additionalProperties": false, "properties": { - "DnsResolution": { - "type": "string" - }, "HostAddress": { "type": "string" }, @@ -114727,15 +103880,9 @@ "Properties": { "additionalProperties": false, "properties": { - "ExchangeUrlPrivateConnectionName": { - "type": "string" - }, "KmsKeyArn": { "type": "string" }, - "PrivateConnectionName": { - "type": "string" - }, "ServiceDetails": { "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceDetails" }, @@ -114747,9 +103894,6 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetUrlPrivateConnectionName": { - "type": "string" } }, "required": [ @@ -114933,9 +104077,6 @@ "ApiKey": { "$ref": "#/definitions/AWS::DevOpsAgent::Service.ApiKeyDetails" }, - "BearerToken": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" - }, "OAuthClientCredentials": { "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig" } @@ -115044,9 +104185,6 @@ }, "type": "object" }, - "McpRoleArn": { - "type": "string" - }, "Region": { "type": "string" }, @@ -115059,6 +104197,7 @@ }, "required": [ "Region", + "RoleArn", "Service" ], "type": "object" @@ -115357,9 +104496,6 @@ "Endpoint": { "type": "string" }, - "McpRoleArn": { - "type": "string" - }, "Name": { "type": "string" }, @@ -115488,110 +104624,6 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Trigger": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "object" - }, - "AgentSpaceId": { - "type": "string" - }, - "Condition": { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Condition" - }, - "Status": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Action", - "AgentSpaceId", - "Condition", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsAgent::Trigger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Trigger.Condition": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Schedule" - } - }, - "required": [ - "Schedule" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Trigger.Schedule": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - } - }, - "required": [ - "Expression" - ], - "type": "object" - }, "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { "additionalProperties": false, "properties": { @@ -116268,9 +105300,6 @@ "Mtu": { "type": "number" }, - "RateLimit": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -116391,9 +105420,6 @@ "ConnectionId": { "type": "string" }, - "RateLimit": { - "type": "string" - }, "RouteFilterPrefixes": { "items": { "type": "string" @@ -116526,9 +105552,6 @@ "Mtu": { "type": "number" }, - "RateLimit": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -117721,159 +106744,6 @@ ], "type": "object" }, - "AWS::DynamoDB::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": { - "BackupName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "BackupName", - "TableName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Backup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::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": { - "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" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Export" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::DynamoDB::GlobalTable": { "additionalProperties": false, "properties": { @@ -118441,14 +107311,11 @@ "$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" - }, - "type": "array" } }, + "required": [ + "ResourcePolicy" + ], "type": "object" }, "AWS::DynamoDB::GlobalTable.ResourcePolicy": { @@ -118584,86 +107451,6 @@ }, "type": "object" }, - "AWS::DynamoDB::Stream": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DynamoDB::Stream.KeySchemaItems": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, "AWS::DynamoDB::Table": { "additionalProperties": false, "properties": { @@ -119209,12 +107996,6 @@ "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": [ @@ -121938,105 +110719,6 @@ ], "type": "object" }, - "AWS::EC2::ExportInstanceTask": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ExportToS3Task": { - "$ref": "#/definitions/AWS::EC2::ExportInstanceTask.ExportToS3Task" - }, - "InstanceId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetEnvironment": { - "type": "string" - } - }, - "required": [ - "InstanceId", - "TargetEnvironment" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ExportInstanceTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "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": { @@ -122214,94 +110896,6 @@ ], "type": "object" }, - "AWS::EC2::FpgaImage": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "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" - }, - "Type": { - "enum": [ - "AWS::EC2::FpgaImage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::FpgaImage.StorageLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "type": "object" - }, "AWS::EC2::GatewayRouteTableAssociation": { "additionalProperties": false, "properties": { @@ -124526,77 +113120,6 @@ ], "type": "object" }, - "AWS::EC2::IpamExternalResourceVerificationToken": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::EC2::KeyPair": { "additionalProperties": false, "properties": { @@ -128677,9 +117200,6 @@ "Properties": { "additionalProperties": false, "properties": { - "ParentGroupId": { - "type": "string" - }, "PartitionCount": { "markdownDescription": "The number of partitions. Valid only when *Strategy* is set to `partition` .", "title": "PartitionCount", @@ -128839,80 +117359,6 @@ ], "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::Route": { "additionalProperties": false, "properties": { @@ -133285,7 +121731,7 @@ }, "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTable": { + "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { "Condition": { @@ -133320,93 +121766,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Blackhole": { + "markdownDescription": "Indicates whether to drop traffic that matches this route.", + "title": "Blackhole", + "type": "boolean" }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayPolicyTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayPolicyTableAssociation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DestinationCidrBlock": { + "markdownDescription": "The CIDR block used for destination matches.", + "title": "DestinationCidrBlock", "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the attachment.", + "title": "TransitGatewayAttachmentId", "type": "string" }, - "TransitGatewayPolicyTableId": { + "TransitGatewayRouteTableId": { + "markdownDescription": "The ID of the transit gateway route table.", + "title": "TransitGatewayRouteTableId", "type": "string" } }, "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayPolicyTableId" + "DestinationCidrBlock", + "TransitGatewayRouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTableAssociation" + "AWS::EC2::TransitGatewayRoute" ], "type": "string" }, @@ -133425,7 +121814,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableEntry": { + "AWS::EC2::TransitGatewayRouteTable": { "additionalProperties": false, "properties": { "Condition": { @@ -133460,30 +121849,28 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyRule": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule" - }, - "PolicyRuleNumber": { - "type": "string" - }, - "TargetRouteTableId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route table.", + "title": "Tags", + "type": "array" }, - "TransitGatewayPolicyTableId": { + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway.", + "title": "TransitGatewayId", "type": "string" } }, "required": [ - "PolicyRule", - "PolicyRuleNumber", - "TargetRouteTableId", - "TransitGatewayPolicyTableId" + "TransitGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTableEntry" + "AWS::EC2::TransitGatewayRouteTable" ], "type": "string" }, @@ -133502,186 +121889,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayRoute": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Blackhole": { - "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" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTable": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway.", - "title": "TransitGatewayId", - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { + "AWS::EC2::TransitGatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -134036,9 +122244,6 @@ "markdownDescription": "The tags for the VPC.", "title": "Tags", "type": "array" - }, - "VpcEncryptionControl": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControl" } }, "type": "object" @@ -134063,96 +122268,6 @@ ], "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": { "additionalProperties": false, "properties": { @@ -134993,12 +123108,6 @@ "title": "PayerResponsibility", "type": "string" }, - "PrivateDnsName": { - "type": "string" - }, - "PrivateDnsNameConfiguration": { - "$ref": "#/definitions/AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration" - }, "SupportedIpAddressTypes": { "items": { "type": "string" @@ -135046,100 +123155,82 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration": { + "AWS::EC2::VPCEndpointServicePermissions": { "additionalProperties": false, "properties": { - "Name": { + "Condition": { "type": "string" }, - "State": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "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" + }, + "ServiceId": { + "markdownDescription": "The ID of the service.", + "title": "ServiceId", + "type": "string" + } + }, + "required": [ + "ServiceId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "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" - }, - "ServiceId": { - "markdownDescription": "The ID of the service.", - "title": "ServiceId", - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCGatewayAttachment": { + "AWS::EC2::VPCGatewayAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -137144,7 +125235,7 @@ ], "type": "object" }, - "AWS::EC2::VpnConnectionDeviceType": { + "AWS::ECR::PublicRepository": { "additionalProperties": false, "properties": { "Condition": { @@ -137178,12 +125269,36 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "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" + }, + "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" + }, + "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": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VpnConnectionDeviceType" + "AWS::ECR::PublicRepository" ], "type": "string" }, @@ -137201,7 +125316,44 @@ ], "type": "object" }, - "AWS::ECR::PublicRepository": { + "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "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", + "type": "string" + }, + "Architectures": { + "items": { + "type": "string" + }, + "markdownDescription": "The architecture tags that are associated with the repository.", + "title": "Architectures", + "type": "array" + }, + "OperatingSystems": { + "items": { + "type": "string" + }, + "markdownDescription": "The operating system tags that are associated with the repository.", + "title": "OperatingSystems", + "type": "array" + }, + "RepositoryDescription": { + "markdownDescription": "The short description of the repository.", + "title": "RepositoryDescription", + "type": "string" + }, + "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::ECR::PullThroughCacheRule": { "additionalProperties": false, "properties": { "Condition": { @@ -137236,35 +125388,42 @@ "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" + "CredentialArn": { + "markdownDescription": "The ARN of the Secrets Manager secret associated with the pull through cache rule.", + "title": "CredentialArn", + "type": "string" }, - "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", + "CustomRoleArn": { + "markdownDescription": "The ARN of the IAM role associated with the pull through cache rule.", + "title": "CustomRoleArn", "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" + "EcrRepositoryPrefix": { + "markdownDescription": "The Amazon ECR repository prefix associated with the pull through cache rule.", + "title": "EcrRepositoryPrefix", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", - "type": "array" + "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" }, "Type": { "enum": [ - "AWS::ECR::PublicRepository" + "AWS::ECR::PullThroughCacheRule" ], "type": "string" }, @@ -137282,199 +125441,74 @@ ], "type": "object" }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "AWS::ECR::PullTimeUpdateExclusion": { "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", + "Condition": { "type": "string" }, - "Architectures": { - "items": { - "type": "string" - }, - "markdownDescription": "The architecture tags that are associated with the repository.", - "title": "Architectures", - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "OperatingSystems": { - "items": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PrincipalArn": { + "markdownDescription": "The ARN of the IAM principal to remove from the pull time update exclusion list.", + "title": "PrincipalArn", + "type": "string" + } }, - "markdownDescription": "The operating system tags that are associated with the repository.", - "title": "OperatingSystems", - "type": "array" + "required": [ + "PrincipalArn" + ], + "type": "object" }, - "RepositoryDescription": { - "markdownDescription": "The short description of the repository.", - "title": "RepositoryDescription", + "Type": { + "enum": [ + "AWS::ECR::PullTimeUpdateExclusion" + ], "type": "string" }, - "UsageText": { - "markdownDescription": "The longform usage details of the contents of the repository. The usage text provides context for users of the repository.", - "title": "UsageText", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECR::PullThroughCacheRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "Type": { - "enum": [ - "AWS::ECR::PullThroughCacheRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::PullTimeUpdateExclusion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - } - }, - "required": [ - "PrincipalArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PullTimeUpdateExclusion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::RegistryPolicy": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -138257,87 +126291,6 @@ ], "type": "object" }, - "AWS::ECRPublic::Registry": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ECRPublic::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "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": { @@ -139299,7 +127252,7 @@ ], "type": "object" }, - "AWS::ECS::ContainerInstance": { + "AWS::ECS::Daemon": { "additionalProperties": false, "properties": { "Condition": { @@ -139333,12 +127286,46 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "CapacityProviderArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterArn": { + "type": "string" + }, + "DaemonName": { + "type": "string" + }, + "DaemonTaskDefinitionArn": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonDeploymentConfiguration" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, + "PropagateTags": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::ContainerInstance" + "AWS::ECS::Daemon" ], "type": "string" }, @@ -139356,185 +127343,37 @@ ], "type": "object" }, - "AWS::ECS::ContainerInstance.Attribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::ECS::ContainerInstance.Resource": { + "AWS::ECS::Daemon.DaemonAlarmConfiguration": { "additionalProperties": false, "properties": { - "DoubleValue": { - "type": "number" - }, - "IntegerValue": { - "type": "number" - }, - "LongValue": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "StringSetValue": { + "AlarmNames": { "items": { "type": "string" }, "type": "array" }, - "Type": { - "type": "string" + "Enable": { + "type": "boolean" } }, "type": "object" }, - "AWS::ECS::ContainerInstance.VersionInfo": { + "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { "additionalProperties": false, "properties": { - "AgentHash": { - "type": "string" + "Alarms": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" }, - "AgentVersion": { - "type": "string" + "BakeTimeInMinutes": { + "type": "number" }, - "DockerVersion": { - "type": "string" + "DrainPercent": { + "type": "number" } }, "type": "object" }, - "AWS::ECS::Daemon": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviderArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterArn": { - "type": "string" - }, - "DaemonName": { - "type": "string" - }, - "DaemonTaskDefinitionArn": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Daemon.DaemonDeploymentConfiguration" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "PropagateTags": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Daemon" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Daemon.DaemonAlarmConfiguration": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" - }, - "BakeTimeInMinutes": { - "type": "number" - }, - "DrainPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::DaemonTaskDefinition": { + "AWS::ECS::DaemonTaskDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -140145,9 +127984,6 @@ "title": "Tags", "type": "array" }, - "TaskDefinitionArn": { - "type": "string" - }, "TaskRoleArn": { "markdownDescription": "The ARN of the task role for the service revision.", "title": "TaskRoleArn", @@ -140155,7 +127991,9 @@ } }, "required": [ - "InfrastructureRoleArn" + "ExecutionRoleArn", + "InfrastructureRoleArn", + "PrimaryContainer" ], "type": "object" }, @@ -140408,9 +128246,6 @@ "title": "ServiceRevisionArn", "type": "string" }, - "TaskDefinitionArn": { - "type": "string" - }, "TaskRoleArn": { "markdownDescription": "The ARN of the task role for the service revision.", "title": "TaskRoleArn", @@ -140974,16 +128809,10 @@ "title": "Enable", "type": "boolean" }, - "ResetOnHealthyTask": { - "type": "boolean" - }, "Rollback": { "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", "title": "Rollback", "type": "boolean" - }, - "ThresholdConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.ThresholdConfiguration" } }, "required": [ @@ -141649,22 +129478,6 @@ ], "type": "object" }, - "AWS::ECS::Service.ThresholdConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, "AWS::ECS::Service.TimeoutConfiguration": { "additionalProperties": false, "properties": { @@ -141707,79 +129520,6 @@ ], "type": "object" }, - "AWS::ECS::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": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Task" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Task.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::ECS::TaskDefinition": { "additionalProperties": false, "properties": { @@ -144240,9 +131980,6 @@ "AWS::EKS::Capability.CapabilityConfiguration": { "additionalProperties": false, "properties": { - "Ack": { - "type": "object" - }, "ArgoCd": { "$ref": "#/definitions/AWS::EKS::Capability.ArgoCd", "markdownDescription": "", @@ -144285,95 +132022,6 @@ ], "type": "object" }, - "AWS::EKS::CertificateAuthority": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } - }, - "required": [ - "ClusterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::CertificateAuthority" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::CertificateAuthority.ScheduledEvents": { - "additionalProperties": false, - "properties": { - "FinalAutoActivation": { - "type": "string" - }, - "FirstAutoActivation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::CertificateAuthority.Validity": { - "additionalProperties": false, - "properties": { - "NotAfter": { - "type": "string" - }, - "NotBefore": { - "type": "string" - } - }, - "type": "object" - }, "AWS::EKS::Cluster": { "additionalProperties": false, "properties": { @@ -144414,17 +132062,11 @@ "markdownDescription": "The access configuration for the cluster.", "title": "AccessConfig" }, - "ActiveCertificateAuthorityId": { - "type": "string" - }, "BootstrapSelfManagedAddons": { "markdownDescription": "If you set this value to `False` when creating a cluster, the default networking add-ons will not be installed.\n\nThe default networking add-ons include `vpc-cni` , `coredns` , and `kube-proxy` .\n\nUse this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.", "title": "BootstrapSelfManagedAddons", "type": "boolean" }, - "CertificateAuthority": { - "$ref": "#/definitions/AWS::EKS::Cluster.CertificateAuthority" - }, "ComputeConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.ComputeConfig", "markdownDescription": "Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the *Amazon EKS User Guide* .", @@ -144453,15 +132095,6 @@ "title": "Force", "type": "boolean" }, - "KubeApiServerConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubeApiServerConfig" - }, - "KubeControllerManagerConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubeControllerManagerConfig" - }, - "KubeSchedulerConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubeSchedulerConfig" - }, "KubernetesNetworkConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig", "markdownDescription": "The Kubernetes network configuration for the cluster.", @@ -144497,9 +132130,6 @@ "title": "RoleArn", "type": "string" }, - "RollbackConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.RollbackConfig" - }, "StorageConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.StorageConfig", "markdownDescription": "Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the *Amazon EKS User Guide* .", @@ -144572,18 +132202,6 @@ }, "type": "object" }, - "AWS::EKS::Cluster.ActiveCertificateAuthority": { - "additionalProperties": false, - "properties": { - "ActivatedBy": { - "type": "string" - }, - "Id": { - "type": "string" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.BlockStorage": { "additionalProperties": false, "properties": { @@ -144595,18 +132213,6 @@ }, "type": "object" }, - "AWS::EKS::Cluster.CertificateAuthority": { - "additionalProperties": false, - "properties": { - "Active": { - "$ref": "#/definitions/AWS::EKS::Cluster.ActiveCertificateAuthority" - }, - "Data": { - "type": "string" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.ClusterLogging": { "additionalProperties": false, "properties": { @@ -144709,45 +132315,6 @@ }, "type": "object" }, - "AWS::EKS::Cluster.HorizontalPodAutoscalerControllerConfig": { - "additionalProperties": false, - "properties": { - "HorizontalPodAutoscalerSyncPeriod": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubeApiServerConfig": { - "additionalProperties": false, - "properties": { - "EventTtl": { - "type": "string" - }, - "ServiceNodePortRange": { - "$ref": "#/definitions/AWS::EKS::Cluster.ServiceNodePortRange" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubeControllerManagerConfig": { - "additionalProperties": false, - "properties": { - "HorizontalPodAutoscalerControllerConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.HorizontalPodAutoscalerControllerConfig" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubeSchedulerConfig": { - "additionalProperties": false, - "properties": { - "NodeResourcesFit": { - "$ref": "#/definitions/AWS::EKS::Cluster.NodeResourcesFitConfig" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.KubernetesNetworkConfig": { "additionalProperties": false, "properties": { @@ -144796,15 +132363,6 @@ }, "type": "object" }, - "AWS::EKS::Cluster.NodeResourcesFitConfig": { - "additionalProperties": false, - "properties": { - "ScoringStrategy": { - "$ref": "#/definitions/AWS::EKS::Cluster.ScoringStrategy" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.OutpostConfig": { "additionalProperties": false, "properties": { @@ -144906,18 +132464,6 @@ ], "type": "object" }, - "AWS::EKS::Cluster.ResourceWeight": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.ResourcesVpcConfig": { "additionalProperties": false, "properties": { @@ -144964,42 +132510,6 @@ ], "type": "object" }, - "AWS::EKS::Cluster.RollbackConfig": { - "additionalProperties": false, - "properties": { - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ScoringStrategy": { - "additionalProperties": false, - "properties": { - "Resources": { - "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourceWeight" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ServiceNodePortRange": { - "additionalProperties": false, - "properties": { - "MaxPort": { - "type": "number" - }, - "MinPort": { - "type": "number" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.StorageConfig": { "additionalProperties": false, "properties": { @@ -147865,7 +135375,7 @@ ], "type": "object" }, - "AWS::EMR::NotebookExecution": { + "AWS::EMR::SecurityConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -147900,45 +135410,25 @@ "Properties": { "additionalProperties": false, "properties": { - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ExecutionEngine": { - "$ref": "#/definitions/AWS::EMR::NotebookExecution.ExecutionEngineConfig" - }, - "NotebookExecutionName": { - "type": "string" - }, - "NotebookParams": { - "type": "string" - }, - "NotebookS3Location": { - "$ref": "#/definitions/AWS::EMR::NotebookExecution.NotebookS3Location" - }, - "OutputNotebookFormat": { + "Name": { + "markdownDescription": "The name of the security configuration.", + "title": "Name", "type": "string" }, - "OutputNotebookS3Location": { - "$ref": "#/definitions/AWS::EMR::NotebookExecution.OutputNotebookS3Location" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SecurityConfiguration": { + "markdownDescription": "The security configuration details in JSON format. For JSON parameters and examples, see [Use Security Configurations to Set Up Cluster Security](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) in the *Amazon EMR Management Guide* .", + "title": "SecurityConfiguration", + "type": "object" } }, + "required": [ + "SecurityConfiguration" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::NotebookExecution" + "AWS::EMR::SecurityConfiguration" ], "type": "string" }, @@ -147952,268 +135442,158 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::NotebookExecution.ExecutionEngineConfig": { + "AWS::EMR::Step": { "additionalProperties": false, "properties": { - "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": { + "ActionOnFailure": { + "markdownDescription": "This specifies what action to take when the cluster step fails. Possible values are `CANCEL_AND_WAIT` and `CONTINUE` .", + "title": "ActionOnFailure", + "type": "string" + }, + "EncryptionKeyArn": { + "markdownDescription": "", + "title": "EncryptionKeyArn", + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig", + "markdownDescription": "The `HadoopJarStepConfig` property type specifies a job flow step consisting of a JAR file whose main function will be executed. The main function submits a job for the cluster to execute as a step on the master node, and then waits for the job to finish or fail before executing subsequent steps.", + "title": "HadoopJarStep" + }, + "JobFlowId": { + "markdownDescription": "A string that uniquely identifies the cluster (job flow).", + "title": "JobFlowId", + "type": "string" + }, + "LogUri": { + "markdownDescription": "", + "title": "LogUri", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the cluster step.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EMR::Step" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Id" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::NotebookExecution.NotebookS3Location": { + "AWS::EMR::Step.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "Bucket": { + "Args": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of command line arguments passed to the JAR file's main function when executed.", + "title": "Args", + "type": "array" + }, + "Jar": { + "markdownDescription": "A path to a JAR file run during the step.", + "title": "Jar", "type": "string" }, - "Key": { + "MainClass": { + "markdownDescription": "The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.", + "title": "MainClass", "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + }, + "markdownDescription": "A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.", + "title": "StepProperties", + "type": "array" } }, + "required": [ + "Jar" + ], "type": "object" }, - "AWS::EMR::NotebookExecution.OutputNotebookS3Location": { + "AWS::EMR::Step.KeyValue": { "additionalProperties": false, "properties": { - "Bucket": { + "Key": { + "markdownDescription": "The unique identifier of a key-value pair.", + "title": "Key", "type": "string" }, - "Key": { + "Value": { + "markdownDescription": "The value part of the identified key.", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::EMR::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The name of the security configuration.", - "title": "Name", - "type": "string" - }, - "SecurityConfiguration": { - "markdownDescription": "The security configuration details in JSON format. For JSON parameters and examples, see [Use Security Configurations to Set Up Cluster Security](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) in the *Amazon EMR Management Guide* .", - "title": "SecurityConfiguration", - "type": "object" - } - }, - "required": [ - "SecurityConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "markdownDescription": "This specifies what action to take when the cluster step fails. Possible values are `CANCEL_AND_WAIT` and `CONTINUE` .", - "title": "ActionOnFailure", - "type": "string" - }, - "EncryptionKeyArn": { - "markdownDescription": "", - "title": "EncryptionKeyArn", - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig", - "markdownDescription": "The `HadoopJarStepConfig` property type specifies a job flow step consisting of a JAR file whose main function will be executed. The main function submits a job for the cluster to execute as a step on the master node, and then waits for the job to finish or fail before executing subsequent steps.", - "title": "HadoopJarStep" - }, - "JobFlowId": { - "markdownDescription": "A string that uniquely identifies the cluster (job flow).", - "title": "JobFlowId", - "type": "string" - }, - "LogUri": { - "markdownDescription": "", - "title": "LogUri", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the cluster step.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Step" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of command line arguments passed to the JAR file's main function when executed.", - "title": "Args", - "type": "array" - }, - "Jar": { - "markdownDescription": "A path to a JAR file run during the step.", - "title": "Jar", - "type": "string" - }, - "MainClass": { - "markdownDescription": "The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.", - "title": "MainClass", - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" - }, - "markdownDescription": "A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.", - "title": "StepProperties", - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Step.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The unique identifier of a key-value pair.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value part of the identified key.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Studio": { + "AWS::EMR::Studio": { "additionalProperties": false, "properties": { "Condition": { @@ -148576,9 +135956,6 @@ "ReleaseLabel": { "type": "string" }, - "SessionIdleTimeoutInMinutes": { - "type": "number" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -148736,278 +136113,6 @@ ], "type": "object" }, - "AWS::EMRContainers::JobRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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::SecurityConfiguration": { "additionalProperties": false, "properties": { @@ -149334,9 +136439,6 @@ "title": "SecurityConfigurationId", "type": "string" }, - "SessionEnabled": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -149961,214 +137063,6 @@ }, "type": "object" }, - "AWS::EMRServerless::JobRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::JobRun.ConfigurationOverrides" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "ExecutionTimeoutMinutes": { - "type": "number" - }, - "JobDriver": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.JobDriver" - }, - "Mode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMRServerless::JobRun" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EMRServerless::JobRun.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" - }, - "type": "array" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "AWS::EMRServerless::JobRun.ConfigurationOverrides": { - "additionalProperties": false, - "properties": { - "ApplicationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" - }, - "type": "array" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.Hive": { - "additionalProperties": false, - "properties": { - "InitQueryFile": { - "type": "string" - }, - "Parameters": { - "type": "string" - }, - "Query": { - "type": "string" - } - }, - "required": [ - "Query" - ], - "type": "object" - }, - "AWS::EMRServerless::JobRun.JobDriver": { - "additionalProperties": false, - "properties": { - "Hive": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Hive" - }, - "SparkSubmit": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.SparkSubmit" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.SparkSubmit": { - "additionalProperties": false, - "properties": { - "EntryPoint": { - "type": "string" - }, - "EntryPointArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SparkSubmitParameters": { - "type": "string" - } - }, - "required": [ - "EntryPoint" - ], - "type": "object" - }, "AWS::EVS::Environment": { "additionalProperties": false, "properties": { @@ -150282,8 +137176,12 @@ } }, "required": [ + "ConnectivityInfo", + "LicenseInfo", "ServiceAccessSubnetId", + "SiteId", "TermsAccepted", + "VcfHostnames", "VcfVersion", "VpcId" ], @@ -151570,7 +138468,7 @@ }, "type": "object" }, - "AWS::ElastiCache::ReservedCacheNode": { + "AWS::ElastiCache::SecurityGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -151604,12 +138502,29 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "Description": { + "markdownDescription": "A description for the cache security group.", + "title": "Description", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A tag that can be added to an ElastiCache security group. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your security groups. A tag with a null Value is permitted.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Description" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ReservedCacheNode" + "AWS::ElastiCache::SecurityGroup" ], "type": "string" }, @@ -151623,176 +138538,90 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElastiCache::ReservedCacheNode.RecurringCharge": { + "AWS::ElastiCache::SecurityGroupIngress": { "additionalProperties": false, "properties": { - "RecurringChargeAmount": { - "type": "number" + "Condition": { + "type": "string" }, - "RecurringChargeFrequency": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSecurityGroupName": { + "markdownDescription": "The name of the Cache Security Group to authorize.", + "title": "CacheSecurityGroupName", + "type": "string" + }, + "EC2SecurityGroupName": { + "markdownDescription": "Name of the EC2 Security Group to include in the authorization.", + "title": "EC2SecurityGroupName", + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "markdownDescription": "Specifies the Amazon Account ID of the owner of the EC2 security group specified in the EC2SecurityGroupName property. The Amazon access key ID is not an acceptable value.", + "title": "EC2SecurityGroupOwnerId", + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ElastiCache::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": { - "Description": { - "markdownDescription": "A description for the cache security group.", - "title": "Description", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A tag that can be added to an ElastiCache security group. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your security groups. A tag with a null Value is permitted.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::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": { - "CacheSecurityGroupName": { - "markdownDescription": "The name of the Cache Security Group to authorize.", - "title": "CacheSecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupName": { - "markdownDescription": "Name of the EC2 Security Group to include in the authorization.", - "title": "EC2SecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "markdownDescription": "Specifies the Amazon Account ID of the owner of the EC2 security group specified in the EC2SecurityGroupName property. The Amazon access key ID is not an acceptable value.", - "title": "EC2SecurityGroupOwnerId", - "type": "string" - } - }, - "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ServerlessCache": { + "AWS::ElastiCache::ServerlessCache": { "additionalProperties": false, "properties": { "Condition": { @@ -152019,99 +138848,6 @@ }, "type": "object" }, - "AWS::ElastiCache::ServerlessCacheSnapshot": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ServerlessCacheName": { - "type": "string" - }, - "ServerlessCacheSnapshotName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ServerlessCacheName", - "ServerlessCacheSnapshotName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ServerlessCacheSnapshot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ServerlessCacheSnapshot.ServerlessCacheConfiguration": { - "additionalProperties": false, - "properties": { - "Engine": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "ServerlessCacheName": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { @@ -153507,12 +140243,6 @@ "markdownDescription": "[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. For more information, see [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/describe-ssl-policies.html) in the *Application Load Balancers Guide* and [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/describe-ssl-policies.html) in the *Network Load Balancers Guide* .\n\n[HTTPS listeners] Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic. To decrease the possibility of an interruption if your load balancer is handling a high volume of traffic, create an additional load balancer or request an LCU reservation.", "title": "SslPolicy", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ @@ -154104,12 +140834,6 @@ "title": "Priority", "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, "Transforms": { "items": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Transform" @@ -154688,9 +141412,6 @@ "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { "additionalProperties": false, "properties": { - "IpAddressType": { - "type": "string" - }, "Values": { "items": { "type": "string" @@ -155955,9 +142676,6 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessRoleArn": { - "type": "string" - }, "Name": { "type": "string" }, @@ -156025,35 +142743,8 @@ "properties": { "CallbackMetadata": { "type": "string" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::ElementalInference::Feed.DataSourceConfiguration" - } - }, - "type": "object" - }, - "AWS::ElementalInference::Feed.CroppingConfig": { - "additionalProperties": false, - "properties": { - "TemplateGroups": { - "items": { - "$ref": "#/definitions/AWS::ElementalInference::Feed.TemplateGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElementalInference::Feed.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "FixtureId": { - "type": "string" } }, - "required": [ - "FixtureId" - ], "type": "object" }, "AWS::ElementalInference::Feed.GetOutput": { @@ -156086,7 +142777,7 @@ "$ref": "#/definitions/AWS::ElementalInference::Feed.ClippingConfig" }, "Cropping": { - "$ref": "#/definitions/AWS::ElementalInference::Feed.CroppingConfig" + "type": "object" }, "Subtitling": { "$ref": "#/definitions/AWS::ElementalInference::Feed.SubtitlingConfig" @@ -156115,25 +142806,6 @@ ], "type": "object" }, - "AWS::ElementalInference::Feed.TemplateGroup": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "TemplateUris": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "TemplateUris" - ], - "type": "object" - }, "AWS::EntityResolution::IdMappingWorkflow": { "additionalProperties": false, "properties": { @@ -156950,9 +143622,6 @@ "AWS::EntityResolution::MatchingWorkflow.ResolutionTechniques": { "additionalProperties": false, "properties": { - "EnableRealTimeMatching": { - "type": "boolean" - }, "ProviderProperties": { "$ref": "#/definitions/AWS::EntityResolution::MatchingWorkflow.ProviderProperties", "markdownDescription": "The properties of the provider service.", @@ -158580,99 +145249,6 @@ ], "type": "object" }, - "AWS::Events::Replay": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "$ref": "#/definitions/AWS::Events::Replay.Destination" - }, - "EventEndTime": { - "type": "string" - }, - "EventSourceArn": { - "type": "string" - }, - "EventStartTime": { - "type": "string" - }, - "ReplayName": { - "type": "string" - } - }, - "required": [ - "Destination", - "EventEndTime", - "EventSourceArn", - "EventStartTime", - "ReplayName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Replay" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Replay.Destination": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, "AWS::Events::Rule": { "additionalProperties": false, "properties": { @@ -160337,79 +146913,6 @@ ], "type": "object" }, - "AWS::FIS::Experiment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExperimentOptions": { - "$ref": "#/definitions/AWS::FIS::Experiment.ExperimentOptions" - }, - "ExperimentTemplateId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FIS::Experiment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::FIS::Experiment.ExperimentOptions": { - "additionalProperties": false, - "properties": { - "ActionsMode": { - "type": "string" - } - }, - "type": "object" - }, "AWS::FIS::ExperimentTemplate": { "additionalProperties": false, "properties": { @@ -160853,67 +147356,6 @@ ], "type": "object" }, - "AWS::FIS::SafetyLever": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FIS::SafetyLever" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::FIS::TargetAccountConfiguration": { "additionalProperties": false, "properties": { @@ -161975,21 +148417,6 @@ ], "type": "object" }, - "AWS::FSx::FileSystem.LogConfiguration": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Level": { - "type": "string" - } - }, - "required": [ - "Level" - ], - "type": "object" - }, "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { @@ -162053,9 +148480,6 @@ "title": "ImportedFileChunkSize", "type": "number" }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LogConfiguration" - }, "MetadataConfiguration": { "$ref": "#/definitions/AWS::FSx::FileSystem.MetadataConfiguration", "markdownDescription": "The Lustre metadata performance configuration for the creation of an FSx for Lustre file system using a `PERSISTENT_2` deployment type.", @@ -165683,6 +152107,7 @@ } }, "required": [ + "MetricName", "Name" ], "type": "object" @@ -166549,6 +152974,7 @@ } }, "required": [ + "MetricName", "Name" ], "type": "object" @@ -167471,15 +153897,6 @@ "title": "Enabled", "type": "boolean" }, - "FlowLogsEnabled": { - "type": "boolean" - }, - "FlowLogsS3Bucket": { - "type": "string" - }, - "FlowLogsS3Prefix": { - "type": "string" - }, "IpAddressType": { "markdownDescription": "The IP address type that an accelerator supports. For a standard accelerator, the value can be IPV4 or DUAL_STACK.", "title": "IpAddressType", @@ -167920,84 +154337,6 @@ ], "type": "object" }, - "AWS::Glue::Blueprint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BlueprintLocation": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "BlueprintLocation", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Blueprint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Glue::Catalog": { "additionalProperties": false, "properties": { @@ -168457,9 +154796,6 @@ "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput", "markdownDescription": "The connection that you want to create.", "title": "ConnectionInput" - }, - "Tags": { - "type": "object" } }, "required": [ @@ -168489,25 +154825,37 @@ ], "type": "object" }, - "AWS::Glue::Connection.AuthenticationConfiguration": { + "AWS::Glue::Connection.AuthenticationConfigurationInput": { "additionalProperties": false, "properties": { "AuthenticationType": { + "markdownDescription": "A structure containing the authentication configuration in the CreateConnection request.", + "title": "AuthenticationType", "type": "string" }, "BasicAuthenticationCredentials": { - "$ref": "#/definitions/AWS::Glue::Connection.BasicAuthenticationCredentials" + "$ref": "#/definitions/AWS::Glue::Connection.BasicAuthenticationCredentials", + "markdownDescription": "The credentials used when the authentication type is basic authentication.", + "title": "BasicAuthenticationCredentials" }, "CustomAuthenticationCredentials": { + "markdownDescription": "The credentials used when the authentication type is custom authentication.", + "title": "CustomAuthenticationCredentials", "type": "object" }, "KmsKeyArn": { + "markdownDescription": "The ARN of the KMS key used to encrypt the connection. Only taken an as input in the request and stored in the Secret Manager.", + "title": "KmsKeyArn", "type": "string" }, "OAuth2Properties": { - "$ref": "#/definitions/AWS::Glue::Connection.OAuth2Properties" + "$ref": "#/definitions/AWS::Glue::Connection.OAuth2PropertiesInput", + "markdownDescription": "The properties for OAuth2 authentication in the CreateConnection request.", + "title": "OAuth2Properties" }, "SecretArn": { + "markdownDescription": "The secret manager ARN to store credentials in the CreateConnection request.", + "title": "SecretArn", "type": "string" } }, @@ -168557,7 +154905,7 @@ "type": "object" }, "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::Glue::Connection.AuthenticationConfiguration", + "$ref": "#/definitions/AWS::Glue::Connection.AuthenticationConfigurationInput", "markdownDescription": "The authentication properties of the connection.", "title": "AuthenticationConfiguration" }, @@ -168665,25 +155013,37 @@ }, "type": "object" }, - "AWS::Glue::Connection.OAuth2Properties": { + "AWS::Glue::Connection.OAuth2PropertiesInput": { "additionalProperties": false, "properties": { "AuthorizationCodeProperties": { - "$ref": "#/definitions/AWS::Glue::Connection.AuthorizationCodeProperties" + "$ref": "#/definitions/AWS::Glue::Connection.AuthorizationCodeProperties", + "markdownDescription": "The set of properties required for the the OAuth2 `AUTHORIZATION_CODE` grant type.", + "title": "AuthorizationCodeProperties" }, "OAuth2ClientApplication": { - "$ref": "#/definitions/AWS::Glue::Connection.OAuth2ClientApplication" + "$ref": "#/definitions/AWS::Glue::Connection.OAuth2ClientApplication", + "markdownDescription": "The client application type in the CreateConnection request. For example, `AWS_MANAGED` or `USER_MANAGED` .", + "title": "OAuth2ClientApplication" }, "OAuth2Credentials": { - "$ref": "#/definitions/AWS::Glue::Connection.OAuth2Credentials" + "$ref": "#/definitions/AWS::Glue::Connection.OAuth2Credentials", + "markdownDescription": "The credentials used when the authentication type is OAuth2 authentication.", + "title": "OAuth2Credentials" }, "OAuth2GrantType": { + "markdownDescription": "The OAuth2 grant type in the CreateConnection request. For example, `AUTHORIZATION_CODE` , `JWT_BEARER` , or `CLIENT_CREDENTIALS` .", + "title": "OAuth2GrantType", "type": "string" }, "TokenUrl": { + "markdownDescription": "The URL of the provider's authentication server, to exchange an authorization code for an access token.", + "title": "TokenUrl", "type": "string" }, "TokenUrlParametersMap": { + "markdownDescription": "A map of parameters that are added to the token `GET` request.", + "title": "TokenUrlParametersMap", "type": "object" } }, @@ -169471,13 +155831,7 @@ "type": "string" }, "Tags": { - "additionalProperties": true, "markdownDescription": "A list of tags applied to the data quality ruleset.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "title": "Tags", "type": "object" }, @@ -169487,9 +155841,6 @@ "title": "TargetTable" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { @@ -169508,8 +155859,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -169527,10 +155877,6 @@ "type": "string" } }, - "required": [ - "DatabaseName", - "TableName" - ], "type": "object" }, "AWS::Glue::Database": { @@ -170534,13 +156880,7 @@ "type": "string" }, "Tags": { - "additionalProperties": true, "markdownDescription": "The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue , see [AWS Tags in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) in the developer guide.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "title": "Tags", "type": "object" }, @@ -171540,12 +157880,9 @@ "title": "JobBookmarksEncryption" }, "S3Encryptions": { - "items": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryption" - }, + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions", "markdownDescription": "The encyption configuration for Amazon Simple Storage Service (Amazon S3) data.", - "title": "S3Encryptions", - "type": "array" + "title": "S3Encryptions" } }, "type": "object" @@ -171582,146 +157919,9 @@ }, "type": "object" }, - "AWS::Glue::Session": { + "AWS::Glue::SecurityConfiguration.S3Encryptions": { "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Command": { - "$ref": "#/definitions/AWS::Glue::Session.SessionCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Session.ConnectionsList" - }, - "DefaultArguments": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "IdleTimeout": { - "type": "number" - }, - "MaxCapacity": { - "type": "number" - }, - "NumberOfWorkers": { - "type": "number" - }, - "RequestOrigin": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "Command", - "Id", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Session.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Session.SessionCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - } - }, + "properties": {}, "type": "object" }, "AWS::Glue::Table": { @@ -172451,30 +158651,6 @@ ], "type": "object" }, - "AWS::Glue::TableOptimizer.CompactionConfiguration": { - "additionalProperties": false, - "properties": { - "IcebergConfiguration": { - "$ref": "#/definitions/AWS::Glue::TableOptimizer.IcebergCompactionConfiguration" - } - }, - "type": "object" - }, - "AWS::Glue::TableOptimizer.IcebergCompactionConfiguration": { - "additionalProperties": false, - "properties": { - "DeleteFileThreshold": { - "type": "number" - }, - "MinInputFiles": { - "type": "number" - }, - "Strategy": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Glue::TableOptimizer.IcebergConfiguration": { "additionalProperties": false, "properties": { @@ -172537,9 +158713,6 @@ "AWS::Glue::TableOptimizer.TableOptimizerConfiguration": { "additionalProperties": false, "properties": { - "CompactionConfiguration": { - "$ref": "#/definitions/AWS::Glue::TableOptimizer.CompactionConfiguration" - }, "Enabled": { "markdownDescription": "Whether the table optimization is enabled.", "title": "Enabled", @@ -172583,70 +158756,6 @@ }, "type": "object" }, - "AWS::Glue::TableVersion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::TableVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Glue::Trigger": { "additionalProperties": false, "properties": { @@ -173021,7 +159130,7 @@ }, "type": "object" }, - "AWS::Glue::UserDefinedFunction": { + "AWS::Glue::Workflow": { "additionalProperties": false, "properties": { "Condition": { @@ -173056,40 +159165,37 @@ "Properties": { "additionalProperties": false, "properties": { - "ClassName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "FunctionName": { - "type": "string" + "DefaultRunProperties": { + "markdownDescription": "A collection of properties to be used as part of each execution of the workflow", + "title": "DefaultRunProperties", + "type": "object" }, - "FunctionType": { + "Description": { + "markdownDescription": "A description of the workflow", + "title": "Description", "type": "string" }, - "OwnerName": { - "type": "string" + "MaxConcurrentRuns": { + "markdownDescription": "You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.", + "title": "MaxConcurrentRuns", + "type": "number" }, - "OwnerType": { + "Name": { + "markdownDescription": "The name of the workflow representing the flow", + "title": "Name", "type": "string" }, - "ResourceUris": { - "items": { - "$ref": "#/definitions/AWS::Glue::UserDefinedFunction.ResourceUri" - }, - "type": "array" + "Tags": { + "markdownDescription": "The tags to use with this workflow.", + "title": "Tags", + "type": "object" } }, - "required": [ - "DatabaseName", - "FunctionName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::UserDefinedFunction" + "AWS::Glue::Workflow" ], "type": "string" }, @@ -173103,107 +159209,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::UserDefinedFunction.ResourceUri": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Workflow": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultRunProperties": { - "markdownDescription": "A collection of properties to be used as part of each execution of the workflow", - "title": "DefaultRunProperties", - "type": "object" - }, - "Description": { - "markdownDescription": "A description of the workflow", - "title": "Description", - "type": "string" - }, - "MaxConcurrentRuns": { - "markdownDescription": "You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.", - "title": "MaxConcurrentRuns", - "type": "number" - }, - "Name": { - "markdownDescription": "The name of the workflow representing the flow", - "title": "Name", - "type": "string" - }, - "Tags": { - "markdownDescription": "The tags to use with this workflow.", - "title": "Tags", - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Workflow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Grafana::Workspace": { + "AWS::Grafana::Workspace": { "additionalProperties": false, "properties": { "Condition": { @@ -173330,12 +159340,6 @@ "title": "StackSetName", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Grafana::Workspace.TagsItems" - }, - "type": "array" - }, "VpcConfiguration": { "$ref": "#/definitions/AWS::Grafana::Workspace.VpcConfiguration", "markdownDescription": "The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.\n\n> Connecting to a private VPC is not yet available in the Asia Pacific (Seoul) Region (ap-northeast-2).", @@ -173503,22 +159507,6 @@ ], "type": "object" }, - "AWS::Grafana::Workspace.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::Grafana::Workspace.VpcConfiguration": { "additionalProperties": false, "properties": { @@ -176028,89 +162016,6 @@ ], "type": "object" }, - "AWS::GreengrassV2::Component": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComponentName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::Component.TagsItems" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GreengrassV2::Component" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GreengrassV2::Component.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::GreengrassV2::ComponentVersion": { "additionalProperties": false, "properties": { @@ -176457,83 +162362,6 @@ }, "type": "object" }, - "AWS::GreengrassV2::CoreDevice": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CoreDeviceThingName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GreengrassV2::CoreDevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GreengrassV2::CoreDevice.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::GreengrassV2::Deployment": { "additionalProperties": false, "properties": { @@ -178106,97 +163934,6 @@ }, "type": "object" }, - "AWS::GuardDuty::CustomDetectionRuleAssociation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "RuleId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::GuardDuty::CustomDetectionRuleAssociation.TagItem" - }, - "type": "array" - } - }, - "required": [ - "Mode", - "RuleId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::CustomDetectionRuleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::CustomDetectionRuleAssociation.TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::GuardDuty::Detector": { "additionalProperties": false, "properties": { @@ -179689,151 +165426,6 @@ ], "type": "object" }, - "AWS::HealthLake::DataTransformationProfile": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ProfileDescription": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile.Source" - }, - "SourceFormat": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProfileName", - "SourceFormat" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::HealthLake::DataTransformationProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::HealthLake::DataTransformationProfile.ExistingVersionedProfileSource": { - "additionalProperties": false, - "properties": { - "ProfileId": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "ProfileId", - "Version" - ], - "type": "object" - }, - "AWS::HealthLake::DataTransformationProfile.ProfileMappingSource": { - "additionalProperties": false, - "properties": { - "ProfileMapping": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ProfileMapping" - ], - "type": "object" - }, - "AWS::HealthLake::DataTransformationProfile.Source": { - "additionalProperties": false, - "properties": { - "ExistingVersionedProfileId": { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile.ExistingVersionedProfileSource" - }, - "ProfileMapping": { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile.ProfileMappingSource" - }, - "StarterProfile": { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile.StarterProfileSource" - } - }, - "type": "object" - }, - "AWS::HealthLake::DataTransformationProfile.StarterProfileSource": { - "additionalProperties": false, - "properties": { - "StarterProfileName": { - "type": "string" - } - }, - "required": [ - "StarterProfileName" - ], - "type": "object" - }, "AWS::HealthLake::FHIRDatastore": { "additionalProperties": false, "properties": { @@ -181674,7 +167266,7 @@ }, "type": "object" }, - "AWS::IVS::Composition": { + "AWS::IVS::EncoderConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -181709,34 +167301,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::IVS::Composition.DestinationConfiguration" - }, - "type": "array" - }, - "Layout": { - "$ref": "#/definitions/AWS::IVS::Composition.LayoutConfiguration" - }, - "StageArn": { + "Name": { + "markdownDescription": "Encoder cnfiguration name.", + "title": "Name", "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-ivs-encoderconfiguration-tag.html) .", + "title": "Tags", "type": "array" + }, + "Video": { + "$ref": "#/definitions/AWS::IVS::EncoderConfiguration.Video", + "markdownDescription": "Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps. See the [Video](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html) property type for more information.", + "title": "Video" } }, - "required": [ - "Destinations", - "StageArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Composition" + "AWS::IVS::EncoderConfiguration" ], "type": "string" }, @@ -181750,283 +167338,37 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::Composition.ChannelDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "ChannelArn": { - "type": "string" - }, - "EncoderConfigurationArn": { - "type": "string" - } - }, - "required": [ - "ChannelArn" + "Type" ], "type": "object" }, - "AWS::IVS::Composition.CompositionRecordingHlsConfiguration": { - "additionalProperties": false, - "properties": { - "TargetSegmentDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.CompositionThumbnailConfiguration": { - "additionalProperties": false, - "properties": { - "Storage": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TargetIntervalSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Channel": { - "$ref": "#/definitions/AWS::IVS::Composition.ChannelDestinationConfiguration" - }, - "Name": { - "type": "string" - }, - "S3": { - "$ref": "#/definitions/AWS::IVS::Composition.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.GridConfiguration": { - "additionalProperties": false, - "properties": { - "FeaturedParticipantAttribute": { - "type": "string" - }, - "GridGap": { - "type": "number" - }, - "OmitStoppedVideo": { - "type": "boolean" - }, - "ParticipantOrderAttribute": { - "type": "string" - }, - "VideoAspectRatio": { - "type": "string" - }, - "VideoFillMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.LayoutConfiguration": { - "additionalProperties": false, - "properties": { - "Grid": { - "$ref": "#/definitions/AWS::IVS::Composition.GridConfiguration" - }, - "Pip": { - "$ref": "#/definitions/AWS::IVS::Composition.PipConfiguration" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.PipConfiguration": { + "AWS::IVS::EncoderConfiguration.Video": { "additionalProperties": false, "properties": { - "FeaturedParticipantAttribute": { - "type": "string" - }, - "GridGap": { + "Bitrate": { + "markdownDescription": "Bitrate for generated output, in bps. Default: 2500000.", + "title": "Bitrate", "type": "number" }, - "OmitStoppedVideo": { - "type": "boolean" - }, - "ParticipantOrderAttribute": { - "type": "string" - }, - "PipBehavior": { - "type": "string" - }, - "PipHeight": { + "Framerate": { + "markdownDescription": "Video frame rate, in fps. Default: 30.", + "title": "Framerate", "type": "number" }, - "PipOffset": { + "Height": { + "markdownDescription": "Video-resolution height. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.", + "title": "Height", "type": "number" }, - "PipParticipantAttribute": { - "type": "string" - }, - "PipPosition": { - "type": "string" - }, - "PipWidth": { + "Width": { + "markdownDescription": "Video-resolution width. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.", + "title": "Width", "type": "number" - }, - "VideoFillMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.RecordingConfiguration": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "HlsConfiguration": { - "$ref": "#/definitions/AWS::IVS::Composition.CompositionRecordingHlsConfiguration" } }, "type": "object" }, - "AWS::IVS::Composition.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "EncoderConfigurationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RecordingConfiguration": { - "$ref": "#/definitions/AWS::IVS::Composition.RecordingConfiguration" - }, - "StorageConfigurationArn": { - "type": "string" - }, - "ThumbnailConfigurations": { - "items": { - "$ref": "#/definitions/AWS::IVS::Composition.CompositionThumbnailConfiguration" - }, - "type": "array" - } - }, - "required": [ - "EncoderConfigurationArns", - "StorageConfigurationArn" - ], - "type": "object" - }, - "AWS::IVS::EncoderConfiguration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "Encoder cnfiguration name.", - "title": "Name", - "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-ivs-encoderconfiguration-tag.html) .", - "title": "Tags", - "type": "array" - }, - "Video": { - "$ref": "#/definitions/AWS::IVS::EncoderConfiguration.Video", - "markdownDescription": "Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps. See the [Video](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html) property type for more information.", - "title": "Video" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::EncoderConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IVS::EncoderConfiguration.Video": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "markdownDescription": "Bitrate for generated output, in bps. Default: 2500000.", - "title": "Bitrate", - "type": "number" - }, - "Framerate": { - "markdownDescription": "Video frame rate, in fps. Default: 30.", - "title": "Framerate", - "type": "number" - }, - "Height": { - "markdownDescription": "Video-resolution height. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.", - "title": "Height", - "type": "number" - }, - "Width": { - "markdownDescription": "Video-resolution width. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.", - "title": "Width", - "type": "number" - } - }, - "type": "object" - }, - "AWS::IVS::IngestConfiguration": { + "AWS::IVS::IngestConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -183121,7 +168463,7 @@ }, "type": "object" }, - "AWS::IdentityStore::AllGroupMemberships": { + "AWS::IdentityStore::Group": { "additionalProperties": false, "properties": { "Condition": { @@ -183156,21 +168498,31 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupId": { + "Description": { + "markdownDescription": "A string containing the description of the group.", + "title": "Description", "type": "string" }, - "IdentityStoreId": { + "DisplayName": { + "markdownDescription": "The display name value for the group. The length limit is 1,024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space, and nonbreaking space in this attribute. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.\n\nPrefix search supports a maximum of 1,000 characters for the string.", + "title": "DisplayName", "type": "string" }, - "MemberId": { - "$ref": "#/definitions/AWS::IdentityStore::AllGroupMemberships.MemberId" + "IdentityStoreId": { + "markdownDescription": "The globally unique identifier for the identity store.", + "title": "IdentityStoreId", + "type": "string" } }, + "required": [ + "DisplayName", + "IdentityStoreId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IdentityStore::AllGroupMemberships" + "AWS::IdentityStore::Group" ], "type": "string" }, @@ -183184,23 +168536,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IdentityStore::AllGroupMemberships.MemberId": { - "additionalProperties": false, - "properties": { - "UserId": { - "type": "string" - } - }, - "required": [ - "UserId" + "Type", + "Properties" ], "type": "object" }, - "AWS::IdentityStore::Group": { + "AWS::IdentityStore::GroupMembership": { "additionalProperties": false, "properties": { "Condition": { @@ -183235,31 +168576,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A string containing the description of the group.", - "title": "Description", - "type": "string" - }, - "DisplayName": { - "markdownDescription": "The display name value for the group. The length limit is 1,024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space, and nonbreaking space in this attribute. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.\n\nPrefix search supports a maximum of 1,000 characters for the string.", - "title": "DisplayName", + "GroupId": { + "markdownDescription": "The identifier for a group in the identity store.", + "title": "GroupId", "type": "string" }, "IdentityStoreId": { "markdownDescription": "The globally unique identifier for the identity store.", "title": "IdentityStoreId", "type": "string" + }, + "MemberId": { + "$ref": "#/definitions/AWS::IdentityStore::GroupMembership.MemberId", + "markdownDescription": "An object containing the identifier of a group member. Setting the `MemberId` 's `UserId` field to a specific User's ID indicates that user is a member of the group.", + "title": "MemberId" } }, "required": [ - "DisplayName", - "IdentityStoreId" + "GroupId", + "IdentityStoreId", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::IdentityStore::Group" + "AWS::IdentityStore::GroupMembership" ], "type": "string" }, @@ -183278,7 +168620,21 @@ ], "type": "object" }, - "AWS::IdentityStore::GroupMembership": { + "AWS::IdentityStore::GroupMembership.MemberId": { + "additionalProperties": false, + "properties": { + "UserId": { + "markdownDescription": "An object containing the identifiers of resources that can be members.", + "title": "UserId", + "type": "string" + } + }, + "required": [ + "UserId" + ], + "type": "object" + }, + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "Condition": { @@ -183313,32 +168669,76 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupId": { - "markdownDescription": "The identifier for a group in the identity store.", - "title": "GroupId", + "ChangeDescription": { + "markdownDescription": "The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of the component.", + "title": "ChangeDescription", "type": "string" }, - "IdentityStoreId": { - "markdownDescription": "The globally unique identifier for the identity store.", - "title": "IdentityStoreId", + "Data": { + "markdownDescription": "Component `data` contains inline YAML document content for the component. Alternatively, you can specify the `uri` of a YAML document file stored in Amazon S3. However, you cannot specify both properties.", + "title": "Data", "type": "string" }, - "MemberId": { - "$ref": "#/definitions/AWS::IdentityStore::GroupMembership.MemberId", - "markdownDescription": "An object containing the identifier of a group member. Setting the `MemberId` 's `UserId` field to a specific User's ID indicates that user is a member of the group.", - "title": "MemberId" + "Description": { + "markdownDescription": "Describes the contents of the component.", + "title": "Description", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this component. This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyId", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the component.", + "title": "Name", + "type": "string" + }, + "Platform": { + "markdownDescription": "The operating system platform of the component.", + "title": "Platform", + "type": "string" + }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "markdownDescription": "The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the base image OS version during image recipe creation.", + "title": "SupportedOsVersions", + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "The tags that apply to the component.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + }, + "Uri": { + "markdownDescription": "The `uri` of a YAML component document file. This must be an S3 URL ( `s3://bucket/key` ), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.\n\nAlternatively, you can specify the YAML document inline, using the component `data` property. You cannot specify both properties.", + "title": "Uri", + "type": "string" + }, + "Version": { + "markdownDescription": "The semantic version of the component. This version follows the semantic version syntax.\n\n> The semantic version has four nodes: ../. You can assign values for the first three, and can filter on all of them.\n> \n> *Assignment:* For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.\n> \n> *Patterns:* You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.", + "title": "Version", + "type": "string" } }, "required": [ - "GroupId", - "IdentityStoreId", - "MemberId" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IdentityStore::GroupMembership" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -183357,613 +168757,33 @@ ], "type": "object" }, - "AWS::IdentityStore::GroupMembership.MemberId": { + "AWS::ImageBuilder::Component.LatestVersion": { "additionalProperties": false, "properties": { - "UserId": { - "markdownDescription": "An object containing the identifiers of resources that can be members.", - "title": "UserId", + "Arn": { + "markdownDescription": "The latest version Amazon Resource Name (ARN) of the Image Builder resource.", + "title": "Arn", + "type": "string" + }, + "Major": { + "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `major` version of the Image Builder resource.", + "title": "Major", + "type": "string" + }, + "Minor": { + "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `minor` version of the Image Builder resource.", + "title": "Minor", + "type": "string" + }, + "Patch": { + "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `patch` version of the Image Builder resource.", + "title": "Patch", "type": "string" } }, - "required": [ - "UserId" - ], "type": "object" }, - "AWS::IdentityStore::User": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Addresses": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.AddressesItems" - }, - "type": "array" - }, - "Birthdate": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "Emails": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.EmailsItems" - }, - "type": "array" - }, - "IdentityStoreId": { - "type": "string" - }, - "Locale": { - "type": "string" - }, - "Name": { - "$ref": "#/definitions/AWS::IdentityStore::User.Name" - }, - "NickName": { - "type": "string" - }, - "PhoneNumbers": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.PhoneNumbersItems" - }, - "type": "array" - }, - "Photos": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.PhotosItems" - }, - "type": "array" - }, - "PreferredLanguage": { - "type": "string" - }, - "ProfileUrl": { - "type": "string" - }, - "Roles": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.RolesItems" - }, - "type": "array" - }, - "Timezone": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "UserName": { - "type": "string" - }, - "UserType": { - "type": "string" - }, - "Website": { - "type": "string" - } - }, - "required": [ - "IdentityStoreId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IdentityStore::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IdentityStore::User.AddressesItems": { - "additionalProperties": false, - "properties": { - "Country": { - "type": "string" - }, - "Formatted": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "PostalCode": { - "type": "string" - }, - "Primary": { - "type": "boolean" - }, - "Region": { - "type": "string" - }, - "StreetAddress": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IdentityStore::User.EmailsItems": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IdentityStore::User.Name": { - "additionalProperties": false, - "properties": { - "FamilyName": { - "type": "string" - }, - "Formatted": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "HonorificPrefix": { - "type": "string" - }, - "HonorificSuffix": { - "type": "string" - }, - "MiddleName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IdentityStore::User.PhoneNumbersItems": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IdentityStore::User.PhotosItems": { - "additionalProperties": false, - "properties": { - "Display": { - "type": "string" - }, - "Primary": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::IdentityStore::User.RolesItems": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::AllImageBuildVersions": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ImageBuilder::AllImageBuildVersions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::AllImageBuildVersions.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::AllImageBuildVersions.State": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::AllImageBuildVersions.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::AllWorkflowBuildVersions": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ImageBuilder::AllWorkflowBuildVersions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::AllWorkflowBuildVersions.ParametersItems": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::AllWorkflowBuildVersions.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { - "markdownDescription": "The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of the component.", - "title": "ChangeDescription", - "type": "string" - }, - "Data": { - "markdownDescription": "Component `data` contains inline YAML document content for the component. Alternatively, you can specify the `uri` of a YAML document file stored in Amazon S3. However, you cannot specify both properties.", - "title": "Data", - "type": "string" - }, - "Description": { - "markdownDescription": "Describes the contents of the component.", - "title": "Description", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this component. This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyId", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the component.", - "title": "Name", - "type": "string" - }, - "Platform": { - "markdownDescription": "The operating system platform of the component.", - "title": "Platform", - "type": "string" - }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "markdownDescription": "The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the base image OS version during image recipe creation.", - "title": "SupportedOsVersions", - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The tags that apply to the component.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - }, - "Uri": { - "markdownDescription": "The `uri` of a YAML component document file. This must be an S3 URL ( `s3://bucket/key` ), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.\n\nAlternatively, you can specify the YAML document inline, using the component `data` property. You cannot specify both properties.", - "title": "Uri", - "type": "string" - }, - "Version": { - "markdownDescription": "The semantic version of the component. This version follows the semantic version syntax.\n\n> The semantic version has four nodes: ../. You can assign values for the first three, and can filter on all of them.\n> \n> *Assignment:* For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.\n> \n> *Patterns:* You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Name", - "Platform", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Component" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component.LatestVersion": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "The latest version Amazon Resource Name (ARN) of the Image Builder resource.", - "title": "Arn", - "type": "string" - }, - "Major": { - "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `major` version of the Image Builder resource.", - "title": "Major", - "type": "string" - }, - "Minor": { - "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `minor` version of the Image Builder resource.", - "title": "Minor", - "type": "string" - }, - "Patch": { - "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `patch` version of the Image Builder resource.", - "title": "Patch", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "Condition": { @@ -185035,15 +169855,6 @@ "markdownDescription": "Contains settings for vulnerability scans.", "title": "ImageScanningConfiguration" }, - "ImageTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, "ImageTestsConfiguration": { "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration", "markdownDescription": "The configuration of the image tests that run after image creation to ensure the quality of the image that was created.", @@ -185219,9 +170030,6 @@ "markdownDescription": "The cron expression determines how often EC2 Image Builder evaluates your `pipelineExecutionStartCondition` .\n\nFor information on how to format a cron expression in Image Builder, see [Use cron expressions in EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-cron.html) .", "title": "ScheduleExpression", "type": "string" - }, - "Timezone": { - "type": "string" } }, "type": "object" @@ -185325,12 +170133,6 @@ "title": "AmiTags", "type": "object" }, - "AmiWatermarks": { - "items": { - "type": "string" - }, - "type": "array" - }, "BlockDeviceMappings": { "items": { "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" @@ -185799,7 +170601,7 @@ }, "type": "object" }, - "AWS::ImageBuilder::LifecycleExecution": { + "AWS::ImageBuilder::LifecyclePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -185834,15 +170636,68 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceArn": { + "Description": { + "markdownDescription": "Optional description for the lifecycle policy.", + "title": "Description", + "type": "string" + }, + "ExecutionRole": { + "markdownDescription": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to run lifecycle actions.", + "title": "ExecutionRole", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the lifecycle policy to create.", + "title": "Name", + "type": "string" + }, + "PolicyDetails": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" + }, + "markdownDescription": "Configuration details for the lifecycle policy rules.", + "title": "PolicyDetails", + "type": "array" + }, + "ResourceSelection": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection", + "markdownDescription": "Selection criteria for the resources that the lifecycle policy applies to.", + "title": "ResourceSelection" + }, + "ResourceType": { + "markdownDescription": "The type of Image Builder resource that the lifecycle policy applies to.", + "title": "ResourceType", + "type": "string" + }, + "Status": { + "markdownDescription": "Indicates whether the lifecycle policy resource is enabled.", + "title": "Status", "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "Tags to apply to the lifecycle policy resource.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" } }, + "required": [ + "ExecutionRole", + "Name", + "PolicyDetails", + "ResourceSelection", + "ResourceType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::LifecycleExecution" + "AWS::ImageBuilder::LifecyclePolicy" ], "type": "string" }, @@ -185855,370 +170710,238 @@ "type": "string" } }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "IncludeResources": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources", + "markdownDescription": "Specifies the resources that the lifecycle policy applies to.", + "title": "IncludeResources" + }, + "Type": { + "markdownDescription": "Specifies the lifecycle action to take.", + "title": "Type", + "type": "string" + } + }, "required": [ "Type" ], "type": "object" }, - "AWS::ImageBuilder::LifecycleExecution.LifecycleExecutionResourcesImpactedSummary": { + "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { "additionalProperties": false, "properties": { - "HasImpactedResources": { + "IsPublic": { + "markdownDescription": "Configures whether public AMIs are excluded from the lifecycle action.", + "title": "IsPublic", "type": "boolean" + }, + "LastLaunched": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched", + "markdownDescription": "Specifies configuration details for Image Builder to exclude the most recent resources from lifecycle actions.", + "title": "LastLaunched" + }, + "Regions": { + "items": { + "type": "string" + }, + "markdownDescription": "Configures AWS Region s that are excluded from the lifecycle action.", + "title": "Regions", + "type": "array" + }, + "SharedAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies AWS account s whose resources are excluded from the lifecycle action.", + "title": "SharedAccounts", + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "markdownDescription": "Lists tags that should be excluded from lifecycle actions for the AMIs that have them.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "TagMap", + "type": "object" } }, "type": "object" }, - "AWS::ImageBuilder::LifecycleExecution.LifecycleExecutionState": { + "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { "additionalProperties": false, "properties": { - "Status": { + "Amis": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules", + "markdownDescription": "Lists configuration values that apply to AMIs that Image Builder should exclude from the lifecycle action.", + "title": "Amis" + }, + "TagMap": { + "additionalProperties": true, + "markdownDescription": "Contains a list of tags that Image Builder uses to skip lifecycle actions for Image Builder image resources that have them.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "TagMap", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Filter": { + "additionalProperties": false, + "properties": { + "RetainAtLeast": { + "markdownDescription": "For age-based filters, this is the number of resources to keep on hand after the lifecycle `DELETE` action is applied. Impacted resources are only deleted if you have more than this number of resources. If you have fewer resources than this number, the impacted resource is not deleted.", + "title": "RetainAtLeast", + "type": "number" + }, + "Type": { + "markdownDescription": "Filter resources based on either `age` or `count` .", + "title": "Type", + "type": "string" + }, + "Unit": { + "markdownDescription": "Defines the unit of time that the lifecycle policy uses to determine impacted resources. This is required for age-based rules.", + "title": "Unit", "type": "string" + }, + "Value": { + "markdownDescription": "The number of units for the time period or for the count. For example, a value of `6` might refer to six months or six AMIs.\n\n> For count-based filters, this value represents the minimum number of resources to keep on hand. If you have fewer resources than this number, the resource is excluded from lifecycle actions.", + "title": "Value", + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::ImageBuilder::LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "Optional description for the lifecycle policy.", - "title": "Description", - "type": "string" - }, - "ExecutionRole": { - "markdownDescription": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to run lifecycle actions.", - "title": "ExecutionRole", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the lifecycle policy to create.", - "title": "Name", - "type": "string" - }, - "PolicyDetails": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" - }, - "markdownDescription": "Configuration details for the lifecycle policy rules.", - "title": "PolicyDetails", - "type": "array" - }, - "ResourceSelection": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection", - "markdownDescription": "Selection criteria for the resources that the lifecycle policy applies to.", - "title": "ResourceSelection" - }, - "ResourceType": { - "markdownDescription": "The type of Image Builder resource that the lifecycle policy applies to.", - "title": "ResourceType", - "type": "string" - }, - "Status": { - "markdownDescription": "Indicates whether the lifecycle policy resource is enabled.", - "title": "Status", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags to apply to the lifecycle policy resource.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "ExecutionRole", - "Name", - "PolicyDetails", - "ResourceSelection", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::LifecyclePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.Action": { - "additionalProperties": false, - "properties": { - "IncludeResources": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources", - "markdownDescription": "Specifies the resources that the lifecycle policy applies to.", - "title": "IncludeResources" - }, - "Type": { - "markdownDescription": "Specifies the lifecycle action to take.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { - "additionalProperties": false, - "properties": { - "IsPublic": { - "markdownDescription": "Configures whether public AMIs are excluded from the lifecycle action.", - "title": "IsPublic", - "type": "boolean" - }, - "LastLaunched": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched", - "markdownDescription": "Specifies configuration details for Image Builder to exclude the most recent resources from lifecycle actions.", - "title": "LastLaunched" - }, - "Regions": { - "items": { - "type": "string" - }, - "markdownDescription": "Configures AWS Region s that are excluded from the lifecycle action.", - "title": "Regions", - "type": "array" - }, - "SharedAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies AWS account s whose resources are excluded from the lifecycle action.", - "title": "SharedAccounts", - "type": "array" - }, - "TagMap": { - "additionalProperties": true, - "markdownDescription": "Lists tags that should be excluded from lifecycle actions for the AMIs that have them.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TagMap", - "type": "object" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { - "additionalProperties": false, - "properties": { - "Amis": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules", - "markdownDescription": "Lists configuration values that apply to AMIs that Image Builder should exclude from the lifecycle action.", - "title": "Amis" - }, - "TagMap": { - "additionalProperties": true, - "markdownDescription": "Contains a list of tags that Image Builder uses to skip lifecycle actions for Image Builder image resources that have them.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TagMap", - "type": "object" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.Filter": { - "additionalProperties": false, - "properties": { - "RetainAtLeast": { - "markdownDescription": "For age-based filters, this is the number of resources to keep on hand after the lifecycle `DELETE` action is applied. Impacted resources are only deleted if you have more than this number of resources. If you have fewer resources than this number, the impacted resource is not deleted.", - "title": "RetainAtLeast", - "type": "number" - }, - "Type": { - "markdownDescription": "Filter resources based on either `age` or `count` .", - "title": "Type", - "type": "string" - }, - "Unit": { - "markdownDescription": "Defines the unit of time that the lifecycle policy uses to determine impacted resources. This is required for age-based rules.", - "title": "Unit", - "type": "string" - }, - "Value": { - "markdownDescription": "The number of units for the time period or for the count. For example, a value of `6` might refer to six months or six AMIs.\n\n> For count-based filters, this value represents the minimum number of resources to keep on hand. If you have fewer resources than this number, the resource is excluded from lifecycle actions.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { - "additionalProperties": false, - "properties": { - "Amis": { - "markdownDescription": "Specifies whether the lifecycle action should apply to distributed AMIs.", - "title": "Amis", - "type": "boolean" - }, - "Containers": { - "markdownDescription": "Specifies whether the lifecycle action should apply to distributed containers.", - "title": "Containers", - "type": "boolean" - }, - "Snapshots": { - "markdownDescription": "Specifies whether the lifecycle action should apply to snapshots associated with distributed AMIs.", - "title": "Snapshots", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { - "additionalProperties": false, - "properties": { - "Unit": { - "markdownDescription": "Defines the unit of time that the lifecycle policy uses to calculate elapsed time since the last instance launched from the AMI. For example: days, weeks, months, or years.", - "title": "Unit", - "type": "string" - }, - "Value": { - "markdownDescription": "The integer number of units for the time period. For example `6` (months).", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action", - "markdownDescription": "Configuration details for the policy action.", - "title": "Action" - }, - "ExclusionRules": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules", - "markdownDescription": "Additional rules to specify resources that should be exempt from policy actions.", - "title": "ExclusionRules" - }, - "Filter": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter", - "markdownDescription": "Specifies the resources that the lifecycle policy applies to.", - "title": "Filter" - } - }, - "required": [ - "Action", - "Filter" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of an Image Builder recipe that the lifecycle policy uses for resource selection.", - "title": "Name", - "type": "string" - }, - "SemanticVersion": { - "markdownDescription": "The version of the Image Builder recipe specified by the `name` field.", - "title": "SemanticVersion", - "type": "string" - } - }, - "required": [ - "Name", - "SemanticVersion" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { - "additionalProperties": false, - "properties": { - "Recipes": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" - }, - "markdownDescription": "A list of recipes that are used as selection criteria for the output images that the lifecycle policy applies to.", - "title": "Recipes", - "type": "array" - }, - "TagMap": { - "additionalProperties": true, - "markdownDescription": "A list of tags that are used as selection criteria for the Image Builder image resources that the lifecycle policy applies to.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TagMap", - "type": "object" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::Workflow": { + "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { + "additionalProperties": false, + "properties": { + "Amis": { + "markdownDescription": "Specifies whether the lifecycle action should apply to distributed AMIs.", + "title": "Amis", + "type": "boolean" + }, + "Containers": { + "markdownDescription": "Specifies whether the lifecycle action should apply to distributed containers.", + "title": "Containers", + "type": "boolean" + }, + "Snapshots": { + "markdownDescription": "Specifies whether the lifecycle action should apply to snapshots associated with distributed AMIs.", + "title": "Snapshots", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { + "additionalProperties": false, + "properties": { + "Unit": { + "markdownDescription": "Defines the unit of time that the lifecycle policy uses to calculate elapsed time since the last instance launched from the AMI. For example: days, weeks, months, or years.", + "title": "Unit", + "type": "string" + }, + "Value": { + "markdownDescription": "The integer number of units for the time period. For example `6` (months).", + "title": "Value", + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action", + "markdownDescription": "Configuration details for the policy action.", + "title": "Action" + }, + "ExclusionRules": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules", + "markdownDescription": "Additional rules to specify resources that should be exempt from policy actions.", + "title": "ExclusionRules" + }, + "Filter": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter", + "markdownDescription": "Specifies the resources that the lifecycle policy applies to.", + "title": "Filter" + } + }, + "required": [ + "Action", + "Filter" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of an Image Builder recipe that the lifecycle policy uses for resource selection.", + "title": "Name", + "type": "string" + }, + "SemanticVersion": { + "markdownDescription": "The version of the Image Builder recipe specified by the `name` field.", + "title": "SemanticVersion", + "type": "string" + } + }, + "required": [ + "Name", + "SemanticVersion" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { + "additionalProperties": false, + "properties": { + "Recipes": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" + }, + "markdownDescription": "A list of recipes that are used as selection criteria for the output images that the lifecycle policy applies to.", + "title": "Recipes", + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "markdownDescription": "A list of tags that are used as selection criteria for the Image Builder image resources that the lifecycle policy applies to.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "TagMap", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Workflow": { "additionalProperties": false, "properties": { "Condition": { @@ -186359,124 +171082,6 @@ }, "type": "object" }, - "AWS::ImageBuilder::WorkflowExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ImageBuildVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::WorkflowExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::WorkflowStepExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ImageBuilder::WorkflowStepExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { @@ -187265,181 +171870,7 @@ }, "type": "object" }, - "AWS::InspectorV2::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": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "ProviderConfiguration": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.ProviderConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Provider", - "ProviderConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::InspectorV2::Connector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::InspectorV2::Connector.AzureProviderConfiguration": { - "additionalProperties": false, - "properties": { - "AutoInstallVMScanner": { - "type": "boolean" - }, - "AwsConfigConnectorArn": { - "type": "string" - }, - "AzureRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScopeConfiguration": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.AzureScopeConfigurationMap" - } - }, - "required": [ - "AwsConfigConnectorArn", - "AzureRegions", - "ScopeConfiguration" - ], - "type": "object" - }, - "AWS::InspectorV2::Connector.AzureScopeConfigurationMap": { - "additionalProperties": false, - "properties": { - "ContainerImageScanning": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.ScopeConfiguration" - }, - "ServerlessScanning": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.ScopeConfiguration" - }, - "VmScanning": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.ScopeConfiguration" - } - }, - "type": "object" - }, - "AWS::InspectorV2::Connector.ConnectorHealth": { - "additionalProperties": false, - "properties": { - "ConnectorStatus": { - "type": "string" - }, - "LastCheckedAt": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::InspectorV2::Connector.ProviderConfiguration": { - "additionalProperties": false, - "properties": { - "Azure": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.AzureProviderConfiguration" - } - }, - "required": [ - "Azure" - ], - "type": "object" - }, - "AWS::InspectorV2::Connector.ScopeConfiguration": { - "additionalProperties": false, - "properties": { - "ScopeType": { - "type": "string" - }, - "ScopeValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "State": { - "type": "string" - }, - "StateReason": { - "type": "string" - } - }, - "required": [ - "ScopeType" - ], - "type": "object" - }, - "AWS::InspectorV2::Filter": { + "AWS::InspectorV2::Filter": { "additionalProperties": false, "properties": { "Condition": { @@ -188136,7 +172567,7 @@ ], "type": "object" }, - "AWS::InternetMonitor::InternetEvent": { + "AWS::InternetMonitor::Monitor": { "additionalProperties": false, "properties": { "Condition": { @@ -188170,12 +172601,88 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "HealthEventsConfig": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.HealthEventsConfig", + "markdownDescription": "A complex type with the configuration information that determines the threshold and other conditions for when Internet Monitor creates a health event for an overall performance or availability issue, across an application's geographies.\n\nDefines the percentages, for overall performance scores and availability scores for an application, that are the thresholds for when Internet Monitor creates a health event. You can override the defaults to set a custom threshold for overall performance or availability scores, or both.\n\nYou can also set thresholds for local health scores,, where Internet Monitor creates a health event when scores cross a threshold for one or more city-networks, in addition to creating an event when an overall score crosses a threshold.\n\nIf you don't set a health event threshold, the default value is 95%.\n\nFor local thresholds, you also set a minimum percentage of overall traffic that is impacted by an issue before Internet Monitor creates an event. In addition, you can disable local thresholds, for performance scores, availability scores, or both.\n\nFor more information, see [Change health event thresholds](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) in the Internet Monitor section of the *CloudWatch User Guide* .", + "title": "HealthEventsConfig" + }, + "IncludeLinkedAccounts": { + "markdownDescription": "A boolean option that you can set to `TRUE` to include monitors for linked accounts in a list of monitors, when you've set up cross-account sharing in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide.", + "title": "IncludeLinkedAccounts", + "type": "boolean" + }, + "InternetMeasurementsLogDelivery": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery", + "markdownDescription": "Publish internet measurements for a monitor for all city-networks (up to the 500,000 service limit) to another location, such as an Amazon S3 bucket. Measurements are also published to Amazon CloudWatch Logs for the first 500 (by traffic volume) city-networks (client locations and ASNs, typically internet service providers or ISPs).", + "title": "InternetMeasurementsLogDelivery" + }, + "LinkedAccountId": { + "markdownDescription": "The account ID for an account that you've set up cross-account sharing for in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide.", + "title": "LinkedAccountId", + "type": "string" + }, + "MaxCityNetworksToMonitor": { + "markdownDescription": "The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network, such as an internet service provider, that clients access the resources through.\n\nFor more information, see [Choosing a city-network maximum value](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) in *Using Amazon CloudWatch Internet Monitor* .", + "title": "MaxCityNetworksToMonitor", + "type": "number" + }, + "MonitorName": { + "markdownDescription": "The name of the monitor. A monitor name can contain only alphanumeric characters, dashes (-), periods (.), and underscores (_).", + "title": "MonitorName", + "type": "string" + }, + "Resources": { + "items": { + "type": "string" + }, + "markdownDescription": "The resources that have been added for the monitor, listed by their Amazon Resource Names (ARNs). Use this option to add or remove resources when making an update.\n\n> Be aware that if you include content in the `Resources` field when you update a monitor, the `ResourcesToAdd` and `ResourcesToRemove` fields must be empty.", + "title": "Resources", + "type": "array" + }, + "ResourcesToAdd": { + "items": { + "type": "string" + }, + "markdownDescription": "The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs). Resources can be Amazon Virtual Private Cloud VPCs, Network Load Balancers (NLBs), Amazon CloudFront distributions, or Amazon WorkSpaces directories.\n\nYou can add a combination of VPCs and CloudFront distributions, or you can add WorkSpaces directories, or you can add NLBs. You can't add NLBs or WorkSpaces directories together with any other resources.\n\nIf you add only VPC resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity.\n\n> You can specify this field for a monitor update only if the `Resources` field is empty.", + "title": "ResourcesToAdd", + "type": "array" + }, + "ResourcesToRemove": { + "items": { + "type": "string" + }, + "markdownDescription": "The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs)\n\n> You can specify this field for a monitor update only if the `Resources` field is empty.", + "title": "ResourcesToRemove", + "type": "array" + }, + "Status": { + "markdownDescription": "The status of a monitor. The accepted values that you can specify for `Status` are `ACTIVE` and `INACTIVE` .", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for a monitor, listed as a set of *key:value* pairs.", + "title": "Tags", + "type": "array" + }, + "TrafficPercentageToMonitor": { + "markdownDescription": "The percentage of the internet-facing traffic for your application that you want to monitor. You can also, optionally, set a limit for the number of city-networks (client locations and ASNs, typically internet service providers) that Internet Monitor will monitor traffic for. The city-networks maximum limit caps the number of city-networks that Internet Monitor monitors for your application, regardless of the percentage of traffic that you choose to monitor.", + "title": "TrafficPercentageToMonitor", + "type": "number" + } + }, + "required": [ + "MonitorName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::InternetMonitor::InternetEvent" + "AWS::InternetMonitor::Monitor" ], "type": "string" }, @@ -188189,262 +172696,91 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::InternetMonitor::InternetEvent.ClientLocation": { + "AWS::InternetMonitor::Monitor.HealthEventsConfig": { "additionalProperties": false, "properties": { - "ASName": { - "type": "string" + "AvailabilityLocalHealthEventsConfig": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.LocalHealthEventsConfig", + "markdownDescription": "The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local availability issue.", + "title": "AvailabilityLocalHealthEventsConfig" }, - "ASNumber": { + "AvailabilityScoreThreshold": { + "markdownDescription": "The health event threshold percentage set for availability scores. When the overall availability score is at or below this percentage, Internet Monitor creates a health event.", + "title": "AvailabilityScoreThreshold", "type": "number" }, - "City": { - "type": "string" - }, - "Country": { - "type": "string" + "PerformanceLocalHealthEventsConfig": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.LocalHealthEventsConfig", + "markdownDescription": "The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local performance issue.", + "title": "PerformanceLocalHealthEventsConfig" }, - "Latitude": { + "PerformanceScoreThreshold": { + "markdownDescription": "The health event threshold percentage set for performance scores. When the overall performance score is at or below this percentage, Internet Monitor creates a health event.", + "title": "PerformanceScoreThreshold", + "type": "number" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { + "additionalProperties": false, + "properties": { + "S3Config": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config", + "markdownDescription": "The configuration for publishing Amazon CloudWatch Internet Monitor internet measurements to Amazon S3.", + "title": "S3Config" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.LocalHealthEventsConfig": { + "additionalProperties": false, + "properties": { + "HealthScoreThreshold": { + "markdownDescription": "The health event threshold percentage set for a local health score.", + "title": "HealthScoreThreshold", "type": "number" }, - "Longitude": { + "MinTrafficImpact": { + "markdownDescription": "The minimum percentage of overall traffic for an application that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.\n\nIf you don't set a minimum traffic impact threshold, the default value is 0.01%.", + "title": "MinTrafficImpact", "type": "number" }, - "Metro": { + "Status": { + "markdownDescription": "The status of whether Internet Monitor creates a health event based on a threshold percentage set for a local health score. The status can be `ENABLED` or `DISABLED` .", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The Amazon S3 bucket name for internet measurements publishing.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "An optional Amazon S3 bucket prefix for internet measurements publishing.", + "title": "BucketPrefix", "type": "string" }, - "Subdivision": { + "LogDeliveryStatus": { + "markdownDescription": "The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket. The delivery status is `ENABLED` if you choose to deliver internet measurements to an S3 bucket, and `DISABLED` otherwise.", + "title": "LogDeliveryStatus", "type": "string" } }, - "required": [ - "ASName", - "ASNumber", - "City", - "Country", - "Latitude", - "Longitude" - ], "type": "object" }, - "AWS::InternetMonitor::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": { - "HealthEventsConfig": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.HealthEventsConfig", - "markdownDescription": "A complex type with the configuration information that determines the threshold and other conditions for when Internet Monitor creates a health event for an overall performance or availability issue, across an application's geographies.\n\nDefines the percentages, for overall performance scores and availability scores for an application, that are the thresholds for when Internet Monitor creates a health event. You can override the defaults to set a custom threshold for overall performance or availability scores, or both.\n\nYou can also set thresholds for local health scores,, where Internet Monitor creates a health event when scores cross a threshold for one or more city-networks, in addition to creating an event when an overall score crosses a threshold.\n\nIf you don't set a health event threshold, the default value is 95%.\n\nFor local thresholds, you also set a minimum percentage of overall traffic that is impacted by an issue before Internet Monitor creates an event. In addition, you can disable local thresholds, for performance scores, availability scores, or both.\n\nFor more information, see [Change health event thresholds](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) in the Internet Monitor section of the *CloudWatch User Guide* .", - "title": "HealthEventsConfig" - }, - "IncludeLinkedAccounts": { - "markdownDescription": "A boolean option that you can set to `TRUE` to include monitors for linked accounts in a list of monitors, when you've set up cross-account sharing in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide.", - "title": "IncludeLinkedAccounts", - "type": "boolean" - }, - "InternetMeasurementsLogDelivery": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery", - "markdownDescription": "Publish internet measurements for a monitor for all city-networks (up to the 500,000 service limit) to another location, such as an Amazon S3 bucket. Measurements are also published to Amazon CloudWatch Logs for the first 500 (by traffic volume) city-networks (client locations and ASNs, typically internet service providers or ISPs).", - "title": "InternetMeasurementsLogDelivery" - }, - "LinkedAccountId": { - "markdownDescription": "The account ID for an account that you've set up cross-account sharing for in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide.", - "title": "LinkedAccountId", - "type": "string" - }, - "MaxCityNetworksToMonitor": { - "markdownDescription": "The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network, such as an internet service provider, that clients access the resources through.\n\nFor more information, see [Choosing a city-network maximum value](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) in *Using Amazon CloudWatch Internet Monitor* .", - "title": "MaxCityNetworksToMonitor", - "type": "number" - }, - "MonitorName": { - "markdownDescription": "The name of the monitor. A monitor name can contain only alphanumeric characters, dashes (-), periods (.), and underscores (_).", - "title": "MonitorName", - "type": "string" - }, - "Resources": { - "items": { - "type": "string" - }, - "markdownDescription": "The resources that have been added for the monitor, listed by their Amazon Resource Names (ARNs). Use this option to add or remove resources when making an update.\n\n> Be aware that if you include content in the `Resources` field when you update a monitor, the `ResourcesToAdd` and `ResourcesToRemove` fields must be empty.", - "title": "Resources", - "type": "array" - }, - "ResourcesToAdd": { - "items": { - "type": "string" - }, - "markdownDescription": "The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs). Resources can be Amazon Virtual Private Cloud VPCs, Network Load Balancers (NLBs), Amazon CloudFront distributions, or Amazon WorkSpaces directories.\n\nYou can add a combination of VPCs and CloudFront distributions, or you can add WorkSpaces directories, or you can add NLBs. You can't add NLBs or WorkSpaces directories together with any other resources.\n\nIf you add only VPC resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity.\n\n> You can specify this field for a monitor update only if the `Resources` field is empty.", - "title": "ResourcesToAdd", - "type": "array" - }, - "ResourcesToRemove": { - "items": { - "type": "string" - }, - "markdownDescription": "The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs)\n\n> You can specify this field for a monitor update only if the `Resources` field is empty.", - "title": "ResourcesToRemove", - "type": "array" - }, - "Status": { - "markdownDescription": "The status of a monitor. The accepted values that you can specify for `Status` are `ACTIVE` and `INACTIVE` .", - "title": "Status", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for a monitor, listed as a set of *key:value* pairs.", - "title": "Tags", - "type": "array" - }, - "TrafficPercentageToMonitor": { - "markdownDescription": "The percentage of the internet-facing traffic for your application that you want to monitor. You can also, optionally, set a limit for the number of city-networks (client locations and ASNs, typically internet service providers) that Internet Monitor will monitor traffic for. The city-networks maximum limit caps the number of city-networks that Internet Monitor monitors for your application, regardless of the percentage of traffic that you choose to monitor.", - "title": "TrafficPercentageToMonitor", - "type": "number" - } - }, - "required": [ - "MonitorName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::InternetMonitor::Monitor" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::InternetMonitor::Monitor.HealthEventsConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityLocalHealthEventsConfig": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.LocalHealthEventsConfig", - "markdownDescription": "The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local availability issue.", - "title": "AvailabilityLocalHealthEventsConfig" - }, - "AvailabilityScoreThreshold": { - "markdownDescription": "The health event threshold percentage set for availability scores. When the overall availability score is at or below this percentage, Internet Monitor creates a health event.", - "title": "AvailabilityScoreThreshold", - "type": "number" - }, - "PerformanceLocalHealthEventsConfig": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.LocalHealthEventsConfig", - "markdownDescription": "The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local performance issue.", - "title": "PerformanceLocalHealthEventsConfig" - }, - "PerformanceScoreThreshold": { - "markdownDescription": "The health event threshold percentage set for performance scores. When the overall performance score is at or below this percentage, Internet Monitor creates a health event.", - "title": "PerformanceScoreThreshold", - "type": "number" - } - }, - "type": "object" - }, - "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { - "additionalProperties": false, - "properties": { - "S3Config": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config", - "markdownDescription": "The configuration for publishing Amazon CloudWatch Internet Monitor internet measurements to Amazon S3.", - "title": "S3Config" - } - }, - "type": "object" - }, - "AWS::InternetMonitor::Monitor.LocalHealthEventsConfig": { - "additionalProperties": false, - "properties": { - "HealthScoreThreshold": { - "markdownDescription": "The health event threshold percentage set for a local health score.", - "title": "HealthScoreThreshold", - "type": "number" - }, - "MinTrafficImpact": { - "markdownDescription": "The minimum percentage of overall traffic for an application that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.\n\nIf you don't set a minimum traffic impact threshold, the default value is 0.01%.", - "title": "MinTrafficImpact", - "type": "number" - }, - "Status": { - "markdownDescription": "The status of whether Internet Monitor creates a health event based on a threshold percentage set for a local health score. The status can be `ENABLED` or `DISABLED` .", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::InternetMonitor::Monitor.S3Config": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The Amazon S3 bucket name for internet measurements publishing.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "An optional Amazon S3 bucket prefix for internet measurements publishing.", - "title": "BucketPrefix", - "type": "string" - }, - "LogDeliveryStatus": { - "markdownDescription": "The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket. The delivery status is `ENABLED` if you choose to deliver internet measurements to an S3 bucket, and `DISABLED` otherwise.", - "title": "LogDeliveryStatus", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Invoicing::InvoiceUnit": { + "AWS::Invoicing::InvoiceUnit": { "additionalProperties": false, "properties": { "Condition": { @@ -188578,216 +172914,6 @@ ], "type": "object" }, - "AWS::Invoicing::ProcurementPortalPreference": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BuyerDomain": { - "type": "string" - }, - "BuyerIdentifier": { - "type": "string" - }, - "Contacts": { - "items": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.Contact" - }, - "type": "array" - }, - "EinvoiceDeliveryEnabled": { - "type": "boolean" - }, - "EinvoiceDeliveryPreference": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.EinvoiceDeliveryPreference" - }, - "ProcurementPortalInstanceEndpoint": { - "type": "string" - }, - "ProcurementPortalName": { - "type": "string" - }, - "ProcurementPortalSharedSecret": { - "type": "string" - }, - "PurchaseOrderRetrievalEnabled": { - "type": "boolean" - }, - "Selector": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.ProcurementPortalPreferenceSelector" - }, - "SupplierDomain": { - "type": "string" - }, - "SupplierIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TestEnvPreference": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.TestEnvPreference" - } - }, - "required": [ - "BuyerDomain", - "BuyerIdentifier", - "Contacts", - "EinvoiceDeliveryEnabled", - "ProcurementPortalName", - "PurchaseOrderRetrievalEnabled", - "SupplierDomain", - "SupplierIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Invoicing::ProcurementPortalPreference" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.Contact": { - "additionalProperties": false, - "properties": { - "Email": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.EinvoiceDeliveryPreference": { - "additionalProperties": false, - "properties": { - "ConnectionTestingMethod": { - "type": "string" - }, - "EinvoiceDeliveryActivationDate": { - "type": "string" - }, - "EinvoiceDeliveryAttachmentTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EinvoiceDeliveryDocumentTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "PurchaseOrderDataSources": { - "items": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.PurchaseOrderDataSource" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.ProcurementPortalPreferenceSelector": { - "additionalProperties": false, - "properties": { - "InvoiceUnitArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.PurchaseOrderDataSource": { - "additionalProperties": false, - "properties": { - "EinvoiceDeliveryDocumentType": { - "type": "string" - }, - "PurchaseOrderDataSourceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.TestEnvPreference": { - "additionalProperties": false, - "properties": { - "BuyerDomain": { - "type": "string" - }, - "BuyerIdentifier": { - "type": "string" - }, - "ProcurementPortalInstanceEndpoint": { - "type": "string" - }, - "ProcurementPortalSharedSecret": { - "type": "string" - }, - "SupplierDomain": { - "type": "string" - }, - "SupplierIdentifier": { - "type": "string" - } - }, - "type": "object" - }, "AWS::IoT::AccountAuditConfiguration": { "additionalProperties": false, "properties": { @@ -190489,365 +174615,6 @@ ], "type": "object" }, - "AWS::IoT::Index": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Index" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::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": { - "AbortConfig": { - "$ref": "#/definitions/AWS::IoT::Job.AbortConfig" - }, - "Description": { - "type": "string" - }, - "DestinationPackageVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Document": { - "type": "string" - }, - "DocumentParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DocumentSource": { - "type": "string" - }, - "JobExecutionsRetryConfig": { - "$ref": "#/definitions/AWS::IoT::Job.JobExecutionsRetryConfig" - }, - "JobExecutionsRolloutConfig": { - "$ref": "#/definitions/AWS::IoT::Job.JobExecutionsRolloutConfig" - }, - "JobId": { - "type": "string" - }, - "JobTemplateArn": { - "type": "string" - }, - "PresignedUrlConfig": { - "$ref": "#/definitions/AWS::IoT::Job.PresignedUrlConfig" - }, - "SchedulingConfig": { - "$ref": "#/definitions/AWS::IoT::Job.SchedulingConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetSelection": { - "type": "string" - }, - "Targets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TimeoutConfig": { - "$ref": "#/definitions/AWS::IoT::Job.TimeoutConfig" - } - }, - "required": [ - "JobId", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Job.AbortConfig": { - "additionalProperties": false, - "properties": { - "CriteriaList": { - "items": { - "$ref": "#/definitions/AWS::IoT::Job.AbortCriteria" - }, - "type": "array" - } - }, - "required": [ - "CriteriaList" - ], - "type": "object" - }, - "AWS::IoT::Job.AbortCriteria": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "FailureType": { - "type": "string" - }, - "MinNumberOfExecutedThings": { - "type": "number" - }, - "ThresholdPercentage": { - "type": "number" - } - }, - "required": [ - "Action", - "FailureType", - "MinNumberOfExecutedThings", - "ThresholdPercentage" - ], - "type": "object" - }, - "AWS::IoT::Job.ExponentialRolloutRate": { - "additionalProperties": false, - "properties": { - "BaseRatePerMinute": { - "type": "number" - }, - "IncrementFactor": { - "type": "number" - }, - "RateIncreaseCriteria": { - "$ref": "#/definitions/AWS::IoT::Job.RateIncreaseCriteria" - } - }, - "required": [ - "BaseRatePerMinute", - "IncrementFactor", - "RateIncreaseCriteria" - ], - "type": "object" - }, - "AWS::IoT::Job.JobExecutionsRetryConfig": { - "additionalProperties": false, - "properties": { - "CriteriaList": { - "items": { - "$ref": "#/definitions/AWS::IoT::Job.RetryCriteria" - }, - "type": "array" - } - }, - "required": [ - "CriteriaList" - ], - "type": "object" - }, - "AWS::IoT::Job.JobExecutionsRolloutConfig": { - "additionalProperties": false, - "properties": { - "ExponentialRate": { - "$ref": "#/definitions/AWS::IoT::Job.ExponentialRolloutRate" - }, - "MaximumPerMinute": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::IoT::Job.MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DurationInMinutes": { - "type": "number" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "DurationInMinutes", - "StartTime" - ], - "type": "object" - }, - "AWS::IoT::Job.PresignedUrlConfig": { - "additionalProperties": false, - "properties": { - "ExpiresInSec": { - "type": "number" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Job.RateIncreaseCriteria": { - "additionalProperties": false, - "properties": { - "NumberOfNotifiedThings": { - "type": "number" - }, - "NumberOfSucceededThings": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::IoT::Job.RetryCriteria": { - "additionalProperties": false, - "properties": { - "FailureType": { - "type": "string" - }, - "NumberOfRetries": { - "type": "number" - } - }, - "required": [ - "FailureType", - "NumberOfRetries" - ], - "type": "object" - }, - "AWS::IoT::Job.SchedulingConfig": { - "additionalProperties": false, - "properties": { - "EndBehavior": { - "type": "string" - }, - "EndTime": { - "type": "string" - }, - "MaintenanceWindows": { - "items": { - "$ref": "#/definitions/AWS::IoT::Job.MaintenanceWindow" - }, - "type": "array" - }, - "StartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Job.TimeoutConfig": { - "additionalProperties": false, - "properties": { - "InProgressTimeoutInMinutes": { - "type": "number" - } - }, - "type": "object" - }, "AWS::IoT::JobTemplate": { "additionalProperties": false, "properties": { @@ -192622,118 +176389,6 @@ ], "type": "object" }, - "AWS::IoT::Stream": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Files": { - "items": { - "$ref": "#/definitions/AWS::IoT::Stream.StreamFile" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Files", - "RoleArn", - "StreamId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Stream.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Stream.StreamFile": { - "additionalProperties": false, - "properties": { - "FileId": { - "type": "number" - }, - "S3Location": { - "$ref": "#/definitions/AWS::IoT::Stream.S3Location" - } - }, - "type": "object" - }, "AWS::IoT::Thing": { "additionalProperties": false, "properties": { @@ -195675,111 +179330,6 @@ ], "type": "object" }, - "AWS::IoTDeviceAdvisor::SuiteRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SuiteDefinitionId": { - "type": "string" - }, - "SuiteDefinitionVersion": { - "type": "string" - }, - "SuiteRunConfiguration": { - "$ref": "#/definitions/AWS::IoTDeviceAdvisor::SuiteRun.SuiteRunConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SuiteDefinitionId", - "SuiteRunConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTDeviceAdvisor::SuiteRun" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTDeviceAdvisor::SuiteRun.DeviceUnderTest": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "ThingArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTDeviceAdvisor::SuiteRun.SuiteRunConfiguration": { - "additionalProperties": false, - "properties": { - "ParallelRun": { - "type": "boolean" - }, - "PrimaryDevice": { - "$ref": "#/definitions/AWS::IoTDeviceAdvisor::SuiteRun.DeviceUnderTest" - } - }, - "required": [ - "PrimaryDevice" - ], - "type": "object" - }, "AWS::IoTEvents::AlarmModel": { "additionalProperties": false, "properties": { @@ -198952,106 +182502,6 @@ ], "type": "object" }, - "AWS::IoTSecureTunneling::Tunnel": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::IoTSecureTunneling::Tunnel.DestinationConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeoutConfig": { - "$ref": "#/definitions/AWS::IoTSecureTunneling::Tunnel.TimeoutConfig" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSecureTunneling::Tunnel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTSecureTunneling::Tunnel.DestinationConfig": { - "additionalProperties": false, - "properties": { - "Services": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ThingName": { - "type": "string" - } - }, - "required": [ - "Services" - ], - "type": "object" - }, - "AWS::IoTSecureTunneling::Tunnel.TimeoutConfig": { - "additionalProperties": false, - "properties": { - "MaxLifetimeTimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, "AWS::IoTSiteWise::AccessPolicy": { "additionalProperties": false, "properties": { @@ -201750,132 +185200,6 @@ }, "type": "object" }, - "AWS::IoTTwinMaker::MetadataTransferJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Destination": { - "$ref": "#/definitions/AWS::IoTTwinMaker::MetadataTransferJob.DestinationConfiguration" - }, - "MetadataTransferJobId": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::IoTTwinMaker::MetadataTransferJob.SourceConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Destination", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTTwinMaker::MetadataTransferJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTTwinMaker::MetadataTransferJob.DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "S3Configuration": { - "$ref": "#/definitions/AWS::IoTTwinMaker::MetadataTransferJob.S3DestinationConfiguration" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTTwinMaker::MetadataTransferJob.MetadataTransferJobStatus": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTTwinMaker::MetadataTransferJob.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::IoTTwinMaker::MetadataTransferJob.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::IoTTwinMaker::Scene": { "additionalProperties": false, "properties": { @@ -204674,253 +187998,154 @@ }, "type": "object" }, - "AWS::KafkaConnect::ConnectorOperation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::KafkaConnect::ConnectorOperation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KafkaConnect::ConnectorOperation.CapacityDescription": { - "additionalProperties": false, - "properties": { - "ProvisionedCapacity": { - "$ref": "#/definitions/AWS::KafkaConnect::ConnectorOperation.ProvisionedCapacityDescription" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::ConnectorOperation.ConnectorOperationStep": { - "additionalProperties": false, - "properties": { - "StepState": { - "type": "string" - }, - "StepType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::ConnectorOperation.ProvisionedCapacityDescription": { - "additionalProperties": false, - "properties": { - "McuCount": { - "type": "number" - }, - "WorkerCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::ConnectorOperation.WorkerSetting": { - "additionalProperties": false, - "properties": { - "Capacity": { - "$ref": "#/definitions/AWS::KafkaConnect::ConnectorOperation.CapacityDescription" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::CustomPlugin": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentType": { - "markdownDescription": "The format of the plugin file.", - "title": "ContentType", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the custom plugin.", - "title": "Description", - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin.CustomPluginLocation", - "markdownDescription": "Information about the location of the custom plugin.", - "title": "Location" - }, - "Name": { - "markdownDescription": "The name of the custom plugin.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ContentType", - "Location", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KafkaConnect::CustomPlugin" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KafkaConnect::CustomPlugin.CustomPluginFileDescription": { - "additionalProperties": false, - "properties": { - "FileMd5": { - "markdownDescription": "The hex-encoded MD5 checksum of the custom plugin file. You can use it to validate the file.", - "title": "FileMd5", - "type": "string" - }, - "FileSize": { - "markdownDescription": "The size in bytes of the custom plugin file. You can use it to validate the file.", - "title": "FileSize", - "type": "number" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::CustomPlugin.CustomPluginLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin.S3Location", - "markdownDescription": "The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.", - "title": "S3Location" - } - }, - "required": [ - "S3Location" - ], - "type": "object" - }, - "AWS::KafkaConnect::CustomPlugin.S3Location": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an S3 bucket.", - "title": "BucketArn", - "type": "string" - }, - "FileKey": { - "markdownDescription": "The file key for an object in an S3 bucket.", - "title": "FileKey", - "type": "string" - }, - "ObjectVersion": { - "markdownDescription": "The version of an object in an S3 bucket.", - "title": "ObjectVersion", - "type": "string" - } - }, - "required": [ - "BucketArn", - "FileKey" - ], - "type": "object" - }, - "AWS::KafkaConnect::WorkerConfiguration": { + "AWS::KafkaConnect::CustomPlugin": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentType": { + "markdownDescription": "The format of the plugin file.", + "title": "ContentType", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the custom plugin.", + "title": "Description", + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin.CustomPluginLocation", + "markdownDescription": "Information about the location of the custom plugin.", + "title": "Location" + }, + "Name": { + "markdownDescription": "The name of the custom plugin.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ContentType", + "Location", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KafkaConnect::CustomPlugin" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KafkaConnect::CustomPlugin.CustomPluginFileDescription": { + "additionalProperties": false, + "properties": { + "FileMd5": { + "markdownDescription": "The hex-encoded MD5 checksum of the custom plugin file. You can use it to validate the file.", + "title": "FileMd5", + "type": "string" + }, + "FileSize": { + "markdownDescription": "The size in bytes of the custom plugin file. You can use it to validate the file.", + "title": "FileSize", + "type": "number" + } + }, + "type": "object" + }, + "AWS::KafkaConnect::CustomPlugin.CustomPluginLocation": { + "additionalProperties": false, + "properties": { + "S3Location": { + "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin.S3Location", + "markdownDescription": "The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.", + "title": "S3Location" + } + }, + "required": [ + "S3Location" + ], + "type": "object" + }, + "AWS::KafkaConnect::CustomPlugin.S3Location": { + "additionalProperties": false, + "properties": { + "BucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an S3 bucket.", + "title": "BucketArn", + "type": "string" + }, + "FileKey": { + "markdownDescription": "The file key for an object in an S3 bucket.", + "title": "FileKey", + "type": "string" + }, + "ObjectVersion": { + "markdownDescription": "The version of an object in an S3 bucket.", + "title": "ObjectVersion", + "type": "string" + } + }, + "required": [ + "BucketArn", + "FileKey" + ], + "type": "object" + }, + "AWS::KafkaConnect::WorkerConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -205769,7 +188994,7 @@ }, "type": "object" }, - "AWS::Kendra::QuerySuggestionsBlockList": { + "AWS::KendraRanking::ExecutionPlan": { "additionalProperties": false, "properties": { "Condition": { @@ -205804,39 +189029,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "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" }, - "IndexId": { + "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" }, - "RoleArn": { - "type": "string" - }, - "SourceS3Path": { - "$ref": "#/definitions/AWS::Kendra::QuerySuggestionsBlockList.S3Path" - }, "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": [ - "IndexId", - "Name", - "RoleArn", - "SourceS3Path" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::QuerySuggestionsBlockList" + "AWS::KendraRanking::ExecutionPlan" ], "type": "string" }, @@ -205855,224 +189079,21 @@ ], "type": "object" }, - "AWS::Kendra::QuerySuggestionsBlockList.S3Path": { + "AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" + "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": [ - "Bucket", - "Key" + "RescoreCapacityUnits" ], "type": "object" }, - "AWS::Kendra::Thesaurus": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "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::ResourcePolicy": { + "AWS::Kinesis::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -212551,67 +195572,6 @@ ], "type": "object" }, - "AWS::Lambda::DurableExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FunctionName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::DurableExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Lambda::EventInvokeConfig": { "additionalProperties": false, "properties": { @@ -213488,6 +196448,8 @@ "type": "string" }, "S3ObjectStorageMode": { + "markdownDescription": "Controls how Lambda stores the deployment package: `COPY` (Lambda copies the object to its own storage) or `REFERENCE` (Lambda references the object in your S3 bucket; the object must remain in place for the lifetime of the function).", + "title": "S3ObjectStorageMode", "type": "string" }, "S3ObjectVersion": { @@ -213527,9 +196489,6 @@ "title": "ExecutionTimeout", "type": "number" }, - "KMSKeyArn": { - "type": "string" - }, "RetentionPeriodInDays": { "markdownDescription": "The number of days to retain execution history after a durable execution completes. After this period, execution history is no longer available through the GetDurableExecutionHistory API.", "title": "RetentionPeriodInDays", @@ -213584,9 +196543,6 @@ "markdownDescription": "The path where the function can access the file system, starting with `/mnt/` .", "title": "LocalMountPath", "type": "string" - }, - "S3FilesConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.S3FilesConfig" } }, "required": [ @@ -213707,15 +196663,6 @@ ], "type": "object" }, - "AWS::Lambda::Function.S3FilesConfig": { - "additionalProperties": false, - "properties": { - "DirectS3Read": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Lambda::Function.SnapStart": { "additionalProperties": false, "properties": { @@ -213910,6 +196857,8 @@ "type": "string" }, "S3ObjectStorageMode": { + "markdownDescription": "Controls how Lambda stores the layer archive: `COPY` (Lambda copies the object to its own storage) or `REFERENCE` (Lambda references the object in your S3 bucket; the object must remain in place for the lifetime of the layer version).", + "title": "S3ObjectStorageMode", "type": "string" }, "S3ObjectVersion": { @@ -214008,7 +196957,7 @@ ], "type": "object" }, - "AWS::Lambda::MicrovmImage": { + "AWS::Lambda::Permission": { "additionalProperties": false, "properties": { "Condition": { @@ -214043,87 +196992,62 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalOsCapabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BaseImageArn": { + "Action": { + "markdownDescription": "The action that the principal can use on the function. For example, `lambda:InvokeFunction` or `lambda:GetFunction` .", + "title": "Action", "type": "string" }, - "BaseImageVersion": { + "EventSourceToken": { + "markdownDescription": "For Alexa Smart Home functions, a token that the invoker must supply.", + "title": "EventSourceToken", "type": "string" }, - "BuildRoleArn": { + "FunctionName": { + "markdownDescription": "The name or ARN of the Lambda function, version, or alias.\n\n**Name formats** - *Function name* \u2013 `my-function` (name-only), `my-function:v1` (with alias).\n- *Function ARN* \u2013 `arn:aws:lambda:us-west-2:123456789012:function:my-function` .\n- *Partial ARN* \u2013 `123456789012:function:my-function` .\n\nYou can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "title": "FunctionName", "type": "string" }, - "CodeArtifact": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.CodeArtifact" - }, - "CpuConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.CpuConfiguration" - }, - "type": "array" - }, - "Description": { + "FunctionUrlAuthType": { + "markdownDescription": "The type of authentication that your function URL uses. Set to `AWS_IAM` if you want to restrict access to authenticated users only. Set to `NONE` if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html) .", + "title": "FunctionUrlAuthType", "type": "string" }, - "EgressNetworkConnectors": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.EnvironmentVariable" - }, - "type": "array" - }, - "Hooks": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.Hooks" + "InvokedViaFunctionUrl": { + "markdownDescription": "Indicates whether the permission applies when the function is invoked through a function URL.", + "title": "InvokedViaFunctionUrl", + "type": "boolean" }, - "Logging": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.Logging" + "Principal": { + "markdownDescription": "The AWS service , AWS account , IAM user, or IAM role that invokes the function. If you specify a service, use `SourceArn` or `SourceAccount` to limit who can invoke the function through that service.", + "title": "Principal", + "type": "string" }, - "Name": { + "PrincipalOrgID": { + "markdownDescription": "The identifier for your organization in AWS Organizations . Use this to grant permissions to all the AWS accounts under this organization.", + "title": "PrincipalOrgID", "type": "string" }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.Resources" - }, - "type": "array" + "SourceAccount": { + "markdownDescription": "For AWS service , the ID of the AWS account that owns the resource. Use this together with `SourceArn` to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.", + "title": "SourceAccount", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SourceArn": { + "markdownDescription": "For AWS services , the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.\n\nNote that Lambda configures the comparison using the `StringLike` operator.", + "title": "SourceArn", + "type": "string" } }, "required": [ - "AdditionalOsCapabilities", - "BaseImageArn", - "BaseImageVersion", - "BuildRoleArn", - "CodeArtifact", - "CpuConfigurations", - "Description", - "EgressNetworkConnectors", - "EnvironmentVariables", - "Hooks", - "Logging", - "Name", - "Resources" + "Action", + "FunctionName", + "Principal" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::MicrovmImage" + "AWS::Lambda::Permission" ], "type": "string" }, @@ -214142,146 +197066,7 @@ ], "type": "object" }, - "AWS::Lambda::MicrovmImage.CloudWatchLogging": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - }, - "LogStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.CodeArtifact": { - "additionalProperties": false, - "properties": { - "Uri": { - "type": "string" - } - }, - "required": [ - "Uri" - ], - "type": "object" - }, - "AWS::Lambda::MicrovmImage.CpuConfiguration": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - } - }, - "required": [ - "Architecture" - ], - "type": "object" - }, - "AWS::Lambda::MicrovmImage.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Lambda::MicrovmImage.Hooks": { - "additionalProperties": false, - "properties": { - "MicrovmHooks": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.MicrovmHooks" - }, - "MicrovmImageHooks": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.MicrovmImageHooks" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.Logging": { - "additionalProperties": false, - "properties": { - "CloudWatch": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.CloudWatchLogging" - }, - "Disabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.MicrovmHooks": { - "additionalProperties": false, - "properties": { - "Resume": { - "type": "string" - }, - "ResumeTimeoutInSeconds": { - "type": "number" - }, - "Run": { - "type": "string" - }, - "RunTimeoutInSeconds": { - "type": "number" - }, - "Suspend": { - "type": "string" - }, - "SuspendTimeoutInSeconds": { - "type": "number" - }, - "Terminate": { - "type": "string" - }, - "TerminateTimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.MicrovmImageHooks": { - "additionalProperties": false, - "properties": { - "Ready": { - "type": "string" - }, - "ReadyTimeoutInSeconds": { - "type": "number" - }, - "Validate": { - "type": "string" - }, - "ValidateTimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.Resources": { - "additionalProperties": false, - "properties": { - "MinimumMemoryInMiB": { - "type": "number" - } - }, - "required": [ - "MinimumMemoryInMiB" - ], - "type": "object" - }, - "AWS::Lambda::NetworkConnector": { + "AWS::Lambda::Url": { "additionalProperties": false, "properties": { "Condition": { @@ -214316,30 +197101,41 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Lambda::NetworkConnector.Config" + "AuthType": { + "markdownDescription": "The type of authentication that your function URL uses. Set to `AWS_IAM` if you want to restrict access to authenticated users only. Set to `NONE` if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html) .", + "title": "AuthType", + "type": "string" }, - "Name": { + "Cors": { + "$ref": "#/definitions/AWS::Lambda::Url.Cors", + "markdownDescription": "The [Cross-Origin Resource Sharing (CORS)](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL.", + "title": "Cors" + }, + "InvokeMode": { + "markdownDescription": "Use one of the following options:\n\n- `BUFFERED` \u2013 This is the default option. Lambda invokes your function using the `Invoke` API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB.\n- `RESPONSE_STREAM` \u2013 Your function streams payload results as they become available. Lambda invokes your function using the `InvokeWithResponseStream` API operation. The maximum response payload size is 200 MB.", + "title": "InvokeMode", "type": "string" }, - "OperatorRole": { + "Qualifier": { + "markdownDescription": "The alias name.", + "title": "Qualifier", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "TargetFunctionArn": { + "markdownDescription": "The name of the Lambda function.\n\n**Name formats** - *Function name* - `my-function` .\n- *Function ARN* - `lambda: : :function:my-function` .\n- *Partial ARN* - `:function:my-function` .\n\nThe length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "title": "TargetFunctionArn", + "type": "string" } }, "required": [ - "Configuration" + "AuthType", + "TargetFunctionArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::NetworkConnector" + "AWS::Lambda::Url" ], "type": "string" }, @@ -214358,364 +197154,55 @@ ], "type": "object" }, - "AWS::Lambda::NetworkConnector.Config": { - "additionalProperties": false, - "properties": { - "VpcEgressConfiguration": { - "$ref": "#/definitions/AWS::Lambda::NetworkConnector.VpcEgressConfiguration" - } - }, - "required": [ - "VpcEgressConfiguration" - ], - "type": "object" - }, - "AWS::Lambda::NetworkConnector.VpcEgressConfiguration": { + "AWS::Lambda::Url.Cors": { "additionalProperties": false, "properties": { - "AssociatedComputeResourceTypes": { + "AllowCredentials": { + "markdownDescription": "Whether you want to allow cookies or other credentials in requests to your function URL. The default is `false` .", + "title": "AllowCredentials", + "type": "boolean" + }, + "AllowHeaders": { "items": { "type": "string" }, + "markdownDescription": "The HTTP headers that origins can include in requests to your function URL. For example: `Date` , `Keep-Alive` , `X-Custom-Header` .", + "title": "AllowHeaders", "type": "array" }, - "NetworkProtocol": { - "type": "string" + "AllowMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "The HTTP methods that are allowed when calling your function URL. For example: `GET` , `POST` , `DELETE` , or the wildcard character ( `*` ).", + "title": "AllowMethods", + "type": "array" }, - "SecurityGroupIds": { + "AllowOrigins": { "items": { "type": "string" }, + "markdownDescription": "The origins that can access your function URL. You can list any number of specific origins, separated by a comma. For example: `https://www.example.com` , `http://localhost:60905` .\n\nAlternatively, you can grant access to all origins with the wildcard character ( `*` ).", + "title": "AllowOrigins", "type": "array" }, - "SubnetIds": { + "ExposeHeaders": { "items": { "type": "string" }, + "markdownDescription": "The HTTP headers in your function response that you want to expose to origins that call your function URL. For example: `Date` , `Keep-Alive` , `X-Custom-Header` .", + "title": "ExposeHeaders", "type": "array" + }, + "MaxAge": { + "markdownDescription": "The maximum amount of time, in seconds, that browsers can cache results of a preflight request. By default, this is set to `0` , which means the browser will not cache results.", + "title": "MaxAge", + "type": "number" } }, - "required": [ - "AssociatedComputeResourceTypes", - "SubnetIds" - ], "type": "object" }, - "AWS::Lambda::Permission": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 that the principal can use on the function. For example, `lambda:InvokeFunction` or `lambda:GetFunction` .", - "title": "Action", - "type": "string" - }, - "EventSourceToken": { - "markdownDescription": "For Alexa Smart Home functions, a token that the invoker must supply.", - "title": "EventSourceToken", - "type": "string" - }, - "FunctionName": { - "markdownDescription": "The name or ARN of the Lambda function, version, or alias.\n\n**Name formats** - *Function name* \u2013 `my-function` (name-only), `my-function:v1` (with alias).\n- *Function ARN* \u2013 `arn:aws:lambda:us-west-2:123456789012:function:my-function` .\n- *Partial ARN* \u2013 `123456789012:function:my-function` .\n\nYou can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", - "title": "FunctionName", - "type": "string" - }, - "FunctionUrlAuthType": { - "markdownDescription": "The type of authentication that your function URL uses. Set to `AWS_IAM` if you want to restrict access to authenticated users only. Set to `NONE` if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html) .", - "title": "FunctionUrlAuthType", - "type": "string" - }, - "InvokedViaFunctionUrl": { - "markdownDescription": "Indicates whether the permission applies when the function is invoked through a function URL.", - "title": "InvokedViaFunctionUrl", - "type": "boolean" - }, - "Principal": { - "markdownDescription": "The AWS service , AWS account , IAM user, or IAM role that invokes the function. If you specify a service, use `SourceArn` or `SourceAccount` to limit who can invoke the function through that service.", - "title": "Principal", - "type": "string" - }, - "PrincipalOrgID": { - "markdownDescription": "The identifier for your organization in AWS Organizations . Use this to grant permissions to all the AWS accounts under this organization.", - "title": "PrincipalOrgID", - "type": "string" - }, - "SourceAccount": { - "markdownDescription": "For AWS service , the ID of the AWS account that owns the resource. Use this together with `SourceArn` to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.", - "title": "SourceAccount", - "type": "string" - }, - "SourceArn": { - "markdownDescription": "For AWS services , the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.\n\nNote that Lambda configures the comparison using the `StringLike` operator.", - "title": "SourceArn", - "type": "string" - } - }, - "required": [ - "Action", - "FunctionName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Permission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::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": { - "PolicyDocument": { - "type": "object" - }, - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "ResourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Url": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "markdownDescription": "The type of authentication that your function URL uses. Set to `AWS_IAM` if you want to restrict access to authenticated users only. Set to `NONE` if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html) .", - "title": "AuthType", - "type": "string" - }, - "Cors": { - "$ref": "#/definitions/AWS::Lambda::Url.Cors", - "markdownDescription": "The [Cross-Origin Resource Sharing (CORS)](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL.", - "title": "Cors" - }, - "InvokeMode": { - "markdownDescription": "Use one of the following options:\n\n- `BUFFERED` \u2013 This is the default option. Lambda invokes your function using the `Invoke` API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB.\n- `RESPONSE_STREAM` \u2013 Your function streams payload results as they become available. Lambda invokes your function using the `InvokeWithResponseStream` API operation. The maximum response payload size is 200 MB.", - "title": "InvokeMode", - "type": "string" - }, - "Qualifier": { - "markdownDescription": "The alias name.", - "title": "Qualifier", - "type": "string" - }, - "TargetFunctionArn": { - "markdownDescription": "The name of the Lambda function.\n\n**Name formats** - *Function name* - `my-function` .\n- *Function ARN* - `lambda: : :function:my-function` .\n- *Partial ARN* - `:function:my-function` .\n\nThe length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", - "title": "TargetFunctionArn", - "type": "string" - } - }, - "required": [ - "AuthType", - "TargetFunctionArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Url" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Url.Cors": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "markdownDescription": "Whether you want to allow cookies or other credentials in requests to your function URL. The default is `false` .", - "title": "AllowCredentials", - "type": "boolean" - }, - "AllowHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "The HTTP headers that origins can include in requests to your function URL. For example: `Date` , `Keep-Alive` , `X-Custom-Header` .", - "title": "AllowHeaders", - "type": "array" - }, - "AllowMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "The HTTP methods that are allowed when calling your function URL. For example: `GET` , `POST` , `DELETE` , or the wildcard character ( `*` ).", - "title": "AllowMethods", - "type": "array" - }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "markdownDescription": "The origins that can access your function URL. You can list any number of specific origins, separated by a comma. For example: `https://www.example.com` , `http://localhost:60905` .\n\nAlternatively, you can grant access to all origins with the wildcard character ( `*` ).", - "title": "AllowOrigins", - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "The HTTP headers in your function response that you want to expose to origins that call your function URL. For example: `Date` , `Keep-Alive` , `X-Custom-Header` .", - "title": "ExposeHeaders", - "type": "array" - }, - "MaxAge": { - "markdownDescription": "The maximum amount of time, in seconds, that browsers can cache results of a preflight request. By default, this is set to `0` , which means the browser will not cache results.", - "title": "MaxAge", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lambda::Version": { + "AWS::Lambda::Version": { "additionalProperties": false, "properties": { "Condition": { @@ -215026,12 +197513,6 @@ "title": "BotLocales", "type": "array" }, - "BotMembers": { - "items": { - "$ref": "#/definitions/AWS::Lex::Bot.BotMember" - }, - "type": "array" - }, "BotTags": { "items": { "$ref": "#/definitions/Tag" @@ -215040,9 +197521,6 @@ "title": "BotTags", "type": "array" }, - "BotType": { - "type": "string" - }, "DataPrivacy": { "$ref": "#/definitions/AWS::Lex::Bot.DataPrivacy", "markdownDescription": "By default, data stored by Amazon Lex is encrypted. The `DataPrivacy` structure provides settings that determine how Amazon Lex handles special cases of securing the data for your bot.", @@ -215494,34 +197972,6 @@ ], "type": "object" }, - "AWS::Lex::Bot.BotMember": { - "additionalProperties": false, - "properties": { - "BotMemberAliasId": { - "type": "string" - }, - "BotMemberAliasName": { - "type": "string" - }, - "BotMemberId": { - "type": "string" - }, - "BotMemberName": { - "type": "string" - }, - "BotMemberVersion": { - "type": "string" - } - }, - "required": [ - "BotMemberAliasId", - "BotMemberAliasName", - "BotMemberId", - "BotMemberName", - "BotMemberVersion" - ], - "type": "object" - }, "AWS::Lex::Bot.BuildtimeSettings": { "additionalProperties": false, "properties": { @@ -218772,7 +201222,7 @@ ], "type": "object" }, - "AWS::LicenseManager::LicenseAssetRuleSet": { + "AWS::Lightsail::Alarm": { "additionalProperties": false, "properties": { "Condition": { @@ -218807,34 +201257,81 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AlarmName": { + "markdownDescription": "The name of the alarm.", + "title": "AlarmName", "type": "string" }, - "Name": { + "ComparisonOperator": { + "markdownDescription": "The arithmetic operation to use when comparing the specified statistic and threshold.", + "title": "ComparisonOperator", "type": "string" }, - "Rules": { + "ContactProtocols": { "items": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.LicenseAssetRule" + "type": "string" }, + "markdownDescription": "The contact protocols for the alarm, such as `Email` , `SMS` (text messaging), or both.\n\n*Allowed Values* : `Email` | `SMS`", + "title": "ContactProtocols", "type": "array" }, - "Tags": { + "DatapointsToAlarm": { + "markdownDescription": "The number of data points within the evaluation periods that must be breaching to cause the alarm to go to the `ALARM` state.", + "title": "DatapointsToAlarm", + "type": "number" + }, + "EvaluationPeriods": { + "markdownDescription": "The number of periods over which data is compared to the specified threshold.", + "title": "EvaluationPeriods", + "type": "number" + }, + "MetricName": { + "markdownDescription": "The name of the metric associated with the alarm.", + "title": "MetricName", + "type": "string" + }, + "MonitoredResourceName": { + "markdownDescription": "The name of the Lightsail resource that the alarm monitors.", + "title": "MonitoredResourceName", + "type": "string" + }, + "NotificationEnabled": { + "markdownDescription": "A Boolean value indicating whether the alarm is enabled.", + "title": "NotificationEnabled", + "type": "boolean" + }, + "NotificationTriggers": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "The alarm states that trigger a notification.\n\n> To specify the `OK` and `INSUFFICIENT_DATA` values, you must also specify `ContactProtocols` values. Otherwise, the `OK` and `INSUFFICIENT_DATA` values will not take effect and the stack will drift. \n\n*Allowed Values* : `OK` | `ALARM` | `INSUFFICIENT_DATA`", + "title": "NotificationTriggers", "type": "array" + }, + "Threshold": { + "markdownDescription": "The value against which the specified statistic is compared.", + "title": "Threshold", + "type": "number" + }, + "TreatMissingData": { + "markdownDescription": "Specifies how the alarm handles missing data points.\n\nAn alarm can treat missing data in the following ways:\n\n- `breaching` - Assumes the missing data is not within the threshold. Missing data counts towards the number of times that the metric is not within the threshold.\n- `notBreaching` - Assumes the missing data is within the threshold. Missing data does not count towards the number of times that the metric is not within the threshold.\n- `ignore` - Ignores the missing data. Maintains the current alarm state.\n- `missing` - Missing data is treated as missing.", + "title": "TreatMissingData", + "type": "string" } }, "required": [ - "Name", - "Rules" + "AlarmName", + "ComparisonOperator", + "EvaluationPeriods", + "MetricName", + "MonitoredResourceName", + "Threshold" ], "type": "object" }, "Type": { "enum": [ - "AWS::LicenseManager::LicenseAssetRuleSet" + "AWS::Lightsail::Alarm" ], "type": "string" }, @@ -218853,126 +201350,7 @@ ], "type": "object" }, - "AWS::LicenseManager::LicenseAssetRuleSet.AndRuleStatement": { - "additionalProperties": false, - "properties": { - "MatchingRuleStatements": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.InstanceRuleStatement": { - "additionalProperties": false, - "properties": { - "AndRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.AndRuleStatement" - }, - "MatchingRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "OrRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.OrRuleStatement" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.LicenseAssetRule": { - "additionalProperties": false, - "properties": { - "RuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.RuleStatement" - } - }, - "required": [ - "RuleStatement" - ], - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.LicenseConfigurationRuleStatement": { - "additionalProperties": false, - "properties": { - "AndRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.AndRuleStatement" - }, - "MatchingRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "OrRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.OrRuleStatement" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.LicenseRuleStatement": { - "additionalProperties": false, - "properties": { - "AndRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.AndRuleStatement" - }, - "MatchingRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "OrRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.OrRuleStatement" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement": { - "additionalProperties": false, - "properties": { - "Constraint": { - "type": "string" - }, - "KeyToMatch": { - "type": "string" - }, - "ValueToMatch": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Constraint", - "KeyToMatch", - "ValueToMatch" - ], - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.OrRuleStatement": { - "additionalProperties": false, - "properties": { - "MatchingRuleStatements": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.RuleStatement": { - "additionalProperties": false, - "properties": { - "InstanceRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.InstanceRuleStatement" - }, - "LicenseConfigurationRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.LicenseConfigurationRuleStatement" - }, - "LicenseRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.LicenseRuleStatement" - } - }, - "type": "object" - }, - "AWS::Lightsail::Alarm": { + "AWS::Lightsail::Bucket": { "additionalProperties": false, "properties": { "Condition": { @@ -219007,81 +201385,60 @@ "Properties": { "additionalProperties": false, "properties": { - "AlarmName": { - "markdownDescription": "The name of the alarm.", - "title": "AlarmName", + "AccessRules": { + "$ref": "#/definitions/AWS::Lightsail::Bucket.AccessRules", + "markdownDescription": "An object that describes the access rules for the bucket.", + "title": "AccessRules" + }, + "BucketName": { + "markdownDescription": "The name of the bucket.", + "title": "BucketName", "type": "string" }, - "ComparisonOperator": { - "markdownDescription": "The arithmetic operation to use when comparing the specified statistic and threshold.", - "title": "ComparisonOperator", + "BundleId": { + "markdownDescription": "The bundle ID for the bucket (for example, `small_1_0` ).\n\nA bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket.", + "title": "BundleId", "type": "string" }, - "ContactProtocols": { + "ObjectVersioning": { + "markdownDescription": "Indicates whether object versioning is enabled for the bucket.\n\nThe following options can be configured:\n\n- `Enabled` - Object versioning is enabled.\n- `Suspended` - Object versioning was previously enabled but is currently suspended. Existing object versions are retained.\n- `NeverEnabled` - Object versioning has never been enabled.", + "title": "ObjectVersioning", + "type": "boolean" + }, + "ReadOnlyAccessAccounts": { "items": { "type": "string" }, - "markdownDescription": "The contact protocols for the alarm, such as `Email` , `SMS` (text messaging), or both.\n\n*Allowed Values* : `Email` | `SMS`", - "title": "ContactProtocols", + "markdownDescription": "An array of AWS account IDs that have read-only access to the bucket.", + "title": "ReadOnlyAccessAccounts", "type": "array" }, - "DatapointsToAlarm": { - "markdownDescription": "The number of data points within the evaluation periods that must be breaching to cause the alarm to go to the `ALARM` state.", - "title": "DatapointsToAlarm", - "type": "number" - }, - "EvaluationPeriods": { - "markdownDescription": "The number of periods over which data is compared to the specified threshold.", - "title": "EvaluationPeriods", - "type": "number" - }, - "MetricName": { - "markdownDescription": "The name of the metric associated with the alarm.", - "title": "MetricName", - "type": "string" - }, - "MonitoredResourceName": { - "markdownDescription": "The name of the Lightsail resource that the alarm monitors.", - "title": "MonitoredResourceName", - "type": "string" - }, - "NotificationEnabled": { - "markdownDescription": "A Boolean value indicating whether the alarm is enabled.", - "title": "NotificationEnabled", - "type": "boolean" - }, - "NotificationTriggers": { + "ResourcesReceivingAccess": { "items": { "type": "string" }, - "markdownDescription": "The alarm states that trigger a notification.\n\n> To specify the `OK` and `INSUFFICIENT_DATA` values, you must also specify `ContactProtocols` values. Otherwise, the `OK` and `INSUFFICIENT_DATA` values will not take effect and the stack will drift. \n\n*Allowed Values* : `OK` | `ALARM` | `INSUFFICIENT_DATA`", - "title": "NotificationTriggers", + "markdownDescription": "An array of Lightsail instances that have access to the bucket.", + "title": "ResourcesReceivingAccess", "type": "array" }, - "Threshold": { - "markdownDescription": "The value against which the specified statistic is compared.", - "title": "Threshold", - "type": "number" - }, - "TreatMissingData": { - "markdownDescription": "Specifies how the alarm handles missing data points.\n\nAn alarm can treat missing data in the following ways:\n\n- `breaching` - Assumes the missing data is not within the threshold. Missing data counts towards the number of times that the metric is not within the threshold.\n- `notBreaching` - Assumes the missing data is within the threshold. Missing data does not count towards the number of times that the metric is not within the threshold.\n- `ignore` - Ignores the missing data. Maintains the current alarm state.\n- `missing` - Missing data is treated as missing.", - "title": "TreatMissingData", - "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) in the *AWS CloudFormation User Guide* .\n\n> The `Value` of `Tags` is optional for Lightsail resources.", + "title": "Tags", + "type": "array" } }, "required": [ - "AlarmName", - "ComparisonOperator", - "EvaluationPeriods", - "MetricName", - "MonitoredResourceName", - "Threshold" + "BucketName", + "BundleId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Alarm" + "AWS::Lightsail::Bucket" ], "type": "string" }, @@ -219100,130 +201457,23 @@ ], "type": "object" }, - "AWS::Lightsail::Bucket": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessRules": { - "$ref": "#/definitions/AWS::Lightsail::Bucket.AccessRules", - "markdownDescription": "An object that describes the access rules for the bucket.", - "title": "AccessRules" - }, - "BucketName": { - "markdownDescription": "The name of the bucket.", - "title": "BucketName", - "type": "string" - }, - "BundleId": { - "markdownDescription": "The bundle ID for the bucket (for example, `small_1_0` ).\n\nA bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket.", - "title": "BundleId", - "type": "string" - }, - "ObjectVersioning": { - "markdownDescription": "Indicates whether object versioning is enabled for the bucket.\n\nThe following options can be configured:\n\n- `Enabled` - Object versioning is enabled.\n- `Suspended` - Object versioning was previously enabled but is currently suspended. Existing object versions are retained.\n- `NeverEnabled` - Object versioning has never been enabled.", - "title": "ObjectVersioning", - "type": "boolean" - }, - "ReadOnlyAccessAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of AWS account IDs that have read-only access to the bucket.", - "title": "ReadOnlyAccessAccounts", - "type": "array" - }, - "ResourcesReceivingAccess": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of Lightsail instances that have access to the bucket.", - "title": "ResourcesReceivingAccess", - "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) in the *AWS CloudFormation User Guide* .\n\n> The `Value` of `Tags` is optional for Lightsail resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "BucketName", - "BundleId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lightsail::Bucket.AccessRules": { - "additionalProperties": false, - "properties": { - "AllowPublicOverrides": { - "markdownDescription": "A Boolean value indicating whether the access control list (ACL) permissions that are applied to individual objects override the `GetObject` option that is currently specified.\n\nWhen this is true, you can use the [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) Amazon S3 API operation to set individual objects to public (read-only) or private, using either the `public-read` ACL or the `private` ACL.", - "title": "AllowPublicOverrides", - "type": "boolean" - }, - "GetObject": { - "markdownDescription": "Specifies the anonymous access to all objects in a bucket.\n\nThe following options can be specified:\n\n- `public` - Sets all objects in the bucket to public (read-only), making them readable by everyone on the internet.\n\nIf the `GetObject` value is set to `public` , then all objects in the bucket default to public regardless of the `allowPublicOverrides` value.\n- `private` - Sets all objects in the bucket to private, making them readable only by you and anyone that you grant access to.\n\nIf the `GetObject` value is set to `private` , and the `allowPublicOverrides` value is set to `true` , then all objects in the bucket default to private unless they are configured with a `public-read` ACL. Individual objects with a `public-read` ACL are readable by everyone on the internet.", - "title": "GetObject", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Certificate": { + "AWS::Lightsail::Bucket.AccessRules": { + "additionalProperties": false, + "properties": { + "AllowPublicOverrides": { + "markdownDescription": "A Boolean value indicating whether the access control list (ACL) permissions that are applied to individual objects override the `GetObject` option that is currently specified.\n\nWhen this is true, you can use the [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) Amazon S3 API operation to set individual objects to public (read-only) or private, using either the `public-read` ACL or the `private` ACL.", + "title": "AllowPublicOverrides", + "type": "boolean" + }, + "GetObject": { + "markdownDescription": "Specifies the anonymous access to all objects in a bucket.\n\nThe following options can be specified:\n\n- `public` - Sets all objects in the bucket to public (read-only), making them readable by everyone on the internet.\n\nIf the `GetObject` value is set to `public` , then all objects in the bucket default to public regardless of the `allowPublicOverrides` value.\n- `private` - Sets all objects in the bucket to private, making them readable only by you and anyone that you grant access to.\n\nIf the `GetObject` value is set to `private` , and the `allowPublicOverrides` value is set to `true` , then all objects in the bucket default to private unless they are configured with a `public-read` ACL. Individual objects with a `public-read` ACL are readable by everyone on the internet.", + "title": "GetObject", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Certificate": { "additionalProperties": false, "properties": { "Condition": { @@ -219312,75 +201562,6 @@ ], "type": "object" }, - "AWS::Lightsail::ContactMethod": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactEndpoint": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "ContactEndpoint", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::ContactMethod" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Lightsail::Container": { "additionalProperties": false, "properties": { @@ -220619,147 +202800,6 @@ }, "type": "object" }, - "AWS::Lightsail::ExportSnapshotRecord": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Lightsail::ExportSnapshotRecord" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.DestinationInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Service": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.DiskInfo": { - "additionalProperties": false, - "properties": { - "IsSystemDisk": { - "type": "boolean" - }, - "Path": { - "type": "string" - }, - "SizeInGb": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.ExportSnapshotRecordSourceInfo": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedAt": { - "type": "string" - }, - "FromResourceArn": { - "type": "string" - }, - "FromResourceName": { - "type": "string" - }, - "InstanceSnapshotInfo": { - "$ref": "#/definitions/AWS::Lightsail::ExportSnapshotRecord.InstanceSnapshotInfo" - }, - "Name": { - "type": "string" - }, - "ResourceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.InstanceSnapshotInfo": { - "additionalProperties": false, - "properties": { - "FromBlueprintId": { - "type": "string" - }, - "FromBundleId": { - "type": "string" - }, - "FromDiskInfo": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::ExportSnapshotRecord.DiskInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.ResourceLocation": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "RegionName": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Lightsail::Instance": { "additionalProperties": false, "properties": { @@ -221779,148 +203819,6 @@ ], "type": "object" }, - "AWS::Location::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": { - "Action": { - "type": "string" - }, - "ActionOptions": { - "$ref": "#/definitions/AWS::Location::Job.JobActionOptions" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "InputOptions": { - "$ref": "#/definitions/AWS::Location::Job.JobInputOptions" - }, - "Name": { - "type": "string" - }, - "OutputOptions": { - "$ref": "#/definitions/AWS::Location::Job.JobOutputOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Action", - "ExecutionRoleArn", - "InputOptions", - "OutputOptions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Job.JobActionOptions": { - "additionalProperties": false, - "properties": { - "ValidateAddress": { - "$ref": "#/definitions/AWS::Location::Job.ValidateAddressActionOptions" - } - }, - "type": "object" - }, - "AWS::Location::Job.JobInputOptions": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - } - }, - "required": [ - "Format", - "Location" - ], - "type": "object" - }, - "AWS::Location::Job.JobOutputOptions": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - } - }, - "required": [ - "Format", - "Location" - ], - "type": "object" - }, - "AWS::Location::Job.ValidateAddressActionOptions": { - "additionalProperties": false, - "properties": { - "AdditionalFeatures": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Location::Map": { "additionalProperties": false, "properties": { @@ -223815,71 +205713,6 @@ ], "type": "object" }, - "AWS::Logs::StorageTierPolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StorageTier": { - "type": "string" - } - }, - "required": [ - "StorageTier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::StorageTierPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Logs::SubscriptionFilter": { "additionalProperties": false, "properties": { @@ -225517,7 +207350,7 @@ }, "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition": { + "AWS::MPA::ApprovalTeam": { "additionalProperties": false, "properties": { "Condition": { @@ -225552,54 +207385,58 @@ "Properties": { "additionalProperties": false, "properties": { + "ApprovalStrategy": { + "$ref": "#/definitions/AWS::MPA::ApprovalTeam.ApprovalStrategy", + "markdownDescription": "Contains details for how an approval team grants approval.", + "title": "ApprovalStrategy" + }, + "Approvers": { + "items": { + "$ref": "#/definitions/AWS::MPA::ApprovalTeam.Approver" + }, + "markdownDescription": "Contains details for an approver.", + "title": "Approvers", + "type": "array" + }, "Description": { + "markdownDescription": "Description for the team.", + "title": "Description", "type": "string" }, "Name": { + "markdownDescription": "Name of the team.", + "title": "Name", "type": "string" }, - "ScopeTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SourceConfigurations": { + "Policies": { "items": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceConfiguration" + "$ref": "#/definitions/AWS::MPA::ApprovalTeam.Policy" }, + "markdownDescription": "Contains details for a policy. Policies define what operations a team that define the permissions for team resources.", + "title": "Policies", "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Tags that you have added to the specified resource.", + "title": "Tags", "type": "array" - }, - "TargetDeployment": { - "type": "string" - }, - "TargetNetwork": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetNetwork" - }, - "TargetS3Configuration": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration" } }, "required": [ + "ApprovalStrategy", + "Approvers", + "Description", "Name", - "SourceConfigurations", - "TargetNetwork", - "TargetS3Configuration" + "Policies" ], "type": "object" }, "Type": { "enum": [ - "AWS::MGN::NetworkMigrationDefinition" + "AWS::MPA::ApprovalTeam" ], "type": "string" }, @@ -225618,262 +207455,84 @@ ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.SourceConfiguration": { + "AWS::MPA::ApprovalTeam.ApprovalStrategy": { "additionalProperties": false, "properties": { - "SourceEnvironment": { - "type": "string" - }, - "SourceS3Configuration": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration" + "MofN": { + "$ref": "#/definitions/AWS::MPA::ApprovalTeam.MofNApprovalStrategy", + "markdownDescription": "Minimum number of approvals (M) required for a total number of approvers (N).", + "title": "MofN" } }, "required": [ - "SourceEnvironment", - "SourceS3Configuration" + "MofN" ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration": { + "AWS::MPA::ApprovalTeam.Approver": { "additionalProperties": false, "properties": { - "S3Bucket": { + "ApproverId": { + "markdownDescription": "ID for the approver.", + "title": "ApproverId", "type": "string" }, - "S3BucketOwner": { + "PrimaryIdentityId": { + "markdownDescription": "ID for the user.", + "title": "PrimaryIdentityId", "type": "string" }, - "S3Key": { + "PrimaryIdentitySourceArn": { + "markdownDescription": "Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.", + "title": "PrimaryIdentitySourceArn", + "type": "string" + }, + "PrimaryIdentityStatus": { + "markdownDescription": "Status for the identity source. For example, if an approver has accepted a team invitation with a user authentication method managed by the identity source.", + "title": "PrimaryIdentityStatus", + "type": "string" + }, + "ResponseTime": { + "markdownDescription": "Timestamp when the approver responded to an approval team invitation.", + "title": "ResponseTime", "type": "string" } }, "required": [ - "S3Bucket", - "S3BucketOwner", - "S3Key" + "PrimaryIdentityId", + "PrimaryIdentitySourceArn" ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.TargetNetwork": { + "AWS::MPA::ApprovalTeam.MofNApprovalStrategy": { "additionalProperties": false, "properties": { - "InboundCidr": { - "type": "string" - }, - "InspectionCidr": { - "type": "string" - }, - "OutboundCidr": { - "type": "string" - }, - "Topology": { - "type": "string" + "MinApprovalsRequired": { + "markdownDescription": "Minimum number of approvals (M) required for a total number of approvers (N).", + "title": "MinApprovalsRequired", + "type": "number" } }, "required": [ - "Topology" + "MinApprovalsRequired" ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration": { + "AWS::MPA::ApprovalTeam.Policy": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" - }, - "S3BucketOwner": { + "PolicyArn": { + "markdownDescription": "", + "title": "PolicyArn", "type": "string" } }, "required": [ - "S3Bucket", - "S3BucketOwner" + "PolicyArn" ], "type": "object" }, - "AWS::MPA::ApprovalTeam": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApprovalStrategy": { - "$ref": "#/definitions/AWS::MPA::ApprovalTeam.ApprovalStrategy", - "markdownDescription": "Contains details for how an approval team grants approval.", - "title": "ApprovalStrategy" - }, - "Approvers": { - "items": { - "$ref": "#/definitions/AWS::MPA::ApprovalTeam.Approver" - }, - "markdownDescription": "Contains details for an approver.", - "title": "Approvers", - "type": "array" - }, - "Description": { - "markdownDescription": "Description for the team.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "Name of the team.", - "title": "Name", - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::MPA::ApprovalTeam.Policy" - }, - "markdownDescription": "Contains details for a policy. Policies define what operations a team that define the permissions for team resources.", - "title": "Policies", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags that you have added to the specified resource.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ApprovalStrategy", - "Approvers", - "Description", - "Name", - "Policies" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MPA::ApprovalTeam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MPA::ApprovalTeam.ApprovalStrategy": { - "additionalProperties": false, - "properties": { - "MofN": { - "$ref": "#/definitions/AWS::MPA::ApprovalTeam.MofNApprovalStrategy", - "markdownDescription": "Minimum number of approvals (M) required for a total number of approvers (N).", - "title": "MofN" - } - }, - "required": [ - "MofN" - ], - "type": "object" - }, - "AWS::MPA::ApprovalTeam.Approver": { - "additionalProperties": false, - "properties": { - "ApproverId": { - "markdownDescription": "ID for the approver.", - "title": "ApproverId", - "type": "string" - }, - "PrimaryIdentityId": { - "markdownDescription": "ID for the user.", - "title": "PrimaryIdentityId", - "type": "string" - }, - "PrimaryIdentitySourceArn": { - "markdownDescription": "Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.", - "title": "PrimaryIdentitySourceArn", - "type": "string" - }, - "PrimaryIdentityStatus": { - "markdownDescription": "Status for the identity source. For example, if an approver has accepted a team invitation with a user authentication method managed by the identity source.", - "title": "PrimaryIdentityStatus", - "type": "string" - }, - "ResponseTime": { - "markdownDescription": "Timestamp when the approver responded to an approval team invitation.", - "title": "ResponseTime", - "type": "string" - } - }, - "required": [ - "PrimaryIdentityId", - "PrimaryIdentitySourceArn" - ], - "type": "object" - }, - "AWS::MPA::ApprovalTeam.MofNApprovalStrategy": { - "additionalProperties": false, - "properties": { - "MinApprovalsRequired": { - "markdownDescription": "Minimum number of approvals (M) required for a total number of approvers (N).", - "title": "MinApprovalsRequired", - "type": "number" - } - }, - "required": [ - "MinApprovalsRequired" - ], - "type": "object" - }, - "AWS::MPA::ApprovalTeam.Policy": { - "additionalProperties": false, - "properties": { - "PolicyArn": { - "markdownDescription": "", - "title": "PolicyArn", - "type": "string" - } - }, - "required": [ - "PolicyArn" - ], - "type": "object" - }, - "AWS::MPA::IdentitySource": { + "AWS::MPA::IdentitySource": { "additionalProperties": false, "properties": { "Condition": { @@ -226062,429 +207721,6 @@ ], "type": "object" }, - "AWS::MSK::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" - }, - "ClusterArn": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::MSK::Channel.EncryptionConfiguration" - }, - "IcebergDestinationConfiguration": { - "$ref": "#/definitions/AWS::MSK::Channel.IcebergDestinationConfiguration" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Channel.ChannelLoggingInfo" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::MSK::Channel.S3DestinationConfiguration" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TopicConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::MSK::Channel.TopicConfiguration" - }, - "type": "array" - } - }, - "required": [ - "ChannelName", - "TopicConfigurationList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MSK::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Channel.Catalog": { - "additionalProperties": false, - "properties": { - "CatalogArn": { - "type": "string" - }, - "WarehouseLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MSK::Channel.ChannelLoggingInfo": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Channel.CloudWatchLogsLogDestination" - }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Channel.FirehoseLogDestination" - }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Channel.S3LogDestination" - } - }, - "type": "object" - }, - "AWS::MSK::Channel.ChannelStateInfo": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MSK::Channel.CloudWatchLogsLogDestination": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Channel.DeadLetterQueueS3": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "type": "string" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "ExpectedBucketOwner": { - "type": "string" - } - }, - "required": [ - "BucketArn", - "ErrorOutputPrefix" - ], - "type": "object" - }, - "AWS::MSK::Channel.DestinationTable": { - "additionalProperties": false, - "properties": { - "DestinationDatabaseName": { - "type": "string" - }, - "DestinationTableName": { - "type": "string" - }, - "PartitionSpec": { - "$ref": "#/definitions/AWS::MSK::Channel.PartitionSpec" - } - }, - "required": [ - "DestinationDatabaseName", - "DestinationTableName" - ], - "type": "object" - }, - "AWS::MSK::Channel.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - } - }, - "required": [ - "KmsKeyArn" - ], - "type": "object" - }, - "AWS::MSK::Channel.FirehoseLogDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Channel.IcebergDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "AppendOnly": { - "type": "boolean" - }, - "Catalog": { - "$ref": "#/definitions/AWS::MSK::Channel.Catalog" - }, - "CompressionType": { - "type": "string" - }, - "DataFreshnessInSeconds": { - "type": "number" - }, - "DeadLetterQueueS3": { - "$ref": "#/definitions/AWS::MSK::Channel.DeadLetterQueueS3" - }, - "DestinationTableList": { - "items": { - "$ref": "#/definitions/AWS::MSK::Channel.DestinationTable" - }, - "type": "array" - }, - "SchemaEvolution": { - "$ref": "#/definitions/AWS::MSK::Channel.SchemaEvolution" - }, - "ServiceExecutionRoleArn": { - "type": "string" - }, - "TableCreation": { - "$ref": "#/definitions/AWS::MSK::Channel.TableCreation" - } - }, - "required": [ - "AppendOnly", - "DeadLetterQueueS3", - "DestinationTableList", - "SchemaEvolution", - "ServiceExecutionRoleArn", - "TableCreation" - ], - "type": "object" - }, - "AWS::MSK::Channel.PartitionSource": { - "additionalProperties": false, - "properties": { - "SourceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MSK::Channel.PartitionSpec": { - "additionalProperties": false, - "properties": { - "PartitionStrategy": { - "type": "string" - }, - "SourceList": { - "items": { - "$ref": "#/definitions/AWS::MSK::Channel.PartitionSource" - }, - "type": "array" - } - }, - "required": [ - "PartitionStrategy" - ], - "type": "object" - }, - "AWS::MSK::Channel.RecordConverter": { - "additionalProperties": false, - "properties": { - "ValueConverter": { - "type": "string" - } - }, - "required": [ - "ValueConverter" - ], - "type": "object" - }, - "AWS::MSK::Channel.RecordSchema": { - "additionalProperties": false, - "properties": { - "GsrArn": { - "type": "string" - } - }, - "required": [ - "GsrArn" - ], - "type": "object" - }, - "AWS::MSK::Channel.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "DataFreshnessInSeconds": { - "type": "number" - }, - "DeadLetterQueueS3": { - "$ref": "#/definitions/AWS::MSK::Channel.DeadLetterQueueS3" - }, - "ServiceExecutionRoleArn": { - "type": "string" - }, - "Storage": { - "$ref": "#/definitions/AWS::MSK::Channel.S3Storage" - } - }, - "required": [ - "DeadLetterQueueS3", - "ServiceExecutionRoleArn", - "Storage" - ], - "type": "object" - }, - "AWS::MSK::Channel.S3LogDestination": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Channel.S3Storage": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "ExpectedBucketOwner": { - "type": "string" - }, - "OutputKeyTemplate": { - "type": "string" - }, - "OutputPrefix": { - "type": "string" - }, - "StorageClass": { - "type": "string" - } - }, - "required": [ - "BucketArn", - "CompressionType", - "StorageClass" - ], - "type": "object" - }, - "AWS::MSK::Channel.SchemaEvolution": { - "additionalProperties": false, - "properties": { - "EnableSchemaEvolution": { - "type": "boolean" - } - }, - "required": [ - "EnableSchemaEvolution" - ], - "type": "object" - }, - "AWS::MSK::Channel.TableCreation": { - "additionalProperties": false, - "properties": { - "EnableTableCreation": { - "type": "boolean" - } - }, - "required": [ - "EnableTableCreation" - ], - "type": "object" - }, - "AWS::MSK::Channel.TopicConfiguration": { - "additionalProperties": false, - "properties": { - "RecordConverter": { - "$ref": "#/definitions/AWS::MSK::Channel.RecordConverter" - }, - "RecordSchema": { - "$ref": "#/definitions/AWS::MSK::Channel.RecordSchema" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "RecordConverter", - "TopicArn" - ], - "type": "object" - }, "AWS::MSK::Cluster": { "additionalProperties": false, "properties": { @@ -226624,21 +207860,6 @@ ], "type": "object" }, - "AWS::MSK::Cluster.AuthorizerLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" - }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" - }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, "AWS::MSK::Cluster.BrokerLogs": { "additionalProperties": false, "properties": { @@ -226899,15 +208120,15 @@ "AWS::MSK::Cluster.LoggingInfo": { "additionalProperties": false, "properties": { - "AuthorizerLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.AuthorizerLogs" - }, "BrokerLogs": { "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs", "markdownDescription": "You can configure your MSK cluster to send broker logs to different destination types. This configuration specifies the details of these destinations.", "title": "BrokerLogs" } }, + "required": [ + "BrokerLogs" + ], "type": "object" }, "AWS::MSK::Cluster.NodeExporter": { @@ -227605,16 +208826,13 @@ "AWS::MSK::Replicator.KafkaClusterClientAuthentication": { "additionalProperties": false, "properties": { - "MTLS": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterMtlsAuthentication" - }, - "SaslOAuthBearer": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterSaslOAuthBearerAuthentication" - }, "SaslScram": { "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterSaslScramAuthentication" } }, + "required": [ + "SaslScram" + ], "type": "object" }, "AWS::MSK::Replicator.KafkaClusterClientVpcConfig": { @@ -227657,99 +208875,6 @@ ], "type": "object" }, - "AWS::MSK::Replicator.KafkaClusterMtlsAuthentication": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::MSK::Replicator.KafkaClusterOAuthClientCredentials": { - "additionalProperties": false, - "properties": { - "TokenRequestSecretArn": { - "type": "string" - } - }, - "required": [ - "TokenRequestSecretArn" - ], - "type": "object" - }, - "AWS::MSK::Replicator.KafkaClusterOAuthClientCredentialsAssertion": { - "additionalProperties": false, - "properties": { - "Audience": { - "type": "string" - }, - "SigningAlgorithm": { - "type": "string" - }, - "TokenRequestSecretArn": { - "type": "string" - } - }, - "required": [ - "Audience", - "SigningAlgorithm" - ], - "type": "object" - }, - "AWS::MSK::Replicator.KafkaClusterOAuthIamJwtBearer": { - "additionalProperties": false, - "properties": { - "Audience": { - "type": "string" - }, - "SigningAlgorithm": { - "type": "string" - }, - "TokenRequestSecretArn": { - "type": "string" - } - }, - "required": [ - "Audience", - "SigningAlgorithm" - ], - "type": "object" - }, - "AWS::MSK::Replicator.KafkaClusterSaslOAuthBearerAuthentication": { - "additionalProperties": false, - "properties": { - "ClientCredentials": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterOAuthClientCredentials" - }, - "ClientCredentialsAssertion": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterOAuthClientCredentialsAssertion" - }, - "IamJwtBearer": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterOAuthIamJwtBearer" - }, - "Scope": { - "type": "string" - }, - "TokenEndpointAuthenticationMethod": { - "type": "string" - }, - "TokenEndpointTlsCertificateArn": { - "type": "string" - }, - "TokenEndpointUrl": { - "type": "string" - } - }, - "required": [ - "TokenEndpointAuthenticationMethod", - "TokenEndpointUrl" - ], - "type": "object" - }, "AWS::MSK::Replicator.KafkaClusterSaslScramAuthentication": { "additionalProperties": false, "properties": { @@ -228571,9 +209696,6 @@ "Properties": { "additionalProperties": false, "properties": { - "Code": { - "$ref": "#/definitions/AWS::MWAAServerless::Workflow.Code" - }, "DefinitionS3Location": { "$ref": "#/definitions/AWS::MWAAServerless::Workflow.S3Location" }, @@ -228635,34 +209757,6 @@ ], "type": "object" }, - "AWS::MWAAServerless::Workflow.Code": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::MWAAServerless::Workflow.CodeS3Location" - } - }, - "type": "object" - }, - "AWS::MWAAServerless::Workflow.CodeS3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "ObjectKey": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "required": [ - "Bucket", - "ObjectKey" - ], - "type": "object" - }, "AWS::MWAAServerless::Workflow.EncryptionConfiguration": { "additionalProperties": false, "properties": { @@ -228736,7 +209830,7 @@ }, "type": "object" }, - "AWS::Macie2::ClassificationJob": { + "AWS::Macie::AllowList": { "additionalProperties": false, "properties": { "Condition": { @@ -228771,47 +209865,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InitialRun": { - "type": "boolean" - }, - "JobType": { - "type": "string" + "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" }, - "ManagedDataIdentifierSelector": { + "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" }, - "S3JobDefinition": { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob.S3JobDefinition" - }, - "SamplingPercentage": { - "type": "number" - }, - "ScheduleFrequency": { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob.JobScheduleFrequency" - }, "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": [ - "JobType", - "Name", - "S3JobDefinition" + "Criteria", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie2::ClassificationJob" + "AWS::Macie::AllowList" ], "type": "string" }, @@ -228830,288 +209916,150 @@ ], "type": "object" }, - "AWS::Macie2::ClassificationJob.JobScheduleFrequency": { + "AWS::Macie::AllowList.Criteria": { "additionalProperties": false, "properties": { - "WeeklySchedule": { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob.WeeklySchedule" + "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::Macie2::ClassificationJob.S3BucketDefinitionForJob": { + "AWS::Macie::AllowList.S3WordsList": { "additionalProperties": false, "properties": { - "AccountId": { + "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" }, - "Buckets": { - "items": { - "type": "string" - }, - "type": "array" + "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": [ - "AccountId", - "Buckets" + "BucketName", + "ObjectKey" ], "type": "object" }, - "AWS::Macie2::ClassificationJob.S3JobDefinition": { + "AWS::Macie::CustomDataIdentifier": { "additionalProperties": false, "properties": { - "BucketDefinitions": { - "items": { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob.S3BucketDefinitionForJob" - }, - "type": "array" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Scoping": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" - } - }, - "type": "object" - }, - "AWS::Macie2::ClassificationJob.WeeklySchedule": { - "additionalProperties": false, - "properties": { - "DayOfWeek": { + }, + "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::AllowList": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "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": { + "AWS::Macie::FindingsFilter": { "additionalProperties": false, "properties": { "Condition": { @@ -232111,150 +213059,6 @@ ], "type": "object" }, - "AWS::MediaConnect::Offering": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::MediaConnect::Offering" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaConnect::Offering.ResourceSpecification": { - "additionalProperties": false, - "properties": { - "ReservedBitrate": { - "type": "number" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "AWS::MediaConnect::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::MediaConnect::Reservation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaConnect::Reservation.ResourceSpecification": { - "additionalProperties": false, - "properties": { - "ReservedBitrate": { - "type": "number" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, "AWS::MediaConnect::RouterInput": { "additionalProperties": false, "properties": { @@ -232300,9 +213104,6 @@ "markdownDescription": "", "title": "Configuration" }, - "ContentQualityAnalysisConfiguration": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.RouterContentQualityAnalysisConfiguration" - }, "MaintenanceConfiguration": { "$ref": "#/definitions/AWS::MediaConnect::RouterInput.MaintenanceConfiguration", "markdownDescription": "The maintenance configuration settings applied to this router input.", @@ -232377,37 +213178,6 @@ ], "type": "object" }, - "AWS::MediaConnect::RouterInput.BlackFramesConfiguration": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - }, - "ThresholdSeconds": { - "type": "number" - } - }, - "required": [ - "State", - "ThresholdSeconds" - ], - "type": "object" - }, - "AWS::MediaConnect::RouterInput.ContentQualityAnalysisFeatureConfiguration": { - "additionalProperties": false, - "properties": { - "BlackFrames": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.BlackFramesConfiguration" - }, - "FrozenFrames": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.FrozenFramesConfiguration" - }, - "SilentAudio": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.SilentAudioConfiguration" - } - }, - "type": "object" - }, "AWS::MediaConnect::RouterInput.FailoverRouterInputConfiguration": { "additionalProperties": false, "properties": { @@ -232503,22 +213273,6 @@ }, "type": "object" }, - "AWS::MediaConnect::RouterInput.FrozenFramesConfiguration": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - }, - "ThresholdSeconds": { - "type": "number" - } - }, - "required": [ - "State", - "ThresholdSeconds" - ], - "type": "object" - }, "AWS::MediaConnect::RouterInput.MaintenanceConfiguration": { "additionalProperties": false, "properties": { @@ -232692,18 +213446,6 @@ ], "type": "object" }, - "AWS::MediaConnect::RouterInput.RouterContentQualityAnalysisConfiguration": { - "additionalProperties": false, - "properties": { - "ContentLevel": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.ContentQualityAnalysisFeatureConfiguration" - } - }, - "required": [ - "ContentLevel" - ], - "type": "object" - }, "AWS::MediaConnect::RouterInput.RouterInputConfiguration": { "additionalProperties": false, "properties": { @@ -232833,22 +213575,6 @@ ], "type": "object" }, - "AWS::MediaConnect::RouterInput.SilentAudioConfiguration": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - }, - "ThresholdSeconds": { - "type": "number" - } - }, - "required": [ - "State", - "ThresholdSeconds" - ], - "type": "object" - }, "AWS::MediaConnect::RouterInput.SrtCallerRouterInputConfiguration": { "additionalProperties": false, "properties": { @@ -238588,21 +219314,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.NielsenNwOnly": { - "additionalProperties": false, - "properties": { - "CheckDigitString": { - "type": "string" - }, - "Sid": { - "type": "number" - }, - "Timezone": { - "type": "string" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.NielsenWatermarksSettings": { "additionalProperties": false, "properties": { @@ -238620,9 +219331,6 @@ "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNaesIiNw", "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" } }, "type": "object" @@ -238740,9 +219448,6 @@ "markdownDescription": "The user name to connect to the downstream system. This applies only if the downstream system requires credentials.", "title": "Username", "type": "string" - }, - "VirtualSourceAddress": { - "type": "string" } }, "type": "object" @@ -241505,212 +222210,6 @@ }, "type": "object" }, - "AWS::MediaLive::Node": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NodeInterfaceMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Node.NodeInterfaceMapping" - }, - "type": "array" - }, - "Role": { - "type": "string" - }, - "SdiSourceMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Node.SdiSourceMapping" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ClusterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Node" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaLive::Node.NodeInterfaceMapping": { - "additionalProperties": false, - "properties": { - "LogicalInterfaceName": { - "type": "string" - }, - "NetworkInterfaceMode": { - "type": "string" - }, - "PhysicalInterfaceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Node.SdiSourceMapping": { - "additionalProperties": false, - "properties": { - "CardNumber": { - "type": "number" - }, - "ChannelNumber": { - "type": "number" - }, - "SdiSource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Offering": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Offering" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Offering.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": { @@ -242285,107 +222784,6 @@ }, "type": "object" }, - "AWS::MediaPackage::HarvestJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Id": { - "type": "string" - }, - "OriginEndpointId": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::MediaPackage::HarvestJob.S3Destination" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "Id", - "OriginEndpointId", - "S3Destination", - "StartTime" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::HarvestJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::HarvestJob.S3Destination": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "ManifestKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "ManifestKey", - "RoleArn" - ], - "type": "object" - }, "AWS::MediaPackage::OriginEndpoint": { "additionalProperties": false, "properties": { @@ -243652,9 +224050,6 @@ "markdownDescription": "The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN.", "title": "OutputHeaderConfiguration" }, - "OutputLockingMode": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -243893,207 +224288,6 @@ ], "type": "object" }, - "AWS::MediaPackageV2::HarvestJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelGroupName": { - "type": "string" - }, - "ChannelName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.Destination" - }, - "HarvestJobName": { - "type": "string" - }, - "HarvestedManifests": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvestedManifests" - }, - "OriginEndpointName": { - "type": "string" - }, - "ScheduleConfiguration": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvesterScheduleConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelGroupName", - "ChannelName", - "Destination", - "HarvestedManifests", - "OriginEndpointName", - "ScheduleConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackageV2::HarvestJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.Destination": { - "additionalProperties": false, - "properties": { - "S3Destination": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.S3DestinationConfig" - } - }, - "required": [ - "S3Destination" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvestedDashManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - } - }, - "required": [ - "ManifestName" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvestedHlsManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - } - }, - "required": [ - "ManifestName" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvestedLowLatencyHlsManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - } - }, - "required": [ - "ManifestName" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvestedManifests": { - "additionalProperties": false, - "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvestedDashManifest" - }, - "type": "array" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvestedHlsManifest" - }, - "type": "array" - }, - "LowLatencyHlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvestedLowLatencyHlsManifest" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvesterScheduleConfiguration": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.S3DestinationConfig": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "DestinationPath": { - "type": "string" - } - }, - "required": [ - "BucketName", - "DestinationPath" - ], - "type": "object" - }, "AWS::MediaPackageV2::OriginEndpoint": { "additionalProperties": false, "properties": { @@ -244859,9 +225053,6 @@ "title": "IncludeIframeOnlyStreams", "type": "boolean" }, - "OutputTimestampMode": { - "type": "string" - }, "Scte": { "$ref": "#/definitions/AWS::MediaPackageV2::OriginEndpoint.Scte", "markdownDescription": "The SCTE-35 configuration associated with the segment.", @@ -245564,203 +225755,6 @@ ], "type": "object" }, - "AWS::MediaTailor::Function": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomOutputConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::Function.CustomOutputConfiguration" - }, - "Description": { - "type": "string" - }, - "FunctionId": { - "type": "string" - }, - "FunctionType": { - "type": "string" - }, - "HttpRequestConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::Function.HttpRequestConfiguration" - }, - "SequentialExecutorConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::Function.SequentialExecutorConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FunctionId", - "FunctionType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaTailor::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaTailor::Function.CustomOutputConfiguration": { - "additionalProperties": false, - "properties": { - "Output": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Runtime": { - "type": "string" - } - }, - "required": [ - "Runtime" - ], - "type": "object" - }, - "AWS::MediaTailor::Function.FunctionRef": { - "additionalProperties": false, - "properties": { - "FunctionId": { - "type": "string" - }, - "RunCondition": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::Function.HttpRequestConfiguration": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "Headers": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MethodType": { - "type": "string" - }, - "Output": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestTimeoutMilliseconds": { - "type": "number" - }, - "Runtime": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "MethodType", - "RequestTimeoutMilliseconds", - "Runtime", - "Url" - ], - "type": "object" - }, - "AWS::MediaTailor::Function.SequentialExecutorConfiguration": { - "additionalProperties": false, - "properties": { - "FunctionList": { - "items": { - "$ref": "#/definitions/AWS::MediaTailor::Function.FunctionRef" - }, - "type": "array" - }, - "Output": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Runtime": { - "type": "string" - }, - "TimeoutMilliseconds": { - "type": "number" - } - }, - "required": [ - "FunctionList", - "Runtime", - "TimeoutMilliseconds" - ], - "type": "object" - }, "AWS::MediaTailor::LiveSource": { "additionalProperties": false, "properties": { @@ -245927,12 +225921,6 @@ "title": "AdDecisionServerUrl", "type": "string" }, - "AdsPersonalizationConcurrency": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdsPersonalizationConcurrency" - }, - "AdsPersonalizationTimeouts": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdsPersonalizationTimeouts" - }, "AvailSuppression": { "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AvailSuppression", "markdownDescription": "The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see [Ad Suppression](https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html) .", @@ -246081,9 +226069,6 @@ "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.HttpRequest", "markdownDescription": "", "title": "HttpRequest" - }, - "VastResponse": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.VastResponse" } }, "required": [ @@ -246124,39 +226109,6 @@ }, "type": "object" }, - "AWS::MediaTailor::PlaybackConfiguration.AdsPersonalizationConcurrency": { - "additionalProperties": false, - "properties": { - "EnableVodVastParallelization": { - "type": "boolean" - }, - "MaxConcurrentAdsRequests": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaTailor::PlaybackConfiguration.AdsPersonalizationTimeouts": { - "additionalProperties": false, - "properties": { - "AdsRequestTimeoutMilliseconds": { - "type": "number" - }, - "LiveMaximumAdsPersonalizationTimeMilliseconds": { - "type": "number" - }, - "PrefetchAdsRequestTimeoutMilliseconds": { - "type": "number" - }, - "PrefetchMaximumAdsPersonalizationTimeMilliseconds": { - "type": "number" - }, - "VodMaximumAdsPersonalizationTimeMilliseconds": { - "type": "number" - } - }, - "type": "object" - }, "AWS::MediaTailor::PlaybackConfiguration.AvailSuppression": { "additionalProperties": false, "properties": { @@ -246277,9 +226229,6 @@ "AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration": { "additionalProperties": false, "properties": { - "AdDecisionServerConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.PreRollAdDecisionServerConfiguration" - }, "AdDecisionServerUrl": { "markdownDescription": "The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.", "title": "AdDecisionServerUrl", @@ -246350,457 +226299,184 @@ }, "type": "object" }, - "AWS::MediaTailor::PlaybackConfiguration.PreRollAdDecisionServerConfiguration": { + "AWS::MediaTailor::SourceLocation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.AccessConfiguration", + "markdownDescription": "The access configuration for the source location.", + "title": "AccessConfiguration" + }, + "DefaultSegmentDeliveryConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.DefaultSegmentDeliveryConfiguration", + "markdownDescription": "The default segment delivery configuration.", + "title": "DefaultSegmentDeliveryConfiguration" + }, + "HttpConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.HttpConfiguration", + "markdownDescription": "The HTTP configuration for the source location.", + "title": "HttpConfiguration" + }, + "SegmentDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.SegmentDeliveryConfiguration" + }, + "markdownDescription": "The segment delivery configurations for the source location.", + "title": "SegmentDeliveryConfigurations", + "type": "array" + }, + "SourceLocationName": { + "markdownDescription": "The name of the source location.", + "title": "SourceLocationName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the source location. Tags are key-value pairs that you can associate with Amazon resources to help with organization, access control, and cost tracking. For more information, see [Tagging AWS Elemental MediaTailor Resources](https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "HttpConfiguration", + "SourceLocationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaTailor::SourceLocation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaTailor::SourceLocation.AccessConfiguration": { "additionalProperties": false, "properties": { - "VastResponse": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.PreRollVastResponse" + "AccessType": { + "markdownDescription": "The type of authentication used to access content from `HttpConfiguration::BaseUrl` on your source location. Accepted value: `S3_SIGV4` .\n\n`S3_SIGV4` - AWS Signature Version 4 authentication for Amazon S3 hosted virtual-style access. If your source location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature Version 4 (SigV4) authentication to access the bucket where your source content is stored. Your MediaTailor source location baseURL must follow the S3 virtual hosted-style request URL format. For example, https://bucket-name.s3.Region.amazonaws.com/key-name.\n\nBefore you can use `S3_SIGV4` , you must meet these requirements:\n\n\u2022 You must allow MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com principal access in IAM. For information about configuring access in IAM, see Access management in the IAM User Guide.\n\n\u2022 The mediatailor.amazonaws.com service principal must have permissions to read all top level manifests referenced by the VodSource packaging configurations.\n\n\u2022 The caller of the API must have s3:GetObject IAM permissions to read all top level manifests referenced by your MediaTailor VodSource packaging configurations.", + "title": "AccessType", + "type": "string" + }, + "SecretsManagerAccessTokenConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.SecretsManagerAccessTokenConfiguration", + "markdownDescription": "AWS Secrets Manager access token configuration parameters.", + "title": "SecretsManagerAccessTokenConfiguration" } }, "type": "object" }, - "AWS::MediaTailor::PlaybackConfiguration.PreRollVastResponse": { + "AWS::MediaTailor::SourceLocation.DefaultSegmentDeliveryConfiguration": { "additionalProperties": false, "properties": { - "AdSequencingMode": { + "BaseUrl": { + "markdownDescription": "The hostname of the server that will be used to serve segments. This string must include the protocol, such as *https://* .", + "title": "BaseUrl", "type": "string" } }, "type": "object" }, - "AWS::MediaTailor::PlaybackConfiguration.VastResponse": { + "AWS::MediaTailor::SourceLocation.HttpConfiguration": { "additionalProperties": false, "properties": { - "AdSequencingMode": { + "BaseUrl": { + "markdownDescription": "The base URL for the source location host server. This string must include the protocol, such as *https://* .", + "title": "BaseUrl", + "type": "string" + } + }, + "required": [ + "BaseUrl" + ], + "type": "object" + }, + "AWS::MediaTailor::SourceLocation.SecretsManagerAccessTokenConfiguration": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "markdownDescription": "The name of the HTTP header used to supply the access token in requests to the source location.", + "title": "HeaderName", + "type": "string" + }, + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the access token.", + "title": "SecretArn", + "type": "string" + }, + "SecretStringKey": { + "markdownDescription": "The AWS Secrets Manager [SecretString](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html#SecretsManager-CreateSecret-request-SecretString.html) key associated with the access token. MediaTailor uses the key to look up SecretString key and value pair containing the access token.", + "title": "SecretStringKey", + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::SourceLocation.SegmentDeliveryConfiguration": { + "additionalProperties": false, + "properties": { + "BaseUrl": { + "markdownDescription": "The base URL of the host or path of the segment delivery server that you're using to serve segments. This is typically a content delivery network (CDN). The URL can be absolute or relative. To use an absolute URL include the protocol, such as `https://example.com/some/path` . To use a relative URL specify the relative path, such as `/some/path*` .", + "title": "BaseUrl", + "type": "string" + }, + "Name": { + "markdownDescription": "A unique identifier used to distinguish between multiple segment delivery configurations in a source location.", + "title": "Name", "type": "string" } }, "type": "object" }, - "AWS::MediaTailor::PrefetchSchedule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Consumption": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.PrefetchConsumption" - }, - "Name": { - "type": "string" - }, - "PlaybackConfigurationName": { - "type": "string" - }, - "RecurringPrefetchConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.RecurringPrefetchConfiguration" - }, - "Retrieval": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.PrefetchRetrieval" - }, - "ScheduleType": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "PlaybackConfigurationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaTailor::PrefetchSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.AvailMatchingCriteria": { - "additionalProperties": false, - "properties": { - "DynamicVariable": { - "type": "string" - }, - "Operator": { - "type": "string" - } - }, - "required": [ - "DynamicVariable", - "Operator" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.PrefetchConsumption": { - "additionalProperties": false, - "properties": { - "AvailMatchingCriteria": { - "items": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.AvailMatchingCriteria" - }, - "type": "array" - }, - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.PrefetchRetrieval": { - "additionalProperties": false, - "properties": { - "DynamicVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "TrafficShapingRetrievalWindow": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.TrafficShapingRetrievalWindow" - }, - "TrafficShapingTpsConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.TrafficShapingTpsConfiguration" - }, - "TrafficShapingType": { - "type": "string" - } - }, - "required": [ - "EndTime" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.RecurringConsumption": { - "additionalProperties": false, - "properties": { - "AvailMatchingCriteria": { - "items": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.AvailMatchingCriteria" - }, - "type": "array" - }, - "RetrievedAdExpirationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.RecurringPrefetchConfiguration": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "RecurringConsumption": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.RecurringConsumption" - }, - "RecurringRetrieval": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.RecurringRetrieval" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "RecurringConsumption", - "RecurringRetrieval" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.RecurringRetrieval": { - "additionalProperties": false, - "properties": { - "DelayAfterAvailEndSeconds": { - "type": "number" - }, - "DynamicVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TrafficShapingRetrievalWindow": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.TrafficShapingRetrievalWindow" - }, - "TrafficShapingTpsConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.TrafficShapingTpsConfiguration" - }, - "TrafficShapingType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.TrafficShapingRetrievalWindow": { - "additionalProperties": false, - "properties": { - "RetrievalWindowDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.TrafficShapingTpsConfiguration": { - "additionalProperties": false, - "properties": { - "PeakConcurrentUsers": { - "type": "number" - }, - "PeakTps": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaTailor::SourceLocation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.AccessConfiguration", - "markdownDescription": "The access configuration for the source location.", - "title": "AccessConfiguration" - }, - "DefaultSegmentDeliveryConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.DefaultSegmentDeliveryConfiguration", - "markdownDescription": "The default segment delivery configuration.", - "title": "DefaultSegmentDeliveryConfiguration" - }, - "HttpConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.HttpConfiguration", - "markdownDescription": "The HTTP configuration for the source location.", - "title": "HttpConfiguration" - }, - "SegmentDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.SegmentDeliveryConfiguration" - }, - "markdownDescription": "The segment delivery configurations for the source location.", - "title": "SegmentDeliveryConfigurations", - "type": "array" - }, - "SourceLocationName": { - "markdownDescription": "The name of the source location.", - "title": "SourceLocationName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the source location. Tags are key-value pairs that you can associate with Amazon resources to help with organization, access control, and cost tracking. For more information, see [Tagging AWS Elemental MediaTailor Resources](https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html) .", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "HttpConfiguration", - "SourceLocationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaTailor::SourceLocation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.AccessConfiguration": { - "additionalProperties": false, - "properties": { - "AccessType": { - "markdownDescription": "The type of authentication used to access content from `HttpConfiguration::BaseUrl` on your source location. Accepted value: `S3_SIGV4` .\n\n`S3_SIGV4` - AWS Signature Version 4 authentication for Amazon S3 hosted virtual-style access. If your source location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature Version 4 (SigV4) authentication to access the bucket where your source content is stored. Your MediaTailor source location baseURL must follow the S3 virtual hosted-style request URL format. For example, https://bucket-name.s3.Region.amazonaws.com/key-name.\n\nBefore you can use `S3_SIGV4` , you must meet these requirements:\n\n\u2022 You must allow MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com principal access in IAM. For information about configuring access in IAM, see Access management in the IAM User Guide.\n\n\u2022 The mediatailor.amazonaws.com service principal must have permissions to read all top level manifests referenced by the VodSource packaging configurations.\n\n\u2022 The caller of the API must have s3:GetObject IAM permissions to read all top level manifests referenced by your MediaTailor VodSource packaging configurations.", - "title": "AccessType", - "type": "string" - }, - "SecretsManagerAccessTokenConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.SecretsManagerAccessTokenConfiguration", - "markdownDescription": "AWS Secrets Manager access token configuration parameters.", - "title": "SecretsManagerAccessTokenConfiguration" - } - }, - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.DefaultSegmentDeliveryConfiguration": { - "additionalProperties": false, - "properties": { - "BaseUrl": { - "markdownDescription": "The hostname of the server that will be used to serve segments. This string must include the protocol, such as *https://* .", - "title": "BaseUrl", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.HttpConfiguration": { - "additionalProperties": false, - "properties": { - "BaseUrl": { - "markdownDescription": "The base URL for the source location host server. This string must include the protocol, such as *https://* .", - "title": "BaseUrl", - "type": "string" - } - }, - "required": [ - "BaseUrl" - ], - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.SecretsManagerAccessTokenConfiguration": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "markdownDescription": "The name of the HTTP header used to supply the access token in requests to the source location.", - "title": "HeaderName", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the access token.", - "title": "SecretArn", - "type": "string" - }, - "SecretStringKey": { - "markdownDescription": "The AWS Secrets Manager [SecretString](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html#SecretsManager-CreateSecret-request-SecretString.html) key associated with the access token. MediaTailor uses the key to look up SecretString key and value pair containing the access token.", - "title": "SecretStringKey", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.SegmentDeliveryConfiguration": { - "additionalProperties": false, - "properties": { - "BaseUrl": { - "markdownDescription": "The base URL of the host or path of the segment delivery server that you're using to serve segments. This is typically a content delivery network (CDN). The URL can be absolute or relative. To use an absolute URL include the protocol, such as `https://example.com/some/path` . To use a relative URL specify the relative path, such as `/some/path*` .", - "title": "BaseUrl", - "type": "string" - }, - "Name": { - "markdownDescription": "A unique identifier used to distinguish between multiple segment delivery configurations in a source location.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::VodSource": { + "AWS::MediaTailor::VodSource": { "additionalProperties": false, "properties": { "Condition": { @@ -246916,67 +226592,6 @@ ], "type": "object" }, - "AWS::MedicalImaging::ImageSet": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatastoreId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MedicalImaging::ImageSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::MemoryDB::ACL": { "additionalProperties": false, "properties": { @@ -247409,63 +227024,6 @@ ], "type": "object" }, - "AWS::MemoryDB::MultiRegionParameterGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MemoryDB::MultiRegionParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::MemoryDB::ParameterGroup": { "additionalProperties": false, "properties": { @@ -247557,75 +227115,6 @@ ], "type": "object" }, - "AWS::MemoryDB::ReservedNode": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MemoryDB::ReservedNode" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MemoryDB::ReservedNode.RecurringCharge": { - "additionalProperties": false, - "properties": { - "RecurringChargeAmount": { - "type": "number" - }, - "RecurringChargeFrequency": { - "type": "string" - } - }, - "type": "object" - }, "AWS::MemoryDB::SubnetGroup": { "additionalProperties": false, "properties": { @@ -248643,153 +228132,6 @@ ], "type": "object" }, - "AWS::NeptuneGraph::ExportTask": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "type": "string" - }, - "ExportFilter": { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask.ExportFilter" - }, - "Format": { - "type": "string" - }, - "GraphIdentifier": { - "type": "string" - }, - "KmsKeyIdentifier": { - "type": "string" - }, - "ParquetType": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Destination", - "Format", - "GraphIdentifier", - "KmsKeyIdentifier", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NeptuneGraph::ExportTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NeptuneGraph::ExportTask.ExportFilter": { - "additionalProperties": false, - "properties": { - "EdgeFilter": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask.ExportFilterElement" - } - }, - "type": "object" - }, - "VertexFilter": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask.ExportFilterElement" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::NeptuneGraph::ExportTask.ExportFilterElement": { - "additionalProperties": false, - "properties": { - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask.ExportFilterPropertyAttributes" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::NeptuneGraph::ExportTask.ExportFilterPropertyAttributes": { - "additionalProperties": false, - "properties": { - "MultiValueHandling": { - "type": "string" - }, - "OutputType": { - "type": "string" - }, - "SourcePropertyName": { - "type": "string" - } - }, - "type": "object" - }, "AWS::NeptuneGraph::Graph": { "additionalProperties": false, "properties": { @@ -250714,125 +230056,6 @@ ], "type": "object" }, - "AWS::NetworkFlowMonitor::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": { - "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::NetworkManager::ConnectAttachment": { "additionalProperties": false, "properties": { @@ -253642,78 +232865,6 @@ ], "type": "object" }, - "AWS::NovaAct::WorkflowRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "ModelId": { - "type": "string" - }, - "WorkflowDefinitionName": { - "type": "string" - } - }, - "required": [ - "ModelId", - "WorkflowDefinitionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NovaAct::WorkflowRun" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::ODB::CloudAutonomousVmCluster": { "additionalProperties": false, "properties": { @@ -255130,67 +234281,6 @@ ], "type": "object" }, - "AWS::OSIS::PipelineBlueprint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BlueprintName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OSIS::PipelineBlueprint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Oam::Link": { "additionalProperties": false, "properties": { @@ -255574,9 +234664,6 @@ "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationCentralizationRule.LogsEncryptionConfiguration", "markdownDescription": "The encryption configuration for centralization destination log groups.", "title": "LogsEncryptionConfiguration" - }, - "TagPropagationConfiguration": { - "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationCentralizationRule.TagPropagationConfiguration" } }, "type": "object" @@ -255629,9 +234716,6 @@ "title": "EncryptionConflictResolutionStrategy", "type": "string" }, - "EncryptionScope": { - "type": "string" - }, "EncryptionStrategy": { "markdownDescription": "Configuration that determines the encryption strategy of the destination log groups. CUSTOMER_MANAGED uses the configured KmsKeyArn to encrypt newly created destination log groups.", "title": "EncryptionStrategy", @@ -255691,21 +234775,6 @@ }, "type": "object" }, - "AWS::ObservabilityAdmin::OrganizationCentralizationRule.TagPropagationConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationRoleArn": { - "type": "string" - }, - "TagConflictResolutionStrategy": { - "type": "string" - } - }, - "required": [ - "DestinationRoleArn" - ], - "type": "object" - }, "AWS::ObservabilityAdmin::OrganizationTelemetryRule": { "additionalProperties": false, "properties": { @@ -256072,9 +235141,6 @@ "markdownDescription": "Configuration parameters specific to ELB load balancer logging when ELB is the resource type.", "title": "ELBLoadBalancerLoggingParameters" }, - "KmsKeyArn": { - "type": "string" - }, "LogDeliveryParameters": { "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationTelemetryRule.LogDeliveryParameters" }, @@ -256916,9 +235982,6 @@ "markdownDescription": "Configuration parameters specific to ELB load balancer logging when ELB is the resource type.", "title": "ELBLoadBalancerLoggingParameters" }, - "KmsKeyArn": { - "type": "string" - }, "LogDeliveryParameters": { "$ref": "#/definitions/AWS::ObservabilityAdmin::TelemetryRule.LogDeliveryParameters", "markdownDescription": "Configuration parameters specific to Amazon Bedrock AgentCore logging when Amazon Bedrock AgentCore is the resource type.", @@ -257323,7 +236386,7 @@ }, "type": "object" }, - "AWS::Omics::ReadSet": { + "AWS::Omics::ReferenceStore": { "additionalProperties": false, "properties": { "Condition": { @@ -257359,32 +236422,40 @@ "additionalProperties": false, "properties": { "Description": { - "type": "string" - }, - "FileType": { + "markdownDescription": "A description for the store.", + "title": "Description", "type": "string" }, "Name": { + "markdownDescription": "A name for the store.", + "title": "Name", "type": "string" }, - "ReferenceArn": { - "type": "string" - }, - "SampleId": { - "type": "string" - }, - "SequenceStoreId": { - "type": "string" + "SseConfig": { + "$ref": "#/definitions/AWS::Omics::ReferenceStore.SseConfig", + "markdownDescription": "Server-side encryption (SSE) settings for the store.", + "title": "SseConfig" }, - "SubjectId": { - "type": "string" + "Tags": { + "additionalProperties": true, + "markdownDescription": "Tags for the store.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Omics::ReadSet" + "AWS::Omics::ReferenceStore" ], "type": "string" }, @@ -257398,86 +236469,31 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Omics::ReadSet.ETag": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "Source1": { - "type": "string" - }, - "Source2": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Omics::ReadSet.FileInformation": { - "additionalProperties": false, - "properties": { - "ContentLength": { - "type": "number" - }, - "PartSize": { - "type": "number" - }, - "S3Access": { - "$ref": "#/definitions/AWS::Omics::ReadSet.ReadSetS3Access" - }, - "TotalParts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Omics::ReadSet.ReadSetFiles": { - "additionalProperties": false, - "properties": { - "Index": { - "$ref": "#/definitions/AWS::Omics::ReadSet.FileInformation" - }, - "Source1": { - "$ref": "#/definitions/AWS::Omics::ReadSet.FileInformation" - }, - "Source2": { - "$ref": "#/definitions/AWS::Omics::ReadSet.FileInformation" - } - }, - "type": "object" - }, - "AWS::Omics::ReadSet.ReadSetS3Access": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Omics::ReadSet.SequenceInformation": { + "AWS::Omics::ReferenceStore.SseConfig": { "additionalProperties": false, "properties": { - "Alignment": { + "KeyArn": { + "markdownDescription": "An encryption key ARN.", + "title": "KeyArn", "type": "string" }, - "GeneratedFrom": { + "Type": { + "markdownDescription": "The encryption type.", + "title": "Type", "type": "string" - }, - "TotalBaseCount": { - "type": "number" - }, - "TotalReadCount": { - "type": "number" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Omics::Reference": { + "AWS::Omics::RunGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -257512,27 +236528,48 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "MaxCpus": { + "markdownDescription": "The group's maximum CPU count setting.", + "title": "MaxCpus", + "type": "number" }, - "Name": { - "type": "string" + "MaxDuration": { + "markdownDescription": "The group's maximum duration setting in minutes.", + "title": "MaxDuration", + "type": "number" + }, + "MaxGpus": { + "markdownDescription": "The maximum GPUs that can be used by a run group.", + "title": "MaxGpus", + "type": "number" + }, + "MaxRuns": { + "markdownDescription": "The group's maximum concurrent run setting.", + "title": "MaxRuns", + "type": "number" }, - "ReferenceStoreId": { + "Name": { + "markdownDescription": "The group's name.", + "title": "Name", "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/AWS::Omics::Reference.TagsItems" + "additionalProperties": true, + "markdownDescription": "Tags for the group.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "Tags", + "type": "object" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Omics::Reference" + "AWS::Omics::RunGroup" ], "type": "string" }, @@ -257550,23 +236587,7 @@ ], "type": "object" }, - "AWS::Omics::Reference.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Omics::ReferenceStore": { + "AWS::Omics::SequenceStore": { "additionalProperties": false, "properties": { "Condition": { @@ -257601,18 +236622,46 @@ "Properties": { "additionalProperties": false, "properties": { + "AccessLogLocation": { + "markdownDescription": "Location of the access logs.", + "title": "AccessLogLocation", + "type": "string" + }, "Description": { "markdownDescription": "A description for the store.", "title": "Description", "type": "string" }, + "ETagAlgorithmFamily": { + "markdownDescription": "The algorithm family of the ETag.", + "title": "ETagAlgorithmFamily", + "type": "string" + }, + "FallbackLocation": { + "markdownDescription": "An S3 location that is used to store files that have failed a direct upload.", + "title": "FallbackLocation", + "type": "string" + }, "Name": { "markdownDescription": "A name for the store.", "title": "Name", "type": "string" }, + "PropagatedSetLevelTags": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "PropagatedSetLevelTags", + "type": "array" + }, + "S3AccessPolicy": { + "markdownDescription": "", + "title": "S3AccessPolicy", + "type": "object" + }, "SseConfig": { - "$ref": "#/definitions/AWS::Omics::ReferenceStore.SseConfig", + "$ref": "#/definitions/AWS::Omics::SequenceStore.SseConfig", "markdownDescription": "Server-side encryption (SSE) settings for the store.", "title": "SseConfig" }, @@ -257635,7 +236684,7 @@ }, "Type": { "enum": [ - "AWS::Omics::ReferenceStore" + "AWS::Omics::SequenceStore" ], "type": "string" }, @@ -257654,7 +236703,7 @@ ], "type": "object" }, - "AWS::Omics::ReferenceStore.SseConfig": { + "AWS::Omics::SequenceStore.SseConfig": { "additionalProperties": false, "properties": { "KeyArn": { @@ -257673,490 +236722,7 @@ ], "type": "object" }, - "AWS::Omics::Run": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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::RunCache": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheBehavior": { - "type": "string" - }, - "CacheBucketOwnerId": { - "type": "string" - }, - "CacheS3Location": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Omics::RunCache" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Omics::RunGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MaxCpus": { - "markdownDescription": "The group's maximum CPU count setting.", - "title": "MaxCpus", - "type": "number" - }, - "MaxDuration": { - "markdownDescription": "The group's maximum duration setting in minutes.", - "title": "MaxDuration", - "type": "number" - }, - "MaxGpus": { - "markdownDescription": "The maximum GPUs that can be used by a run group.", - "title": "MaxGpus", - "type": "number" - }, - "MaxRuns": { - "markdownDescription": "The group's maximum concurrent run setting.", - "title": "MaxRuns", - "type": "number" - }, - "Name": { - "markdownDescription": "The group's name.", - "title": "Name", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags for the group.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Omics::RunGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Omics::SequenceStore": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogLocation": { - "markdownDescription": "Location of the access logs.", - "title": "AccessLogLocation", - "type": "string" - }, - "Description": { - "markdownDescription": "A description for the store.", - "title": "Description", - "type": "string" - }, - "ETagAlgorithmFamily": { - "markdownDescription": "The algorithm family of the ETag.", - "title": "ETagAlgorithmFamily", - "type": "string" - }, - "FallbackLocation": { - "markdownDescription": "An S3 location that is used to store files that have failed a direct upload.", - "title": "FallbackLocation", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the store.", - "title": "Name", - "type": "string" - }, - "PropagatedSetLevelTags": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "PropagatedSetLevelTags", - "type": "array" - }, - "S3AccessPolicy": { - "markdownDescription": "", - "title": "S3AccessPolicy", - "type": "object" - }, - "SseConfig": { - "$ref": "#/definitions/AWS::Omics::SequenceStore.SseConfig", - "markdownDescription": "Server-side encryption (SSE) settings for the store.", - "title": "SseConfig" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags for the store.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Omics::SequenceStore" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Omics::SequenceStore.SseConfig": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "markdownDescription": "An encryption key ARN.", - "title": "KeyArn", - "type": "string" - }, - "Type": { - "markdownDescription": "The encryption type.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Omics::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": { - "RunId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Omics::Task" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Omics::VariantStore": { + "AWS::Omics::VariantStore": { "additionalProperties": false, "properties": { "Condition": { @@ -258863,103 +237429,6 @@ }, "type": "object" }, - "AWS::OpenSearch::DataSource": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSourceType": { - "$ref": "#/definitions/AWS::OpenSearch::DataSource.DataSourceType" - }, - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DataSourceType", - "DomainName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpenSearch::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpenSearch::DataSource.DataSourceType": { - "additionalProperties": false, - "properties": { - "S3GlueDataCatalog": { - "$ref": "#/definitions/AWS::OpenSearch::DataSource.S3GlueDataCatalog" - } - }, - "type": "object" - }, - "AWS::OpenSearch::DataSource.S3GlueDataCatalog": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, "AWS::OpenSearchServerless::AccessPolicy": { "additionalProperties": false, "properties": { @@ -259436,45 +237905,6 @@ ], "type": "object" }, - "AWS::OpenSearchServerless::Index.Analysis": { - "additionalProperties": false, - "properties": { - "Analyzer": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::OpenSearchServerless::Index.AnalyzerItems" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::OpenSearchServerless::Index.AnalyzerItems": { - "additionalProperties": false, - "properties": { - "CharFilter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Filter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tokenizer": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, "AWS::OpenSearchServerless::Index.Index": { "additionalProperties": false, "properties": { @@ -259499,9 +237929,6 @@ "AWS::OpenSearchServerless::Index.IndexSettings": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::OpenSearchServerless::Index.Analysis" - }, "Index": { "$ref": "#/definitions/AWS::OpenSearchServerless::Index.Index", "markdownDescription": "Index settings.", @@ -259575,15 +238002,6 @@ "AWS::OpenSearchServerless::Index.PropertyMapping": { "additionalProperties": false, "properties": { - "Analyzer": { - "type": "string" - }, - "CompressionLevel": { - "type": "string" - }, - "DataType": { - "type": "string" - }, "Dimension": { "markdownDescription": "Dimension size for vector fields, defines the number of dimensions in the vector.", "title": "Dimension", @@ -259610,9 +238028,6 @@ "title": "Properties", "type": "object" }, - "SpaceType": { - "type": "string" - }, "Type": { "markdownDescription": "The field data type. Must be a valid OpenSearch field type.", "title": "Type", @@ -260325,9 +238740,6 @@ "markdownDescription": "Whether the domain should encrypt data at rest, and if so, the AWS key to use. See [Encryption of data at rest for Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html) .\n\nIf no encryption at rest options were initially specified in the template, updating this property by adding it causes no interruption. However, if you change this property after it's already been set within a template, the domain is deleted and recreated in order to modify the property.", "title": "EncryptionAtRestOptions" }, - "EngineMode": { - "type": "string" - }, "EngineVersion": { "markdownDescription": "The version of OpenSearch to use. The value must be in the format `OpenSearch_X.Y` or `Elasticsearch_X.Y` . If not specified, the latest version of OpenSearch is used. For information about the versions that OpenSearch Service supports, see [Supported versions of OpenSearch and Elasticsearch](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html#choosing-version) in the *Amazon OpenSearch Service Developer Guide* .\n\nIf you set the [EnableVersionUpgrade](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-upgradeopensearchdomain) update policy to `true` , you can update `EngineVersion` without interruption. When `EnableVersionUpgrade` is set to `false` , or is not specified, updating `EngineVersion` results in [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "EngineVersion", @@ -260387,9 +238799,6 @@ "title": "Tags", "type": "array" }, - "UseCase": { - "type": "string" - }, "VPCOptions": { "$ref": "#/definitions/AWS::OpenSearchService::Domain.VPCOptions", "markdownDescription": "The virtual private cloud (VPC) configuration for the OpenSearch Service domain. For more information, see [Launching your Amazon OpenSearch Service domains within a VPC](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html) in the *Amazon OpenSearch Service Developer Guide* .\n\nIf you remove this entity altogether, along with its associated properties, it causes a replacement. You might encounter this scenario if you're updating your security configuration from a VPC to a public endpoint.", @@ -261037,9 +239446,6 @@ "markdownDescription": "Specifies whether automatic service software updates are enabled for the domain.", "title": "AutoSoftwareUpdateEnabled", "type": "boolean" - }, - "UseLatestServiceSoftwareForBlueGreen": { - "type": "boolean" } }, "type": "object" @@ -262986,76 +241392,7 @@ ], "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": { + "AWS::PCAConnectorAD::Connector": { "additionalProperties": false, "properties": { "Condition": { @@ -263090,39 +241427,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { + "CertificateAuthorityArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the certificate authority being used.", + "title": "CertificateAuthorityArn", "type": "string" }, - "Notes": { + "DirectoryId": { + "markdownDescription": "The identifier of the Active Directory.", + "title": "DirectoryId", "type": "string" }, - "OperatingAddress": { - "$ref": "#/definitions/AWS::Outposts::Site.Address" - }, - "RackPhysicalProperties": { - "$ref": "#/definitions/AWS::Outposts::Site.RackPhysicalProperties" - }, - "ShippingAddress": { - "$ref": "#/definitions/AWS::Outposts::Site.Address" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "Metadata assigned to a connector consisting of a key-value pair.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "Tags", + "type": "object" + }, + "VpcInformation": { + "$ref": "#/definitions/AWS::PCAConnectorAD::Connector.VpcInformation", + "markdownDescription": "Information of the VPC and security group(s) used with the connector.", + "title": "VpcInformation" } }, "required": [ - "Name" + "CertificateAuthorityArn", + "DirectoryId", + "VpcInformation" ], "type": "object" }, "Type": { "enum": [ - "AWS::Outposts::Site" + "AWS::PCAConnectorAD::Connector" ], "type": "string" }, @@ -263141,88 +241482,29 @@ ], "type": "object" }, - "AWS::Outposts::Site.Address": { + "AWS::PCAConnectorAD::Connector.VpcInformation": { "additionalProperties": false, "properties": { - "AddressLine1": { - "type": "string" - }, - "AddressLine2": { - "type": "string" - }, - "AddressLine3": { - "type": "string" - }, - "City": { - "type": "string" - }, - "ContactName": { - "type": "string" - }, - "ContactPhoneNumber": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "DistrictOrCounty": { - "type": "string" - }, - "Municipality": { - "type": "string" - }, - "PostalCode": { + "IpAddressType": { + "markdownDescription": "The VPC IP address type.", + "title": "IpAddressType", "type": "string" }, - "StateOrRegion": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The security groups used with the connector. You can use a maximum of 4 security groups with a connector.", + "title": "SecurityGroupIds", + "type": "array" } }, "required": [ - "AddressLine1", - "City", - "ContactName", - "ContactPhoneNumber", - "CountryCode", - "PostalCode", - "StateOrRegion" + "SecurityGroupIds" ], "type": "object" }, - "AWS::Outposts::Site.RackPhysicalProperties": { - "additionalProperties": false, - "properties": { - "FiberOpticCableType": { - "type": "string" - }, - "MaximumSupportedWeightLbs": { - "type": "string" - }, - "OpticalStandard": { - "type": "string" - }, - "PowerConnector": { - "type": "string" - }, - "PowerDrawKva": { - "type": "string" - }, - "PowerFeedDrop": { - "type": "string" - }, - "PowerPhase": { - "type": "string" - }, - "UplinkCount": { - "type": "string" - }, - "UplinkGbps": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PCAConnectorAD::Connector": { + "AWS::PCAConnectorAD::DirectoryRegistration": { "additionalProperties": false, "properties": { "Condition": { @@ -263257,11 +241539,6 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateAuthorityArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the certificate authority being used.", - "title": "CertificateAuthorityArn", - "type": "string" - }, "DirectoryId": { "markdownDescription": "The identifier of the Active Directory.", "title": "DirectoryId", @@ -263269,7 +241546,7 @@ }, "Tags": { "additionalProperties": true, - "markdownDescription": "Metadata assigned to a connector consisting of a key-value pair.", + "markdownDescription": "Metadata assigned to a directory registration consisting of a key-value pair.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" @@ -263277,23 +241554,16 @@ }, "title": "Tags", "type": "object" - }, - "VpcInformation": { - "$ref": "#/definitions/AWS::PCAConnectorAD::Connector.VpcInformation", - "markdownDescription": "Information of the VPC and security group(s) used with the connector.", - "title": "VpcInformation" } }, "required": [ - "CertificateAuthorityArn", - "DirectoryId", - "VpcInformation" + "DirectoryId" ], "type": "object" }, "Type": { "enum": [ - "AWS::PCAConnectorAD::Connector" + "AWS::PCAConnectorAD::DirectoryRegistration" ], "type": "string" }, @@ -263312,107 +241582,7 @@ ], "type": "object" }, - "AWS::PCAConnectorAD::Connector.VpcInformation": { - "additionalProperties": false, - "properties": { - "IpAddressType": { - "markdownDescription": "The VPC IP address type.", - "title": "IpAddressType", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The security groups used with the connector. You can use a maximum of 4 security groups with a connector.", - "title": "SecurityGroupIds", - "type": "array" - } - }, - "required": [ - "SecurityGroupIds" - ], - "type": "object" - }, - "AWS::PCAConnectorAD::DirectoryRegistration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "markdownDescription": "The identifier of the Active Directory.", - "title": "DirectoryId", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Metadata assigned to a directory registration consisting of a key-value pair.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PCAConnectorAD::DirectoryRegistration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PCAConnectorAD::ServicePrincipalName": { + "AWS::PCAConnectorAD::ServicePrincipalName": { "additionalProperties": false, "properties": { "Condition": { @@ -265289,9 +243459,6 @@ "title": "Name", "type": "string" }, - "NodeLifecycleActions": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.NodeLifecycleActions" - }, "PurchaseOption": { "markdownDescription": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand Instances, Spot Instances, and Amazon EC2 Capacity Blocks for ML. For more information, see [Amazon EC2 billing and purchasing options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) in the *Amazon Elastic Compute Cloud User Guide* . For more information about AWS PCS support for Capacity Blocks, see [Using Amazon EC2 Capacity Blocks for ML with AWS PCS](https://docs.aws.amazon.com/pcs/latest/userguide/capacity-blocks.html) in the *AWS PCS User Guide* . If you don't provide this option, it defaults to On-Demand.", "title": "PurchaseOption", @@ -265409,67 +243576,6 @@ }, "type": "object" }, - "AWS::PCS::ComputeNodeGroup.NodeLifecycleActions": { - "additionalProperties": false, - "properties": { - "ScriptCachingPolicy": { - "type": "string" - }, - "Stages": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.NodeLifecycleStages" - } - }, - "required": [ - "Stages" - ], - "type": "object" - }, - "AWS::PCS::ComputeNodeGroup.NodeLifecycleScript": { - "additionalProperties": false, - "properties": { - "Arguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExecutionPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OnError": { - "type": "string" - }, - "ScriptSource": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.ScriptSource" - } - }, - "required": [ - "Name", - "ScriptSource" - ], - "type": "object" - }, - "AWS::PCS::ComputeNodeGroup.NodeLifecycleStages": { - "additionalProperties": false, - "properties": { - "NodeBootstrapped": { - "items": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.NodeLifecycleScript" - }, - "type": "array" - }, - "NodeReady": { - "items": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.NodeLifecycleScript" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::PCS::ComputeNodeGroup.ScalingConfiguration": { "additionalProperties": false, "properties": { @@ -265490,24 +243596,6 @@ ], "type": "object" }, - "AWS::PCS::ComputeNodeGroup.ScriptSource": { - "additionalProperties": false, - "properties": { - "Checksum": { - "type": "string" - }, - "S3VersionId": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "required": [ - "ScriptLocation" - ], - "type": "object" - }, "AWS::PCS::ComputeNodeGroup.SlurmConfiguration": { "additionalProperties": false, "properties": { @@ -266046,134 +244134,6 @@ ], "type": "object" }, - "AWS::PartnerCentral::ConnectionPreferences": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PartnerCentral::ConnectionPreferences" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::PartnerCentral::Partner": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PartnerCentral::Partner" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::PaymentCryptography::Alias": { "additionalProperties": false, "properties": { @@ -266455,324 +244415,6 @@ ], "type": "object" }, - "AWS::Personalize::BatchInferenceJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BatchInferenceJobMode": { - "type": "string" - }, - "JobInput": { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob.BatchInferenceJobInput" - }, - "JobName": { - "type": "string" - }, - "JobOutput": { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob.BatchInferenceJobOutput" - }, - "NumResults": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SolutionVersionArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::BatchInferenceJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Personalize::BatchInferenceJob.BatchInferenceJobInput": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob.S3DataConfig" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Personalize::BatchInferenceJob.BatchInferenceJobOutput": { - "additionalProperties": false, - "properties": { - "S3DataDestination": { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob.S3DataConfig" - } - }, - "required": [ - "S3DataDestination" - ], - "type": "object" - }, - "AWS::Personalize::BatchInferenceJob.S3DataConfig": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::Personalize::BatchSegmentJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobInput": { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob.BatchSegmentJobInput" - }, - "JobName": { - "type": "string" - }, - "JobOutput": { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob.BatchSegmentJobOutput" - }, - "NumResults": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SolutionVersionArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::BatchSegmentJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Personalize::BatchSegmentJob.BatchSegmentJobInput": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob.S3DataConfig" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Personalize::BatchSegmentJob.BatchSegmentJobOutput": { - "additionalProperties": false, - "properties": { - "S3DataDestination": { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob.S3DataConfig" - } - }, - "required": [ - "S3DataDestination" - ], - "type": "object" - }, - "AWS::Personalize::BatchSegmentJob.S3DataConfig": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::Personalize::DataDeletionJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::DataDeletionJob.DataSource" - }, - "DatasetGroupArn": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::DataDeletionJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Personalize::DataDeletionJob.DataSource": { - "additionalProperties": false, - "properties": { - "DataLocation": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Personalize::Dataset": { "additionalProperties": false, "properties": { @@ -266832,12 +244474,6 @@ "markdownDescription": "The ARN of the associated schema.", "title": "SchemaArn", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ @@ -266965,12 +244601,6 @@ "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": [ @@ -266999,272 +244629,6 @@ ], "type": "object" }, - "AWS::Personalize::EventTracker": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetGroupArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatasetGroupArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::EventTracker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Personalize::MetricAttribution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetGroupArn": { - "type": "string" - }, - "Metrics": { - "items": { - "$ref": "#/definitions/AWS::Personalize::MetricAttribution.MetricAttribute" - }, - "type": "array" - }, - "MetricsOutputConfig": { - "$ref": "#/definitions/AWS::Personalize::MetricAttribution.MetricsOutputConfig" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DatasetGroupArn", - "Metrics", - "MetricsOutputConfig", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::MetricAttribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Personalize::MetricAttribution.MetricAttribute": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "MetricName": { - "type": "string" - } - }, - "required": [ - "EventType", - "Expression", - "MetricName" - ], - "type": "object" - }, - "AWS::Personalize::MetricAttribution.MetricsOutputConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "S3DataDestination": { - "$ref": "#/definitions/AWS::Personalize::MetricAttribution.S3DataDestination" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Personalize::MetricAttribution.S3DataDestination": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::Personalize::Recipe": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::Recipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Personalize::Schema": { "additionalProperties": false, "properties": { @@ -267314,12 +244678,6 @@ "markdownDescription": "The schema.", "title": "Schema", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ @@ -267418,12 +244776,6 @@ "$ref": "#/definitions/AWS::Personalize::Solution.SolutionConfig", "markdownDescription": "Describes the configuration properties for the solution.", "title": "SolutionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ @@ -275599,220 +252951,6 @@ ], "type": "object" }, - "AWS::QuickSight::Agent": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionConnectors": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AgentId": { - "type": "string" - }, - "AgentLifecycle": { - "type": "string" - }, - "AwsAccountId": { - "type": "string" - }, - "CustomPromptInput": { - "$ref": "#/definitions/AWS::QuickSight::Agent.CustomPromptInput" - }, - "Description": { - "type": "string" - }, - "IconId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Spaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StarterPrompts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Agent.AgentTag" - }, - "type": "array" - }, - "WelcomeMessage": { - "type": "string" - } - }, - "required": [ - "AgentId", - "AwsAccountId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Agent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Agent.AgentTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::QuickSight::Agent.CustomPromptInput": { - "additionalProperties": false, - "properties": { - "ExistingPrompt": { - "$ref": "#/definitions/AWS::QuickSight::Agent.CustomPromptProfile" - }, - "NewPrompt": { - "$ref": "#/definitions/AWS::QuickSight::Agent.CustomPromptInputParameters" - } - }, - "type": "object" - }, - "AWS::QuickSight::Agent.CustomPromptInputParameters": { - "additionalProperties": false, - "properties": { - "CustomInstructions": { - "type": "string" - }, - "Identity": { - "type": "string" - }, - "OutputStyle": { - "type": "string" - }, - "ResponseLength": { - "type": "string" - }, - "Tone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Agent.CustomPromptInterface": { - "additionalProperties": false, - "properties": { - "CustomInstructions": { - "type": "string" - }, - "Identity": { - "type": "string" - }, - "ModelProfileId": { - "type": "string" - }, - "OutputStyle": { - "type": "string" - }, - "PromptSummary": { - "type": "string" - }, - "QbsAwsAccountId": { - "type": "string" - }, - "ResponseLength": { - "type": "string" - }, - "SubscriptionId": { - "type": "string" - }, - "Tone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Agent.CustomPromptProfile": { - "additionalProperties": false, - "properties": { - "ModelProfileId": { - "type": "string" - }, - "QbsAwsAccountId": { - "type": "string" - }, - "SubscriptionId": { - "type": "string" - } - }, - "required": [ - "ModelProfileId", - "QbsAwsAccountId", - "SubscriptionId" - ], - "type": "object" - }, "AWS::QuickSight::Analysis": { "additionalProperties": false, "properties": { @@ -289962,310 +267100,6 @@ ], "type": "object" }, - "AWS::QuickSight::ApprovalPolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "object" - }, - "type": "array" - }, - "ApplicableTo": { - "$ref": "#/definitions/AWS::QuickSight::ApprovalPolicy.ApplicableTo" - }, - "ApprovalGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AssetTypes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PolicyId": { - "type": "string" - } - }, - "required": [ - "Actions", - "ApplicableTo", - "ApprovalGroups", - "AssetTypes", - "Name", - "PolicyId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::ApprovalPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::ApprovalPolicy.ApplicableTo": { - "additionalProperties": false, - "properties": { - "GroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "type": "object" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::AssetBundleExportJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetBundleExportJobId": { - "type": "string" - }, - "AwsAccountId": { - "type": "string" - }, - "ExportFormat": { - "type": "string" - }, - "IncludeAllDependencies": { - "type": "boolean" - }, - "IncludeFolderMembers": { - "type": "string" - }, - "IncludeFolderMemberships": { - "type": "boolean" - }, - "IncludePermissions": { - "type": "boolean" - }, - "IncludeTags": { - "type": "boolean" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AssetBundleExportJobId", - "ExportFormat", - "ResourceArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::AssetBundleExportJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::AssetBundleImportJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetBundleImportJobId": { - "type": "string" - }, - "AssetBundleImportSource": { - "$ref": "#/definitions/AWS::QuickSight::AssetBundleImportJob.AssetBundleImportSourceDescription" - }, - "AwsAccountId": { - "type": "string" - }, - "FailureAction": { - "type": "string" - }, - "OverrideValidationStrategy": { - "$ref": "#/definitions/AWS::QuickSight::AssetBundleImportJob.AssetBundleImportJobOverrideValidationStrategy" - } - }, - "required": [ - "AssetBundleImportJobId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::AssetBundleImportJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::AssetBundleImportJob.AssetBundleImportJobOverrideValidationStrategy": { - "additionalProperties": false, - "properties": { - "StrictModeForAllResources": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::AssetBundleImportJob.AssetBundleImportSourceDescription": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, "AWS::QuickSight::CustomPermissions": { "additionalProperties": false, "properties": { @@ -291086,167 +267920,6 @@ }, "type": "object" }, - "AWS::QuickSight::DLPSetting": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "DlpSettingId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "ProviderConfig": { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting.ProviderConfig" - }, - "ProviderOutageAction": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DlpSettingId", - "Enabled", - "Name", - "ProviderConfig", - "ProviderOutageAction", - "ProviderType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DLPSetting" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::DLPSetting.LabelActionMapping": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "LabelId": { - "type": "string" - }, - "LabelName": { - "type": "string" - } - }, - "required": [ - "Action", - "LabelId", - "LabelName" - ], - "type": "object" - }, - "AWS::QuickSight::DLPSetting.MicrosoftPurviewCredentials": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::QuickSight::DLPSetting.MicrosoftPurviewProviderConfig": { - "additionalProperties": false, - "properties": { - "Credentials": { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting.MicrosoftPurviewCredentials" - }, - "LabelActionMappings": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting.LabelActionMapping" - }, - "type": "array" - }, - "UnmappedAction": { - "type": "string" - } - }, - "required": [ - "Credentials", - "LabelActionMappings", - "UnmappedAction" - ], - "type": "object" - }, - "AWS::QuickSight::DLPSetting.ProviderConfig": { - "additionalProperties": false, - "properties": { - "MicrosoftPurview": { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting.MicrosoftPurviewProviderConfig" - } - }, - "required": [ - "MicrosoftPurview" - ], - "type": "object" - }, "AWS::QuickSight::Dashboard": { "additionalProperties": false, "properties": { @@ -309233,7 +285906,7 @@ ], "type": "object" }, - "AWS::QuickSight::Flow": { + "AWS::QuickSight::Folder": { "additionalProperties": false, "properties": { "Condition": { @@ -309269,34 +285942,57 @@ "additionalProperties": false, "properties": { "AwsAccountId": { + "markdownDescription": "The ID for the AWS account where you want to create the folder.", + "title": "AwsAccountId", "type": "string" }, - "Description": { + "FolderId": { + "markdownDescription": "The ID of the folder.", + "title": "FolderId", "type": "string" }, - "FlowDefinition": { - "type": "object" + "FolderType": { + "markdownDescription": "The type of folder it is.", + "title": "FolderType", + "type": "string" }, "Name": { + "markdownDescription": "A display name for the folder.", + "title": "Name", + "type": "string" + }, + "ParentFolderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the folder.", + "title": "ParentFolderArn", "type": "string" }, "Permissions": { "items": { - "$ref": "#/definitions/AWS::QuickSight::Flow.Permission" + "$ref": "#/definitions/AWS::QuickSight::Folder.ResourcePermission" + }, + "markdownDescription": "A structure that describes the principals and the resource-level permissions of a folder.\n\nTo specify no permissions, omit `Permissions` .", + "title": "Permissions", + "type": "array" + }, + "SharingModel": { + "markdownDescription": "The sharing scope of the folder.", + "title": "SharingModel", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of tags for the folders that you want to apply overrides to.", + "title": "Tags", "type": "array" } }, - "required": [ - "AwsAccountId", - "FlowDefinition", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::QuickSight::Flow" + "AWS::QuickSight::Folder" ], "type": "string" }, @@ -309310,21 +286006,24 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::QuickSight::Flow.Permission": { + "AWS::QuickSight::Folder.ResourcePermission": { "additionalProperties": false, "properties": { "Actions": { "items": { "type": "string" }, + "markdownDescription": "", + "title": "Actions", "type": "array" }, "Principal": { + "markdownDescription": "", + "title": "Principal", "type": "string" } }, @@ -309334,842 +286033,148 @@ ], "type": "object" }, - "AWS::QuickSight::Flow.StepAliasMapping": { + "AWS::QuickSight::RefreshSchedule": { "additionalProperties": false, "properties": { - "StepAlias": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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 of the account that you are creating a schedule in.", + "title": "AwsAccountId", + "type": "string" + }, + "DataSetId": { + "markdownDescription": "The ID of the dataset that you are creating a refresh schedule for.", + "title": "DataSetId", + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap", + "markdownDescription": "The refresh schedule of a dataset.", + "title": "Schedule" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::RefreshSchedule" + ], "type": "string" }, - "StepId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "StepAlias", - "StepId" + "Type" ], "type": "object" }, - "AWS::QuickSight::Folder": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 ID for the AWS account where you want to create the folder.", - "title": "AwsAccountId", - "type": "string" - }, - "FolderId": { - "markdownDescription": "The ID of the folder.", - "title": "FolderId", - "type": "string" - }, - "FolderType": { - "markdownDescription": "The type of folder it is.", - "title": "FolderType", - "type": "string" - }, - "Name": { - "markdownDescription": "A display name for the folder.", - "title": "Name", - "type": "string" - }, - "ParentFolderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the folder.", - "title": "ParentFolderArn", - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Folder.ResourcePermission" - }, - "markdownDescription": "A structure that describes the principals and the resource-level permissions of a folder.\n\nTo specify no permissions, omit `Permissions` .", - "title": "Permissions", - "type": "array" - }, - "SharingModel": { - "markdownDescription": "The sharing scope of the folder.", - "title": "SharingModel", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags for the folders that you want to apply overrides to.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Folder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::Folder.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Actions", - "type": "array" - }, - "Principal": { - "markdownDescription": "", - "title": "Principal", - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessControlConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.AccessControlConfiguration" - }, - "AwsAccountId": { - "type": "string" - }, - "DataSourceArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IsEmailNotificationOptedForIngestionFailures": { - "type": "boolean" - }, - "KnowledgeBaseConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.KnowledgeBaseConfiguration" - }, - "KnowledgeBaseId": { - "type": "string" - }, - "MediaExtractionConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.MediaExtractionConfiguration" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.ResourcePermission" - }, - "type": "array" - }, - "PrimaryOwnerArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AwsAccountId", - "DataSourceArn", - "KnowledgeBaseConfiguration", - "KnowledgeBaseId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::KnowledgeBase" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.AccessControlConfiguration": { - "additionalProperties": false, - "properties": { - "IsACLEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.AudioExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "AudioExtractionStatus": { - "type": "string" - } - }, - "required": [ - "AudioExtractionStatus" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.ImageExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "ImageExtractionStatus": { - "type": "string" - } - }, - "required": [ - "ImageExtractionStatus" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.KbTemplateConfiguration": { - "additionalProperties": false, - "properties": { - "Template": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.KnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "TemplateConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.KbTemplateConfiguration" - } - }, - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.MediaExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "AudioExtractionConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.AudioExtractionConfiguration" - }, - "ImageExtractionConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.ImageExtractionConfiguration" - }, - "VideoExtractionConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.VideoExtractionConfiguration" - } - }, - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - }, - "Resource": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.VideoExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "VideoExtractionStatus": { - "type": "string" - }, - "VideoExtractionType": { - "type": "string" - } - }, - "required": [ - "VideoExtractionStatus" - ], - "type": "object" - }, - "AWS::QuickSight::LimitsProfile": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ResourceLimits": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::LimitsProfile.ProfileLimitValue" - } - }, - "type": "object" - } - }, - "required": [ - "AccountId", - "ProfileName", - "ResourceLimits" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::LimitsProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::LimitsProfile.ProfileLimitValue": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MaxValue", - "Unit" - ], - "type": "object" - }, - "AWS::QuickSight::OAuthClientApplication": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "DataSourceType": { - "type": "string" - }, - "IdentityProviderVpcConnectionProperties": { - "$ref": "#/definitions/AWS::QuickSight::OAuthClientApplication.IdentityProviderVpcConnectionProperties" - }, - "Name": { - "type": "string" - }, - "OAuthAuthorizationEndpointUrl": { - "type": "string" - }, - "OAuthClientApplicationId": { - "type": "string" - }, - "OAuthClientAuthenticationType": { - "type": "string" - }, - "OAuthScopes": { - "type": "string" - }, - "OAuthTokenEndpointUrl": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "OAuthClientApplicationId", - "OAuthClientAuthenticationType", - "OAuthTokenEndpointUrl" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::OAuthClientApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::OAuthClientApplication.IdentityProviderVpcConnectionProperties": { - "additionalProperties": false, - "properties": { - "VpcConnectionArn": { - "type": "string" - } - }, - "required": [ - "VpcConnectionArn" - ], - "type": "object" - }, - "AWS::QuickSight::RefreshSchedule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 of the account that you are creating a schedule in.", - "title": "AwsAccountId", - "type": "string" - }, - "DataSetId": { - "markdownDescription": "The ID of the dataset that you are creating a refresh schedule for.", - "title": "DataSetId", - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap", - "markdownDescription": "The refresh schedule of a dataset.", - "title": "Schedule" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::RefreshSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { - "additionalProperties": false, - "properties": { - "DayOfMonth": { - "markdownDescription": "The day of the month that you want your dataset to refresh. This value is required for monthly refresh intervals.", - "title": "DayOfMonth", - "type": "string" - }, - "DayOfWeek": { - "markdownDescription": "The day of the week that you want to schedule the refresh on. This value is required for weekly and monthly refresh intervals.", - "title": "DayOfWeek", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { - "additionalProperties": false, - "properties": { - "RefreshType": { - "markdownDescription": "The type of refresh that a dataset undergoes. Valid values are as follows:\n\n- `FULL_REFRESH` : A complete refresh of a dataset.\n- `INCREMENTAL_REFRESH` : A partial refresh of some rows of a dataset, based on the time window specified.\n\nFor more information on full and incremental refreshes, see [Refreshing SPICE data](https://docs.aws.amazon.com/quicksight/latest/user/refreshing-imported-data.html) in the *Quick User Guide* .", - "title": "RefreshType", - "type": "string" - }, - "ScheduleFrequency": { - "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency", - "markdownDescription": "The frequency for the refresh schedule.", - "title": "ScheduleFrequency" - }, - "ScheduleId": { - "markdownDescription": "An identifier for the refresh schedule.", - "title": "ScheduleId", - "type": "string" - }, - "StartAfterDateTime": { - "markdownDescription": "Time after which the refresh schedule can be started, expressed in `YYYY-MM-DDTHH:MM:SS` format.", - "title": "StartAfterDateTime", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { - "additionalProperties": false, - "properties": { - "Interval": { - "markdownDescription": "The interval between scheduled refreshes. Valid values are as follows:\n\n- `MINUTE15` : The dataset refreshes every 15 minutes. This value is only supported for incremental refreshes. This interval can only be used for one schedule per dataset.\n- `MINUTE30` : The dataset refreshes every 30 minutes. This value is only supported for incremental refreshes. This interval can only be used for one schedule per dataset.\n- `HOURLY` : The dataset refreshes every hour. This interval can only be used for one schedule per dataset.\n- `DAILY` : The dataset refreshes every day.\n- `WEEKLY` : The dataset refreshes every week.\n- `MONTHLY` : The dataset refreshes every month.", - "title": "Interval", - "type": "string" - }, - "RefreshOnDay": { - "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay", - "markdownDescription": "The day of the week that you want to schedule the refresh on. This value is required for weekly and monthly refresh intervals.", - "title": "RefreshOnDay" - }, - "TimeOfTheDay": { - "markdownDescription": "The time of day that you want the dataset to refresh. This value is expressed in HH:MM format. This field is not required for schedules that refresh hourly.", - "title": "TimeOfTheDay", - "type": "string" - }, - "TimeZone": { - "markdownDescription": "The timezone that you want the refresh schedule to use. The timezone ID must match a corresponding ID found on `java.util.time.getAvailableIDs()` .", - "title": "TimeZone", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Space": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Space.ResourcePermission" - }, - "type": "array" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Space.SpaceResource" - }, - "type": "array" - }, - "SpaceId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AwsAccountId", - "Name", - "SpaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Space" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Space.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Space.SpaceResource": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "ResourceType" - ], - "type": "object" - }, - "AWS::QuickSight::Template": { + "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "markdownDescription": "The day of the month that you want your dataset to refresh. This value is required for monthly refresh intervals.", + "title": "DayOfMonth", + "type": "string" + }, + "DayOfWeek": { + "markdownDescription": "The day of the week that you want to schedule the refresh on. This value is required for weekly and monthly refresh intervals.", + "title": "DayOfWeek", + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { + "additionalProperties": false, + "properties": { + "RefreshType": { + "markdownDescription": "The type of refresh that a dataset undergoes. Valid values are as follows:\n\n- `FULL_REFRESH` : A complete refresh of a dataset.\n- `INCREMENTAL_REFRESH` : A partial refresh of some rows of a dataset, based on the time window specified.\n\nFor more information on full and incremental refreshes, see [Refreshing SPICE data](https://docs.aws.amazon.com/quicksight/latest/user/refreshing-imported-data.html) in the *Quick User Guide* .", + "title": "RefreshType", + "type": "string" + }, + "ScheduleFrequency": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency", + "markdownDescription": "The frequency for the refresh schedule.", + "title": "ScheduleFrequency" + }, + "ScheduleId": { + "markdownDescription": "An identifier for the refresh schedule.", + "title": "ScheduleId", + "type": "string" + }, + "StartAfterDateTime": { + "markdownDescription": "Time after which the refresh schedule can be started, expressed in `YYYY-MM-DDTHH:MM:SS` format.", + "title": "StartAfterDateTime", + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { + "additionalProperties": false, + "properties": { + "Interval": { + "markdownDescription": "The interval between scheduled refreshes. Valid values are as follows:\n\n- `MINUTE15` : The dataset refreshes every 15 minutes. This value is only supported for incremental refreshes. This interval can only be used for one schedule per dataset.\n- `MINUTE30` : The dataset refreshes every 30 minutes. This value is only supported for incremental refreshes. This interval can only be used for one schedule per dataset.\n- `HOURLY` : The dataset refreshes every hour. This interval can only be used for one schedule per dataset.\n- `DAILY` : The dataset refreshes every day.\n- `WEEKLY` : The dataset refreshes every week.\n- `MONTHLY` : The dataset refreshes every month.", + "title": "Interval", + "type": "string" + }, + "RefreshOnDay": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay", + "markdownDescription": "The day of the week that you want to schedule the refresh on. This value is required for weekly and monthly refresh intervals.", + "title": "RefreshOnDay" + }, + "TimeOfTheDay": { + "markdownDescription": "The time of day that you want the dataset to refresh. This value is expressed in HH:MM format. This field is not required for schedules that refresh hourly.", + "title": "TimeOfTheDay", + "type": "string" + }, + "TimeZone": { + "markdownDescription": "The timezone that you want the refresh schedule to use. The timezone ID must match a corresponding ID found on `java.util.time.getAvailableIDs()` .", + "title": "TimeZone", + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { "Condition": { @@ -323154,10186 +299159,364 @@ }, "SortConfiguration": { "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartSortConfiguration", - "markdownDescription": "The sort configuration of a waterfall visual.", - "title": "SortConfiguration" - }, - "VisualPalette": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualPalette", - "markdownDescription": "The visual palette configuration of a waterfall visual.", - "title": "VisualPalette" - }, - "WaterfallChartOptions": { - "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartOptions", - "markdownDescription": "The options that determine the presentation of a waterfall visual.", - "title": "WaterfallChartOptions" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WaterfallChartFieldWells": { - "additionalProperties": false, - "properties": { - "WaterfallChartAggregatedFieldWells": { - "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartAggregatedFieldWells", - "markdownDescription": "The field well configuration of a waterfall visual.", - "title": "WaterfallChartAggregatedFieldWells" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WaterfallChartGroupColorConfiguration": { - "additionalProperties": false, - "properties": { - "NegativeBarColor": { - "markdownDescription": "Defines the color for the negative bars of a waterfall chart.", - "title": "NegativeBarColor", - "type": "string" - }, - "PositiveBarColor": { - "markdownDescription": "Defines the color for the positive bars of a waterfall chart.", - "title": "PositiveBarColor", - "type": "string" - }, - "TotalBarColor": { - "markdownDescription": "Defines the color for the total bars of a waterfall chart.", - "title": "TotalBarColor", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WaterfallChartOptions": { - "additionalProperties": false, - "properties": { - "TotalBarLabel": { - "markdownDescription": "This option determines the total bar label of a waterfall visual.", - "title": "TotalBarLabel", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WaterfallChartSortConfiguration": { - "additionalProperties": false, - "properties": { - "BreakdownItemsLimit": { - "$ref": "#/definitions/AWS::QuickSight::Template.ItemsLimitConfiguration", - "markdownDescription": "The limit on the number of bar groups that are displayed.", - "title": "BreakdownItemsLimit" - }, - "CategorySort": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.FieldSortOptions" - }, - "markdownDescription": "The sort configuration of the category fields.", - "title": "CategorySort", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WaterfallVisual": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualCustomAction" - }, - "markdownDescription": "The list of custom actions that are configured for a visual.", - "title": "Actions", - "type": "array" - }, - "ChartConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartConfiguration", - "markdownDescription": "The configuration for a waterfall visual.", - "title": "ChartConfiguration" - }, - "ColumnHierarchies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.ColumnHierarchy" - }, - "markdownDescription": "The column hierarchy that is used during drill-downs and drill-ups.", - "title": "ColumnHierarchies", - "type": "array" - }, - "Subtitle": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions", - "markdownDescription": "The subtitle that is displayed on the visual.", - "title": "Subtitle" - }, - "Title": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions", - "markdownDescription": "The title that is displayed on the visual.", - "title": "Title" - }, - "VisualContentAltText": { - "markdownDescription": "The alt text for the visual.", - "title": "VisualContentAltText", - "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", - "type": "string" - } - }, - "required": [ - "VisualId" - ], - "type": "object" - }, - "AWS::QuickSight::Template.WhatIfPointScenario": { - "additionalProperties": false, - "properties": { - "Date": { - "markdownDescription": "The date that you need the forecast results for.", - "title": "Date", - "type": "string" - }, - "Value": { - "markdownDescription": "The target value that you want to meet for the provided date.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Date", - "Value" - ], - "type": "object" - }, - "AWS::QuickSight::Template.WhatIfRangeScenario": { - "additionalProperties": false, - "properties": { - "EndDate": { - "markdownDescription": "The end date in the date range that you need the forecast results for.", - "title": "EndDate", - "type": "string" - }, - "StartDate": { - "markdownDescription": "The start date in the date range that you need the forecast results for.", - "title": "StartDate", - "type": "string" - }, - "Value": { - "markdownDescription": "The target value that you want to meet for the provided date range.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "EndDate", - "StartDate", - "Value" - ], - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudAggregatedFieldWells": { - "additionalProperties": false, - "properties": { - "GroupBy": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.DimensionField" - }, - "markdownDescription": "The group by field well of a word cloud. Values are grouped by group by fields.", - "title": "GroupBy", - "type": "array" - }, - "Size": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.MeasureField" - }, - "markdownDescription": "The size field well of a word cloud. Values are aggregated based on group by fields.", - "title": "Size", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudChartConfiguration": { - "additionalProperties": false, - "properties": { - "CategoryLabelOptions": { - "$ref": "#/definitions/AWS::QuickSight::Template.ChartAxisLabelOptions", - "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) for the word cloud category.", - "title": "CategoryLabelOptions" - }, - "FieldWells": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudFieldWells", - "markdownDescription": "The field wells of the visual.", - "title": "FieldWells" - }, - "Interactions": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualInteractionOptions", - "markdownDescription": "The general visual interactions setup for a visual.", - "title": "Interactions" - }, - "SortConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudSortConfiguration", - "markdownDescription": "The sort configuration of a word cloud visual.", - "title": "SortConfiguration" - }, - "WordCloudOptions": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudOptions", - "markdownDescription": "The options for a word cloud visual.", - "title": "WordCloudOptions" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudFieldWells": { - "additionalProperties": false, - "properties": { - "WordCloudAggregatedFieldWells": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudAggregatedFieldWells", - "markdownDescription": "The aggregated field wells of a word cloud.", - "title": "WordCloudAggregatedFieldWells" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudOptions": { - "additionalProperties": false, - "properties": { - "CloudLayout": { - "markdownDescription": "The cloud layout options (fluid, normal) of a word cloud.", - "title": "CloudLayout", - "type": "string" - }, - "MaximumStringLength": { - "markdownDescription": "The length limit of each word from 1-100.", - "title": "MaximumStringLength", - "type": "number" - }, - "WordCasing": { - "markdownDescription": "The word casing options (lower_case, existing_case) for the words in a word cloud.", - "title": "WordCasing", - "type": "string" - }, - "WordOrientation": { - "markdownDescription": "The word orientation options (horizontal, horizontal_and_vertical) for the words in a word cloud.", - "title": "WordOrientation", - "type": "string" - }, - "WordPadding": { - "markdownDescription": "The word padding options (none, small, medium, large) for the words in a word cloud.", - "title": "WordPadding", - "type": "string" - }, - "WordScaling": { - "markdownDescription": "The word scaling options (emphasize, normal) for the words in a word cloud.", - "title": "WordScaling", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudSortConfiguration": { - "additionalProperties": false, - "properties": { - "CategoryItemsLimit": { - "$ref": "#/definitions/AWS::QuickSight::Template.ItemsLimitConfiguration", - "markdownDescription": "The limit on the number of groups that are displayed in a word cloud.", - "title": "CategoryItemsLimit" - }, - "CategorySort": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.FieldSortOptions" - }, - "markdownDescription": "The sort configuration of group by fields.", - "title": "CategorySort", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudVisual": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualCustomAction" - }, - "markdownDescription": "The list of custom actions that are configured for a visual.", - "title": "Actions", - "type": "array" - }, - "ChartConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudChartConfiguration", - "markdownDescription": "The configuration settings of the visual.", - "title": "ChartConfiguration" - }, - "ColumnHierarchies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.ColumnHierarchy" - }, - "markdownDescription": "The column hierarchy that is used during drill-downs and drill-ups.", - "title": "ColumnHierarchies", - "type": "array" - }, - "Subtitle": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions", - "markdownDescription": "The subtitle that is displayed on the visual.", - "title": "Subtitle" - }, - "Title": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions", - "markdownDescription": "The title that is displayed on the visual.", - "title": "Title" - }, - "VisualContentAltText": { - "markdownDescription": "The alt text for the visual.", - "title": "VisualContentAltText", - "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", - "type": "string" - } - }, - "required": [ - "VisualId" - ], - "type": "object" - }, - "AWS::QuickSight::Template.YAxisOptions": { - "additionalProperties": false, - "properties": { - "YAxis": { - "markdownDescription": "The Y axis type to be used in the chart.\n\nIf you choose `PRIMARY_Y_AXIS` , the primary Y Axis is located on the leftmost vertical axis of the chart.", - "title": "YAxis", - "type": "string" - } - }, - "required": [ - "YAxis" - ], - "type": "object" - }, - "AWS::QuickSight::Theme": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 ID of the AWS account where you want to store the new theme.", - "title": "AwsAccountId", - "type": "string" - }, - "BaseThemeId": { - "markdownDescription": "The ID of the theme that a custom theme will inherit from. All themes inherit from one of the starting themes defined by Amazon Quick Sight. For a list of the starting themes, use `ListThemes` or choose *Themes* from within an analysis.", - "title": "BaseThemeId", - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration", - "markdownDescription": "The theme configuration, which contains the theme display properties.", - "title": "Configuration" - }, - "Name": { - "markdownDescription": "A display name for the theme.", - "title": "Name", - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" - }, - "markdownDescription": "A valid grouping of resource permissions to apply to the new theme.", - "title": "Permissions", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs for the resource tag or tags that you want to add to the resource.", - "title": "Tags", - "type": "array" - }, - "ThemeId": { - "markdownDescription": "An ID for the theme that you want to create. The theme ID is unique per AWS Region in each AWS account.", - "title": "ThemeId", - "type": "string" - }, - "VersionDescription": { - "markdownDescription": "A description of the first version of the theme that you're creating. Every time `UpdateTheme` is called, a new version is created. Each version of the theme has a description of the version in the `VersionDescription` field.", - "title": "VersionDescription", - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "BaseThemeId", - "Configuration", - "Name", - "ThemeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Theme" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.BorderStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "markdownDescription": "The option to enable display of borders for visuals.", - "title": "Show", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.DataColorPalette": { - "additionalProperties": false, - "properties": { - "Colors": { - "items": { - "type": "string" - }, - "markdownDescription": "The hexadecimal codes for the colors.", - "title": "Colors", - "type": "array" - }, - "EmptyFillColor": { - "markdownDescription": "The hexadecimal code of a color that applies to charts where a lack of data is highlighted.", - "title": "EmptyFillColor", - "type": "string" - }, - "MinMaxGradient": { - "items": { - "type": "string" - }, - "markdownDescription": "The minimum and maximum hexadecimal codes that describe a color gradient.", - "title": "MinMaxGradient", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Font": { - "additionalProperties": false, - "properties": { - "FontFamily": { - "markdownDescription": "Determines the font family settings.", - "title": "FontFamily", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.GutterStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "markdownDescription": "This Boolean value controls whether to display a gutter space between sheet tiles.", - "title": "Show", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.MarginStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "markdownDescription": "This Boolean value controls whether to display sheet margins.", - "title": "Show", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM action to grant or revoke permissions on.", - "title": "Actions", - "type": "array" - }, - "Principal": { - "markdownDescription": "The Amazon Resource Name (ARN) of the principal. This can be one of the following:\n\n- The ARN of an Amazon Quick user or group associated with a data source or dataset. (This is common.)\n- The ARN of an Amazon Quick user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)\n- The ARN of an AWS account root: This is an IAM ARN rather than a Quick ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)", - "title": "Principal", - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.SheetStyle": { - "additionalProperties": false, - "properties": { - "Tile": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle", - "markdownDescription": "The display options for tiles.", - "title": "Tile" - }, - "TileLayout": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle", - "markdownDescription": "The layout options for tiles.", - "title": "TileLayout" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeConfiguration": { - "additionalProperties": false, - "properties": { - "DataColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette", - "markdownDescription": "Color properties that apply to chart data colors.", - "title": "DataColorPalette" - }, - "Sheet": { - "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle", - "markdownDescription": "Display options related to sheets.", - "title": "Sheet" - }, - "Typography": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Typography", - "markdownDescription": "Determines the typography options.", - "title": "Typography" - }, - "UIColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette", - "markdownDescription": "Color properties that apply to the UI and to charts, excluding the colors that apply to data.", - "title": "UIColorPalette" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeError": { - "additionalProperties": false, - "properties": { - "Message": { - "markdownDescription": "The error message.", - "title": "Message", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of error.", - "title": "Type", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeVersion": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource.", - "title": "Arn", - "type": "string" - }, - "BaseThemeId": { - "markdownDescription": "The Quick Sight-defined ID of the theme that a custom theme inherits from. All themes initially inherit from a default Quick Sight theme.", - "title": "BaseThemeId", - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration", - "markdownDescription": "The theme configuration, which contains all the theme display properties.", - "title": "Configuration" - }, - "CreatedTime": { - "markdownDescription": "The date and time that this theme version was created.", - "title": "CreatedTime", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the theme.", - "title": "Description", - "type": "string" - }, - "Errors": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeError" - }, - "markdownDescription": "Errors associated with the theme.", - "title": "Errors", - "type": "array" - }, - "Status": { - "markdownDescription": "The status of the theme version.", - "title": "Status", - "type": "string" - }, - "VersionNumber": { - "markdownDescription": "The version number of the theme.", - "title": "VersionNumber", - "type": "number" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileLayoutStyle": { - "additionalProperties": false, - "properties": { - "Gutter": { - "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle", - "markdownDescription": "The gutter settings that apply between tiles.", - "title": "Gutter" - }, - "Margin": { - "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle", - "markdownDescription": "The margin settings that apply around the outside edge of sheets.", - "title": "Margin" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileStyle": { - "additionalProperties": false, - "properties": { - "Border": { - "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle", - "markdownDescription": "The border around a tile.", - "title": "Border" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Typography": { - "additionalProperties": false, - "properties": { - "FontFamilies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Font" - }, - "markdownDescription": "Determines the list of font families.", - "title": "FontFamilies", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.UIColorPalette": { - "additionalProperties": false, - "properties": { - "Accent": { - "markdownDescription": "This color is that applies to selected states and buttons.", - "title": "Accent", - "type": "string" - }, - "AccentForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the accent color.", - "title": "AccentForeground", - "type": "string" - }, - "Danger": { - "markdownDescription": "The color that applies to error messages.", - "title": "Danger", - "type": "string" - }, - "DangerForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the error color.", - "title": "DangerForeground", - "type": "string" - }, - "Dimension": { - "markdownDescription": "The color that applies to the names of fields that are identified as dimensions.", - "title": "Dimension", - "type": "string" - }, - "DimensionForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the dimension color.", - "title": "DimensionForeground", - "type": "string" - }, - "Measure": { - "markdownDescription": "The color that applies to the names of fields that are identified as measures.", - "title": "Measure", - "type": "string" - }, - "MeasureForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the measure color.", - "title": "MeasureForeground", - "type": "string" - }, - "PrimaryBackground": { - "markdownDescription": "The background color that applies to visuals and other high emphasis UI.", - "title": "PrimaryBackground", - "type": "string" - }, - "PrimaryForeground": { - "markdownDescription": "The color of text and other foreground elements that appear over the primary background regions, such as grid lines, borders, table banding, icons, and so on.", - "title": "PrimaryForeground", - "type": "string" - }, - "SecondaryBackground": { - "markdownDescription": "The background color that applies to the sheet background and sheet controls.", - "title": "SecondaryBackground", - "type": "string" - }, - "SecondaryForeground": { - "markdownDescription": "The foreground color that applies to any sheet title, sheet control text, or UI that appears over the secondary background.", - "title": "SecondaryForeground", - "type": "string" - }, - "Success": { - "markdownDescription": "The color that applies to success messages, for example the check mark for a successful download.", - "title": "Success", - "type": "string" - }, - "SuccessForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the success color.", - "title": "SuccessForeground", - "type": "string" - }, - "Warning": { - "markdownDescription": "This color that applies to warning and informational messages.", - "title": "Warning", - "type": "string" - }, - "WarningForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the warning color.", - "title": "WarningForeground", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 ID of the AWS account that you want to create a topic in.", - "title": "AwsAccountId", - "type": "string" - }, - "ConfigOptions": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicConfigOptions", - "markdownDescription": "Configuration options for a `Topic` .", - "title": "ConfigOptions" - }, - "CustomInstructions": { - "$ref": "#/definitions/AWS::QuickSight::Topic.CustomInstructions", - "markdownDescription": "", - "title": "CustomInstructions" - }, - "DataSets": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DatasetMetadata" - }, - "markdownDescription": "The data sets that the topic is associated with.", - "title": "DataSets", - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the topic.", - "title": "Description", - "type": "string" - }, - "FolderArns": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "FolderArns", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the topic.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - }, - "TopicId": { - "markdownDescription": "The ID for the topic. This ID is unique per AWS Region for each AWS account.", - "title": "TopicId", - "type": "string" - }, - "UserExperienceVersion": { - "markdownDescription": "The user experience version of the topic.", - "title": "UserExperienceVersion", - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Topic" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.CellValueSynonym": { - "additionalProperties": false, - "properties": { - "CellValue": { - "markdownDescription": "The cell value.", - "title": "CellValue", - "type": "string" - }, - "Synonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "Other names or aliases for the cell value.", - "title": "Synonyms", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.CollectiveConstant": { - "additionalProperties": false, - "properties": { - "ValueList": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of values for the collective constant.", - "title": "ValueList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.ComparativeOrder": { - "additionalProperties": false, - "properties": { - "SpecifedOrder": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of columns to be used in the ordering.", - "title": "SpecifedOrder", - "type": "array" - }, - "TreatUndefinedSpecifiedValues": { - "markdownDescription": "The treat of undefined specified values. Valid values for this structure are `LEAST` and `MOST` .", - "title": "TreatUndefinedSpecifiedValues", - "type": "string" - }, - "UseOrdering": { - "markdownDescription": "The ordering type for a column. Valid values for this structure are `GREATER_IS_BETTER` , `LESSER_IS_BETTER` and `SPECIFIED` .", - "title": "UseOrdering", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.CustomInstructions": { - "additionalProperties": false, - "properties": { - "CustomInstructionsString": { - "markdownDescription": "", - "title": "CustomInstructionsString", - "type": "string" - } - }, - "required": [ - "CustomInstructionsString" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.DataAggregation": { - "additionalProperties": false, - "properties": { - "DatasetRowDateGranularity": { - "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", - "title": "DatasetRowDateGranularity", - "type": "string" - }, - "DefaultDateColumnName": { - "markdownDescription": "The column name for the default date.", - "title": "DefaultDateColumnName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.DatasetMetadata": { - "additionalProperties": false, - "properties": { - "CalculatedFields": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCalculatedField" - }, - "markdownDescription": "The list of calculated field definitions.", - "title": "CalculatedFields", - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicColumn" - }, - "markdownDescription": "The list of column definitions.", - "title": "Columns", - "type": "array" - }, - "DataAggregation": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DataAggregation", - "markdownDescription": "The definition of a data aggregation.", - "title": "DataAggregation" - }, - "DatasetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the dataset.", - "title": "DatasetArn", - "type": "string" - }, - "DatasetDescription": { - "markdownDescription": "The description of the dataset.", - "title": "DatasetDescription", - "type": "string" - }, - "DatasetName": { - "markdownDescription": "The name of the dataset.", - "title": "DatasetName", - "type": "string" - }, - "Filters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicFilter" - }, - "markdownDescription": "The list of filter definitions.", - "title": "Filters", - "type": "array" - }, - "NamedEntities": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNamedEntity" - }, - "markdownDescription": "The list of named entities definitions.", - "title": "NamedEntities", - "type": "array" - } - }, - "required": [ - "DatasetArn" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.DefaultFormatting": { - "additionalProperties": false, - "properties": { - "DisplayFormat": { - "markdownDescription": "The display format. Valid values for this structure are `AUTO` , `PERCENT` , `CURRENCY` , `NUMBER` , `DATE` , and `STRING` .", - "title": "DisplayFormat", - "type": "string" - }, - "DisplayFormatOptions": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DisplayFormatOptions", - "markdownDescription": "The additional options for display formatting.", - "title": "DisplayFormatOptions" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.DisplayFormatOptions": { - "additionalProperties": false, - "properties": { - "BlankCellFormat": { - "markdownDescription": "Determines the blank cell format.", - "title": "BlankCellFormat", - "type": "string" - }, - "CurrencySymbol": { - "markdownDescription": "The currency symbol, such as `USD` .", - "title": "CurrencySymbol", - "type": "string" - }, - "DateFormat": { - "markdownDescription": "Determines the `DateTime` format.", - "title": "DateFormat", - "type": "string" - }, - "DecimalSeparator": { - "markdownDescription": "Determines the decimal separator.", - "title": "DecimalSeparator", - "type": "string" - }, - "FractionDigits": { - "markdownDescription": "Determines the number of fraction digits.", - "title": "FractionDigits", - "type": "number" - }, - "GroupingSeparator": { - "markdownDescription": "Determines the grouping separator.", - "title": "GroupingSeparator", - "type": "string" - }, - "NegativeFormat": { - "$ref": "#/definitions/AWS::QuickSight::Topic.NegativeFormat", - "markdownDescription": "The negative format.", - "title": "NegativeFormat" - }, - "Prefix": { - "markdownDescription": "The prefix value for a display format.", - "title": "Prefix", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The suffix value for a display format.", - "title": "Suffix", - "type": "string" - }, - "UnitScaler": { - "markdownDescription": "The unit scaler. Valid values for this structure are: `NONE` , `AUTO` , `THOUSANDS` , `MILLIONS` , `BILLIONS` , and `TRILLIONS` .", - "title": "UnitScaler", - "type": "string" - }, - "UseBlankCellFormat": { - "markdownDescription": "A Boolean value that indicates whether to use blank cell format.", - "title": "UseBlankCellFormat", - "type": "boolean" - }, - "UseGrouping": { - "markdownDescription": "A Boolean value that indicates whether to use grouping.", - "title": "UseGrouping", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.NamedEntityDefinition": { - "additionalProperties": false, - "properties": { - "FieldName": { - "markdownDescription": "The name of the entity.", - "title": "FieldName", - "type": "string" - }, - "Metric": { - "$ref": "#/definitions/AWS::QuickSight::Topic.NamedEntityDefinitionMetric", - "markdownDescription": "The definition of a metric.", - "title": "Metric" - }, - "PropertyName": { - "markdownDescription": "The property name to be used for the named entity.", - "title": "PropertyName", - "type": "string" - }, - "PropertyRole": { - "markdownDescription": "The property role. Valid values for this structure are `PRIMARY` and `ID` .", - "title": "PropertyRole", - "type": "string" - }, - "PropertyUsage": { - "markdownDescription": "The property usage. Valid values for this structure are `INHERIT` , `DIMENSION` , and `MEASURE` .", - "title": "PropertyUsage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.NamedEntityDefinitionMetric": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "The aggregation of a named entity. Valid values for this structure are `SUM` , `MIN` , `MAX` , `COUNT` , `AVERAGE` , `DISTINCT_COUNT` , `STDEV` , `STDEVP` , `VAR` , `VARP` , `PERCENTILE` , `MEDIAN` , and `CUSTOM` .", - "title": "Aggregation", - "type": "string" - }, - "AggregationFunctionParameters": { - "additionalProperties": true, - "markdownDescription": "The additional parameters for an aggregation function.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AggregationFunctionParameters", - "type": "object" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.NegativeFormat": { - "additionalProperties": false, - "properties": { - "Prefix": { - "markdownDescription": "The prefix for a negative format.", - "title": "Prefix", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The suffix for a negative format.", - "title": "Suffix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.RangeConstant": { - "additionalProperties": false, - "properties": { - "Maximum": { - "markdownDescription": "The maximum value for a range constant.", - "title": "Maximum", - "type": "string" - }, - "Minimum": { - "markdownDescription": "The minimum value for a range constant.", - "title": "Minimum", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.SemanticEntityType": { - "additionalProperties": false, - "properties": { - "SubTypeName": { - "markdownDescription": "The semantic entity sub type name.", - "title": "SubTypeName", - "type": "string" - }, - "TypeName": { - "markdownDescription": "The semantic entity type name.", - "title": "TypeName", - "type": "string" - }, - "TypeParameters": { - "additionalProperties": true, - "markdownDescription": "The semantic entity type parameters.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TypeParameters", - "type": "object" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.SemanticType": { - "additionalProperties": false, - "properties": { - "FalseyCellValue": { - "markdownDescription": "The semantic type falsey cell value.", - "title": "FalseyCellValue", - "type": "string" - }, - "FalseyCellValueSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the false cell value.", - "title": "FalseyCellValueSynonyms", - "type": "array" - }, - "SubTypeName": { - "markdownDescription": "The semantic type sub type name.", - "title": "SubTypeName", - "type": "string" - }, - "TruthyCellValue": { - "markdownDescription": "The semantic type truthy cell value.", - "title": "TruthyCellValue", - "type": "string" - }, - "TruthyCellValueSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the true cell value.", - "title": "TruthyCellValueSynonyms", - "type": "array" - }, - "TypeName": { - "markdownDescription": "The semantic type name.", - "title": "TypeName", - "type": "string" - }, - "TypeParameters": { - "additionalProperties": true, - "markdownDescription": "The semantic type parameters.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TypeParameters", - "type": "object" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicCalculatedField": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "The default aggregation. Valid values for this structure are `SUM` , `MAX` , `MIN` , `COUNT` , `DISTINCT_COUNT` , and `AVERAGE` .", - "title": "Aggregation", - "type": "string" - }, - "AllowedAggregations": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of aggregation types that are allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", - "title": "AllowedAggregations", - "type": "array" - }, - "CalculatedFieldDescription": { - "markdownDescription": "The calculated field description.", - "title": "CalculatedFieldDescription", - "type": "string" - }, - "CalculatedFieldName": { - "markdownDescription": "The calculated field name.", - "title": "CalculatedFieldName", - "type": "string" - }, - "CalculatedFieldSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the calculated field.", - "title": "CalculatedFieldSynonyms", - "type": "array" - }, - "CellValueSynonyms": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.CellValueSynonym" - }, - "markdownDescription": "The other names or aliases for the calculated field cell value.", - "title": "CellValueSynonyms", - "type": "array" - }, - "ColumnDataRole": { - "markdownDescription": "The column data role for a calculated field. Valid values for this structure are `DIMENSION` and `MEASURE` .", - "title": "ColumnDataRole", - "type": "string" - }, - "ComparativeOrder": { - "$ref": "#/definitions/AWS::QuickSight::Topic.ComparativeOrder", - "markdownDescription": "The order in which data is displayed for the calculated field when it's used in a comparative context.", - "title": "ComparativeOrder" - }, - "DefaultFormatting": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DefaultFormatting", - "markdownDescription": "The default formatting definition.", - "title": "DefaultFormatting" - }, - "DisableIndexing": { - "markdownDescription": "A Boolean value that indicates if a calculated field is visible in the autocomplete.", - "title": "DisableIndexing", - "type": "boolean" - }, - "Expression": { - "markdownDescription": "The calculated field expression.", - "title": "Expression", - "type": "string" - }, - "IsIncludedInTopic": { - "markdownDescription": "A boolean value that indicates if a calculated field is included in the topic.", - "title": "IsIncludedInTopic", - "type": "boolean" - }, - "NeverAggregateInFilter": { - "markdownDescription": "A Boolean value that indicates whether to never aggregate calculated field in filters.", - "title": "NeverAggregateInFilter", - "type": "boolean" - }, - "NonAdditive": { - "markdownDescription": "The non additive for the table style target.", - "title": "NonAdditive", - "type": "boolean" - }, - "NotAllowedAggregations": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of aggregation types that are not allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", - "title": "NotAllowedAggregations", - "type": "array" - }, - "SemanticType": { - "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticType", - "markdownDescription": "The semantic type.", - "title": "SemanticType" - }, - "TimeGranularity": { - "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", - "title": "TimeGranularity", - "type": "string" - } - }, - "required": [ - "CalculatedFieldName", - "Expression" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.TopicCategoryFilter": { - "additionalProperties": false, - "properties": { - "CategoryFilterFunction": { - "markdownDescription": "The category filter function. Valid values for this structure are `EXACT` and `CONTAINS` .", - "title": "CategoryFilterFunction", - "type": "string" - }, - "CategoryFilterType": { - "markdownDescription": "The category filter type. This element is used to specify whether a filter is a simple category filter or an inverse category filter.", - "title": "CategoryFilterType", - "type": "string" - }, - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCategoryFilterConstant", - "markdownDescription": "The constant used in a category filter.", - "title": "Constant" - }, - "Inverse": { - "markdownDescription": "A Boolean value that indicates if the filter is inverse.", - "title": "Inverse", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicCategoryFilterConstant": { - "additionalProperties": false, - "properties": { - "CollectiveConstant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.CollectiveConstant", - "markdownDescription": "A collective constant used in a category filter. This element is used to specify a list of values for the constant.", - "title": "CollectiveConstant" - }, - "ConstantType": { - "markdownDescription": "The type of category filter constant. This element is used to specify whether a constant is a singular or collective. Valid values are `SINGULAR` and `COLLECTIVE` .", - "title": "ConstantType", - "type": "string" - }, - "SingularConstant": { - "markdownDescription": "A singular constant used in a category filter. This element is used to specify a single value for the constant.", - "title": "SingularConstant", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicColumn": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "The type of aggregation that is performed on the column data when it's queried.", - "title": "Aggregation", - "type": "string" - }, - "AllowedAggregations": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of aggregation types that are allowed for the column. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", - "title": "AllowedAggregations", - "type": "array" - }, - "CellValueSynonyms": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.CellValueSynonym" - }, - "markdownDescription": "The other names or aliases for the column cell value.", - "title": "CellValueSynonyms", - "type": "array" - }, - "ColumnDataRole": { - "markdownDescription": "The role of the column in the data. Valid values are `DIMENSION` and `MEASURE` .", - "title": "ColumnDataRole", - "type": "string" - }, - "ColumnDescription": { - "markdownDescription": "A description of the column and its contents.", - "title": "ColumnDescription", - "type": "string" - }, - "ColumnFriendlyName": { - "markdownDescription": "A user-friendly name for the column.", - "title": "ColumnFriendlyName", - "type": "string" - }, - "ColumnName": { - "markdownDescription": "The name of the column.", - "title": "ColumnName", - "type": "string" - }, - "ColumnSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the column.", - "title": "ColumnSynonyms", - "type": "array" - }, - "ComparativeOrder": { - "$ref": "#/definitions/AWS::QuickSight::Topic.ComparativeOrder", - "markdownDescription": "The order in which data is displayed for the column when it's used in a comparative context.", - "title": "ComparativeOrder" - }, - "DefaultFormatting": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DefaultFormatting", - "markdownDescription": "The default formatting used for values in the column.", - "title": "DefaultFormatting" - }, - "DisableIndexing": { - "markdownDescription": "A Boolean value that indicates whether the column shows in the autocomplete functionality.", - "title": "DisableIndexing", - "type": "boolean" - }, - "IsIncludedInTopic": { - "markdownDescription": "A Boolean value that indicates whether the column is included in the query results.", - "title": "IsIncludedInTopic", - "type": "boolean" - }, - "NeverAggregateInFilter": { - "markdownDescription": "A Boolean value that indicates whether to aggregate the column data when it's used in a filter context.", - "title": "NeverAggregateInFilter", - "type": "boolean" - }, - "NonAdditive": { - "markdownDescription": "The non additive value for the column.", - "title": "NonAdditive", - "type": "boolean" - }, - "NotAllowedAggregations": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of aggregation types that are not allowed for the column. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", - "title": "NotAllowedAggregations", - "type": "array" - }, - "SemanticType": { - "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticType", - "markdownDescription": "The semantic type of data contained in the column.", - "title": "SemanticType" - }, - "TimeGranularity": { - "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", - "title": "TimeGranularity", - "type": "string" - } - }, - "required": [ - "ColumnName" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.TopicConfigOptions": { - "additionalProperties": false, - "properties": { - "QBusinessInsightsEnabled": { - "markdownDescription": "Enables Amazon Q Business Insights for a `Topic` .", - "title": "QBusinessInsightsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicDateRangeFilter": { - "additionalProperties": false, - "properties": { - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRangeFilterConstant", - "markdownDescription": "The constant used in a date range filter.", - "title": "Constant" - }, - "Inclusive": { - "markdownDescription": "A Boolean value that indicates whether the date range filter should include the boundary values. If set to true, the filter includes the start and end dates. If set to false, the filter excludes them.", - "title": "Inclusive", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicFilter": { - "additionalProperties": false, - "properties": { - "CategoryFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCategoryFilter", - "markdownDescription": "The category filter that is associated with this filter.", - "title": "CategoryFilter" - }, - "DateRangeFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicDateRangeFilter", - "markdownDescription": "The date range filter.", - "title": "DateRangeFilter" - }, - "FilterClass": { - "markdownDescription": "The class of the filter. Valid values for this structure are `ENFORCED_VALUE_FILTER` , `CONDITIONAL_VALUE_FILTER` , and `NAMED_VALUE_FILTER` .", - "title": "FilterClass", - "type": "string" - }, - "FilterDescription": { - "markdownDescription": "A description of the filter used to select items for a topic.", - "title": "FilterDescription", - "type": "string" - }, - "FilterName": { - "markdownDescription": "The name of the filter.", - "title": "FilterName", - "type": "string" - }, - "FilterSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the filter.", - "title": "FilterSynonyms", - "type": "array" - }, - "FilterType": { - "markdownDescription": "The type of the filter. Valid values for this structure are `CATEGORY_FILTER` , `NUMERIC_EQUALITY_FILTER` , `NUMERIC_RANGE_FILTER` , `DATE_RANGE_FILTER` , and `RELATIVE_DATE_FILTER` .", - "title": "FilterType", - "type": "string" - }, - "NumericEqualityFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNumericEqualityFilter", - "markdownDescription": "The numeric equality filter.", - "title": "NumericEqualityFilter" - }, - "NumericRangeFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNumericRangeFilter", - "markdownDescription": "The numeric range filter.", - "title": "NumericRangeFilter" - }, - "OperandFieldName": { - "markdownDescription": "The name of the field that the filter operates on.", - "title": "OperandFieldName", - "type": "string" - }, - "RelativeDateFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRelativeDateFilter", - "markdownDescription": "The relative date filter.", - "title": "RelativeDateFilter" - } - }, - "required": [ - "FilterName", - "OperandFieldName" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.TopicNamedEntity": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.NamedEntityDefinition" - }, - "markdownDescription": "The definition of a named entity.", - "title": "Definition", - "type": "array" - }, - "EntityDescription": { - "markdownDescription": "The description of the named entity.", - "title": "EntityDescription", - "type": "string" - }, - "EntityName": { - "markdownDescription": "The name of the named entity.", - "title": "EntityName", - "type": "string" - }, - "EntitySynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the named entity.", - "title": "EntitySynonyms", - "type": "array" - }, - "SemanticEntityType": { - "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticEntityType", - "markdownDescription": "The type of named entity that a topic represents.", - "title": "SemanticEntityType" - } - }, - "required": [ - "EntityName" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.TopicNumericEqualityFilter": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "An aggregation function that specifies how to calculate the value of a numeric field for a topic. Valid values for this structure are `NO_AGGREGATION` , `SUM` , `AVERAGE` , `COUNT` , `DISTINCT_COUNT` , `MAX` , `MEDIAN` , `MIN` , `STDEV` , `STDEVP` , `VAR` , and `VARP` .", - "title": "Aggregation", - "type": "string" - }, - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicSingularFilterConstant", - "markdownDescription": "The constant used in a numeric equality filter.", - "title": "Constant" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicNumericRangeFilter": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "An aggregation function that specifies how to calculate the value of a numeric field for a topic, Valid values for this structure are `NO_AGGREGATION` , `SUM` , `AVERAGE` , `COUNT` , `DISTINCT_COUNT` , `MAX` , `MEDIAN` , `MIN` , `STDEV` , `STDEVP` , `VAR` , and `VARP` .", - "title": "Aggregation", - "type": "string" - }, - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRangeFilterConstant", - "markdownDescription": "The constant used in a numeric range filter.", - "title": "Constant" - }, - "Inclusive": { - "markdownDescription": "A Boolean value that indicates whether the endpoints of the numeric range are included in the filter. If set to true, topics whose numeric field value is equal to the endpoint values will be included in the filter. If set to false, topics whose numeric field value is equal to the endpoint values will be excluded from the filter.", - "title": "Inclusive", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicRangeFilterConstant": { - "additionalProperties": false, - "properties": { - "ConstantType": { - "markdownDescription": "The data type of the constant value that is used in a range filter. Valid values for this structure are `RANGE` .", - "title": "ConstantType", - "type": "string" - }, - "RangeConstant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.RangeConstant", - "markdownDescription": "The value of the constant that is used to specify the endpoints of a range filter.", - "title": "RangeConstant" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicRelativeDateFilter": { - "additionalProperties": false, - "properties": { - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicSingularFilterConstant", - "markdownDescription": "The constant used in a relative date filter.", - "title": "Constant" - }, - "RelativeDateFilterFunction": { - "markdownDescription": "The function to be used in a relative date filter to determine the range of dates to include in the results. Valid values for this structure are `BEFORE` , `AFTER` , and `BETWEEN` .", - "title": "RelativeDateFilterFunction", - "type": "string" - }, - "TimeGranularity": { - "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", - "title": "TimeGranularity", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicSingularFilterConstant": { - "additionalProperties": false, - "properties": { - "ConstantType": { - "markdownDescription": "The type of the singular filter constant. Valid values for this structure are `SINGULAR` .", - "title": "ConstantType", - "type": "string" - }, - "SingularConstant": { - "markdownDescription": "The value of the singular filter constant.", - "title": "SingularConstant", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::TopicV2": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "CustomInstructions": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.CustomInstructions" - }, - "DataSetRelations": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.DataSetRelation" - }, - "type": "array" - }, - "DataSets": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.DataSetReference" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "FolderArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.ResourcePermission" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::TopicV2" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.CustomInstructions": { - "additionalProperties": false, - "properties": { - "CustomInstructionsString": { - "type": "string" - } - }, - "required": [ - "CustomInstructionsString" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetName": { - "type": "string" - } - }, - "required": [ - "DataSetArn" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.DataSetRelation": { - "additionalProperties": false, - "properties": { - "Left": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.DataSetRelationEndpoint" - }, - "Right": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.DataSetRelationEndpoint" - } - }, - "required": [ - "Left", - "Right" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.DataSetRelationEndpoint": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DataSetArn": { - "type": "string" - } - }, - "required": [ - "ColumnNames", - "DataSetArn" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::VPCConnection": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "markdownDescription": "The availability status of the VPC connection.", - "title": "AvailabilityStatus", - "type": "string" - }, - "AwsAccountId": { - "markdownDescription": "The AWS account ID of the account where you want to create a new VPC connection.", - "title": "AwsAccountId", - "type": "string" - }, - "DnsResolvers": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of IP addresses of DNS resolver endpoints for the VPC connection.", - "title": "DnsResolvers", - "type": "array" - }, - "Name": { - "markdownDescription": "The display name for the VPC connection.", - "title": "Name", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role associated with the VPC connection.", - "title": "RoleArn", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon EC2 security group IDs associated with the VPC connection.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of subnet IDs for the VPC connection.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs for the resource tag or tags assigned to the VPC connection.", - "title": "Tags", - "type": "array" - }, - "VPCConnectionId": { - "markdownDescription": "The ID of the VPC connection that you're creating. This ID is a unique identifier for each AWS Region in an AWS account.", - "title": "VPCConnectionId", - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::VPCConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::VPCConnection.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The availability zone that the network interface resides in.", - "title": "AvailabilityZone", - "type": "string" - }, - "ErrorMessage": { - "markdownDescription": "An error message.", - "title": "ErrorMessage", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The network interface ID.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the network interface.", - "title": "Status", - "type": "string" - }, - "SubnetId": { - "markdownDescription": "The subnet ID associated with the network interface.", - "title": "SubnetId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RAM::Permission": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "Specifies the name of the customer managed permission. The name must be unique within the AWS Region .", - "title": "Name", - "type": "string" - }, - "PolicyTemplate": { - "markdownDescription": "A string in JSON format string that contains the following elements of a resource-based policy:\n\n- *Effect* : must be set to `ALLOW` .\n- *Action* : specifies the actions that are allowed by this customer managed permission. The list must contain only actions that are supported by the specified resource type. For a list of all actions supported by each resource type, 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 *AWS Identity and Access Management User Guide* .\n- *Condition* : (optional) specifies conditional parameters that must evaluate to true when a user attempts an action for that action to be allowed. For more information about the Condition element, see [IAM policies: Condition element](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) in the *AWS Identity and Access Management User Guide* .\n\nThis template can't include either the `Resource` or `Principal` elements. Those are both filled in by AWS RAM when it instantiates the resource-based policy on each resource shared using this managed permission. The `Resource` comes from the ARN of the specific resource that you are sharing. The `Principal` comes from the list of identities added to the resource share.", - "title": "PolicyTemplate", - "type": "object" - }, - "ResourceType": { - "markdownDescription": "Specifies the name of the resource type that this customer managed permission applies to.\n\nThe format is `** : **` and is not case sensitive. For example, to specify an Amazon EC2 Subnet, you can use the string `ec2:subnet` . To see the list of valid values for this parameter, query the [ListResourceTypes](https://docs.aws.amazon.com/ram/latest/APIReference/API_ListResourceTypes.html) operation.", - "title": "ResourceType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies a list of one or more tag key and value pairs to attach to the permission.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name", - "PolicyTemplate", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RAM::Permission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RAM::ResourceShare": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowExternalPrincipals": { - "markdownDescription": "Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. A value of `true` lets you share with individual AWS accounts that are *not* in your organization. A value of `false` only has meaning if your account is a member of an AWS Organization. The default value is `true` .", - "title": "AllowExternalPrincipals", - "type": "boolean" - }, - "Name": { - "markdownDescription": "Specifies the name of the resource share.", - "title": "Name", - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share.", - "title": "PermissionArns", - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the principals to associate with the resource share. The possible values are:\n\n- An AWS account ID\n- An Amazon Resource Name (ARN) of an organization in AWS Organizations\n- An ARN of an organizational unit (OU) in AWS Organizations\n- An ARN of an IAM role\n- An ARN of an IAM user\n\n> Not all resource types can be shared with IAM roles and users. For more information, see the column *Can share with IAM roles and users* in the tables on [Shareable AWS resources](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html) in the *AWS Resource Access Manager User Guide* .", - "title": "Principals", - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies a list of one or more ARNs of the resources to associate with the resource share.", - "title": "ResourceArns", - "type": "array" - }, - "ResourceShareConfiguration": { - "$ref": "#/definitions/AWS::RAM::ResourceShare.ResourceShareConfiguration" - }, - "Sources": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies from which source accounts the service principal has access to the resources in this resource share.", - "title": "Sources", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies one or more tags to attach to the resource share itself. It doesn't attach the tags to the resources associated with the resource share.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RAM::ResourceShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RAM::ResourceShare.ResourceShareConfiguration": { - "additionalProperties": false, - "properties": { - "ExclusiveAccountAccess": { - "type": "boolean" - }, - "RetainSharingOnAccountLeaveOrganization": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::RDS::ClusterSnapshot": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterSnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBClusterIdentifier", - "DBClusterSnapshotIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::ClusterSnapshot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::CustomDBEngineVersion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseInstallationFiles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DatabaseInstallationFilesS3BucketName": { - "markdownDescription": "The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is `my-custom-installation-files` .", - "title": "DatabaseInstallationFilesS3BucketName", - "type": "string" - }, - "DatabaseInstallationFilesS3Prefix": { - "markdownDescription": "The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is `123456789012/cev1` . If this setting isn't specified, no prefix is assumed.", - "title": "DatabaseInstallationFilesS3Prefix", - "type": "string" - }, - "Description": { - "markdownDescription": "An optional description of your CEV.", - "title": "Description", - "type": "string" - }, - "Engine": { - "markdownDescription": "The database engine to use for your custom engine version (CEV).\n\nValid values:\n\n- `custom-oracle-ee`\n- `custom-oracle-ee-cdb`", - "title": "Engine", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The name of your CEV. The name format is `major version.customized_string` . For example, a valid CEV name is `19.my_cev1` . This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of `Engine` and `EngineVersion` is unique per customer per Region.\n\n*Constraints:* Minimum length is 1. Maximum length is 60.\n\n*Pattern:* `^[a-z0-9_.-]{1,60$` }", - "title": "EngineVersion", - "type": "string" - }, - "ImageId": { - "markdownDescription": "A value that indicates the ID of the AMI.", - "title": "ImageId", - "type": "string" - }, - "KMSKeyId": { - "markdownDescription": "The AWS KMS key identifier for an encrypted CEV. A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS.\n\nIf you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in [Creating a symmetric encryption KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) in the *AWS Key Management Service Developer Guide* .\n\nYou can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys.", - "title": "KMSKeyId", - "type": "string" - }, - "Manifest": { - "markdownDescription": "The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.\n\nThe following JSON fields are valid:\n\n- **MediaImportTemplateVersion** - Version of the CEV manifest. The date is in the format `YYYY-MM-DD` .\n- **databaseInstallationFileNames** - Ordered list of installation files for the CEV.\n- **opatchFileNames** - Ordered list of OPatch installers used for the Oracle DB engine.\n- **psuRuPatchFileNames** - The PSU and RU patches for this CEV.\n- **OtherPatchFileNames** - The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches.\n\nFor more information, see [Creating the CEV manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) in the *Amazon RDS User Guide* .", - "title": "Manifest", - "type": "string" - }, - "SourceCustomDbEngineVersionIdentifier": { - "markdownDescription": "The ARN of a CEV to use as a source for creating a new CEV. You can specify a different Amazon Machine Imagine (AMI) by using either `Source` or `UseAwsProvidedLatestImage` . You can't specify a different JSON manifest when you specify `SourceCustomDbEngineVersionIdentifier` .", - "title": "SourceCustomDbEngineVersionIdentifier", - "type": "string" - }, - "Status": { - "markdownDescription": "A value that indicates the status of a custom engine version (CEV).", - "title": "Status", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*", - "title": "Tags", - "type": "array" - }, - "UseAwsProvidedLatestImage": { - "markdownDescription": "Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. If you specify `UseAwsProvidedLatestImage` , you can't also specify `ImageId` .", - "title": "UseAwsProvidedLatestImage", - "type": "boolean" - } - }, - "required": [ - "Engine", - "EngineVersion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::CustomDBEngineVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nThis setting is required to create a Multi-AZ DB cluster.", - "title": "AllocatedStorage", - "type": "number" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "markdownDescription": "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "AssociatedRoles", - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "markdownDescription": "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB cluster.\n\nFor more information about automatic minor version upgrades, see [Automatically upgrading the minor engine version](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades) .", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see [Choosing the Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", - "title": "AvailabilityZones", - "type": "array" - }, - "BacktrackWindow": { - "markdownDescription": "The target backtrack window, in seconds. To disable backtracking, set this value to `0` .\n\nValid for Cluster Type: Aurora MySQL DB clusters only\n\nDefault: `0`\n\nConstraints:\n\n- If specified, this value must be set to a number from 0 to 259,200 (72 hours).", - "title": "BacktrackWindow", - "type": "number" - }, - "BackupRetentionPeriod": { - "markdownDescription": "The number of days for which automated backups are retained.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 1 to 35\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "BackupRetentionPeriod", - "type": "number" - }, - "ClusterScalabilityType": { - "markdownDescription": "Specifies the scalability mode of the Aurora DB cluster. When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation.\n\n*Important:* Automated backup retention isn't supported with Aurora Limitless Database clusters. If you set this property to `limitless` , you cannot set `DeleteAutomatedBackups` to `false` . To create a backup, use manual snapshots instead.", - "title": "ClusterScalabilityType", - "type": "string" - }, - "CopyTagsToSnapshot": { - "markdownDescription": "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "CopyTagsToSnapshot", - "type": "boolean" - }, - "DBClusterIdentifier": { - "markdownDescription": "The DB 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- First character must be a letter.\n- Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: `my-cluster1`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DBClusterIdentifier", - "type": "string" - }, - "DBClusterInstanceClass": { - "markdownDescription": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6gd.xlarge` . Not all DB instance classes are available in all AWS Regions , or for all database engines.\n\nFor the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only", - "title": "DBClusterInstanceClass", - "type": "string" - }, - "DBClusterParameterGroupName": { - "markdownDescription": "The name of the DB cluster parameter group to associate with this DB cluster.\n\n> If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n> \n> If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started. \n\nTo list all of the available DB cluster parameter group names, use the following command:\n\n`aws rds describe-db-cluster-parameter-groups --query \"DBClusterParameterGroups[].DBClusterParameterGroupName\" --output text`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DBClusterParameterGroupName", - "type": "string" - }, - "DBInstanceParameterGroupName": { - "markdownDescription": "The name of the DB parameter group to apply to all instances of the DB cluster.\n\n> When you apply a parameter group using the `DBInstanceParameterGroupName` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window. \n\nValid for Cluster Type: Aurora DB clusters only\n\nDefault: The existing name setting\n\nConstraints:\n\n- The DB parameter group must be in the same DB parameter group family as this DB cluster.\n- The `DBInstanceParameterGroupName` parameter is valid in combination with the `AllowMajorVersionUpgrade` parameter for a major version upgrade only.", - "title": "DBInstanceParameterGroupName", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "A DB subnet group that you want to associate with this DB cluster.\n\nIf you are restoring a DB cluster to a point in time with `RestoreType` set to `copy-on-write` , and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DBSubnetGroupName", - "type": "string" - }, - "DBSystemId": { - "markdownDescription": "Reserved for future use.", - "title": "DBSystemId", - "type": "string" - }, - "DatabaseInsightsMode": { - "markdownDescription": "The mode of Database Insights to enable for the DB cluster.\n\nIf you set this value to `advanced` , you must also set the `PerformanceInsightsEnabled` parameter to `true` and the `PerformanceInsightsRetentionPeriod` parameter to 465.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DatabaseInsightsMode", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of your database. If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see [Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DatabaseName", - "type": "string" - }, - "DeleteAutomatedBackups": { - "markdownDescription": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted, unless the AWS Backup policy specifies a point-in-time restore rule.", - "title": "DeleteAutomatedBackups", - "type": "boolean" - }, - "DeletionProtection": { - "markdownDescription": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DeletionProtection", - "type": "boolean" - }, - "Domain": { - "markdownDescription": "Indicates the directory ID of the Active Directory to create the DB cluster.\n\nFor Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.\n\nFor more information, see [Kerberos authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", - "title": "Domain", - "type": "string" - }, - "DomainIAMRoleName": { - "markdownDescription": "Specifies the name of the IAM role to use when making API calls to the Directory Service.\n\nValid for: Aurora DB clusters only", - "title": "DomainIAMRoleName", - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Aurora User Guide* .\n\n*Aurora MySQL*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Aurora PostgreSQL*\n\nValid values: `postgresql`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "EnableCloudwatchLogsExports", - "type": "array" - }, - "EnableGlobalWriteForwarding": { - "markdownDescription": "Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.\n\nYou can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.\n\nValid for Cluster Type: Aurora DB clusters only", - "title": "EnableGlobalWriteForwarding", - "type": "boolean" - }, - "EnableHttpEndpoint": { - "markdownDescription": "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n\nWhen enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n\nFor more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide* .\n\nValid for Cluster Type: Aurora DB clusters only", - "title": "EnableHttpEndpoint", - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "markdownDescription": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n\nFor more information, see [IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon Aurora User Guide.*\n\nValid for: Aurora DB clusters only", - "title": "EnableIAMDatabaseAuthentication", - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "markdownDescription": "Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.\n\nValid for: Aurora DB clusters only", - "title": "EnableLocalWriteForwarding", - "type": "boolean" - }, - "Engine": { - "markdownDescription": "The name of the database engine to be used for this DB cluster.\n\nValid Values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `mysql`\n- `postgres`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "Engine", - "type": "string" - }, - "EngineLifecycleSupport": { - "markdownDescription": "The life cycle type for this DB cluster.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date. \n\nYou can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n\n- Amazon Aurora - [Amazon RDS Extended Support with Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide*\n- Amazon RDS - [Amazon RDS Extended Support with Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide*\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", - "title": "EngineLifecycleSupport", - "type": "string" - }, - "EngineMode": { - "markdownDescription": "The DB engine mode of the DB cluster, either `provisioned` or `serverless` .\n\nThe `serverless` engine mode only applies for Aurora Serverless v1 DB clusters. Aurora Serverless v2 DB clusters use the `provisioned` engine mode.\n\nFor information about limitations and requirements for Serverless DB clusters, see the following sections in the *Amazon Aurora User Guide* :\n\n- [Limitations of Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)\n- [Requirements for Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html)\n\nValid for Cluster Type: Aurora DB clusters only", - "title": "EngineMode", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The version number of the database engine to use.\n\nTo list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (8.0-compatible), use the following command:\n\n`aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"`\n\nYou can supply either `5.7` or `8.0` to use the default engine version for Aurora MySQL version 2 or version 3, respectively.\n\nTo list all of the available engine versions for Aurora PostgreSQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"`\n\nTo list all of the available engine versions for RDS for MySQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"`\n\nTo list all of the available engine versions for RDS for PostgreSQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"`\n\n*Aurora MySQL*\n\nFor information, see [Database engine updates for Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) in the *Amazon Aurora User Guide* .\n\n*Aurora PostgreSQL*\n\nFor information, see [Amazon Aurora PostgreSQL releases and engine versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) in the *Amazon Aurora User Guide* .\n\n*MySQL*\n\nFor information, see [Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide* .\n\n*PostgreSQL*\n\nFor information, see [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) in the *Amazon RDS User Guide* .\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "EngineVersion", - "type": "string" - }, - "GlobalClusterIdentifier": { - "markdownDescription": "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the [AWS::RDS::GlobalCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html) resource.\n\nIf you aren't configuring a global database cluster, don't specify this property.\n\n> To remove the DB cluster from a global database cluster, specify an empty value for the `GlobalClusterIdentifier` property. \n\nFor information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", - "title": "GlobalClusterIdentifier", - "type": "string" - }, - "Iops": { - "markdownDescription": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.\n\nFor information about valid IOPS values, see [Provisioned IOPS storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nConstraints:\n\n- Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . If you enable the `StorageEncrypted` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the `StorageEncrypted` property to `true` .\n\nIf you specify the `SnapshotIdentifier` property, the `StorageEncrypted` property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used.\n\nIf you create a read replica of an encrypted DB cluster in another AWS Region, make sure to set `KmsKeyId` to a KMS key identifier that is valid in the destination AWS Region. This KMS key is used to encrypt the read replica in that AWS Region.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "KmsKeyId", - "type": "string" - }, - "ManageMasterUserPassword": { - "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nConstraints:\n\n- Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified.", - "title": "ManageMasterUserPassword", - "type": "boolean" - }, - "MasterUserAuthenticationType": { - "markdownDescription": "Specifies the authentication type for the master user. With IAM master user authentication, you can configure the master DB user with IAM database authentication when you create a DB cluster.\n\nYou can specify one of the following values:\n\n- `password` - Use standard database authentication with a password.\n- `iam-db-auth` - Use IAM database authentication for the master user.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nThis option is only valid for RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, Aurora MySQL, and Aurora PostgreSQL engines.", - "title": "MasterUserAuthenticationType", - "type": "string" - }, - "MasterUserPassword": { - "markdownDescription": "The master password for the DB instance.\n\n> If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "MasterUserPassword", - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/AWS::RDS::DBCluster.MasterUserSecret", - "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n\n> When you restore a DB cluster from a snapshot, Amazon RDS generates a new secret instead of reusing the secret specified in the `SecretArn` property. This ensures that the restored DB cluster is securely managed with a dedicated secret. To maintain consistent integration with your application, you might need to update resource configurations to reference the newly created secret. \n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*", - "title": "MasterUserSecret" - }, - "MasterUsername": { - "markdownDescription": "The name of the master user for the DB cluster.\n\n> If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "MasterUsername", - "type": "string" - }, - "MonitoringInterval": { - "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify `0` .\n\nIf `MonitoringRoleArn` is specified, also set `MonitoringInterval` to a value other than `0` .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`\n\nDefault: `0`", - "title": "MonitoringInterval", - "type": "number" - }, - "MonitoringRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* .\n\nIf `MonitoringInterval` is set to a value other than `0` , supply a `MonitoringRoleArn` value.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "MonitoringRoleArn", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "The network type of the DB cluster.\n\nValid values:\n\n- `IPV4`\n- `DUAL`\n\nThe network type is determined by the `DBSubnetGroup` specified for the DB cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ).\n\nFor more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon Aurora User Guide.*\n\nValid for: Aurora DB clusters only", - "title": "NetworkType", - "type": "string" - }, - "PerformanceInsightsEnabled": { - "markdownDescription": "Specifies whether to turn on Performance Insights for the DB cluster.\n\nFor more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "PerformanceInsightsEnabled", - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n\nThe AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n\nIf you don't specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account . Your AWS account has a different default KMS key for each AWS Region .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "PerformanceInsightsKmsKeyId", - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "markdownDescription": "The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter `PerformanceInsightsRetentionPeriod` .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values:\n\n- `7`\n- *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31)\n- `731`\n\nDefault: `7` days\n\nIf you specify a retention period that isn't valid, such as `94` , Amazon RDS issues an error.", - "title": "PerformanceInsightsRetentionPeriod", - "type": "number" - }, - "Port": { - "markdownDescription": "The port number on which the DB instances in the DB cluster accept connections.\n\nDefault:\n\n- When `EngineMode` is `provisioned` , `3306` (for both Aurora MySQL and Aurora PostgreSQL)\n- When `EngineMode` is `serverless` :\n\n- `3306` when `Engine` is `aurora` or `aurora-mysql`\n- `5432` when `Engine` is `aurora-postgresql`\n\n> The `No interruption` on update behavior only applies to DB clusters. If you are updating a DB instance, see [Port](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port) for the AWS::RDS::DBInstance resource. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "Port", - "type": "number" - }, - "PreferredBackupWindow": { - "markdownDescription": "The daily time range during which automated backups are created. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) in the *Amazon Aurora User Guide.*\n\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.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "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. To see the time blocks available, see [Maintaining an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) in the *Amazon Aurora User Guide.*\n\nValid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n\nConstraints: Minimum 30-minute window.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "PreferredMaintenanceWindow", - "type": "string" - }, - "PubliclyAccessible": { - "markdownDescription": "Specifies whether the DB cluster is publicly accessible.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nWhen the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its domain name system (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is controlled by its security group settings.\n\nWhen the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.\n\nThe default behavior when `PubliclyAccessible` is not specified depends on whether a `DBSubnetGroup` is specified.\n\nIf `DBSubnetGroup` isn't specified, `PubliclyAccessible` defaults to `true` .\n\nIf `DBSubnetGroup` is specified, `PubliclyAccessible` defaults to `false` unless the value of `DBSubnetGroup` is `default` , in which case `PubliclyAccessible` defaults to `true` .\n\nIf `PubliclyAccessible` is true and the VPC that the `DBSubnetGroup` is in doesn't have an internet gateway attached to it, Amazon RDS returns an error.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ReplicationSourceIdentifier": { - "markdownDescription": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.\n\nValid for: Aurora DB clusters only", - "title": "ReplicationSourceIdentifier", - "type": "string" - }, - "RestoreToTime": { - "markdownDescription": "The date and time to restore the DB cluster to.\n\nValid Values: Value must be a time in Universal Coordinated Time (UTC) format\n\nConstraints:\n\n- Must be before the latest restorable time for the DB instance\n- Must be specified if `UseLatestRestorableTime` parameter isn't provided\n- Can't be specified if the `UseLatestRestorableTime` parameter is enabled\n- Can't be specified if the `RestoreType` parameter is `copy-on-write`\n\nThis property must be used with `SourceDBClusterIdentifier` property. The resulting cluster will have the identifier that matches the value of the `DBclusterIdentifier` property.\n\nExample: `2015-03-07T23:45:00Z`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "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\nIf you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "RestoreType", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration", - "markdownDescription": "The scaling configuration of an Aurora Serverless v1 DB cluster.\n\nThis property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the `ServerlessV2ScalingConfiguration` property.\n\nValid for: Aurora Serverless v1 DB clusters only", - "title": "ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ServerlessV2ScalingConfiguration", - "markdownDescription": "The scaling configuration of an Aurora Serverless V2 DB cluster.\n\nThis property is only supported for Aurora Serverless v2. For Aurora Serverless v1, Use the `ScalingConfiguration` property.\n\nValid for: Aurora Serverless v2 DB clusters only", - "title": "ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "markdownDescription": "The identifier for the DB snapshot or DB cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.\n\nAfter you restore a DB cluster with a `SnapshotIdentifier` property, you must specify the same `SnapshotIdentifier` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed. However, if you don't specify the `SnapshotIdentifier` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified `SnapshotIdentifier` property, and the original DB cluster is deleted.\n\nIf you specify the `SnapshotIdentifier` property to restore a DB cluster (as opposed to specifying it for DB cluster updates), then don't specify the following properties:\n\n- `GlobalClusterIdentifier`\n- `MasterUsername`\n- `MasterUserPassword`\n- `ReplicationSourceIdentifier`\n- `RestoreType`\n- `SourceDBClusterIdentifier`\n- `SourceRegion`\n- `StorageEncrypted` (for an encrypted snapshot)\n- `UseLatestRestorableTime`\n\nConstraints:\n\n- Must match the identifier of an existing Snapshot.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "SnapshotIdentifier", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "markdownDescription": "When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore.\n\nConstraints:\n\n- Must match the identifier of an existing DBCluster.\n- Cannot be specified if `SourceDbClusterResourceId` is specified. You must specify either `SourceDBClusterIdentifier` or `SourceDbClusterResourceId` , but not both.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "SourceDBClusterIdentifier", - "type": "string" - }, - "SourceDbClusterResourceId": { - "markdownDescription": "The resource ID of the source DB cluster from which to restore.", - "title": "SourceDbClusterResourceId", - "type": "string" - }, - "SourceRegion": { - "markdownDescription": "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, `us-east-1` .\n\nValid for: Aurora DB clusters only", - "title": "SourceRegion", - "type": "string" - }, - "StorageEncrypted": { - "markdownDescription": "Indicates whether the DB cluster is encrypted.\n\nIf you specify the `KmsKeyId` property, then you must enable encryption.\n\nIf you specify the `SourceDBClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used.\n\nIf you specify the `SnapshotIdentifier` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified `KmsKeyId` property is used.\n\nIf you specify the `SnapshotIdentifier` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the `KmsKeyId` property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to `false` .\n\n> If you specify both the `StorageEncrypted` and `SnapshotIdentifier` properties without specifying the `KmsKeyId` property, then the restored DB cluster inherits the encryption settings from the DB snapshot that provide. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "StorageEncrypted", - "type": "boolean" - }, - "StorageType": { - "markdownDescription": "The storage type to associate with the DB cluster.\n\nFor information on storage types for Aurora DB clusters, see [Storage configurations for Amazon Aurora DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type) . For information on storage types for Multi-AZ DB clusters, see [Settings for creating Multi-AZ DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings) .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nWhen specified for a Multi-AZ DB cluster, a value for the `Iops` parameter is required.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values:\n\n- Aurora DB clusters - `aurora | aurora-iopt1`\n- Multi-AZ DB clusters - `io1 | io2 | gp3`\n\nDefault:\n\n- Aurora DB clusters - `aurora`\n- Multi-AZ DB clusters - `io1`\n\n> When you create an Aurora DB cluster with the storage type set to `aurora-iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `aurora` .", - "title": "StorageType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB cluster.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "Tags", - "type": "array" - }, - "UseLatestRestorableTime": { - "markdownDescription": "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "UseLatestRestorableTime", - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of EC2 VPC security groups to associate with this DB cluster.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "VpcSecurityGroupIds", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* .", - "title": "FeatureName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.", - "title": "RoleArn", - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "Specifies the connection endpoint for the primary instance of the DB cluster.", - "title": "Address", - "type": "string" - }, - "Port": { - "markdownDescription": "Specifies the port that the database engine is listening on.", - "title": "Port", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBCluster.MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.", - "title": "KmsKeyId", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#aws-resource-rds-dbcluster-return-values) .", - "title": "SecretArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBCluster.ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "The host address of the reader endpoint.", - "title": "Address", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBCluster.ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "markdownDescription": "Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in `serverless` DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).\n\n> If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.", - "title": "AutoPause", - "type": "boolean" - }, - "MaxCapacity": { - "markdownDescription": "The maximum capacity for an Aurora DB cluster in `serverless` DB engine mode.\n\nFor Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` .\n\nFor Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` .\n\nThe maximum capacity must be greater than or equal to the minimum capacity.", - "title": "MaxCapacity", - "type": "number" - }, - "MinCapacity": { - "markdownDescription": "The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode.\n\nFor Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` .\n\nFor Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` .\n\nThe minimum capacity must be less than or equal to the maximum capacity.", - "title": "MinCapacity", - "type": "number" - }, - "SecondsBeforeTimeout": { - "markdownDescription": "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.\n\nSpecify a value between 60 and 600 seconds.", - "title": "SecondsBeforeTimeout", - "type": "number" - }, - "SecondsUntilAutoPause": { - "markdownDescription": "The time, in seconds, before an Aurora DB cluster in `serverless` mode is paused.\n\nSpecify a value between 300 and 86,400 seconds.", - "title": "SecondsUntilAutoPause", - "type": "number" - }, - "TimeoutAction": { - "markdownDescription": "The action to take when the timeout is reached, either `ForceApplyCapacityChange` or `RollbackCapacityChange` .\n\n`ForceApplyCapacityChange` sets the capacity to the specified value as soon as possible.\n\n`RollbackCapacityChange` , the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n\n> If you specify `ForceApplyCapacityChange` , connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped. \n\nFor more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide* .", - "title": "TimeoutAction", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBCluster.ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "markdownDescription": "The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128.\n\nThe maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide* .\n\nAurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the `ParameterApplyStatus` value for the DB instance changes to `pending-reboot` . You can update the parameter values by rebooting the DB instance after changing the capacity range.", - "title": "MaxCapacity", - "type": "number" - }, - "MinCapacity": { - "markdownDescription": "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5.", - "title": "MinCapacity", - "type": "number" - }, - "SecondsUntilAutoPause": { - "markdownDescription": "Specifies the number of seconds an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it.\n\nSpecify a value between 300 seconds (five minutes) and 86,400 seconds (one day). The default is 300 seconds.", - "title": "SecondsUntilAutoPause", - "type": "number" - } - }, - "type": "object" - }, - "AWS::RDS::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBClusterParameterGroupName": { - "markdownDescription": "The name of the DB cluster parameter group.\n\nConstraints:\n\n- Must not match the name of an existing DB cluster parameter group.\n\n> This value is stored as a lowercase string.", - "title": "DBClusterParameterGroupName", - "type": "string" - }, - "Description": { - "markdownDescription": "The description for the DB cluster parameter group.", - "title": "Description", - "type": "string" - }, - "Family": { - "markdownDescription": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.\n\n*Aurora MySQL*\n\nExample: `aurora-mysql5.7` , `aurora-mysql8.0`\n\n*Aurora PostgreSQL*\n\nExample: `aurora-postgresql14`\n\n*RDS for MySQL*\n\nExample: `mysql8.0`\n\n*RDS for PostgreSQL*\n\nExample: `postgres13`\n\nTo list all of the available parameter group families for a DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine `\n\nFor example, to list all of the available parameter group families for the Aurora PostgreSQL DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine aurora-postgresql`\n\n> The output contains duplicates. \n\nThe following are the valid DB engine values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `mysql`\n- `postgres`", - "title": "Family", - "type": "string" - }, - "Parameters": { - "markdownDescription": "Provides a list of parameters for the DB cluster parameter group.", - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB cluster parameter group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalStorageVolumes": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.AdditionalStorageVolume" - }, - "type": "array" - }, - "AllocatedStorage": { - "markdownDescription": "The amount of storage in gibibytes (GiB) to be initially allocated for the database instance.\n\n> If any value is set in the `Iops` parameter, `AllocatedStorage` must be at least 100 GiB, which corresponds to the minimum Iops value of 1,000. If you increase the `Iops` value (in 1,000 IOPS increments), then you must also increase the `AllocatedStorage` value (in 100-GiB increments). \n\n*Amazon Aurora*\n\nNot applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.\n\n*Db2*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp3): Must be an integer from 20 to 64000.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 64000.\n\n*MySQL*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*MariaDB*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*PostgreSQL*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*Oracle*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 10 to 3072.\n\n*SQL Server*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 16384.\n- Web and Express editions: Must be an integer from 20 to 16384.\n- Provisioned IOPS storage (io1):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 16384.\n- Web and Express editions: Must be an integer from 20 to 16384.\n- Magnetic storage (standard):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 1024.\n- Web and Express editions: Must be an integer from 20 to 1024.", - "title": "AllocatedStorage", - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "markdownDescription": "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.\n\nConstraints: Major version upgrades must be allowed when specifying a value for the `EngineVersion` parameter that is a different major version than the DB instance's current version.", - "title": "AllowMajorVersionUpgrade", - "type": "boolean" - }, - "ApplyImmediately": { - "markdownDescription": "Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the `PreferredMaintenanceWindow` setting. If set to `false` , changes are applied during the next maintenance window. Until RDS applies the changes, the DB instance remains in a drift state. As a result, the configuration doesn't fully reflect the requested modifications and temporarily diverges from the intended state.\n\nIn addition to the settings described in [Modifying a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) , this property also determines whether the DB instance reboots when a static parameter is modified in the associated DB parameter group.\n\nDefault: `true`", - "title": "ApplyImmediately", - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "markdownDescription": "The AWS Identity and Access Management (IAM) roles associated with the DB instance.\n\n*Amazon Aurora*\n\nNot applicable. The associated roles are managed by the DB cluster.", - "title": "AssociatedRoles", - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" - }, - "AutomaticBackupReplicationKmsKeyId": { - "markdownDescription": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region , for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE` .", - "title": "AutomaticBackupReplicationKmsKeyId", - "type": "string" - }, - "AutomaticBackupReplicationRegion": { - "markdownDescription": "The AWS Region associated with the automated backup.", - "title": "AutomaticBackupReplicationRegion", - "type": "string" - }, - "AutomaticBackupReplicationRetentionPeriod": { - "markdownDescription": "The retention period for automated backups in a different AWS Region. Use this parameter to set a unique retention period that only applies to cross-Region automated backups. To enable automated backups in a different Region, specify a positive value for the `AutomaticBackupReplicationRegion` parameter.\n\nIf not specified, this parameter defaults to the value of the `BackupRetentionPeriod` parameter. The maximum allowed value is 35.", - "title": "AutomaticBackupReplicationRetentionPeriod", - "type": "number" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone (AZ) where the database will be created. For information on AWS Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html) .\n\nFor Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's AWS Region .\n\nConstraints:\n\n- The `AvailabilityZone` parameter can't be specified if the DB instance is a Multi-AZ deployment.\n- The specified Availability Zone must be in the same AWS Region as the current endpoint.\n\nExample: `us-east-1d`", - "title": "AvailabilityZone", - "type": "string" - }, - "BackupRetentionPeriod": { - "markdownDescription": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n\n*Amazon Aurora*\n\nNot applicable. The retention period for automated backups is managed by the DB cluster.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 0 to 35\n- Can't be set to 0 if the DB instance is a source to read replicas", - "title": "BackupRetentionPeriod", - "type": "number" - }, - "BackupTarget": { - "markdownDescription": "The location for storing automated backups and manual snapshots.\n\nValid Values:\n\n- `local` (Dedicated Local Zone)\n- `outposts` ( AWS Outposts)\n- `region` ( AWS Region )\n\nDefault: `region`\n\nFor more information, see [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) in the *Amazon RDS User Guide* .", - "title": "BackupTarget", - "type": "string" - }, - "CACertificateIdentifier": { - "markdownDescription": "The identifier of the CA certificate for this DB instance.\n\nFor more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide* .", - "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, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:\n\n- For more information about rotating your SSL/TLS certificate for RDS DB engines, see [Rotating Your SSL/TLS Certificate.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon RDS User Guide.*\n- For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [Rotating Your SSL/TLS Certificate](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon Aurora User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "CertificateRotationRestart", - "type": "boolean" - }, - "CharacterSetName": { - "markdownDescription": "For supported engines, indicates that the DB instance should be associated with the specified character set.\n\n*Amazon Aurora*\n\nNot applicable. The character set is managed by the DB cluster. For more information, see [AWS::RDS::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html) .", - "title": "CharacterSetName", - "type": "string" - }, - "CopyTagsToSnapshot": { - "markdownDescription": "Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.\n\nThis setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.", - "title": "CopyTagsToSnapshot", - "type": "boolean" - }, - "CustomIAMInstanceProfile": { - "markdownDescription": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.\n\nThis setting is required for RDS Custom.\n\nConstraints:\n\n- The profile must exist in your account.\n- The profile must have an IAM role that Amazon EC2 has permissions to assume.\n- The instance profile name and the associated IAM role name must start with the prefix `AWSRDSCustom` .\n\nFor the list of permissions required for the IAM role, see [Configure IAM and your VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) in the *Amazon RDS User Guide* .", - "title": "CustomIAMInstanceProfile", - "type": "string" - }, - "DBClusterIdentifier": { - "markdownDescription": "The identifier of the DB cluster that this DB instance will belong to.\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "DBClusterIdentifier", - "type": "string" - }, - "DBClusterSnapshotIdentifier": { - "markdownDescription": "The identifier for the Multi-AZ DB cluster snapshot to restore from.\n\nFor more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n- Can't be specified when `DBSnapshotIdentifier` is specified.\n- Must be specified when `DBSnapshotIdentifier` isn't specified.\n- If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the `DBClusterSnapshotIdentifier` must be the ARN of the shared snapshot.\n- Can't be the identifier of an Aurora DB cluster snapshot.", - "title": "DBClusterSnapshotIdentifier", - "type": "string" - }, - "DBInstanceClass": { - "markdownDescription": "The compute and memory capacity of the DB instance, for example `db.m5.large` . Not all DB instance classes are available in all AWS Regions , or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide* .", - "title": "DBInstanceClass", - "type": "string" - }, - "DBInstanceIdentifier": { - "markdownDescription": "A name for the DB instance. If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nFor information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* .\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "DBInstanceIdentifier", - "type": "string" - }, - "DBName": { - "markdownDescription": "The meaning of this parameter differs according to the database engine you use.\n\n> If you specify the `[DBSnapshotIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsnapshotidentifier)` property, this property only applies to RDS for Oracle. \n\n*Amazon Aurora*\n\nNot applicable. The database name is managed by the DB cluster.\n\n*Db2*\n\nThe name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n- Can't be a word reserved by the specified database engine.\n\n*MySQL*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Can't be a word reserved by the specified database engine\n\n*MariaDB*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Can't be a word reserved by the specified database engine\n\n*PostgreSQL*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, the default `postgres` database is created in the DB instance.\n\nConstraints:\n\n- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n- Must contain 1 to 63 characters.\n- Can't be a word reserved by the specified database engine\n\n*Oracle*\n\nThe Oracle System ID (SID) of the created DB instance. If you specify `null` , the default value `ORCL` is used. You can't specify the string NULL, or any other reserved word, for `DBName` .\n\nDefault: `ORCL`\n\nConstraints:\n\n- Can't be longer than 8 characters\n\n*SQL Server*\n\nNot applicable. Must be null.", - "title": "DBName", - "type": "string" - }, - "DBParameterGroupName": { - "markdownDescription": "The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template.\n\nTo list all of the available DB parameter group names, use the following command:\n\n`aws rds describe-db-parameter-groups --query \"DBParameterGroups[].DBParameterGroupName\" --output text`\n\n> If any of the data members of the referenced parameter group are changed during an update, the DB instance might need to be restarted, which causes some interruption. If the parameter group contains static parameters, whether they were changed or not, an update triggers a reboot. \n\nIf you don't specify a value for `DBParameterGroupName` property, the default DB parameter group for the specified engine and engine version is used.", - "title": "DBParameterGroupName", - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template.\n\nIf you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups.\n\n> If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations:\n> \n> - `AllocatedStorage`\n> - `AutoMinorVersionUpgrade`\n> - `AvailabilityZone`\n> - `BackupRetentionPeriod`\n> - `CharacterSetName`\n> - `DBInstanceClass`\n> - `DBName`\n> - `DBParameterGroupName`\n> - `DBSecurityGroups`\n> - `DBSubnetGroupName`\n> - `Engine`\n> - `EngineVersion`\n> - `Iops`\n> - `LicenseModel`\n> - `MasterUsername`\n> - `MasterUserPassword`\n> - `MultiAZ`\n> - `OptionGroupName`\n> - `PreferredBackupWindow`\n> - `PreferredMaintenanceWindow`\n> \n> All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as `StorageType` , `StorageEncrypted` , or `KmsKeyId` . If you're already using the `DBSecurityGroups` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.", - "title": "DBSecurityGroups", - "type": "array" - }, - "DBSnapshotIdentifier": { - "markdownDescription": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n\nBy specifying this property, you can create a DB instance from the specified DB snapshot. If the `DBSnapshotIdentifier` property is an empty string or the `AWS::RDS::DBInstance` declaration has no `DBSnapshotIdentifier` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n\nSome DB instance properties aren't valid when you restore from a snapshot, such as the `MasterUsername` and `MasterUserPassword` properties, and the point-in-time recovery properties `RestoreTime` and `UseLatestRestorableTime` . For information about the properties that you can specify, see the [`RestoreDBInstanceFromDBSnapshot`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) action in the *Amazon RDS API Reference* .\n\nAfter you restore a DB instance with a `DBSnapshotIdentifier` property, you must specify the same `DBSnapshotIdentifier` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the `DBSnapshotIdentifier` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified `DBSnapshotIdentifier` property, and the original DB instance is deleted.\n\nIf you specify the `DBSnapshotIdentifier` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n\n- `CharacterSetName`\n- `DBClusterIdentifier`\n- `DBName`\n- `KmsKeyId`\n- `MasterUsername`\n- `MasterUserPassword`\n- `PromotionTier`\n- `SourceDBInstanceIdentifier`\n- `SourceRegion`\n- `StorageEncrypted` (for an unencrypted snapshot)\n- `Timezone`\n\n*Amazon Aurora*\n\nNot applicable. Snapshot restore is managed by the DB cluster.", - "title": "DBSnapshotIdentifier", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "A DB subnet group to associate with the DB instance. If you update this value, the new subnet group must be a subnet group in a new VPC.\n\nIf you don't specify a DB subnet group, RDS uses the default DB subnet group if one exists. If a default DB subnet group does not exist, and you don't specify a `DBSubnetGroupName` , the DB instance fails to launch.\n\nFor more information about using Amazon RDS in a VPC, see [Amazon VPC and Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to Amazon Aurora DB instances. The DB subnet group is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", - "title": "DBSubnetGroupName", - "type": "string" - }, - "DBSystemId": { - "markdownDescription": "The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term \"Oracle database instance\" refers exclusively to the system global area (SGA) and Oracle background processes. If you don't specify a SID, the value defaults to `RDSCDB` . The Oracle SID is also the name of your CDB.", - "title": "DBSystemId", - "type": "string" - }, - "DatabaseInsightsMode": { - "markdownDescription": "The mode of Database Insights to enable for the DB instance.\n\n> Aurora DB instances inherit this value from the DB cluster, so you can't change this value.", - "title": "DatabaseInsightsMode", - "type": "string" - }, - "DedicatedLogVolume": { - "markdownDescription": "Indicates whether the DB instance has a dedicated log volume (DLV) enabled.", - "title": "DedicatedLogVolume", - "type": "boolean" - }, - "DeleteAutomatedBackups": { - "markdownDescription": "A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.\n\n*Amazon Aurora*\n\nNot applicable. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the DB cluster are not deleted.", - "title": "DeleteAutomatedBackups", - "type": "boolean" - }, - "DeletionProtection": { - "markdownDescription": "Specifies whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see [Deleting a DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html) .\n\nThis setting doesn't apply to Amazon Aurora DB instances. You can enable or disable deletion protection for the DB cluster. For more information, see `CreateDBCluster` . DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.", - "title": "DeletionProtection", - "type": "boolean" - }, - "Domain": { - "markdownDescription": "The Active Directory directory ID to create the DB instance in. Currently, only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.\n\nFor more information, see [Kerberos Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) in the *Amazon RDS User Guide* .", - "title": "Domain", - "type": "string" - }, - "DomainAuthSecretArn": { - "markdownDescription": "The ARN for the Secrets Manager secret with the credentials for the user joining the domain.\n\nExample: `arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`", - "title": "DomainAuthSecretArn", - "type": "string" - }, - "DomainDnsIps": { - "items": { - "type": "string" - }, - "markdownDescription": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.\n\nConstraints:\n\n- Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.\n\nExample: `123.124.125.126,234.235.236.237`", - "title": "DomainDnsIps", - "type": "array" - }, - "DomainFqdn": { - "markdownDescription": "The fully qualified domain name (FQDN) of an Active Directory domain.\n\nConstraints:\n\n- Can't be longer than 64 characters.\n\nExample: `mymanagedADtest.mymanagedAD.mydomain`", - "title": "DomainFqdn", - "type": "string" - }, - "DomainIAMRoleName": { - "markdownDescription": "The name of the IAM role to use when making API calls to the Directory Service.\n\nThis setting doesn't apply to the following DB instances:\n\n- Amazon Aurora (The domain is managed by the DB cluster.)\n- RDS Custom", - "title": "DomainIAMRoleName", - "type": "string" - }, - "DomainOu": { - "markdownDescription": "The Active Directory organizational unit for your DB instance to join.\n\nConstraints:\n\n- Must be in the distinguished name format.\n- Can't be longer than 64 characters.\n\nExample: `OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`", - "title": "DomainOu", - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide* .\n\n*Amazon Aurora*\n\nNot applicable. CloudWatch Logs exports are managed by the DB cluster.\n\n*Db2*\n\nValid values: `diag.log` , `notify.log`\n\n*MariaDB*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Microsoft SQL Server*\n\nValid values: `agent` , `error`\n\n*MySQL*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Oracle*\n\nValid values: `alert` , `audit` , `listener` , `trace` , `oemagent`\n\n*PostgreSQL*\n\nValid values: `postgresql` , `upgrade`", - "title": "EnableCloudwatchLogsExports", - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "markdownDescription": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n\nThis property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.*\n\n*Amazon Aurora*\n\nNot applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.", - "title": "EnableIAMDatabaseAuthentication", - "type": "boolean" - }, - "EnablePerformanceInsights": { - "markdownDescription": "Specifies whether to enable Performance Insights for the DB instance. For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "EnablePerformanceInsights", - "type": "boolean" - }, - "Engine": { - "markdownDescription": "The name of the database engine to use for this DB instance. Not every database engine is available in every AWS Region.\n\nThis property is required when creating a DB instance.\n\n> You can convert an Oracle database from the non-CDB architecture to the container database (CDB) architecture by updating the `Engine` value in your templates from `oracle-ee` to `oracle-ee-cdb` or from `oracle-se2` to `oracle-se2-cdb` . Converting to the CDB architecture requires an interruption. \n\nValid Values:\n\n- `aurora-mysql` (for Aurora MySQL DB instances)\n- `aurora-postgresql` (for Aurora PostgreSQL DB instances)\n- `custom-oracle-ee` (for RDS Custom for Oracle DB instances)\n- `custom-oracle-ee-cdb` (for RDS Custom for Oracle DB instances)\n- `custom-sqlserver-ee` (for RDS Custom for SQL Server DB instances)\n- `custom-sqlserver-se` (for RDS Custom for SQL Server DB instances)\n- `custom-sqlserver-web` (for RDS Custom for SQL Server DB instances)\n- `db2-ae`\n- `db2-se`\n- `mariadb`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", - "title": "Engine", - "type": "string" - }, - "EngineLifecycleSupport": { - "markdownDescription": "The life cycle type for this DB instance.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB instance into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB instance will fail if the DB major version is past its end of standard support date. \n\nThis setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life cycle type is managed by the DB cluster.\n\nYou can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB instance past the end of standard support for that engine version. For more information, see [Amazon RDS Extended Support with Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* .\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", - "title": "EngineLifecycleSupport", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The version number of the database engine to use.\n\nFor a list of valid engine versions, use the `DescribeDBEngineVersions` action.\n\nThe following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.\n\n*Amazon Aurora*\n\nNot applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.\n\n*Db2*\n\nSee [Amazon RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*MariaDB*\n\nSee [MariaDB on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*Microsoft SQL Server*\n\nSee [Microsoft SQL Server Versions on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) in the *Amazon RDS User Guide.*\n\n*MySQL*\n\nSee [MySQL on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*Oracle*\n\nSee [Oracle Database Engine Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) in the *Amazon RDS User Guide.*\n\n*PostgreSQL*\n\nSee [Supported PostgreSQL Database Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions) in the *Amazon RDS User Guide.*", - "title": "EngineVersion", - "type": "string" - }, - "Iops": { - "markdownDescription": "The number of I/O operations per second (IOPS) that the database provisions. The value must be equal to or greater than 1000.\n\nIf you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GiB of storage (a ratio of 5:1), or specify 2000 IOPS with 200 GiB of storage (a ratio of 10:1). For more information, see [Amazon RDS Provisioned IOPS Storage to Improve Performance](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* .\n\n> If you specify `io1` for the `StorageType` property, then you must also specify the `Iops` property. \n\nConstraints:\n\n- For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.\n- For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The ARN of the AWS KMS key that's used to encrypt the DB instance, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . If you enable the StorageEncrypted property but don't specify this property, AWS CloudFormation uses the default KMS key. If you specify this property, you must set the StorageEncrypted property to true.\n\nIf you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used. However, if the source DB instance is in a different AWS Region, you must specify a KMS key ID.\n\nIf you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup, and if the automated backup is encrypted, the specified `KmsKeyId` property is used.\n\nIf you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the region that they're created in, and you can't use encryption keys from one region in another region.\n\nIf you specify the `DBSnapshotIdentifier` property, don't specify this property. The `StorageEncrypted` property value is inherited from the snapshot. If the DB instance is encrypted, the specified `KmsKeyId` property is also inherited from the snapshot.\n\nIf you specify `DBSecurityGroups` , AWS CloudFormation ignores this property. To specify both a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see [Using Amazon RDS with Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* .\n\n*Amazon Aurora*\n\nNot applicable. The KMS key identifier is managed by the DB cluster.", - "title": "KmsKeyId", - "type": "string" - }, - "LicenseModel": { - "markdownDescription": "License model information for this DB instance.\n\nValid Values:\n\n- Aurora MySQL - `general-public-license`\n- Aurora PostgreSQL - `postgresql-license`\n- RDS for Db2 - `bring-your-own-license` . For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.*\n- RDS for MariaDB - `general-public-license`\n- RDS for Microsoft SQL Server - `license-included`\n- RDS for MySQL - `general-public-license`\n- RDS for Oracle - `bring-your-own-license` or `license-included`\n- RDS for PostgreSQL - `postgresql-license`\n\n> If you've specified `DBSecurityGroups` and then you update the license model, AWS CloudFormation replaces the underlying DB instance. This will incur some interruptions to database availability.", - "title": "LicenseModel", - "type": "string" - }, - "ManageMasterUserPassword": { - "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.*\n\nConstraints:\n\n- Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified.", - "title": "ManageMasterUserPassword", - "type": "boolean" - }, - "MasterUserAuthenticationType": { - "markdownDescription": "Specifies the authentication type for the master user. With IAM master user authentication, you can configure the master DB user with IAM database authentication when you create a DB instance.\n\nYou can specify one of the following values:\n\n- `password` - Use standard database authentication with a password.\n- `iam-db-auth` - Use IAM database authentication for the master user.\n\nThis option is only valid for RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, Aurora MySQL, and Aurora PostgreSQL engines.", - "title": "MasterUserAuthenticationType", - "type": "string" - }, - "MasterUserPassword": { - "markdownDescription": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".\n\n*Amazon Aurora*\n\nNot applicable. The password for the master user is managed by the DB cluster.\n\n*RDS for Db2*\n\nMust contain from 8 to 255 characters.\n\n*RDS for MariaDB*\n\nConstraints: Must contain from 8 to 41 characters.\n\n*RDS for Microsoft SQL Server*\n\nConstraints: Must contain from 8 to 128 characters.\n\n*RDS for MySQL*\n\nConstraints: Must contain from 8 to 41 characters.\n\n*RDS for Oracle*\n\nConstraints: Must contain from 8 to 30 characters.\n\n*RDS for PostgreSQL*\n\nConstraints: Must contain from 8 to 128 characters.", - "title": "MasterUserPassword", - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/AWS::RDS::DBInstance.MasterUserSecret", - "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.*", - "title": "MasterUserSecret" - }, - "MasterUsername": { - "markdownDescription": "The master user name for the DB instance.\n\n> If you specify the `SourceDBInstanceIdentifier` or `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the source DB instance or snapshot.\n> \n> When migrating a self-managed Db2 database, we recommend that you use the same master username as your self-managed Db2 instance name. \n\n*Amazon Aurora*\n\nNot applicable. The name for the master user is managed by the DB cluster.\n\n*RDS for Db2*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for MariaDB*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for Microsoft SQL Server*\n\nConstraints:\n\n- Must be 1 to 128 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for MySQL*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for Oracle*\n\nConstraints:\n\n- Must be 1 to 30 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for PostgreSQL*\n\nConstraints:\n\n- Must be 1 to 63 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.", - "title": "MasterUsername", - "type": "string" - }, - "MaxAllocatedStorage": { - "markdownDescription": "The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.\n\nFor more information about this setting, including limitations that apply to it, see [Managing capacity automatically with Amazon RDS storage autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to the following DB instances:\n\n- Amazon Aurora (Storage is managed by the DB cluster.)\n- RDS Custom", - "title": "MaxAllocatedStorage", - "type": "number" - }, - "MonitoringInterval": { - "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify `0` .\n\nIf `MonitoringRoleArn` is specified, then you must set `MonitoringInterval` to a value other than `0` .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nValid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`\n\nDefault: `0`", - "title": "MonitoringInterval", - "type": "number" - }, - "MonitoringRoleArn": { - "markdownDescription": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting Up and Enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* .\n\nIf `MonitoringInterval` is set to a value other than `0` , then you must supply a `MonitoringRoleArn` value.\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "MonitoringRoleArn", - "type": "string" - }, - "MultiAZ": { - "markdownDescription": "Specifies whether the DB instance is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the DB instance is a Multi-AZ deployment.\n\nThis setting doesn't apply to Amazon Aurora because the DB instance Availability Zones (AZs) are managed by the DB cluster.", - "title": "MultiAZ", - "type": "boolean" - }, - "NcharCharacterSetName": { - "markdownDescription": "The name of the NCHAR character set for the Oracle DB instance.\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "NcharCharacterSetName", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "The network type of the DB instance.\n\nValid values:\n\n- `IPV4`\n- `DUAL`\n\nThe network type is determined by the `DBSubnetGroup` specified for the DB instance. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ).\n\nFor more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon RDS User Guide.*", - "title": "NetworkType", - "type": "string" - }, - "OptionGroupName": { - "markdownDescription": "Indicates that the DB instance should be associated with the specified option group.\n\nPermanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance.", - "title": "OptionGroupName", - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n\nThe KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n\nIf you do not specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account. Your AWS account has a different default KMS key for each AWS Region.\n\nFor information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights) .", - "title": "PerformanceInsightsKMSKeyId", - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "markdownDescription": "The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter `PerformanceInsightsRetentionPeriod` .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nValid Values:\n\n- `7`\n- *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31)\n- `731`\n\nDefault: `7` days\n\nIf you specify a retention period that isn't valid, such as `94` , Amazon RDS returns an error.", - "title": "PerformanceInsightsRetentionPeriod", - "type": "number" - }, - "Port": { - "markdownDescription": "The port number on which the database accepts connections.\n\nThis setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n\nValid Values: `1150-65535`\n\nDefault:\n\n- RDS for Db2 - `50000`\n- RDS for MariaDB - `3306`\n- RDS for Microsoft SQL Server - `1433`\n- RDS for MySQL - `3306`\n- RDS for Oracle - `1521`\n- RDS for PostgreSQL - `5432`\n\nConstraints:\n\n- For RDS for Microsoft SQL Server, the value can't be `1234` , `1434` , `3260` , `3343` , `3389` , `47001` , or `49152-49156` .", - "title": "Port", - "type": "string" - }, - "PreferredBackupWindow": { - "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, using the `BackupRetentionPeriod` parameter. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) in the *Amazon RDS User Guide.*\n\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.\n\n*Amazon Aurora*\n\nNot applicable. The daily time range for creating automated backups is managed by the DB cluster.", - "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. To see the time blocks available, see [Maintaining a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) in the *Amazon RDS User Guide.*\n\n> This property applies when AWS CloudFormation initially creates the DB instance. If you use AWS CloudFormation to update the DB instance, those updates are applied immediately. \n\nConstraints: Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", - "type": "string" - }, - "ProcessorFeatures": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" - }, - "markdownDescription": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.\n\nThis setting doesn't apply to Amazon Aurora or RDS Custom DB instances.", - "title": "ProcessorFeatures", - "type": "array" - }, - "PromotionTier": { - "markdownDescription": "The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nDefault: `1`\n\nValid Values: `0 - 15`", - "title": "PromotionTier", - "type": "number" - }, - "PubliclyAccessible": { - "markdownDescription": "Indicates whether the DB instance is an internet-facing instance. If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address.\n\nThe default behavior value depends on your VPC setup and the database subnet group. For more information, see the `PubliclyAccessible` parameter in the [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) in the *Amazon RDS API Reference* .", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ReplicaMode": { - "markdownDescription": "The open mode of an Oracle read replica. For more information, see [Working with Oracle Read Replicas for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) in the *Amazon RDS User Guide* .\n\nThis setting is only supported in RDS for Oracle.\n\nDefault: `open-read-only`\n\nValid Values: `open-read-only` or `mounted`", - "title": "ReplicaMode", - "type": "string" - }, - "RestoreTime": { - "markdownDescription": "The date and time to restore from. This parameter applies to point-in-time recovery. For more information, see [Restoring a DB instance to a specified time](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html) in the in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Must be a time in Universal Coordinated Time (UTC) format.\n- Must be before the latest restorable time for the DB instance.\n- Can't be specified if the `UseLatestRestorableTime` parameter is enabled.\n\nExample: `2009-09-07T23:45:00Z`", - "title": "RestoreTime", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "markdownDescription": "The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.\n\nConstraints:\n\n- Must be the identifier of an existing Multi-AZ DB cluster.\n- Can't be specified if the `SourceDBInstanceIdentifier` parameter is also specified.\n- The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.\n- The source DB cluster must be in the same AWS Region as the read replica. Cross-Region replication isn't supported.", - "title": "SourceDBClusterIdentifier", - "type": "string" - }, - "SourceDBInstanceAutomatedBackupsArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, `arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE` .\n\nThis setting doesn't apply to RDS Custom.", - "title": "SourceDBInstanceAutomatedBackupsArn", - "type": "string" - }, - "SourceDBInstanceIdentifier": { - "markdownDescription": "If you want to create a read replica DB instance, specify the ID of the source DB instance. Each DB instance can have a limited number of read replicas. For more information, see [Working with Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html) in the *Amazon RDS User Guide* .\n\nFor information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* .\n\nThe `SourceDBInstanceIdentifier` property determines whether a DB instance is a read replica. If you remove the `SourceDBInstanceIdentifier` property from your template and then update your stack, AWS CloudFormation promotes the read replica to a standalone DB instance.\n\nIf you specify the `UseLatestRestorableTime` or `RestoreTime` properties in conjunction with the `SourceDBInstanceIdentifier` property, RDS restores the DB instance to the requested point in time, thereby creating a new DB instance.\n\n> - If you specify a source DB instance that uses VPC security groups, we recommend that you specify the `VPCSecurityGroups` property. If you don't specify the property, the read replica inherits the value of the `VPCSecurityGroups` property from the source DB when you create the replica. However, if you update the stack, AWS CloudFormation reverts the replica's `VPCSecurityGroups` property to the default value because it's not defined in the stack's template. This change might cause unexpected issues.\n> - Read replicas don't support deletion policies. AWS CloudFormation ignores any deletion policy that's associated with a read replica.\n> - If you specify `SourceDBInstanceIdentifier` , don't specify the `DBSnapshotIdentifier` property. You can't create a read replica from a snapshot.\n> - Don't set the `BackupRetentionPeriod` , `DBName` , `MasterUsername` , `MasterUserPassword` , and `PreferredBackupWindow` properties. The database attributes are inherited from the source DB instance, and backups are disabled for read replicas.\n> - If the source DB instance is in a different region than the read replica, specify the source region in `SourceRegion` , and specify an ARN for a valid DB instance in `SourceDBInstanceIdentifier` . For more information, see [Constructing a Amazon RDS Amazon Resource Name (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN) in the *Amazon RDS User Guide* .\n> - For DB instances in Amazon Aurora clusters, don't specify this property. Amazon RDS automatically assigns writer and reader DB instances.", - "title": "SourceDBInstanceIdentifier", - "type": "string" - }, - "SourceDbiResourceId": { - "markdownDescription": "The resource ID of the source DB instance from which to restore.", - "title": "SourceDbiResourceId", - "type": "string" - }, - "SourceRegion": { - "markdownDescription": "The ID of the region that contains the source DB instance for the read replica.", - "title": "SourceRegion", - "type": "string" - }, - "StorageEncrypted": { - "markdownDescription": "A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.\n\nIf you specify the `KmsKeyId` property, then you must enable encryption.\n\nIf you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used.\n\nIf you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup.\n\nIf you specify `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the snapshot.\n\n*Amazon Aurora*\n\nNot applicable. The encryption for DB instances is managed by the DB cluster.", - "title": "StorageEncrypted", - "type": "boolean" - }, - "StorageThroughput": { - "markdownDescription": "Specifies the storage throughput value, in mebibyte per second (MiBps), for the DB instance. This setting applies only to the `gp3` storage type.\n\nThis setting doesn't apply to RDS Custom or Amazon Aurora.", - "title": "StorageThroughput", - "type": "number" - }, - "StorageType": { - "markdownDescription": "The storage type to associate with the DB instance.\n\nIf you specify `io1` , `io2` , or `gp3` , you must also include a value for the `Iops` parameter.\n\nThis setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.\n\nValid Values: `gp2 | gp3 | io1 | io2 | standard`\n\nDefault: `io1` , if the `Iops` parameter is specified. Otherwise, `gp3` .", - "title": "StorageType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB instance.", - "title": "Tags", - "type": "array" - }, - "Timezone": { - "markdownDescription": "The time zone of the DB instance. The time zone parameter is currently supported only by [RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone) and [RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) .", - "title": "Timezone", - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "markdownDescription": "Specifies whether the DB instance class of the DB instance uses its default processor features.\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "UseDefaultProcessorFeatures", - "type": "boolean" - }, - "UseLatestRestorableTime": { - "markdownDescription": "Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time. This parameter applies to point-in-time recovery. For more information, see [Restoring a DB instance to a specified time](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html) in the in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Can't be specified if the `RestoreTime` parameter is provided.", - "title": "UseLatestRestorableTime", - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.\n\nIf you set `VPCSecurityGroups` , you must not set [`DBSecurityGroups`](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) , and vice versa.\n\n> You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind:\n> \n> - You can't revert to using an RDS security group after you establish a VPC security group membership.\n> - When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group.\n> - To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [`DBSecurityGroups`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property. \n\nTo avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template.\n\n*Amazon Aurora*\n\nNot applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", - "title": "VPCSecurityGroups", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.AdditionalStorageVolume": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "StorageThroughput": { - "type": "number" - }, - "StorageType": { - "type": "string" - }, - "VolumeName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.CertificateDetails": { - "additionalProperties": false, - "properties": { - "CAIdentifier": { - "markdownDescription": "The CA identifier of the CA certificate used for the DB instance's server certificate.", - "title": "CAIdentifier", - "type": "string" - }, - "ValidTill": { - "markdownDescription": "The expiration date of the DB instance\u2019s server certificate.", - "title": "ValidTill", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.DBInstanceRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB instance grant permission for the DB instance to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* .", - "title": "FeatureName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.", - "title": "RoleArn", - "type": "string" - } - }, - "required": [ - "FeatureName", - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.DBInstanceStatusInfo": { - "additionalProperties": false, - "properties": { - "Message": { - "markdownDescription": "Details of the error if there is an error for the instance. If the instance isn't in an error state, this value is blank.", - "title": "Message", - "type": "string" - }, - "Normal": { - "markdownDescription": "Indicates whether the instance is operating normally (TRUE) or is in an error state (FALSE).", - "title": "Normal", - "type": "boolean" - }, - "Status": { - "markdownDescription": "The status of the DB instance. For a StatusType of read replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.", - "title": "Status", - "type": "string" - }, - "StatusType": { - "markdownDescription": "This value is currently \"read replication.\"", - "title": "StatusType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "Specifies the DNS address of the DB instance.", - "title": "Address", - "type": "string" - }, - "HostedZoneId": { - "markdownDescription": "Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.", - "title": "HostedZoneId", - "type": "string" - }, - "Port": { - "markdownDescription": "Specifies the port that the database engine is listening on.", - "title": "Port", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.", - "title": "KmsKeyId", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance-return-values) .", - "title": "SecretArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.ProcessorFeature": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the processor feature. Valid names are `coreCount` and `threadsPerCore` .", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of a processor feature.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBParameterGroupName": { - "markdownDescription": "The name of the DB parameter group.\n\nConstraints:\n\n- Must be 1 to 255 letters, numbers, or hyphens.\n- First character must be a letter\n- Can't end with a hyphen or contain two consecutive hyphens\n\nIf you don't specify a value for `DBParameterGroupName` property, a name is automatically created for the DB parameter group.\n\n> This value is stored as a lowercase string.", - "title": "DBParameterGroupName", - "type": "string" - }, - "Description": { - "markdownDescription": "Provides the customer-specified description for this DB parameter group.", - "title": "Description", - "type": "string" - }, - "Family": { - "markdownDescription": "The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.\n\nTo list all of the available parameter group families for a DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine `\n\nFor example, to list all of the available parameter group families for the MySQL DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine mysql`\n\n> The output contains duplicates. \n\nThe following are the valid DB engine values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `db2-ae`\n- `db2-se`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", - "title": "Family", - "type": "string" - }, - "Parameters": { - "markdownDescription": "A mapping of parameter names and values for the parameter update. You must specify at least one parameter name and value.\n\nFor more information about parameter groups, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide* , or [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide* .\n\n> AWS CloudFormation doesn't support specifying an apply method for each individual parameter. The default apply method for each parameter is used.", - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB parameter group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "Family" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Auth": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" - }, - "markdownDescription": "The authorization mechanism that the proxy uses.", - "title": "Auth", - "type": "array" - }, - "DBProxyName": { - "markdownDescription": "The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region . 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.", - "title": "DBProxyName", - "type": "string" - }, - "DebugLogging": { - "markdownDescription": "Specifies whether the proxy logs detailed connection and query information. When you enable `DebugLogging` , the proxy captures connection details and connection pool behavior from your queries. Debug logging increases CloudWatch costs and can impact proxy performance. Enable this option only when you need to troubleshoot connection or performance issues.", - "title": "DebugLogging", - "type": "boolean" - }, - "DefaultAuthScheme": { - "markdownDescription": "The default authentication scheme that the proxy uses for client connections to the proxy and connections from the proxy to the underlying database. Valid values are `NONE` and `IAM_AUTH` . When set to `IAM_AUTH` , the proxy uses end-to-end IAM authentication to connect to the database.", - "title": "DefaultAuthScheme", - "type": "string" - }, - "EndpointNetworkType": { - "markdownDescription": "The network type of the DB proxy endpoint. The network type determines the IP version that the proxy endpoint supports.\n\nValid values:\n\n- `IPV4` - The proxy endpoint supports IPv4 only.\n- `IPV6` - The proxy endpoint supports IPv6 only.\n- `DUAL` - The proxy endpoint supports both IPv4 and IPv6.", - "title": "EndpointNetworkType", - "type": "string" - }, - "EngineFamily": { - "markdownDescription": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL` . For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL` . For RDS for Microsoft SQL Server, specify `SQLSERVER` .", - "title": "EngineFamily", - "type": "string" - }, - "IdleClientTimeout": { - "markdownDescription": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", - "title": "IdleClientTimeout", - "type": "number" - }, - "RequireTLS": { - "markdownDescription": "Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", - "title": "RequireTLS", - "type": "boolean" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", - "title": "RoleArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" - }, - "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.", - "title": "Tags", - "type": "array" - }, - "TargetConnectionNetworkType": { - "markdownDescription": "The network type that the proxy uses to connect to the target database. The network type determines the IP version that the proxy uses for connections to the database.\n\nValid values:\n\n- `IPV4` - The proxy connects to the database using IPv4 only.\n- `IPV6` - The proxy connects to the database using IPv6 only.", - "title": "TargetConnectionNetworkType", - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more VPC security group IDs to associate with the new proxy.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.", - "title": "VpcSecurityGroupIds", - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more VPC subnet IDs to associate with the new proxy.", - "title": "VpcSubnetIds", - "type": "array" - } - }, - "required": [ - "DBProxyName", - "EngineFamily", - "RoleArn", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy.AuthFormat": { - "additionalProperties": false, - "properties": { - "AuthScheme": { - "markdownDescription": "The type of authentication that the proxy uses for connections from the proxy to the underlying database.", - "title": "AuthScheme", - "type": "string" - }, - "ClientPasswordAuthType": { - "markdownDescription": "Specifies the details of authentication used by a proxy to log in as a specific database user.", - "title": "ClientPasswordAuthType", - "type": "string" - }, - "Description": { - "markdownDescription": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", - "title": "Description", - "type": "string" - }, - "IAMAuth": { - "markdownDescription": "A value that indicates whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. The `ENABLED` value is valid only for proxies with RDS for Microsoft SQL Server.", - "title": "IAMAuth", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", - "title": "SecretArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxy.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBProxyEndpointName": { - "markdownDescription": "The name of the DB proxy endpoint to create.", - "title": "DBProxyEndpointName", - "type": "string" - }, - "DBProxyName": { - "markdownDescription": "The name of the DB proxy associated with the DB proxy endpoint that you create.", - "title": "DBProxyName", - "type": "string" - }, - "EndpointNetworkType": { - "markdownDescription": "The network type of the DB proxy endpoint. The network type determines the IP version that the proxy endpoint supports.\n\nValid values:\n\n- `IPV4` - The proxy endpoint supports IPv4 only.\n- `IPV6` - The proxy endpoint supports IPv6 only.\n- `DUAL` - The proxy endpoint supports both IPv4 and IPv6.", - "title": "EndpointNetworkType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" - }, - "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.", - "title": "Tags", - "type": "array" - }, - "TargetRole": { - "markdownDescription": "A value that indicates whether the DB proxy endpoint can be used for read/write or read-only operations.", - "title": "TargetRole", - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC security group IDs for the DB proxy endpoint that you create. You can specify a different set of security group IDs than for the original DB proxy. The default is the default security group for the VPC.", - "title": "VpcSecurityGroupIds", - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC subnet IDs for the DB proxy endpoint that you create. You can specify a different set of subnet IDs than for the original DB proxy.", - "title": "VpcSubnetIds", - "type": "array" - } - }, - "required": [ - "DBProxyEndpointName", - "DBProxyName", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionPoolConfigurationInfo": { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat", - "markdownDescription": "Displays the settings that control the size and behavior of the connection pool associated with a `DBProxyTarget` .", - "title": "ConnectionPoolConfigurationInfo" - }, - "DBClusterIdentifiers": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more DB cluster identifiers.", - "title": "DBClusterIdentifiers", - "type": "array" - }, - "DBInstanceIdentifiers": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more DB instance identifiers.", - "title": "DBInstanceIdentifiers", - "type": "array" - }, - "DBProxyName": { - "markdownDescription": "The identifier of the `DBProxy` that is associated with the `DBProxyTargetGroup` .", - "title": "DBProxyName", - "type": "string" - }, - "TargetGroupName": { - "markdownDescription": "The identifier for the target group.\n\n> Currently, this property must be set to `default` .", - "title": "TargetGroupName", - "type": "string" - } - }, - "required": [ - "DBProxyName", - "TargetGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyTargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { - "additionalProperties": false, - "properties": { - "ConnectionBorrowTimeout": { - "markdownDescription": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. This setting only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.\n\nDefault: `120`\n\nConstraints:\n\n- Must be between 0 and 300.", - "title": "ConnectionBorrowTimeout", - "type": "number" - }, - "InitQuery": { - "markdownDescription": "Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with `SET` statements to make sure that each connection has identical settings. Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty. For including multiple variables in a single SET statement, use a comma separator.\n\nFor example: `SET variable1=value1, variable2=value2`\n\nDefault: no initialization query\n\n> Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. Anyone with access to view or manage your proxy target group configuration can view the initialization query. You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.", - "title": "InitQuery", - "type": "string" - }, - "MaxConnectionsPercent": { - "markdownDescription": "The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group.\n\nIf you specify `MaxIdleConnectionsPercent` , then you must also include a value for this parameter.\n\nDefault: `10` for RDS for Microsoft SQL Server, and `100` for all other engines\n\nConstraints:\n\n- Must be between 1 and 100.", - "title": "MaxConnectionsPercent", - "type": "number" - }, - "MaxIdleConnectionsPercent": { - "markdownDescription": "A value that controls how actively the proxy closes idle database connections in the connection pool. The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database.\n\nIf you specify this parameter, then you must also include a value for `MaxConnectionsPercent` .\n\nDefault: The default value is half of the value of `MaxConnectionsPercent` . For example, if `MaxConnectionsPercent` is 80, then the default value of `MaxIdleConnectionsPercent` is 40. If the value of `MaxConnectionsPercent` isn't specified, then for SQL Server, `MaxIdleConnectionsPercent` is `5` , and for all other engines, the default is `50` .\n\nConstraints:\n\n- Must be between 0 and the value of `MaxConnectionsPercent` .", - "title": "MaxIdleConnectionsPercent", - "type": "number" - }, - "SessionPinningFilters": { - "items": { - "type": "string" - }, - "markdownDescription": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior.\n\nDefault: no session pinning filters", - "title": "SessionPinningFilters", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "markdownDescription": "Ingress rules to be applied to the DB security group.", - "title": "DBSecurityGroupIngress", - "type": "array" - }, - "EC2VpcId": { - "markdownDescription": "The identifier of an Amazon virtual private cloud (VPC). This property indicates the VPC that this DB security group belongs to.\n\n> This property is included for backwards compatibility and is no longer recommended for providing security information to an RDS DB instance.", - "title": "EC2VpcId", - "type": "string" - }, - "GroupDescription": { - "markdownDescription": "Provides the description of the DB security group.", - "title": "GroupDescription", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "markdownDescription": "The IP range to authorize.", - "title": "CIDRIP", - "type": "string" - }, - "EC2SecurityGroupId": { - "markdownDescription": "Id of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupId", - "type": "string" - }, - "EC2SecurityGroupName": { - "markdownDescription": "Name of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "markdownDescription": "AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupOwnerId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 IP range to authorize.", - "title": "CIDRIP", - "type": "string" - }, - "DBSecurityGroupName": { - "markdownDescription": "The name of the DB security group to add authorization to.", - "title": "DBSecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupId": { - "markdownDescription": "Id of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupId", - "type": "string" - }, - "EC2SecurityGroupName": { - "markdownDescription": "Name of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "markdownDescription": "AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupOwnerId", - "type": "string" - } - }, - "required": [ - "DBSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBShardGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeRedundancy": { - "markdownDescription": "Specifies whether to create standby standby DB data access shard for the DB shard group. Valid values are the following:\n\n- 0 - Creates a DB shard group without a standby DB data access shard. This is the default value.\n- 1 - Creates a DB shard group with a standby DB data access shard in a different Availability Zone (AZ).\n- 2 - Creates a DB shard group with two standby DB data access shard in two different AZs.", - "title": "ComputeRedundancy", - "type": "number" - }, - "DBClusterIdentifier": { - "markdownDescription": "The name of the primary DB cluster for the DB shard group.", - "title": "DBClusterIdentifier", - "type": "string" - }, - "DBShardGroupIdentifier": { - "markdownDescription": "The name of the DB shard group.", - "title": "DBShardGroupIdentifier", - "type": "string" - }, - "MaxACU": { - "markdownDescription": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs).", - "title": "MaxACU", - "type": "number" - }, - "MinACU": { - "markdownDescription": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs).", - "title": "MinACU", - "type": "number" - }, - "PubliclyAccessible": { - "markdownDescription": "Specifies whether the DB shard group is publicly accessible.\n\nWhen the DB shard group is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB shard group's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB shard group's VPC. Access to the DB shard group is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB shard group doesn't permit it.\n\nWhen the DB shard group isn't publicly accessible, it is an internal DB shard group with a DNS name that resolves to a private IP address.\n\nDefault: The default behavior varies depending on whether `DBSubnetGroupName` is specified.\n\nIf `DBSubnetGroupName` isn't specified, and `PubliclyAccessible` isn't specified, the following applies:\n\n- If the default VPC in the target Region doesn\u2019t have an internet gateway attached to it, the DB shard group is private.\n- If the default VPC in the target Region has an internet gateway attached to it, the DB shard group is public.\n\nIf `DBSubnetGroupName` is specified, and `PubliclyAccessible` isn't specified, the following applies:\n\n- If the subnets are part of a VPC that doesn\u2019t have an internet gateway attached to it, the DB shard group is private.\n- If the subnets are part of a VPC that has an internet gateway attached to it, the DB shard group is public.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the DB shard group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DBClusterIdentifier", - "MaxACU" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBShardGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSnapshot": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBInstanceIdentifier": { - "type": "string" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceIdentifier", - "DBSnapshotIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSnapshot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "markdownDescription": "The description for the DB subnet group.", - "title": "DBSubnetGroupDescription", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "The name for the DB subnet group. This value is stored as a lowercase string.\n\nConstraints:\n\n- Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens.\n- Must not be default.\n- First character must be a letter.\n\nExample: `mydbsubnetgroup`", - "title": "DBSubnetGroupName", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The EC2 Subnet IDs for the DB subnet group.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB subnet group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::EventSubscription": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "Specifies whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.", - "title": "Enabled", - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of event categories for a particular source type ( `SourceType` ) that you want to subscribe to. You can see a list of the categories for a given source type in the \"Amazon RDS event categories and event messages\" section of the [*Amazon RDS User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) or the [*Amazon Aurora User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) . You can also see this list by using the `DescribeEventCategories` operation.", - "title": "EventCategories", - "type": "array" - }, - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. SNS automatically creates the ARN when you create a topic and subscribe to it.\n\n> RDS doesn't support FIFO (first in, first out) topics. For more information, see [Message ordering and deduplication (FIFO topics)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html) in the *Amazon Simple Notification Service Developer Guide* .", - "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 supplied, `SourceType` must also be provided.\n- If the source type is a DB instance, a `DBInstanceIdentifier` value must be supplied.\n- If the source type is a DB cluster, a `DBClusterIdentifier` value must be supplied.\n- If the source type is a DB parameter group, a `DBParameterGroupName` value must be supplied.\n- If the source type is a DB security group, a `DBSecurityGroupName` value must be supplied.\n- If the source type is a DB snapshot, a `DBSnapshotIdentifier` value must be supplied.\n- If the source type is a DB cluster snapshot, a `DBClusterSnapshotIdentifier` value must be supplied.\n- If the source type is an RDS Proxy, a `DBProxyName` value must be supplied.", - "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 a DB instance, you set this parameter to `db-instance` . For RDS Proxy events, specify `db-proxy` . If this value isn't specified, all events are returned.\n\nValid Values: `db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy | zero-etl | custom-engine-version | blue-green-deployment`", - "title": "SourceType", - "type": "string" - }, - "SubscriptionName": { - "markdownDescription": "The name of the subscription.\n\nConstraints: The name must be less than 255 characters.", - "title": "SubscriptionName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An optional array of key-value pairs to apply to this subscription.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::GlobalCluster": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "Specifies whether to enable deletion protection for the new global database cluster. The global database can't be deleted when deletion protection is enabled.", - "title": "DeletionProtection", - "type": "boolean" - }, - "Engine": { - "markdownDescription": "The database engine to use for this global database cluster.\n\nValid Values: `aurora-mysql | aurora-postgresql`\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine of the source DB cluster.", - "title": "Engine", - "type": "string" - }, - "EngineLifecycleSupport": { - "markdownDescription": "The life cycle type for this global database cluster.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your global cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the global cluster will fail if the DB major version is past its end of standard support date. \n\nThis setting only applies to Aurora PostgreSQL-based global databases.\n\nYou can use this setting to enroll your global cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your global cluster past the end of standard support for that engine version. For more information, see [Amazon RDS Extended Support with Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* .\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", - "title": "EngineLifecycleSupport", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The engine version to use for this global database cluster.\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine version of the source DB cluster.", - "title": "EngineVersion", - "type": "string" - }, - "GlobalClusterIdentifier": { - "markdownDescription": "The cluster identifier for this global database cluster. This parameter is stored as a lowercase string.", - "title": "GlobalClusterIdentifier", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "markdownDescription": "The Amazon Resource Name (ARN) to use as the primary cluster of the global database.\n\nIf you provide a value for this parameter, don't specify values for the following settings because Amazon Aurora uses the values from the specified source DB cluster:\n\n- `DatabaseName`\n- `Engine`\n- `EngineVersion`\n- `StorageEncrypted`", - "title": "SourceDBClusterIdentifier", - "type": "string" - }, - "StorageEncrypted": { - "markdownDescription": "Specifies whether to enable storage encryption for the new global database cluster.\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the setting from the source DB cluster.", - "title": "StorageEncrypted", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::GlobalCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::GlobalCluster.GlobalEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "The writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.", - "title": "Address", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::Integration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalEncryptionContext": { - "additionalProperties": true, - "markdownDescription": "An optional set of non-secret key\u2013value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* .\n\nYou can only include this parameter if you specify the `KMSKeyId` parameter.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AdditionalEncryptionContext", - "type": "object" - }, - "DataFilter": { - "markdownDescription": "Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.", - "title": "DataFilter", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the integration.", - "title": "Description", - "type": "string" - }, - "IntegrationName": { - "markdownDescription": "The name of the integration.", - "title": "IntegrationName", - "type": "string" - }, - "KMSKeyId": { - "markdownDescription": "The AWS Key Management System ( AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key.", - "title": "KMSKeyId", - "type": "string" - }, - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the database to use as the source for replication.", - "title": "SourceArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An optional array of key-value pairs to apply to this integration.", - "title": "Tags", - "type": "array" - }, - "TargetArn": { - "markdownDescription": "The ARN of the Redshift data warehouse to use as the target for replication.", - "title": "TargetArn", - "type": "string" - } - }, - "required": [ - "SourceArn", - "TargetArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EngineName": { - "markdownDescription": "Specifies the name of the engine that this option group should be associated with.\n\nValid Values:\n\n- `mariadb`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", - "title": "EngineName", - "type": "string" - }, - "MajorEngineVersion": { - "markdownDescription": "Specifies the major version of the engine that this option group should be associated with.", - "title": "MajorEngineVersion", - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "markdownDescription": "A list of all available options for an option group.", - "title": "OptionConfigurations", - "type": "array" - }, - "OptionGroupDescription": { - "markdownDescription": "The description of the option group.", - "title": "OptionGroupDescription", - "type": "string" - }, - "OptionGroupName": { - "markdownDescription": "The name of the option group to be created.\n\nConstraints:\n\n- Must be 1 to 255 letters, numbers, or hyphens\n- First character must be a letter\n- Can't end with a hyphen or contain two consecutive hyphens\n\nExample: `myoptiongroup`\n\nIf you don't specify a value for `OptionGroupName` property, a name is automatically created for the option group.\n\n> This value is stored as a lowercase string.", - "title": "OptionGroupName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the option group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::OptionGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of DB security groups used for this option.", - "title": "DBSecurityGroupMemberships", - "type": "array" - }, - "OptionName": { - "markdownDescription": "The configuration of options to include in a group.", - "title": "OptionName", - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "markdownDescription": "The option settings to include in an option group.", - "title": "OptionSettings", - "type": "array" - }, - "OptionVersion": { - "markdownDescription": "The version for the option.", - "title": "OptionVersion", - "type": "string" - }, - "Port": { - "markdownDescription": "The optional port for the option.", - "title": "Port", - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of VPC security group names used for this option.", - "title": "VpcSecurityGroupMemberships", - "type": "array" - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the option that has settings that you can set.", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The current value of the option setting.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::ReservedDBInstance": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBInstanceCount": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::ReservedDBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::ReservedDBInstance.RecurringCharge": { - "additionalProperties": false, - "properties": { - "RecurringChargeAmount": { - "type": "number" - }, - "RecurringChargeFrequency": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "markdownDescription": "", - "title": "GatewayId", - "type": "string" - }, - "LinkAttributes": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkAttributes", - "markdownDescription": "", - "title": "LinkAttributes" - }, - "LinkLogSettings": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkLogSettings", - "markdownDescription": "", - "title": "LinkLogSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "GatewayId", - "LinkLogSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::InboundExternalLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.ApplicationLogs": { - "additionalProperties": false, - "properties": { - "LinkApplicationLogSampling": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkApplicationLogSampling", - "markdownDescription": "", - "title": "LinkApplicationLogSampling" - } - }, - "required": [ - "LinkApplicationLogSampling" - ], - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.LinkApplicationLogSampling": { - "additionalProperties": false, - "properties": { - "ErrorLog": { - "markdownDescription": "", - "title": "ErrorLog", - "type": "number" - }, - "FilterLog": { - "markdownDescription": "", - "title": "FilterLog", - "type": "number" - } - }, - "required": [ - "ErrorLog", - "FilterLog" - ], - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.LinkAttributes": { - "additionalProperties": false, - "properties": { - "CustomerProvidedId": { - "markdownDescription": "", - "title": "CustomerProvidedId", - "type": "string" - }, - "ResponderErrorMasking": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.ResponderErrorMaskingForHttpCode" - }, - "markdownDescription": "", - "title": "ResponderErrorMasking", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.LinkLogSettings": { - "additionalProperties": false, - "properties": { - "ApplicationLogs": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.ApplicationLogs", - "markdownDescription": "", - "title": "ApplicationLogs" - } - }, - "required": [ - "ApplicationLogs" - ], - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.ResponderErrorMaskingForHttpCode": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "", - "title": "Action", - "type": "string" - }, - "HttpCode": { - "markdownDescription": "", - "title": "HttpCode", - "type": "string" - }, - "LoggingTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "LoggingTypes", - "type": "array" - }, - "ResponseLoggingPercentage": { - "markdownDescription": "", - "title": "ResponseLoggingPercentage", - "type": "number" - } - }, - "required": [ - "Action", - "HttpCode", - "LoggingTypes" - ], - "type": "object" - }, - "AWS::RTBFabric::Link": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "markdownDescription": "The unique identifier of the gateway.", - "title": "GatewayId", - "type": "string" - }, - "HttpResponderAllowed": { - "markdownDescription": "Boolean to specify if an HTTP responder is allowed.", - "title": "HttpResponderAllowed", - "type": "boolean" - }, - "LinkAttributes": { - "$ref": "#/definitions/AWS::RTBFabric::Link.LinkAttributes", - "markdownDescription": "Attributes of the link.", - "title": "LinkAttributes" - }, - "LinkLogSettings": { - "$ref": "#/definitions/AWS::RTBFabric::Link.LinkLogSettings", - "markdownDescription": "Settings for the application logs.", - "title": "LinkLogSettings" - }, - "ModuleConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::Link.ModuleConfiguration" - }, - "markdownDescription": "", - "title": "ModuleConfigurationList", - "type": "array" - }, - "PeerGatewayId": { - "markdownDescription": "The unique identifier of the peer gateway.", - "title": "PeerGatewayId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "GatewayId", - "LinkLogSettings", - "PeerGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::Link" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.Action": { - "additionalProperties": false, - "properties": { - "HeaderTag": { - "$ref": "#/definitions/AWS::RTBFabric::Link.HeaderTagAction", - "markdownDescription": "Describes the header tag for a bid action.", - "title": "HeaderTag" - }, - "NoBid": { - "$ref": "#/definitions/AWS::RTBFabric::Link.NoBidAction", - "markdownDescription": "Describes the parameters of a no bid module.", - "title": "NoBid" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.ApplicationLogs": { - "additionalProperties": false, - "properties": { - "LinkApplicationLogSampling": { - "$ref": "#/definitions/AWS::RTBFabric::Link.LinkApplicationLogSampling", - "markdownDescription": "Describes a link application log sample.", - "title": "LinkApplicationLogSampling" - } - }, - "required": [ - "LinkApplicationLogSampling" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.Filter": { - "additionalProperties": false, - "properties": { - "Criteria": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::Link.FilterCriterion" - }, - "markdownDescription": "Describes the criteria for a filter.", - "title": "Criteria", - "type": "array" - } - }, - "required": [ - "Criteria" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.FilterCriterion": { - "additionalProperties": false, - "properties": { - "Path": { - "markdownDescription": "The path to filter.", - "title": "Path", - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The value to filter.", - "title": "Values", - "type": "array" - } - }, - "required": [ - "Path", - "Values" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.HeaderTagAction": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the bid action.", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of the bid action.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.LinkApplicationLogSampling": { - "additionalProperties": false, - "properties": { - "ErrorLog": { - "markdownDescription": "An error log entry.", - "title": "ErrorLog", - "type": "number" - }, - "FilterLog": { - "markdownDescription": "A filter log entry.", - "title": "FilterLog", - "type": "number" - } - }, - "required": [ - "ErrorLog", - "FilterLog" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.LinkAttributes": { - "additionalProperties": false, - "properties": { - "CustomerProvidedId": { - "markdownDescription": "The customer-provided unique identifier of the link.", - "title": "CustomerProvidedId", - "type": "string" - }, - "ResponderErrorMasking": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::Link.ResponderErrorMaskingForHttpCode" - }, - "markdownDescription": "Describes the masking for HTTP error codes.", - "title": "ResponderErrorMasking", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.LinkLogSettings": { - "additionalProperties": false, - "properties": { - "ApplicationLogs": { - "$ref": "#/definitions/AWS::RTBFabric::Link.ApplicationLogs", - "markdownDescription": "Describes the configuration of a link application log.", - "title": "ApplicationLogs" - } - }, - "required": [ - "ApplicationLogs" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.ModuleConfiguration": { - "additionalProperties": false, - "properties": { - "DependsOn": { - "items": { - "type": "string" - }, - "markdownDescription": "The dependencies of the module.", - "title": "DependsOn", - "type": "array" - }, - "ModuleParameters": { - "$ref": "#/definitions/AWS::RTBFabric::Link.ModuleParameters", - "markdownDescription": "Describes the parameters of a module.", - "title": "ModuleParameters" - }, - "Name": { - "markdownDescription": "The name of the module.", - "title": "Name", - "type": "string" - }, - "Version": { - "markdownDescription": "The version of the module.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.ModuleParameters": { - "additionalProperties": false, - "properties": { - "NoBid": { - "$ref": "#/definitions/AWS::RTBFabric::Link.NoBidModuleParameters", - "markdownDescription": "Describes the parameters of a no bid module.", - "title": "NoBid" - }, - "OpenRtbAttribute": { - "$ref": "#/definitions/AWS::RTBFabric::Link.OpenRtbAttributeModuleParameters", - "markdownDescription": "Describes the parameters of an open RTB attribute module.", - "title": "OpenRtbAttribute" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.NoBidAction": { - "additionalProperties": false, - "properties": { - "NoBidReasonCode": { - "markdownDescription": "The reason code for the no bid action.", - "title": "NoBidReasonCode", - "type": "number" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.NoBidModuleParameters": { - "additionalProperties": false, - "properties": { - "PassThroughPercentage": { - "markdownDescription": "The pass through percentage.", - "title": "PassThroughPercentage", - "type": "number" - }, - "Reason": { - "markdownDescription": "The reason description.", - "title": "Reason", - "type": "string" - }, - "ReasonCode": { - "markdownDescription": "The reason code.", - "title": "ReasonCode", - "type": "number" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.OpenRtbAttributeModuleParameters": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::RTBFabric::Link.Action", - "markdownDescription": "Describes a bid action.", - "title": "Action" - }, - "FilterConfiguration": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::Link.Filter" - }, - "markdownDescription": "Describes the configuration of a filter.", - "title": "FilterConfiguration", - "type": "array" - }, - "FilterType": { - "markdownDescription": "The filter type.", - "title": "FilterType", - "type": "string" - }, - "HoldbackPercentage": { - "markdownDescription": "The hold back percentage.", - "title": "HoldbackPercentage", - "type": "number" - } - }, - "required": [ - "Action", - "FilterConfiguration", - "FilterType", - "HoldbackPercentage" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.ResponderErrorMaskingForHttpCode": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action for the error..", - "title": "Action", - "type": "string" - }, - "HttpCode": { - "markdownDescription": "The HTTP error code.", - "title": "HttpCode", - "type": "string" - }, - "LoggingTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The error log type.", - "title": "LoggingTypes", - "type": "array" - }, - "ResponseLoggingPercentage": { - "markdownDescription": "The percentage of response logging.", - "title": "ResponseLoggingPercentage", - "type": "number" - } - }, - "required": [ - "Action", - "HttpCode", - "LoggingTypes" - ], - "type": "object" - }, - "AWS::RTBFabric::LinkRoutingRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Conditions": { - "$ref": "#/definitions/AWS::RTBFabric::LinkRoutingRule.RuleCondition" - }, - "GatewayId": { - "type": "string" - }, - "LinkId": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Conditions", - "GatewayId", - "LinkId", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::LinkRoutingRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::LinkRoutingRule.QueryStringKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::RTBFabric::LinkRoutingRule.RuleCondition": { - "additionalProperties": false, - "properties": { - "HostHeader": { - "type": "string" - }, - "HostHeaderWildcard": { - "type": "string" - }, - "PathExact": { - "type": "string" - }, - "PathPrefix": { - "type": "string" - }, - "QueryStringEquals": { - "$ref": "#/definitions/AWS::RTBFabric::LinkRoutingRule.QueryStringKeyValuePair" - }, - "QueryStringExists": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "markdownDescription": "", - "title": "GatewayId", - "type": "string" - }, - "LinkAttributes": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkAttributes", - "markdownDescription": "", - "title": "LinkAttributes" - }, - "LinkLogSettings": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkLogSettings", - "markdownDescription": "", - "title": "LinkLogSettings" - }, - "PublicEndpoint": { - "markdownDescription": "", - "title": "PublicEndpoint", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "GatewayId", - "LinkLogSettings", - "PublicEndpoint" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::OutboundExternalLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.ApplicationLogs": { - "additionalProperties": false, - "properties": { - "LinkApplicationLogSampling": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkApplicationLogSampling", - "markdownDescription": "", - "title": "LinkApplicationLogSampling" - } - }, - "required": [ - "LinkApplicationLogSampling" - ], - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.LinkApplicationLogSampling": { - "additionalProperties": false, - "properties": { - "ErrorLog": { - "markdownDescription": "", - "title": "ErrorLog", - "type": "number" - }, - "FilterLog": { - "markdownDescription": "", - "title": "FilterLog", - "type": "number" - } - }, - "required": [ - "ErrorLog", - "FilterLog" - ], - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.LinkAttributes": { - "additionalProperties": false, - "properties": { - "CustomerProvidedId": { - "markdownDescription": "", - "title": "CustomerProvidedId", - "type": "string" - }, - "ResponderErrorMasking": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.ResponderErrorMaskingForHttpCode" - }, - "markdownDescription": "", - "title": "ResponderErrorMasking", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.LinkLogSettings": { - "additionalProperties": false, - "properties": { - "ApplicationLogs": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.ApplicationLogs", - "markdownDescription": "", - "title": "ApplicationLogs" - } - }, - "required": [ - "ApplicationLogs" - ], - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.ResponderErrorMaskingForHttpCode": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "", - "title": "Action", - "type": "string" - }, - "HttpCode": { - "markdownDescription": "", - "title": "HttpCode", - "type": "string" - }, - "LoggingTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "LoggingTypes", - "type": "array" - }, - "ResponseLoggingPercentage": { - "markdownDescription": "", - "title": "ResponseLoggingPercentage", - "type": "number" - } - }, - "required": [ - "Action", - "HttpCode", - "LoggingTypes" - ], - "type": "object" - }, - "AWS::RTBFabric::RequesterGateway": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "An optional description for the requester gateway.", - "title": "Description", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The unique identifiers of the security groups.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The unique identifiers of the subnets.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The unique identifier of the Virtual Private Cloud (VPC).", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::RequesterGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "Description": { - "markdownDescription": "An optional description for the responder gateway.", - "title": "Description", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The domain name for the responder gateway.", - "title": "DomainName", - "type": "string" - }, - "GatewayType": { - "type": "string" - }, - "ListenerConfig": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.ListenerConfig" - }, - "ManagedEndpointConfiguration": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.ManagedEndpointConfiguration", - "markdownDescription": "The configuration for the managed endpoint.", - "title": "ManagedEndpointConfiguration" - }, - "Port": { - "markdownDescription": "The networking port to use.", - "title": "Port", - "type": "number" - }, - "Protocol": { - "markdownDescription": "The networking protocol to use.", - "title": "Protocol", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The unique identifiers of the security groups.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The unique identifiers of the subnets.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", - "title": "Tags", - "type": "array" - }, - "TrustStoreConfiguration": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.TrustStoreConfiguration", - "markdownDescription": "The configuration of the trust store.", - "title": "TrustStoreConfiguration" - }, - "VpcId": { - "markdownDescription": "The unique identifier of the Virtual Private Cloud (VPC).", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "Port", - "Protocol", - "SecurityGroupIds", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::ResponderGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.AutoScalingGroupsConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupNameList": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of the auto scaling group.", - "title": "AutoScalingGroupNameList", - "type": "array" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.HealthCheckConfig" - }, - "RoleArn": { - "markdownDescription": "The role ARN of the auto scaling group.", - "title": "RoleArn", - "type": "string" - } - }, - "required": [ - "AutoScalingGroupNameList", - "RoleArn" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.EksEndpointsConfiguration": { - "additionalProperties": false, - "properties": { - "ClusterApiServerCaCertificateChain": { - "markdownDescription": "The CA certificate chain of the cluster API server.", - "title": "ClusterApiServerCaCertificateChain", - "type": "string" - }, - "ClusterApiServerEndpointUri": { - "markdownDescription": "The URI of the cluster API server endpoint.", - "title": "ClusterApiServerEndpointUri", - "type": "string" - }, - "ClusterName": { - "markdownDescription": "The name of the cluster.", - "title": "ClusterName", - "type": "string" - }, - "EndpointsResourceName": { - "markdownDescription": "The name of the endpoint resource.", - "title": "EndpointsResourceName", - "type": "string" - }, - "EndpointsResourceNamespace": { - "markdownDescription": "The namespace of the endpoint resource.", - "title": "EndpointsResourceNamespace", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The role ARN for the cluster.", - "title": "RoleArn", - "type": "string" - } - }, - "required": [ - "ClusterApiServerCaCertificateChain", - "ClusterApiServerEndpointUri", - "ClusterName", - "EndpointsResourceName", - "EndpointsResourceNamespace", - "RoleArn" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "HealthyThresholdCount": { - "type": "number" - }, - "IntervalSeconds": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "StatusCodeMatcher": { - "type": "string" - }, - "TimeoutMs": { - "type": "number" - }, - "UnhealthyThresholdCount": { - "type": "number" - } - }, - "required": [ - "Path", - "Port" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.ListenerConfig": { - "additionalProperties": false, - "properties": { - "Protocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Protocols" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.ManagedEndpointConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupsConfiguration": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.AutoScalingGroupsConfiguration", - "markdownDescription": "Describes the configuration of an auto scaling group.", - "title": "AutoScalingGroupsConfiguration" - }, - "EksEndpointsConfiguration": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.EksEndpointsConfiguration", - "markdownDescription": "Describes the configuration of an Amazon Elastic Kubernetes Service endpoint.", - "title": "EksEndpointsConfiguration" - } - }, - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.TrustStoreConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityCertificates": { - "items": { - "type": "string" - }, - "markdownDescription": "The certificate authority certificate.", - "title": "CertificateAuthorityCertificates", - "type": "array" - } - }, - "required": [ - "CertificateAuthorityCertificates" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppMonitorConfiguration": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.AppMonitorConfiguration", - "markdownDescription": "A structure that contains much of the configuration data for the app monitor. If you are using Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the Amazon Cognito identity pool to use for authorization. If you don't include `AppMonitorConfiguration` , you must set up your own authorization method. For more information, see [Authorize your application to send data to AWS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started-authorization.html) .\n\nIf you omit this argument, the sample rate used for CloudWatch RUM is set to 10% of the user sessions.", - "title": "AppMonitorConfiguration" - }, - "CustomEvents": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.CustomEvents", - "markdownDescription": "Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED` .", - "title": "CustomEvents" - }, - "CwLogEnabled": { - "markdownDescription": "Data collected by CloudWatch RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether CloudWatch RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges.\n\nIf you omit this parameter, the default is `false` .", - "title": "CwLogEnabled", - "type": "boolean" - }, - "DeobfuscationConfiguration": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.DeobfuscationConfiguration", - "markdownDescription": "A structure that contains the configuration for how an app monitor can deobfuscate stack traces.", - "title": "DeobfuscationConfiguration" - }, - "Domain": { - "markdownDescription": "The top-level internet domain name for which your application has administrative authority. This parameter or the `DomainList` parameter is required.", - "title": "Domain", - "type": "string" - }, - "DomainList": { - "items": { - "type": "string" - }, - "markdownDescription": "List the domain names for which your application has administrative authority. This parameter or the `Domain` parameter is required.\n\nYou can have a minimum of 1 and a maximum of 5 `Domain` under `DomainList` . Each `Domain` must be a minimum length of 1 and a maximum of 253 characters.", - "title": "DomainList", - "type": "array" - }, - "Name": { - "markdownDescription": "A name for the app monitor. This parameter is required.", - "title": "Name", - "type": "string" - }, - "Platform": { - "markdownDescription": "", - "title": "Platform", - "type": "string" - }, - "ResourcePolicy": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.ResourcePolicy", - "markdownDescription": "Use this structure to assign a resource-based policy to a CloudWatch RUM app monitor to control access to it. Each app monitor can have one resource-based policy. The maximum size of the policy is 4 KB. To learn more about using resource policies with RUM, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .", - "title": "ResourcePolicy" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Assigns one or more tags (key-value pairs) to the app monitor.\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 an app monitor.\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::RUM::AppMonitor" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor.AppMonitorConfiguration": { - "additionalProperties": false, - "properties": { - "AllowCookies": { - "markdownDescription": "If you set this to `true` , the CloudWatch RUM web client sets two cookies, a session cookie and a user cookie. The cookies allow the CloudWatch RUM web client to collect data relating to the number of users an application has and the behavior of the application across a sequence of events. Cookies are stored in the top-level domain of the current page.", - "title": "AllowCookies", - "type": "boolean" - }, - "EnableXRay": { - "markdownDescription": "If you set this to `true` , CloudWatch RUM sends client-side traces to X-Ray for each sampled session. You can then see traces and segments from these user sessions in the RUM dashboard and the CloudWatch ServiceLens console. For more information, see [What is AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)", - "title": "EnableXRay", - "type": "boolean" - }, - "ExcludedPages": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of URLs in your website or application to exclude from RUM data collection.\n\nYou can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.", - "title": "ExcludedPages", - "type": "array" - }, - "FavoritePages": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of pages in your application that are to be displayed with a \"favorite\" icon in the CloudWatch RUM console.", - "title": "FavoritePages", - "type": "array" - }, - "GuestRoleArn": { - "markdownDescription": "The ARN of the guest IAM role that is attached to the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.", - "title": "GuestRoleArn", - "type": "string" - }, - "IdentityPoolId": { - "markdownDescription": "The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.", - "title": "IdentityPoolId", - "type": "string" - }, - "IncludedPages": { - "items": { - "type": "string" - }, - "markdownDescription": "If this app monitor is to collect data from only certain pages in your application, this structure lists those pages.\n\nYou can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.", - "title": "IncludedPages", - "type": "array" - }, - "MetricDestinations": { - "items": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.MetricDestination" - }, - "markdownDescription": "An array of structures that each define a destination that this app monitor will send extended metrics to.", - "title": "MetricDestinations", - "type": "array" - }, - "SessionSampleRate": { - "markdownDescription": "Specifies the portion of user sessions to use for CloudWatch RUM data collection. Choosing a higher portion gives you more data but also incurs more costs.\n\nThe range for this value is 0 to 1 inclusive. Setting this to 1 means that 100% of user sessions are sampled, and setting it to 0.1 means that 10% of user sessions are sampled.\n\nIf you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.", - "title": "SessionSampleRate", - "type": "number" - }, - "Telemetries": { - "items": { - "type": "string" - }, - "markdownDescription": "An array that lists the types of telemetry data that this app monitor is to collect.\n\n- `errors` indicates that RUM collects data about unhandled JavaScript errors raised by your application.\n- `performance` indicates that RUM collects performance data about how your application and its resources are loaded and rendered. This includes Core Web Vitals.\n- `http` indicates that RUM collects data about HTTP errors thrown by your application.", - "title": "Telemetries", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RUM::AppMonitor.CustomEvents": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "Set this to `ENABLED` to allow the web client to send custom events for this app monitor.\n\nValid values are `ENABLED` and `DISABLED` .", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RUM::AppMonitor.DeobfuscationConfiguration": { - "additionalProperties": false, - "properties": { - "JavaScriptSourceMaps": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.JavaScriptSourceMaps", - "markdownDescription": "A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.", - "title": "JavaScriptSourceMaps" - } - }, - "type": "object" - }, - "AWS::RUM::AppMonitor.JavaScriptSourceMaps": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "markdownDescription": "The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.", - "title": "S3Uri", - "type": "string" - }, - "Status": { - "markdownDescription": "Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be `DISABLED` .", - "title": "Status", - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor.MetricDefinition": { - "additionalProperties": false, - "properties": { - "DimensionKeys": { - "additionalProperties": true, - "markdownDescription": "This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch . The value of this field is used only if the metric destination is `CloudWatch` . If the metric destination is `Evidently` , the value of `DimensionKeys` is ignored.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "DimensionKeys", - "type": "object" - }, - "EventPattern": { - "markdownDescription": "The pattern that defines the metric. RUM checks events that happen in a user's session against the pattern, and events that match the pattern are sent to the metric destination.\n\nIf the metrics destination is `CloudWatch` and the event also matches a value in `DimensionKeys` , then the metric is published with the specified dimensions.", - "title": "EventPattern", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the metric that is defined in this structure.", - "title": "Name", - "type": "string" - }, - "Namespace": { - "markdownDescription": "If you are creating a custom metric instead of an extended metrics, use this parameter to define the metric namespace for that custom metric. Do not specify this parameter if you are creating an extended metric.\n\nYou can't use any string that starts with `AWS/` for your namespace.", - "title": "Namespace", - "type": "string" - }, - "UnitLabel": { - "markdownDescription": "Use this field only if you are sending this metric to CloudWatch . It defines the CloudWatch metric unit that this metric is measured in.", - "title": "UnitLabel", - "type": "string" - }, - "ValueKey": { - "markdownDescription": "The field within the event object that the metric value is sourced from.", - "title": "ValueKey", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor.MetricDestination": { - "additionalProperties": false, - "properties": { - "Destination": { - "markdownDescription": "Defines the destination to send the metrics to. Valid values are `CloudWatch` and `Evidently` . If you specify `Evidently` , you must also specify the ARN of the CloudWatch Evidently experiment that is to be the destination and an IAM role that has permission to write to the experiment.", - "title": "Destination", - "type": "string" - }, - "DestinationArn": { - "markdownDescription": "Use this parameter only if `Destination` is `Evidently` . This parameter specifies the ARN of the Evidently experiment that will receive the extended metrics.", - "title": "DestinationArn", - "type": "string" - }, - "IamRoleArn": { - "markdownDescription": "This parameter is required if `Destination` is `Evidently` . If `Destination` is `CloudWatch` , do not use this parameter.\n\nThis parameter specifies the ARN of an IAM role that RUM will assume to write to the Evidently experiment that you are sending metrics to. This role must have permission to write to that experiment.", - "title": "IamRoleArn", - "type": "string" - }, - "MetricDefinitions": { - "items": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.MetricDefinition" - }, - "markdownDescription": "An array of structures which define the metrics that you want to send.", - "title": "MetricDefinitions", - "type": "array" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor.ResourcePolicy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "markdownDescription": "The JSON to use as the resource policy. The document can be up to 4 KB in size. For more information about the contents and syntax for this policy, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .", - "title": "PolicyDocument", - "type": "string" - }, - "PolicyRevisionId": { - "markdownDescription": "A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy.\n\nWhen you assign a policy revision ID, then later requests about that policy will be rejected with an `InvalidPolicyRevisionIdException` error if they don't provide the correct current revision ID.", - "title": "PolicyRevisionId", - "type": "string" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "AWS::Rbin::Rule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 retention rule description.", - "title": "Description", - "type": "string" - }, - "ExcludeResourceTags": { - "items": { - "$ref": "#/definitions/AWS::Rbin::Rule.ResourceTag" - }, - "markdownDescription": "[Region-level retention rules only] Specifies the exclusion tags to use to identify resources that are to be excluded, or ignored, by a Region-level retention rule. Resources that have any of these tags are not retained by the retention rule upon deletion.\n\nYou can't specify exclusion tags for tag-level retention rules.", - "title": "ExcludeResourceTags", - "type": "array" - }, - "LockConfiguration": { - "$ref": "#/definitions/AWS::Rbin::Rule.UnlockDelay", - "markdownDescription": "Information about the retention rule lock configuration.", - "title": "LockConfiguration" - }, - "ResourceTags": { - "items": { - "$ref": "#/definitions/AWS::Rbin::Rule.ResourceTag" - }, - "markdownDescription": "[Tag-level retention rules only] Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. For tag-level retention rules, only deleted resources, of the specified resource type, that have one or more of the specified tag key and value pairs are retained. If a resource is deleted, but it does not have any of the specified tag key and value pairs, it is immediately deleted without being retained by the retention rule.\n\nYou can add the same tag key and value pair to a maximum or five retention rules.\n\nTo create a Region-level retention rule, omit this parameter. A Region-level retention rule does not have any resource tags specified. It retains all deleted resources of the specified resource type in the Region in which the rule is created, even if the resources are not tagged.", - "title": "ResourceTags", - "type": "array" - }, - "ResourceType": { - "markdownDescription": "The resource type to be retained by the retention rule. Currently, only EBS volumes, EBS snapshots, and EBS-backed AMIs are supported.\n\n- To retain EBS volumes, specify `EBS_VOLUME` .\n- To retain EBS snapshots, specify `EBS_SNAPSHOT`\n- To retain EBS-backed AMIs, specify `EC2_IMAGE` .", - "title": "ResourceType", - "type": "string" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::Rbin::Rule.RetentionPeriod", - "markdownDescription": "Information about the retention period for which the retention rule is to retain resources.", - "title": "RetentionPeriod" - }, - "Status": { - "markdownDescription": "The state of the retention rule. Only retention rules that are in the `available` state retain resources.", - "title": "Status", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Information about the tags to assign to the retention rule.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ResourceType", - "RetentionPeriod" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Rbin::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Rbin::Rule.ResourceTag": { - "additionalProperties": false, - "properties": { - "ResourceTagKey": { - "markdownDescription": "The tag key.", - "title": "ResourceTagKey", - "type": "string" - }, - "ResourceTagValue": { - "markdownDescription": "The tag value.", - "title": "ResourceTagValue", - "type": "string" - } - }, - "required": [ - "ResourceTagKey", - "ResourceTagValue" - ], - "type": "object" - }, - "AWS::Rbin::Rule.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "RetentionPeriodUnit": { - "markdownDescription": "The unit of time in which the retention period is measured. Currently, only `DAYS` is supported.", - "title": "RetentionPeriodUnit", - "type": "string" - }, - "RetentionPeriodValue": { - "markdownDescription": "The period value for which the retention rule is to retain resources, measured in days. The supported retention periods are:\n\n- EBS volumes: 1 - 7 days\n- EBS snapshots and EBS-backed AMIs: 1 - 365 days", - "title": "RetentionPeriodValue", - "type": "number" - } - }, - "required": [ - "RetentionPeriodUnit", - "RetentionPeriodValue" - ], - "type": "object" - }, - "AWS::Rbin::Rule.UnlockDelay": { - "additionalProperties": false, - "properties": { - "UnlockDelayUnit": { - "markdownDescription": "The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measured only in days.", - "title": "UnlockDelayUnit", - "type": "string" - }, - "UnlockDelayValue": { - "markdownDescription": "The unlock delay period, measured in the unit specified for *UnlockDelayUnit* .", - "title": "UnlockDelayValue", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowVersionUpgrade": { - "markdownDescription": "If `true` , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.\n\nWhen a new major version of the Amazon Redshift engine is released, you can request that the service automatically apply upgrades during the maintenance window to the Amazon Redshift engine that is running on your cluster.\n\nDefault: `true`", - "title": "AllowVersionUpgrade", - "type": "boolean" - }, - "AquaConfigurationStatus": { - "markdownDescription": "This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).", - "title": "AquaConfigurationStatus", - "type": "string" - }, - "AutomatedSnapshotRetentionPeriod": { - "markdownDescription": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with [CreateClusterSnapshot](https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSnapshot.html) in the *Amazon Redshift API Reference* .\n\nDefault: `1`\n\nConstraints: Must be a value from 0 to 35.", - "title": "AutomatedSnapshotRetentionPeriod", - "type": "number" - }, - "AvailabilityZone": { - "markdownDescription": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.\n\nDefault: A random, system-chosen Availability Zone in the region that is specified by the endpoint.\n\nExample: `us-east-2d`\n\nConstraint: The specified Availability Zone must be in the same region as the current endpoint.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneRelocation": { - "markdownDescription": "The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.", - "title": "AvailabilityZoneRelocation", - "type": "boolean" - }, - "AvailabilityZoneRelocationStatus": { - "markdownDescription": "Describes the status of the Availability Zone relocation operation.", - "title": "AvailabilityZoneRelocationStatus", - "type": "string" - }, - "Classic": { - "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to `false` , the resize type is elastic.", - "title": "Classic", - "type": "boolean" - }, - "ClusterIdentifier": { - "markdownDescription": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. The identifier also appears in the Amazon Redshift console.\n\nConstraints:\n\n- Must contain from 1 to 63 alphanumeric characters or hyphens.\n- Alphabetic characters must be lowercase.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n- Must be unique for all clusters within an AWS account .\n\nExample: `myexamplecluster`", - "title": "ClusterIdentifier", - "type": "string" - }, - "ClusterParameterGroupName": { - "markdownDescription": "The name of the parameter group to be associated with this cluster.\n\nDefault: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to [Working with Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)\n\nConstraints:\n\n- Must be 1 to 255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", - "title": "ClusterParameterGroupName", - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of security groups to be associated with this cluster.\n\nDefault: The default cluster security group for Amazon Redshift.", - "title": "ClusterSecurityGroups", - "type": "array" - }, - "ClusterSubnetGroupName": { - "markdownDescription": "The name of a cluster subnet group to be associated with this cluster.\n\nIf this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).", - "title": "ClusterSubnetGroupName", - "type": "string" - }, - "ClusterType": { - "markdownDescription": "The type of the cluster. When cluster type is specified as\n\n- `single-node` , the *NumberOfNodes* parameter is not required.\n- `multi-node` , the *NumberOfNodes* parameter is required.\n\nValid Values: `multi-node` | `single-node`\n\nDefault: `multi-node`", - "title": "ClusterType", - "type": "string" - }, - "ClusterVersion": { - "markdownDescription": "The version of the Amazon Redshift engine software that you want to deploy on the cluster.\n\nThe version selected runs on all the nodes in the cluster.\n\nConstraints: Only version 1.0 is currently available.\n\nExample: `1.0`", - "title": "ClusterVersion", - "type": "string" - }, - "DBName": { - "markdownDescription": "The name of the first database to be created when the cluster is created.\n\nTo create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to [Create a Database](https://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html) in the Amazon Redshift Database Developer Guide.\n\nDefault: `dev`\n\nConstraints:\n\n- Must contain 1 to 64 alphanumeric characters.\n- Must contain only lowercase letters.\n- Cannot be a word that is reserved by the service. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", - "title": "DBName", - "type": "string" - }, - "DeferMaintenance": { - "markdownDescription": "A Boolean indicating whether to enable the deferred maintenance window.", - "title": "DeferMaintenance", - "type": "boolean" - }, - "DeferMaintenanceDuration": { - "markdownDescription": "An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.", - "title": "DeferMaintenanceDuration", - "type": "number" - }, - "DeferMaintenanceEndTime": { - "markdownDescription": "A timestamp for the end of the time period when we defer maintenance.", - "title": "DeferMaintenanceEndTime", - "type": "string" - }, - "DeferMaintenanceStartTime": { - "markdownDescription": "A timestamp indicating the start time for the deferred maintenance window.", - "title": "DeferMaintenanceStartTime", - "type": "string" - }, - "DestinationRegion": { - "markdownDescription": "The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled.", - "title": "DestinationRegion", - "type": "string" - }, - "ElasticIp": { - "markdownDescription": "The Elastic IP (EIP) address for the cluster.\n\nConstraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on. For more information about provisioning clusters in EC2-VPC, go to [Supported Platforms to Launch Your Cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms) in the Amazon Redshift Cluster Management Guide.", - "title": "ElasticIp", - "type": "string" - }, - "Encrypted": { - "markdownDescription": "If `true` , the data in the cluster is encrypted at rest. If you set the value on this parameter to `false` , the request will fail.\n\nDefault: true", - "title": "Encrypted", - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint", - "markdownDescription": "The connection endpoint.", - "title": "Endpoint" - }, - "EnhancedVpcRouting": { - "markdownDescription": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see [Enhanced VPC Routing](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) in the Amazon Redshift Cluster Management Guide.\n\nIf this option is `true` , enhanced VPC routing is enabled.\n\nDefault: false", - "title": "EnhancedVpcRouting", - "type": "boolean" - }, - "HsmClientCertificateIdentifier": { - "markdownDescription": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.", - "title": "HsmClientCertificateIdentifier", - "type": "string" - }, - "HsmConfigurationIdentifier": { - "markdownDescription": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.", - "title": "HsmConfigurationIdentifier", - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.\n\nThe maximum number of IAM roles that you can associate is subject to a quota. For more information, go to [Quotas and limits](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) in the *Amazon Redshift Cluster Management Guide* .", - "title": "IamRoles", - "type": "array" - }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.", - "title": "KmsKeyId", - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties", - "markdownDescription": "Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.", - "title": "LoggingProperties" - }, - "MaintenanceTrackName": { - "markdownDescription": "An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance track name, the cluster is assigned to the `current` track.", - "title": "MaintenanceTrackName", - "type": "string" - }, - "ManageMasterPassword": { - "markdownDescription": "If `true` , Amazon Redshift uses AWS Secrets Manager to manage this cluster's admin credentials. You can't use `MasterUserPassword` if `ManageMasterPassword` is true. If `ManageMasterPassword` is false or not set, Amazon Redshift uses `MasterUserPassword` for the admin user account's password.", - "title": "ManageMasterPassword", - "type": "boolean" - }, - "ManualSnapshotRetentionPeriod": { - "markdownDescription": "The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.\n\nThe value must be either -1 or an integer between 1 and 3,653.", - "title": "ManualSnapshotRetentionPeriod", - "type": "number" - }, - "MasterPasswordSecretKmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. You can only use this parameter if `ManageMasterPassword` is true.", - "title": "MasterPasswordSecretKmsKeyId", - "type": "string" - }, - "MasterUserPassword": { - "markdownDescription": "The password associated with the admin user account for the cluster that is being created.\n\nYou can't use `MasterUserPassword` if `ManageMasterPassword` is `true` .\n\nConstraints:\n\n- Must be between 8 and 64 characters in length.\n- Must contain at least one uppercase letter.\n- Must contain at least one lowercase letter.\n- Must contain one number.\n- Can be any printable ASCII character (ASCII code 33-126) except `'` (single quote), `\"` (double quote), `\\` , `/` , or `@` .", - "title": "MasterUserPassword", - "type": "string" - }, - "MasterUsername": { - "markdownDescription": "The user name associated with the admin user account for the cluster that is being created.\n\nConstraints:\n\n- Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be `PUBLIC` .\n- Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.\n- The first character must be a letter.\n- Must not contain a colon (:) or a slash (/).\n- Cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", - "title": "MasterUsername", - "type": "string" - }, - "MultiAZ": { - "markdownDescription": "A boolean indicating whether Amazon Redshift should deploy the cluster in two Availability Zones. The default is false.", - "title": "MultiAZ", - "type": "boolean" - }, - "NamespaceResourcePolicy": { - "markdownDescription": "The policy that is attached to a resource.", - "title": "NamespaceResourcePolicy", - "type": "object" - }, - "NodeType": { - "markdownDescription": "The node type to be provisioned for the cluster. For information about node types, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .\n\nValid Values: `dc2.large` | `dc2.8xlarge` | `ra3.large` | `ra3.xlplus` | `ra3.4xlarge` | `ra3.16xlarge`", - "title": "NodeType", - "type": "string" - }, - "NumberOfNodes": { - "markdownDescription": "The number of compute nodes in the cluster. This parameter is required when the *ClusterType* parameter is specified as `multi-node` .\n\nFor information about determining how many nodes you need, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .\n\nIf you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.\n\nDefault: `1`\n\nConstraints: Value must be at least 1 and no more than 100.", - "title": "NumberOfNodes", - "type": "number" - }, - "OwnerAccount": { - "markdownDescription": "The AWS account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.", - "title": "OwnerAccount", - "type": "string" - }, - "Port": { - "markdownDescription": "The port number on which the cluster accepts incoming connections.\n\nThe cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections.\n\nDefault: `5439`\n\nValid Values:\n\n- For clusters with ra3 nodes - Select a port within the ranges `5431-5455` or `8191-8215` . (If you have an existing cluster with ra3 nodes, it isn't required that you change the port to these ranges.)\n- For clusters with dc2 nodes - Select a port within the range `1150-65535` .", - "title": "Port", - "type": "number" - }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range (in UTC) during which automated cluster maintenance can occur.\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nDefault: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see [Maintenance Windows](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows) in Amazon Redshift Cluster Management Guide.\n\nValid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun\n\nConstraints: Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", - "type": "string" - }, - "PubliclyAccessible": { - "markdownDescription": "If `true` , the cluster can be accessed from a public network.\n\nDefault: false", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ResourceAction": { - "markdownDescription": "The Amazon Redshift operation to be performed. Supported operations are `pause-cluster` , `resume-cluster` , and `failover-primary-compute` .", - "title": "ResourceAction", - "type": "string" - }, - "RevisionTarget": { - "markdownDescription": "Describes a `RevisionTarget` object.", - "title": "RevisionTarget", - "type": "string" - }, - "RotateEncryptionKey": { - "markdownDescription": "Rotates the encryption keys for a cluster.", - "title": "RotateEncryptionKey", - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "markdownDescription": "The name of the cluster the source snapshot was created from. This parameter is required if your user or role has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.", - "title": "SnapshotClusterIdentifier", - "type": "string" - }, - "SnapshotCopyGrantName": { - "markdownDescription": "The name of the snapshot copy grant.", - "title": "SnapshotCopyGrantName", - "type": "string" - }, - "SnapshotCopyManual": { - "markdownDescription": "Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.", - "title": "SnapshotCopyManual", - "type": "boolean" - }, - "SnapshotCopyRetentionPeriod": { - "markdownDescription": "The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region .\n\nBy default, this only changes the retention period of copied automated snapshots.\n\nIf you decrease the retention period for automated snapshots that are copied to a destination AWS Region , Amazon Redshift deletes any existing automated snapshots that were copied to the destination AWS Region and that fall outside of the new retention period.\n\nConstraints: Must be at least 1 and no more than 35 for automated snapshots.\n\nIf you specify the `manual` option, only newly copied manual snapshots will have the new retention period.\n\nIf you specify the value of -1 newly copied manual snapshots are retained indefinitely.\n\nConstraints: The number of days must be either -1 or an integer between 1 and 3,653 for manual snapshots.", - "title": "SnapshotCopyRetentionPeriod", - "type": "number" - }, - "SnapshotIdentifier": { - "markdownDescription": "The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must specify this parameter or `snapshotArn` , but not both.\n\nExample: `my-snapshot-id`", - "title": "SnapshotIdentifier", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tag instances.", - "title": "Tags", - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.\n\nDefault: The default VPC security group is associated with the cluster.", - "title": "VpcSecurityGroupIds", - "type": "array" - } - }, - "required": [ - "ClusterType", - "DBName", - "MasterUsername", - "NodeType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::Cluster.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "The DNS address of the cluster. This property is read only.", - "title": "Address", - "type": "string" - }, - "Port": { - "markdownDescription": "The port that the database engine is listening on. This property is read only.", - "title": "Port", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster.LoggingProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The name of an existing S3 bucket where the log files are to be stored.\n\nConstraints:\n\n- Must be in the same region as the cluster\n- The cluster must have read bucket and put object permissions", - "title": "BucketName", - "type": "string" - }, - "LogDestinationType": { - "markdownDescription": "The log destination type. An enum with possible values of `s3` and `cloudwatch` .", - "title": "LogDestinationType", - "type": "string" - }, - "LogExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The collection of exported log types. Possible values are `connectionlog` , `useractivitylog` , and `userlog` .", - "title": "LogExports", - "type": "array" - }, - "S3KeyPrefix": { - "markdownDescription": "The prefix applied to the log file names.\n\nValid characters are any letter from any language, any whitespace character, any numeric character, and the following characters: underscore ( `_` ), period ( `.` ), colon ( `:` ), slash ( `/` ), equal ( `=` ), plus ( `+` ), backslash ( `\\` ), hyphen ( `-` ), at symbol ( `@` ).", - "title": "S3KeyPrefix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 parameter group.", - "title": "Description", - "type": "string" - }, - "ParameterGroupFamily": { - "markdownDescription": "The name of the cluster parameter group family that this cluster parameter group is compatible with. You can create a custom parameter group and then associate your cluster with it. For more information, see [Amazon Redshift parameter groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) .", - "title": "ParameterGroupFamily", - "type": "string" - }, - "ParameterGroupName": { - "markdownDescription": "The name of the cluster parameter group.", - "title": "ParameterGroupName", - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "markdownDescription": "An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.\n\nFor each parameter to be modified, you must supply at least the parameter name and parameter value; other name-value pairs of the parameter are optional.\n\nFor the workload management (WLM) configuration, you must supply all the name-value pairs in the wlm_json_configuration parameter.", - "title": "Parameters", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The list of tags for the cluster parameter group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "ParameterGroupFamily" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "markdownDescription": "The name of the parameter.", - "title": "ParameterName", - "type": "string" - }, - "ParameterValue": { - "markdownDescription": "The value of the parameter. If `ParameterName` is `wlm_json_configuration` , then the maximum size of `ParameterValue` is 8000 characters.", - "title": "ParameterValue", - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 security group.", - "title": "Description", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies an arbitrary set of tags (key\u2013value pairs) to associate with this security group. Use tags to manage your resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 IP range to be added the Amazon Redshift security group.", - "title": "CIDRIP", - "type": "string" - }, - "ClusterSecurityGroupName": { - "markdownDescription": "The name of the security group to which the ingress rule is added.", - "title": "ClusterSecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupName": { - "markdownDescription": "The EC2 security group to be added the Amazon Redshift security group.", - "title": "EC2SecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "markdownDescription": "The AWS account number of the owner of the security group specified by the *EC2SecurityGroupName* parameter. The AWS Access Key ID is not an acceptable value.\n\nExample: `111122223333`\n\nConditional. If you specify the `EC2SecurityGroupName` property, you must specify this property.", - "title": "EC2SecurityGroupOwnerId", - "type": "string" - } - }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSubnetGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 subnet group.", - "title": "Description", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies an arbitrary set of tags (key\u2013value pairs) to associate with this subnet group. Use tags to manage your resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::DataShare": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Redshift::DataShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Redshift::DataShare.DataShareAssociation": { - "additionalProperties": false, - "properties": { - "ConsumerIdentifier": { - "type": "string" - }, - "CreatedDate": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "StatusChangeDate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::EndpointAccess": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The cluster identifier of the cluster associated with the endpoint.", - "title": "ClusterIdentifier", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint.", - "title": "EndpointName", - "type": "string" - }, - "ResourceOwner": { - "markdownDescription": "The AWS account ID of the owner of the cluster.", - "title": "ResourceOwner", - "type": "string" - }, - "SubnetGroupName": { - "markdownDescription": "The subnet group name where Amazon Redshift chooses to deploy the endpoint.", - "title": "SubnetGroupName", - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.", - "title": "VpcSecurityGroupIds", - "type": "array" - } - }, - "required": [ - "ClusterIdentifier", - "EndpointName", - "SubnetGroupName", - "VpcSecurityGroupIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::EndpointAccess" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::EndpointAccess.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone.", - "title": "AvailabilityZone", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The network interface identifier.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "PrivateIpAddress": { - "markdownDescription": "The IPv4 address of the network interface within the subnet.", - "title": "PrivateIpAddress", - "type": "string" - }, - "SubnetId": { - "markdownDescription": "The subnet identifier.", - "title": "SubnetId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::EndpointAccess.VpcEndpoint": { - "additionalProperties": false, - "properties": { - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::Redshift::EndpointAccess.NetworkInterface" - }, - "markdownDescription": "One or more network interfaces of the endpoint. Also known as an interface endpoint.", - "title": "NetworkInterfaces", - "type": "array" - }, - "VpcEndpointId": { - "markdownDescription": "The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.", - "title": "VpcEndpointId", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The VPC identifier that the endpoint is associated.", - "title": "VpcId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::EndpointAccess.VpcSecurityGroup": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "The status of the endpoint.", - "title": "Status", - "type": "string" - }, - "VpcSecurityGroupId": { - "markdownDescription": "The identifier of the VPC security group.", - "title": "VpcSecurityGroupId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::EndpointAuthorization": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Account": { - "markdownDescription": "The AWS account ID of either the cluster owner (grantor) or grantee. If `Grantee` parameter is true, then the `Account` value is of the grantor.", - "title": "Account", - "type": "string" - }, - "ClusterIdentifier": { - "markdownDescription": "The cluster identifier.", - "title": "ClusterIdentifier", - "type": "string" - }, - "Force": { - "markdownDescription": "Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.", - "title": "Force", - "type": "boolean" - }, - "VpcIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The virtual private cloud (VPC) identifiers to grant access to.", - "title": "VpcIds", - "type": "array" - } - }, - "required": [ - "Account", - "ClusterIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::EndpointAuthorization" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::EventSubscription": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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, and set to `false` to create the subscription but not activate it.", - "title": "Enabled", - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the Amazon Redshift event categories to be published by the event notification subscription.\n\nValues: configuration, management, monitoring, security, pending", - "title": "EventCategories", - "type": "array" - }, - "Severity": { - "markdownDescription": "Specifies the Amazon Redshift event severity to be published by the event notification subscription.\n\nValues: ERROR, INFO", - "title": "Severity", - "type": "string" - }, - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", - "title": "SnsTopicArn", - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of one or more identifiers of Amazon Redshift source objects. All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified.\n\nExample: my-cluster-1, my-cluster-2\n\nExample: my-snapshot-20131010", - "title": "SourceIds", - "type": "array" - }, - "SourceType": { - "markdownDescription": "The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account . You must specify a source type in order to specify source IDs.\n\nValid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.", - "title": "SourceType", - "type": "string" - }, - "SubscriptionName": { - "markdownDescription": "The name of the event subscription to be created.\n\nConstraints:\n\n- Cannot be null, empty, or blank.\n- Must contain from 1 to 255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", - "title": "SubscriptionName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tag instances.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SubscriptionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::Integration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalEncryptionContext": { - "additionalProperties": true, - "markdownDescription": "The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/) in the *AWS Key Management Service Developer Guide* .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AdditionalEncryptionContext", - "type": "object" - }, - "IntegrationName": { - "markdownDescription": "The name of the integration.", - "title": "IntegrationName", - "type": "string" - }, - "KMSKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key identifier for the key used to encrypt the integration.", - "title": "KMSKeyId", - "type": "string" - }, - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the database used as the source for replication.", - "title": "SourceArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The list of tags associated with the integration.", - "title": "Tags", - "type": "array" - }, - "TargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Redshift data warehouse to use as the target for replication.", - "title": "TargetArn", - "type": "string" - } - }, - "required": [ - "SourceArn", - "TargetArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enable": { - "markdownDescription": "If true, the schedule is enabled. If false, the scheduled action does not trigger. For more information about `state` of the scheduled action, see `ScheduledAction` .", - "title": "Enable", - "type": "boolean" - }, - "EndTime": { - "markdownDescription": "The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.", - "title": "EndTime", - "type": "string" - }, - "IamRole": { - "markdownDescription": "The IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see [Using Identity-Based Policies for Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) in the *Amazon Redshift Cluster Management Guide* .", - "title": "IamRole", - "type": "string" - }, - "Schedule": { - "markdownDescription": "The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.\n\nFormat of at expressions is \" `at(yyyy-mm-ddThh:mm:ss)` \". For example, \" `at(2016-03-04T17:27:00)` \".\n\nFormat of cron expressions is \" `cron(Minutes Hours Day-of-month Month Day-of-week Year)` \". For example, \" `cron(0 10 ? * MON *)` \". For more information, see [Cron Expressions](https://docs.aws.amazon.com//AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) in the *Amazon CloudWatch Events User Guide* .", - "title": "Schedule", - "type": "string" - }, - "ScheduledActionDescription": { - "markdownDescription": "The description of the scheduled action.", - "title": "ScheduledActionDescription", - "type": "string" - }, - "ScheduledActionName": { - "markdownDescription": "The name of the scheduled action.", - "title": "ScheduledActionName", - "type": "string" - }, - "StartTime": { - "markdownDescription": "The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.", - "title": "StartTime", - "type": "string" - }, - "TargetAction": { - "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ScheduledActionType", - "markdownDescription": "A JSON format string of the Amazon Redshift API operation with input parameters.\n\n\" `{\\\"ResizeCluster\\\":{\\\"NodeType\\\":\\\"ra3.4xlarge\\\",\\\"ClusterIdentifier\\\":\\\"my-test-cluster\\\",\\\"NumberOfNodes\\\":3}}` \".", - "title": "TargetAction" - } - }, - "required": [ - "ScheduledActionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ScheduledAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction.PauseClusterMessage": { - "additionalProperties": false, - "properties": { - "ClusterIdentifier": { - "markdownDescription": "The identifier of the cluster to be paused.", - "title": "ClusterIdentifier", - "type": "string" - } - }, - "required": [ - "ClusterIdentifier" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction.ResizeClusterMessage": { - "additionalProperties": false, - "properties": { - "Classic": { - "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to `false` , the resize type is elastic.", - "title": "Classic", - "type": "boolean" - }, - "ClusterIdentifier": { - "markdownDescription": "The unique identifier for the cluster to resize.", - "title": "ClusterIdentifier", - "type": "string" - }, - "ClusterType": { - "markdownDescription": "The new cluster type for the specified cluster.", - "title": "ClusterType", - "type": "string" - }, - "NodeType": { - "markdownDescription": "The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.", - "title": "NodeType", - "type": "string" - }, - "NumberOfNodes": { - "markdownDescription": "The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.", - "title": "NumberOfNodes", - "type": "number" - } - }, - "required": [ - "ClusterIdentifier" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction.ResumeClusterMessage": { - "additionalProperties": false, - "properties": { - "ClusterIdentifier": { - "markdownDescription": "The identifier of the cluster to be resumed.", - "title": "ClusterIdentifier", - "type": "string" - } - }, - "required": [ - "ClusterIdentifier" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction.ScheduledActionType": { - "additionalProperties": false, - "properties": { - "PauseCluster": { - "$ref": "#/definitions/AWS::Redshift::ScheduledAction.PauseClusterMessage", - "markdownDescription": "An action that runs a `PauseCluster` API operation.", - "title": "PauseCluster" - }, - "ResizeCluster": { - "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ResizeClusterMessage", - "markdownDescription": "An action that runs a `ResizeCluster` API operation.", - "title": "ResizeCluster" - }, - "ResumeCluster": { - "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ResumeClusterMessage", - "markdownDescription": "An action that runs a `ResumeCluster` API operation.", - "title": "ResumeCluster" - } - }, - "type": "object" - }, - "AWS::Redshift::SnapshotSchedule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ScheduleDefinitions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScheduleDescription": { - "type": "string" - }, - "ScheduleIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ScheduleDefinitions", - "ScheduleIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::SnapshotSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RedshiftServerless::Namespace": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdminPasswordSecretKmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if `ManageAdminPassword` is `true` .", - "title": "AdminPasswordSecretKmsKeyId", - "type": "string" - }, - "AdminUserPassword": { - "markdownDescription": "The password of the administrator for the primary database created in the namespace.", - "title": "AdminUserPassword", - "type": "string" - }, - "AdminUsername": { - "markdownDescription": "The username of the administrator for the primary database created in the namespace.", - "title": "AdminUsername", - "type": "string" - }, - "DbName": { - "markdownDescription": "The name of the primary database created in the namespace.", - "title": "DbName", - "type": "string" - }, - "DefaultIamRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.", - "title": "DefaultIamRoleArn", - "type": "string" - }, - "FinalSnapshotName": { - "markdownDescription": "The name of the snapshot to be created before the namespace is deleted.", - "title": "FinalSnapshotName", - "type": "string" - }, - "FinalSnapshotRetentionPeriod": { - "markdownDescription": "How long to retain the final snapshot.", - "title": "FinalSnapshotRetentionPeriod", - "type": "number" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of IAM roles to associate with the namespace.", - "title": "IamRoles", - "type": "array" - }, - "KmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service key used to encrypt your data.", - "title": "KmsKeyId", - "type": "string" - }, - "LogExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of logs the namespace can export. Available export types are `userlog` , `connectionlog` , and `useractivitylog` .", - "title": "LogExports", - "type": "array" - }, - "ManageAdminPassword": { - "markdownDescription": "If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. You can't use `AdminUserPassword` if `ManageAdminPassword` is true. If `ManageAdminPassword` is `false` or not set, Amazon Redshift uses `AdminUserPassword` for the admin user account's password.", - "title": "ManageAdminPassword", - "type": "boolean" - }, - "NamespaceName": { - "markdownDescription": "The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", - "title": "NamespaceName", - "type": "string" - }, - "NamespaceResourcePolicy": { - "markdownDescription": "The resource policy that will be attached to the namespace.", - "title": "NamespaceResourcePolicy", - "type": "object" - }, - "RedshiftIdcApplicationArn": { - "markdownDescription": "The ARN for the Redshift application that integrates with IAM Identity Center.", - "title": "RedshiftIdcApplicationArn", - "type": "string" - }, - "SnapshotCopyConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Namespace.SnapshotCopyConfiguration" - }, - "markdownDescription": "", - "title": "SnapshotCopyConfigurations", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The map of the key-value pairs used to tag the namespace.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "NamespaceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RedshiftServerless::Namespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RedshiftServerless::Namespace.Namespace": { - "additionalProperties": false, - "properties": { - "AdminPasswordSecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the namespace's admin user credentials secret.", - "title": "AdminPasswordSecretArn", - "type": "string" - }, - "AdminPasswordSecretKmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.", - "title": "AdminPasswordSecretKmsKeyId", - "type": "string" - }, - "AdminUsername": { - "markdownDescription": "The username of the administrator for the first database created in the namespace.", - "title": "AdminUsername", - "type": "string" - }, - "CreationDate": { - "markdownDescription": "The date of when the namespace was created.", - "title": "CreationDate", - "type": "string" - }, - "DbName": { - "markdownDescription": "The name of the first database created in the namespace.", - "title": "DbName", - "type": "string" - }, - "DefaultIamRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.", - "title": "DefaultIamRoleArn", - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of IAM roles to associate with the namespace.", - "title": "IamRoles", - "type": "array" - }, - "KmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service key used to encrypt your data.", - "title": "KmsKeyId", - "type": "string" - }, - "LogExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of logs the namespace can export. Available export types are User log, Connection log, and User activity log.", - "title": "LogExports", - "type": "array" - }, - "NamespaceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) associated with a namespace.", - "title": "NamespaceArn", - "type": "string" - }, - "NamespaceId": { - "markdownDescription": "The unique identifier of a namespace.", - "title": "NamespaceId", - "type": "string" - }, - "NamespaceName": { - "markdownDescription": "The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", - "title": "NamespaceName", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the namespace.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Namespace.SnapshotCopyConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationKmsKeyId": { - "markdownDescription": "The ID of the KMS key to use to encrypt your snapshots in the destination AWS Region .", - "title": "DestinationKmsKeyId", - "type": "string" - }, - "DestinationRegion": { - "markdownDescription": "The destination AWS Region to copy snapshots to.", - "title": "DestinationRegion", - "type": "string" - }, - "SnapshotRetentionPeriod": { - "markdownDescription": "The retention period of snapshots that are copied to the destination AWS Region .", - "title": "SnapshotRetentionPeriod", - "type": "number" - } - }, - "required": [ - "DestinationRegion" - ], - "type": "object" - }, - "AWS::RedshiftServerless::RecoveryPoint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NamespaceName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RedshiftServerless::RecoveryPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RedshiftServerless::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": { - "NamespaceName": { - "markdownDescription": "The name of the namepsace.", - "title": "NamespaceName", - "type": "string" - }, - "RetentionPeriod": { - "markdownDescription": "The retention period of the snapshot created by the scheduled action.", - "title": "RetentionPeriod", - "type": "number" - }, - "SnapshotName": { - "markdownDescription": "The name of the snapshot.", - "title": "SnapshotName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of [Tag objects](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_Tag.html) to associate with the snapshot.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SnapshotName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RedshiftServerless::Snapshot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RedshiftServerless::Snapshot.Snapshot": { - "additionalProperties": false, - "properties": { - "AdminUsername": { - "markdownDescription": "The username of the database within a snapshot.", - "title": "AdminUsername", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The unique identifier of the KMS key used to encrypt the snapshot.", - "title": "KmsKeyId", - "type": "string" - }, - "NamespaceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the namespace the snapshot was created from.", - "title": "NamespaceArn", - "type": "string" - }, - "NamespaceName": { - "markdownDescription": "The name of the namepsace.", - "title": "NamespaceName", - "type": "string" - }, - "OwnerAccount": { - "markdownDescription": "The owner AWS ; account of the snapshot.", - "title": "OwnerAccount", - "type": "string" - }, - "RetentionPeriod": { - "markdownDescription": "", - "title": "RetentionPeriod", - "type": "number" - }, - "SnapshotArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the snapshot.", - "title": "SnapshotArn", - "type": "string" - }, - "SnapshotCreateTime": { - "markdownDescription": "The timestamp of when the snapshot was created.", - "title": "SnapshotCreateTime", - "type": "string" - }, - "SnapshotName": { - "markdownDescription": "The name of the snapshot.", - "title": "SnapshotName", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the snapshot.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BaseCapacity": { - "markdownDescription": "The base compute capacity of the workgroup in Redshift Processing Units (RPUs).", - "title": "BaseCapacity", - "type": "number" - }, - "ConfigParameters": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.ConfigParameter" - }, - "markdownDescription": "The key of the parameter. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", - "title": "ConfigParameters", - "type": "array" - }, - "EnhancedVpcRouting": { - "markdownDescription": "The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.", - "title": "EnhancedVpcRouting", - "type": "boolean" - }, - "MaxCapacity": { - "markdownDescription": "The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.", - "title": "MaxCapacity", - "type": "number" - }, - "NamespaceName": { - "markdownDescription": "The namespace the workgroup is associated with.", - "title": "NamespaceName", - "type": "string" - }, - "Port": { - "markdownDescription": "The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.", - "title": "Port", - "type": "number" - }, - "PricePerformanceTarget": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.PerformanceTarget", - "markdownDescription": "An object that represents the price performance target settings for the workgroup.", - "title": "PricePerformanceTarget" - }, - "PubliclyAccessible": { - "markdownDescription": "A value that specifies whether the workgroup can be accessible from a public network.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "RecoveryPointId": { - "markdownDescription": "The recovery point id to restore from.", - "title": "RecoveryPointId", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of security group IDs to associate with the workgroup.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SnapshotArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the snapshot to restore from.", - "title": "SnapshotArn", - "type": "string" - }, - "SnapshotName": { - "markdownDescription": "The snapshot name to restore from.", - "title": "SnapshotName", - "type": "string" - }, - "SnapshotOwnerAccount": { - "markdownDescription": "The Amazon Web Services account that owns the snapshot.", - "title": "SnapshotOwnerAccount", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of subnet IDs the workgroup is associated with.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The map of the key-value pairs used to tag the workgroup.", - "title": "Tags", - "type": "array" - }, - "TrackName": { - "markdownDescription": "An optional parameter for the name of the track for the workgroup. If you don't provide a track name, the workgroup is assigned to the current track.", - "title": "TrackName", - "type": "string" - }, - "Workgroup": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.Workgroup", - "markdownDescription": "The collection of computing resources from which an endpoint is created.", - "title": "Workgroup" - }, - "WorkgroupName": { - "markdownDescription": "The name of the workgroup.", - "title": "WorkgroupName", - "type": "string" - } - }, - "required": [ - "WorkgroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RedshiftServerless::Workgroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.ConfigParameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "markdownDescription": "The key of the parameter. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", - "title": "ParameterKey", - "type": "string" - }, - "ParameterValue": { - "markdownDescription": "The value of the parameter to set.", - "title": "ParameterValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "The DNS address of the VPC endpoint.", - "title": "Address", - "type": "string" - }, - "Port": { - "markdownDescription": "The port that Amazon Redshift Serverless listens on.", - "title": "Port", - "type": "number" - }, - "VpcEndpoints": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.VpcEndpoint" - }, - "markdownDescription": "An array of `VpcEndpoint` objects.", - "title": "VpcEndpoints", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The availability Zone.", - "title": "AvailabilityZone", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The unique identifier of the network interface.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "PrivateIpAddress": { - "markdownDescription": "The IPv4 address of the network interface within the subnet.", - "title": "PrivateIpAddress", - "type": "string" - }, - "SubnetId": { - "markdownDescription": "The unique identifier of the subnet.", - "title": "SubnetId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.PerformanceTarget": { - "additionalProperties": false, - "properties": { - "Level": { - "markdownDescription": "The target price performance level for the workgroup. Valid values include 1, 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, ECONOMICAL, BALANCED, RESOURCEFUL, and HIGH_PERFORMANCE.", - "title": "Level", - "type": "number" - }, - "Status": { - "markdownDescription": "Whether the price performance target is enabled for the workgroup.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.VpcEndpoint": { - "additionalProperties": false, - "properties": { - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.NetworkInterface" - }, - "markdownDescription": "One or more network interfaces of the endpoint. Also known as an interface endpoint.", - "title": "NetworkInterfaces", - "type": "array" - }, - "VpcEndpointId": { - "markdownDescription": "The connection endpoint ID for connecting to Amazon Redshift Serverless.", - "title": "VpcEndpointId", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The VPC identifier that the endpoint is associated with.", - "title": "VpcId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.Workgroup": { - "additionalProperties": false, - "properties": { - "BaseCapacity": { - "markdownDescription": "The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).", - "title": "BaseCapacity", - "type": "number" - }, - "ConfigParameters": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.ConfigParameter" - }, - "markdownDescription": "An array of parameters to set for advanced control over a database. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", - "title": "ConfigParameters", - "type": "array" - }, - "CreationDate": { - "markdownDescription": "The creation date of the workgroup.", - "title": "CreationDate", - "type": "string" - }, - "Endpoint": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.Endpoint", - "markdownDescription": "The endpoint that is created from the workgroup.", - "title": "Endpoint" - }, - "EnhancedVpcRouting": { - "markdownDescription": "The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.", - "title": "EnhancedVpcRouting", - "type": "boolean" - }, - "MaxCapacity": { - "markdownDescription": "The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.", - "title": "MaxCapacity", - "type": "number" - }, - "NamespaceName": { - "markdownDescription": "The namespace the workgroup is associated with.", - "title": "NamespaceName", - "type": "string" - }, - "PricePerformanceTarget": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.PerformanceTarget", - "markdownDescription": "An object that represents the price performance target settings for the workgroup.", - "title": "PricePerformanceTarget" - }, - "PubliclyAccessible": { - "markdownDescription": "A value that specifies whether the workgroup can be accessible from a public network.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of security group IDs to associate with the workgroup.", - "title": "SecurityGroupIds", - "type": "array" - }, - "Status": { - "markdownDescription": "The status of the workgroup.", - "title": "Status", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of subnet IDs the workgroup is associated with.", - "title": "SubnetIds", - "type": "array" - }, - "TrackName": { - "markdownDescription": "The name of the track for the workgroup.", - "title": "TrackName", - "type": "string" - }, - "WorkgroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) that links to the workgroup.", - "title": "WorkgroupArn", - "type": "string" - }, - "WorkgroupId": { - "markdownDescription": "The unique identifier of the workgroup.", - "title": "WorkgroupId", - "type": "string" - }, - "WorkgroupName": { - "markdownDescription": "The name of the workgroup.", - "title": "WorkgroupName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RefactorSpaces::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": { - "ApiGatewayProxy": { - "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput", - "markdownDescription": "The endpoint URL of the Amazon API Gateway proxy.", - "title": "ApiGatewayProxy" - }, - "EnvironmentIdentifier": { - "markdownDescription": "The unique identifier of the environment.", - "title": "EnvironmentIdentifier", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the application.", - "title": "Name", - "type": "string" - }, - "ProxyType": { - "markdownDescription": "The proxy type of the proxy created within the application.", - "title": "ProxyType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the application.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the virtual private cloud (VPC).", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "EnvironmentIdentifier", - "Name", - "ProxyType", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "markdownDescription": "The type of endpoint to use for the API Gateway proxy. If no value is specified in the request, the value is set to `REGIONAL` by default.\n\nIf the value is set to `PRIVATE` in the request, this creates a private API endpoint that is isolated from the public internet. The private endpoint can only be accessed by using Amazon Virtual Private Cloud (Amazon VPC) interface endpoints for the Amazon API Gateway that has been granted access. For more information about creating a private connection with Refactor Spaces and interface endpoint ( AWS PrivateLink ) availability, see [Access Refactor Spaces using an interface endpoint ( AWS PrivateLink )](https://docs.aws.amazon.com/migrationhub-refactor-spaces/latest/userguide/vpc-interface-endpoints.html) .", - "title": "EndpointType", - "type": "string" - }, - "StageName": { - "markdownDescription": "The name of the API Gateway stage. The name defaults to `prod` .", - "title": "StageName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RefactorSpaces::Environment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 environment.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the environment.", - "title": "Name", - "type": "string" - }, - "NetworkFabricType": { - "markdownDescription": "The network fabric type of the environment.", - "title": "NetworkFabricType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the environment.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" + "markdownDescription": "The sort configuration of a waterfall visual.", + "title": "SortConfiguration" }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Environment" - ], - "type": "string" + "VisualPalette": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualPalette", + "markdownDescription": "The visual palette configuration of a waterfall visual.", + "title": "VisualPalette" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "WaterfallChartOptions": { + "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartOptions", + "markdownDescription": "The options that determine the presentation of a waterfall visual.", + "title": "WaterfallChartOptions" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::RefactorSpaces::Route": { + "AWS::QuickSight::Template.WaterfallChartFieldWells": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "WaterfallChartAggregatedFieldWells": { + "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartAggregatedFieldWells", + "markdownDescription": "The field well configuration of a waterfall visual.", + "title": "WaterfallChartAggregatedFieldWells" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.WaterfallChartGroupColorConfiguration": { + "additionalProperties": false, + "properties": { + "NegativeBarColor": { + "markdownDescription": "Defines the color for the negative bars of a waterfall chart.", + "title": "NegativeBarColor", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The unique identifier of the application.", - "title": "ApplicationIdentifier", - "type": "string" - }, - "DefaultRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.DefaultRouteInput", - "markdownDescription": "Configuration for the default route type.", - "title": "DefaultRoute" - }, - "EnvironmentIdentifier": { - "markdownDescription": "The unique identifier of the environment.", - "title": "EnvironmentIdentifier", - "type": "string" - }, - "RouteType": { - "markdownDescription": "The route type of the route.", - "title": "RouteType", - "type": "string" - }, - "ServiceIdentifier": { - "markdownDescription": "The unique identifier of the service.", - "title": "ServiceIdentifier", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the route.", - "title": "Tags", - "type": "array" - }, - "UriPathRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput", - "markdownDescription": "The configuration for the URI path route type.", - "title": "UriPathRoute" - } - }, - "required": [ - "ApplicationIdentifier", - "EnvironmentIdentifier", - "RouteType", - "ServiceIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Route" - ], + "PositiveBarColor": { + "markdownDescription": "Defines the color for the positive bars of a waterfall chart.", + "title": "PositiveBarColor", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TotalBarColor": { + "markdownDescription": "Defines the color for the total bars of a waterfall chart.", + "title": "TotalBarColor", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RefactorSpaces::Route.DefaultRouteInput": { + "AWS::QuickSight::Template.WaterfallChartOptions": { "additionalProperties": false, "properties": { - "ActivationState": { - "markdownDescription": "If set to `ACTIVE` , traffic is forwarded to this route\u2019s service after the route is created.", - "title": "ActivationState", + "TotalBarLabel": { + "markdownDescription": "This option determines the total bar label of a waterfall visual.", + "title": "TotalBarLabel", "type": "string" } }, - "required": [ - "ActivationState" - ], "type": "object" }, - "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "AWS::QuickSight::Template.WaterfallChartSortConfiguration": { "additionalProperties": false, "properties": { - "ActivationState": { - "markdownDescription": "If set to `ACTIVE` , traffic is forwarded to this route\u2019s service after the route is created.", - "title": "ActivationState", - "type": "string" - }, - "AppendSourcePath": { - "markdownDescription": "If set to `true` , this option appends the source path to the service URL endpoint.", - "title": "AppendSourcePath", - "type": "boolean" - }, - "IncludeChildPaths": { - "markdownDescription": "Indicates whether to match all subpaths of the given source path. If this value is `false` , requests must match the source path exactly before they are forwarded to this route's service.", - "title": "IncludeChildPaths", - "type": "boolean" + "BreakdownItemsLimit": { + "$ref": "#/definitions/AWS::QuickSight::Template.ItemsLimitConfiguration", + "markdownDescription": "The limit on the number of bar groups that are displayed.", + "title": "BreakdownItemsLimit" }, - "Methods": { + "CategorySort": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::QuickSight::Template.FieldSortOptions" }, - "markdownDescription": "A list of HTTP methods to match. An empty list matches all values. If a method is present, only HTTP requests using that method are forwarded to this route\u2019s service.", - "title": "Methods", + "markdownDescription": "The sort configuration of the category fields.", + "title": "CategorySort", "type": "array" - }, - "SourcePath": { - "markdownDescription": "This is the path that Refactor Spaces uses to match traffic. Paths must start with `/` and are relative to the base of the application. To use path parameters in the source path, add a variable in curly braces. For example, the resource path {user} represents a path parameter called 'user'.", - "title": "SourcePath", - "type": "string" } }, - "required": [ - "ActivationState" - ], "type": "object" }, - "AWS::RefactorSpaces::Service": { + "AWS::QuickSight::Template.WaterfallVisual": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualCustomAction" + }, + "markdownDescription": "The list of custom actions that are configured for a visual.", + "title": "Actions", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ChartConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartConfiguration", + "markdownDescription": "The configuration for a waterfall visual.", + "title": "ChartConfiguration" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ColumnHierarchies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ColumnHierarchy" + }, + "markdownDescription": "The column hierarchy that is used during drill-downs and drill-ups.", + "title": "ColumnHierarchies", + "type": "array" }, - "Metadata": { - "type": "object" + "Subtitle": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions", + "markdownDescription": "The subtitle that is displayed on the visual.", + "title": "Subtitle" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationIdentifier": { - "markdownDescription": "The unique identifier of the application.", - "title": "ApplicationIdentifier", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the service.", - "title": "Description", - "type": "string" - }, - "EndpointType": { - "markdownDescription": "The endpoint type of the service.", - "title": "EndpointType", - "type": "string" - }, - "EnvironmentIdentifier": { - "markdownDescription": "The unique identifier of the environment.", - "title": "EnvironmentIdentifier", - "type": "string" - }, - "LambdaEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput", - "markdownDescription": "A summary of the configuration for the AWS Lambda endpoint type.", - "title": "LambdaEndpoint" - }, - "Name": { - "markdownDescription": "The name of the service.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the service.", - "title": "Tags", - "type": "array" - }, - "UrlEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput", - "markdownDescription": "The summary of the configuration for the URL endpoint type.", - "title": "UrlEndpoint" - }, - "VpcId": { - "markdownDescription": "The ID of the virtual private cloud (VPC).", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "ApplicationIdentifier", - "EndpointType", - "EnvironmentIdentifier", - "Name" - ], - "type": "object" + "Title": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions", + "markdownDescription": "The title that is displayed on the visual.", + "title": "Title" }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Service" - ], + "VisualContentAltText": { + "markdownDescription": "The alt text for the visual.", + "title": "VisualContentAltText", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "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", "type": "string" } }, "required": [ - "Type", - "Properties" + "VisualId" ], "type": "object" }, - "AWS::RefactorSpaces::Service.LambdaEndpointInput": { + "AWS::QuickSight::Template.WhatIfPointScenario": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Lambda function or alias.", - "title": "Arn", + "Date": { + "markdownDescription": "The date that you need the forecast results for.", + "title": "Date", "type": "string" + }, + "Value": { + "markdownDescription": "The target value that you want to meet for the provided date.", + "title": "Value", + "type": "number" } }, "required": [ - "Arn" + "Date", + "Value" ], "type": "object" }, - "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "AWS::QuickSight::Template.WhatIfRangeScenario": { "additionalProperties": false, "properties": { - "HealthUrl": { - "markdownDescription": "The health check URL of the URL endpoint type. If the URL is a public endpoint, the `HealthUrl` must also be a public endpoint. If the URL is a private endpoint inside a virtual private cloud (VPC), the health URL must also be a private endpoint, and the host must be the same as the URL.", - "title": "HealthUrl", + "EndDate": { + "markdownDescription": "The end date in the date range that you need the forecast results for.", + "title": "EndDate", "type": "string" }, - "Url": { - "markdownDescription": "The URL to route traffic to. The URL must be an [rfc3986-formatted URL](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc3986) . If the host is a domain name, the name must be resolvable over the public internet. If the scheme is `https` , the top level domain of the host must be listed in the [IANA root zone database](https://docs.aws.amazon.com/https://www.iana.org/domains/root/db) .", - "title": "Url", + "StartDate": { + "markdownDescription": "The start date in the date range that you need the forecast results for.", + "title": "StartDate", "type": "string" + }, + "Value": { + "markdownDescription": "The target value that you want to meet for the provided date range.", + "title": "Value", + "type": "number" } }, "required": [ - "Url" + "EndDate", + "StartDate", + "Value" ], "type": "object" }, - "AWS::Rekognition::Collection": { + "AWS::QuickSight::Template.WordCloudAggregatedFieldWells": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "GroupBy": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DimensionField" + }, + "markdownDescription": "The group by field well of a word cloud. Values are grouped by group by fields.", + "title": "GroupBy", + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Size": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.MeasureField" + }, + "markdownDescription": "The size field well of a word cloud. Values are aggregated based on group by fields.", + "title": "Size", + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.WordCloudChartConfiguration": { + "additionalProperties": false, + "properties": { + "CategoryLabelOptions": { + "$ref": "#/definitions/AWS::QuickSight::Template.ChartAxisLabelOptions", + "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) for the word cloud category.", + "title": "CategoryLabelOptions" }, - "Metadata": { - "type": "object" + "FieldWells": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudFieldWells", + "markdownDescription": "The field wells of the visual.", + "title": "FieldWells" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "markdownDescription": "ID for the collection that you are creating.", - "title": "CollectionId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A set of tags (key-value pairs) that you want to attach to the collection.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "CollectionId" - ], - "type": "object" + "Interactions": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualInteractionOptions", + "markdownDescription": "The general visual interactions setup for a visual.", + "title": "Interactions" }, - "Type": { - "enum": [ - "AWS::Rekognition::Collection" - ], - "type": "string" + "SortConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudSortConfiguration", + "markdownDescription": "The sort configuration of a word cloud visual.", + "title": "SortConfiguration" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "WordCloudOptions": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudOptions", + "markdownDescription": "The options for a word cloud visual.", + "title": "WordCloudOptions" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Rekognition::Dataset": { + "AWS::QuickSight::Template.WordCloudFieldWells": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "WordCloudAggregatedFieldWells": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudAggregatedFieldWells", + "markdownDescription": "The aggregated field wells of a word cloud.", + "title": "WordCloudAggregatedFieldWells" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.WordCloudOptions": { + "additionalProperties": false, + "properties": { + "CloudLayout": { + "markdownDescription": "The cloud layout options (fluid, normal) of a word cloud.", + "title": "CloudLayout", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MaximumStringLength": { + "markdownDescription": "The length limit of each word from 1-100.", + "title": "MaximumStringLength", + "type": "number" }, - "Metadata": { - "type": "object" + "WordCasing": { + "markdownDescription": "The word casing options (lower_case, existing_case) for the words in a word cloud.", + "title": "WordCasing", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetType": { - "type": "string" - }, - "ProjectArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatasetType" - ], - "type": "object" + "WordOrientation": { + "markdownDescription": "The word orientation options (horizontal, horizontal_and_vertical) for the words in a word cloud.", + "title": "WordOrientation", + "type": "string" }, - "Type": { - "enum": [ - "AWS::Rekognition::Dataset" - ], + "WordPadding": { + "markdownDescription": "The word padding options (none, small, medium, large) for the words in a word cloud.", + "title": "WordPadding", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "WordScaling": { + "markdownDescription": "The word scaling options (emphasize, normal) for the words in a word cloud.", + "title": "WordScaling", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Rekognition::Project": { + "AWS::QuickSight::Template.WordCloudSortConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "CategoryItemsLimit": { + "$ref": "#/definitions/AWS::QuickSight::Template.ItemsLimitConfiguration", + "markdownDescription": "The limit on the number of groups that are displayed in a word cloud.", + "title": "CategoryItemsLimit" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CategorySort": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.FieldSortOptions" + }, + "markdownDescription": "The sort configuration of group by fields.", + "title": "CategorySort", + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.WordCloudVisual": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualCustomAction" + }, + "markdownDescription": "The list of custom actions that are configured for a visual.", + "title": "Actions", + "type": "array" }, - "Metadata": { - "type": "object" + "ChartConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudChartConfiguration", + "markdownDescription": "The configuration settings of the visual.", + "title": "ChartConfiguration" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "markdownDescription": "The name of the project to create.", - "title": "ProjectName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } + "ColumnHierarchies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ColumnHierarchy" }, - "required": [ - "ProjectName" - ], - "type": "object" + "markdownDescription": "The column hierarchy that is used during drill-downs and drill-ups.", + "title": "ColumnHierarchies", + "type": "array" }, - "Type": { - "enum": [ - "AWS::Rekognition::Project" - ], + "Subtitle": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions", + "markdownDescription": "The subtitle that is displayed on the visual.", + "title": "Subtitle" + }, + "Title": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions", + "markdownDescription": "The title that is displayed on the visual.", + "title": "Title" + }, + "VisualContentAltText": { + "markdownDescription": "The alt text for the visual.", + "title": "VisualContentAltText", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "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", "type": "string" } }, "required": [ - "Type", - "Properties" + "VisualId" ], "type": "object" }, - "AWS::Rekognition::StreamProcessor": { + "AWS::QuickSight::Template.YAxisOptions": { + "additionalProperties": false, + "properties": { + "YAxis": { + "markdownDescription": "The Y axis type to be used in the chart.\n\nIf you choose `PRIMARY_Y_AXIS` , the primary Y Axis is located on the leftmost vertical axis of the chart.", + "title": "YAxis", + "type": "string" + } + }, + "required": [ + "YAxis" + ], + "type": "object" + }, + "AWS::QuickSight::Theme": { "additionalProperties": false, "properties": { "Condition": { @@ -333368,87 +299551,65 @@ "Properties": { "additionalProperties": false, "properties": { - "BoundingBoxRegionsOfInterest": { - "items": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.BoundingBox" - }, - "markdownDescription": "List of BoundingBox objects, each of which denotes a region of interest on screen. For more information, see the BoundingBox field of [RegionOfInterest](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RegionOfInterest) .", - "title": "BoundingBoxRegionsOfInterest", - "type": "array" - }, - "ConnectedHomeSettings": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.ConnectedHomeSettings", - "markdownDescription": "Connected home settings to use on a streaming video. You can use a stream processor for connected home features and select what you want the stream processor to detect, such as people or pets. When the stream processor has started, one notification is sent for each object class specified. For more information, see the ConnectedHome section of [StreamProcessorSettings](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorSettings) .", - "title": "ConnectedHomeSettings" - }, - "DataSharingPreference": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.DataSharingPreference", - "markdownDescription": "Allows you to opt in or opt out to share data with Rekognition to improve model performance. You can choose this option at the account level or on a per-stream basis. Note that if you opt out at the account level this setting is ignored on individual streams. For more information, see [StreamProcessorDataSharingPreference](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorDataSharingPreference) .", - "title": "DataSharingPreference" - }, - "FaceSearchSettings": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.FaceSearchSettings", - "markdownDescription": "The input parameters used to recognize faces in a streaming video analyzed by an Amazon Rekognition stream processor. For more information regarding the contents of the parameters, see [FaceSearchSettings](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_FaceSearchSettings) .", - "title": "FaceSearchSettings" - }, - "KinesisDataStream": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.KinesisDataStream", - "markdownDescription": "Amazon Rekognition's Video Stream Processor takes a Kinesis video stream as input. This is the Amazon Kinesis Data Streams instance to which the Amazon Rekognition stream processor streams the analysis results. This must be created within the constraints specified at [KinesisDataStream](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_KinesisDataStream) .", - "title": "KinesisDataStream" - }, - "KinesisVideoStream": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.KinesisVideoStream", - "markdownDescription": "The Kinesis video stream that provides the source of the streaming video for an Amazon Rekognition Video stream processor. For more information, see [KinesisVideoStream](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_KinesisVideoStream) .", - "title": "KinesisVideoStream" - }, - "KmsKeyId": { - "markdownDescription": "The identifier for your Amazon Key Management Service key (Amazon KMS key). Optional parameter for connected home stream processors used to encrypt results and data published to your Amazon S3 bucket. For more information, see the KMSKeyId section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", - "title": "KmsKeyId", + "AwsAccountId": { + "markdownDescription": "The ID of the AWS account where you want to store the new theme.", + "title": "AwsAccountId", "type": "string" }, - "Name": { - "markdownDescription": "The Name attribute specifies the name of the stream processor and it must be within the constraints described in the Name section of [StreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessor) . If you don't specify a name, Amazon CloudFormation generates a unique ID and uses that ID for the stream processor name.", - "title": "Name", + "BaseThemeId": { + "markdownDescription": "The ID of the theme that a custom theme will inherit from. All themes inherit from one of the starting themes defined by Amazon Quick Sight. For a list of the starting themes, use `ListThemes` or choose *Themes* from within an analysis.", + "title": "BaseThemeId", "type": "string" }, - "NotificationChannel": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.NotificationChannel", - "markdownDescription": "The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the object detection results and completion status of a video analysis operation. Amazon Rekognition publishes a notification the first time an object of interest or a person is detected in the video stream. Amazon Rekognition also publishes an end-of-session notification with a summary when the stream processing session is complete. For more information, see [StreamProcessorNotificationChannel](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorNotificationChannel) .", - "title": "NotificationChannel" - }, - "PolygonRegionsOfInterest": { - "markdownDescription": "A set of ordered lists of [Point](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_Point) objects. Each entry of the set contains a polygon denoting a region of interest on the screen. Each polygon is an ordered list of [Point](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_Point) objects. For more information, see the Polygon field of [RegionOfInterest](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RegionOfInterest) .", - "title": "PolygonRegionsOfInterest", - "type": "object" + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration", + "markdownDescription": "The theme configuration, which contains the theme display properties.", + "title": "Configuration" }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role that allows access to the stream processor. The IAM role provides Rekognition read permissions to the Kinesis stream. It also provides write permissions to an Amazon S3 bucket and Amazon Simple Notification Service topic for a connected home stream processor. This is required for both face search and connected home stream processors. For information about constraints, see the RoleArn section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", - "title": "RoleArn", + "Name": { + "markdownDescription": "A display name for the theme.", + "title": "Name", "type": "string" }, - "S3Destination": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.S3Destination", - "markdownDescription": "The Amazon S3 bucket location to which Amazon Rekognition publishes the detailed inference results of a video analysis operation. For more information, see the S3Destination section of [StreamProcessorOutput](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorOutput) .", - "title": "S3Destination" + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "markdownDescription": "A valid grouping of resource permissions to apply to the new theme.", + "title": "Permissions", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A set of tags (key-value pairs) that you want to attach to the stream processor. For more information, see the Tags section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", + "markdownDescription": "A map of the key-value pairs for the resource tag or tags that you want to add to the resource.", "title": "Tags", "type": "array" + }, + "ThemeId": { + "markdownDescription": "An ID for the theme that you want to create. The theme ID is unique per AWS Region in each AWS account.", + "title": "ThemeId", + "type": "string" + }, + "VersionDescription": { + "markdownDescription": "A description of the first version of the theme that you're creating. Every time `UpdateTheme` is called, a new version is created. Each version of the theme has a description of the version in the `VersionDescription` field.", + "title": "VersionDescription", + "type": "string" } }, "required": [ - "KinesisVideoStream", - "RoleArn" + "AwsAccountId", + "BaseThemeId", + "Configuration", + "Name", + "ThemeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Rekognition::StreamProcessor" + "AWS::QuickSight::Theme" ], "type": "string" }, @@ -333467,155 +299628,335 @@ ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.BoundingBox": { + "AWS::QuickSight::Theme.BorderStyle": { "additionalProperties": false, "properties": { - "Height": { - "markdownDescription": "Height of the bounding box as a ratio of the overall image height.", - "title": "Height", - "type": "number" - }, - "Left": { - "markdownDescription": "Left coordinate of the bounding box as a ratio of overall image width.", - "title": "Left", - "type": "number" + "Show": { + "markdownDescription": "The option to enable display of borders for visuals.", + "title": "Show", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { + "items": { + "type": "string" + }, + "markdownDescription": "The hexadecimal codes for the colors.", + "title": "Colors", + "type": "array" }, - "Top": { - "markdownDescription": "Top coordinate of the bounding box as a ratio of overall image height.", - "title": "Top", - "type": "number" + "EmptyFillColor": { + "markdownDescription": "The hexadecimal code of a color that applies to charts where a lack of data is highlighted.", + "title": "EmptyFillColor", + "type": "string" }, - "Width": { - "markdownDescription": "Width of the bounding box as a ratio of the overall image width.", - "title": "Width", - "type": "number" + "MinMaxGradient": { + "items": { + "type": "string" + }, + "markdownDescription": "The minimum and maximum hexadecimal codes that describe a color gradient.", + "title": "MinMaxGradient", + "type": "array" } }, - "required": [ - "Height", - "Left", - "Top", - "Width" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.ConnectedHomeSettings": { + "AWS::QuickSight::Theme.Font": { "additionalProperties": false, "properties": { - "Labels": { + "FontFamily": { + "markdownDescription": "Determines the font family settings.", + "title": "FontFamily", + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "markdownDescription": "This Boolean value controls whether to display a gutter space between sheet tiles.", + "title": "Show", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "markdownDescription": "This Boolean value controls whether to display sheet margins.", + "title": "Show", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { "items": { "type": "string" }, - "markdownDescription": "Specifies what you want to detect in the video, such as people, packages, or pets. The current valid labels you can include in this list are: \"PERSON\", \"PET\", \"PACKAGE\", and \"ALL\".", - "title": "Labels", + "markdownDescription": "The IAM action to grant or revoke permissions on.", + "title": "Actions", "type": "array" }, - "MinConfidence": { - "markdownDescription": "The minimum confidence required to label an object in the video.", - "title": "MinConfidence", - "type": "number" + "Principal": { + "markdownDescription": "The Amazon Resource Name (ARN) of the principal. This can be one of the following:\n\n- The ARN of an Amazon Quick user or group associated with a data source or dataset. (This is common.)\n- The ARN of an Amazon Quick user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)\n- The ARN of an AWS account root: This is an IAM ARN rather than a Quick ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)", + "title": "Principal", + "type": "string" } }, "required": [ - "Labels" + "Actions", + "Principal" ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.DataSharingPreference": { + "AWS::QuickSight::Theme.SheetStyle": { "additionalProperties": false, "properties": { - "OptIn": { - "markdownDescription": "Describes the opt-in status applied to a stream processor's data sharing policy.", - "title": "OptIn", - "type": "boolean" + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle", + "markdownDescription": "The display options for tiles.", + "title": "Tile" + }, + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle", + "markdownDescription": "The layout options for tiles.", + "title": "TileLayout" } }, - "required": [ - "OptIn" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.FaceSearchSettings": { + "AWS::QuickSight::Theme.ThemeConfiguration": { "additionalProperties": false, "properties": { - "CollectionId": { - "markdownDescription": "The ID of a collection that contains faces that you want to search for.", - "title": "CollectionId", - "type": "string" + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette", + "markdownDescription": "Color properties that apply to chart data colors.", + "title": "DataColorPalette" }, - "FaceMatchThreshold": { - "markdownDescription": "Minimum face match confidence score that must be met to return a result for a recognized face. The default is 80. 0 is the lowest confidence. 100 is the highest confidence. Values between 0 and 100 are accepted, and values lower than 80 are set to 80.", - "title": "FaceMatchThreshold", - "type": "number" + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle", + "markdownDescription": "Display options related to sheets.", + "title": "Sheet" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography", + "markdownDescription": "Determines the typography options.", + "title": "Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette", + "markdownDescription": "Color properties that apply to the UI and to charts, excluding the colors that apply to data.", + "title": "UIColorPalette" } }, - "required": [ - "CollectionId" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.KinesisDataStream": { + "AWS::QuickSight::Theme.ThemeError": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "ARN of the output Amazon Kinesis Data Streams stream.", - "title": "Arn", + "Message": { + "markdownDescription": "The error message.", + "title": "Message", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of error.", + "title": "Type", "type": "string" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.KinesisVideoStream": { + "AWS::QuickSight::Theme.ThemeVersion": { "additionalProperties": false, "properties": { "Arn": { - "markdownDescription": "ARN of the Kinesis video stream stream that streams the source video.", + "markdownDescription": "The Amazon Resource Name (ARN) of the resource.", "title": "Arn", "type": "string" + }, + "BaseThemeId": { + "markdownDescription": "The Quick Sight-defined ID of the theme that a custom theme inherits from. All themes initially inherit from a default Quick Sight theme.", + "title": "BaseThemeId", + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration", + "markdownDescription": "The theme configuration, which contains all the theme display properties.", + "title": "Configuration" + }, + "CreatedTime": { + "markdownDescription": "The date and time that this theme version was created.", + "title": "CreatedTime", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the theme.", + "title": "Description", + "type": "string" + }, + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeError" + }, + "markdownDescription": "Errors associated with the theme.", + "title": "Errors", + "type": "array" + }, + "Status": { + "markdownDescription": "The status of the theme version.", + "title": "Status", + "type": "string" + }, + "VersionNumber": { + "markdownDescription": "The version number of the theme.", + "title": "VersionNumber", + "type": "number" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.NotificationChannel": { + "AWS::QuickSight::Theme.TileLayoutStyle": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The ARN of the SNS topic that receives notifications.", - "title": "Arn", - "type": "string" + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle", + "markdownDescription": "The gutter settings that apply between tiles.", + "title": "Gutter" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle", + "markdownDescription": "The margin settings that apply around the outside edge of sheets.", + "title": "Margin" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileStyle": { + "additionalProperties": false, + "properties": { + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle", + "markdownDescription": "The border around a tile.", + "title": "Border" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Typography": { + "additionalProperties": false, + "properties": { + "FontFamilies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" + }, + "markdownDescription": "Determines the list of font families.", + "title": "FontFamilies", + "type": "array" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.S3Destination": { + "AWS::QuickSight::Theme.UIColorPalette": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name of a stream processor's exports.", - "title": "BucketName", + "Accent": { + "markdownDescription": "This color is that applies to selected states and buttons.", + "title": "Accent", "type": "string" }, - "ObjectKeyPrefix": { - "markdownDescription": "Describes the destination Amazon Simple Storage Service (Amazon S3) object keys of a stream processor's exports.", - "title": "ObjectKeyPrefix", + "AccentForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the accent color.", + "title": "AccentForeground", + "type": "string" + }, + "Danger": { + "markdownDescription": "The color that applies to error messages.", + "title": "Danger", + "type": "string" + }, + "DangerForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the error color.", + "title": "DangerForeground", + "type": "string" + }, + "Dimension": { + "markdownDescription": "The color that applies to the names of fields that are identified as dimensions.", + "title": "Dimension", + "type": "string" + }, + "DimensionForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the dimension color.", + "title": "DimensionForeground", + "type": "string" + }, + "Measure": { + "markdownDescription": "The color that applies to the names of fields that are identified as measures.", + "title": "Measure", + "type": "string" + }, + "MeasureForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the measure color.", + "title": "MeasureForeground", + "type": "string" + }, + "PrimaryBackground": { + "markdownDescription": "The background color that applies to visuals and other high emphasis UI.", + "title": "PrimaryBackground", + "type": "string" + }, + "PrimaryForeground": { + "markdownDescription": "The color of text and other foreground elements that appear over the primary background regions, such as grid lines, borders, table banding, icons, and so on.", + "title": "PrimaryForeground", + "type": "string" + }, + "SecondaryBackground": { + "markdownDescription": "The background color that applies to the sheet background and sheet controls.", + "title": "SecondaryBackground", + "type": "string" + }, + "SecondaryForeground": { + "markdownDescription": "The foreground color that applies to any sheet title, sheet control text, or UI that appears over the secondary background.", + "title": "SecondaryForeground", + "type": "string" + }, + "Success": { + "markdownDescription": "The color that applies to success messages, for example the check mark for a successful download.", + "title": "Success", + "type": "string" + }, + "SuccessForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the success color.", + "title": "SuccessForeground", + "type": "string" + }, + "Warning": { + "markdownDescription": "This color that applies to warning and informational messages.", + "title": "Warning", + "type": "string" + }, + "WarningForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the warning color.", + "title": "WarningForeground", "type": "string" } }, - "required": [ - "BucketName" - ], "type": "object" }, - "AWS::ResilienceHub::App": { + "AWS::QuickSight::Topic": { "additionalProperties": false, "properties": { "Condition": { @@ -333650,74 +299991,71 @@ "Properties": { "additionalProperties": false, "properties": { - "AppAssessmentSchedule": { - "markdownDescription": "Assessment execution schedule with 'Daily' or 'Disabled' values.", - "title": "AppAssessmentSchedule", + "AwsAccountId": { + "markdownDescription": "The ID of the AWS account that you want to create a topic in.", + "title": "AwsAccountId", "type": "string" }, - "AppTemplateBody": { - "markdownDescription": "A JSON string that provides information about your application structure. To learn more about the `appTemplateBody` template, see the sample template in [Sample appTemplateBody template](https://docs.aws.amazon.com//resilience-hub/latest/APIReference/API_PutDraftAppVersionTemplate.html#API_PutDraftAppVersionTemplate_Examples) .\n\nThe `appTemplateBody` JSON string has the following structure:\n\n- *`resources`*\n\nThe list of logical resources that needs to be included in the AWS Resilience Hub application.\n\nType: Array\n\n> Don't add the resources that you want to exclude. \n\nEach `resources` array item includes the following fields:\n\n- *`logicalResourceId`*\n\nThe logical identifier of the resource.\n\nType: Object\n\nEach `logicalResourceId` object includes the following fields:\n\n- `identifier`\n\nIdentifier of the resource.\n\nType: String\n- `logicalStackName`\n\nName of the AWS CloudFormation stack this resource belongs to.\n\nType: String\n- `resourceGroupName`\n\nName of the resource group this resource belongs to.\n\nType: String\n- `terraformSourceName`\n\nName of the Terraform S3 state file this resource belongs to.\n\nType: String\n- `eksSourceName`\n\nName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.\n\n> This parameter accepts values in \"eks-cluster/namespace\" format. \n\nType: String\n- *`type`*\n\nThe type of resource.\n\nType: string\n- *`name`*\n\nName of the resource.\n\nType: String\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`\n- *`appComponents`*\n\nThe list of Application Components (AppComponent) that this resource belongs to. If an AppComponent is not part of the AWS Resilience Hub application, it will be added.\n\nType: Array\n\nEach `appComponents` array item includes the following fields:\n\n- `name`\n\nName of the AppComponent.\n\nType: String\n- `type`\n\nThe type of AppComponent. For more information about the types of AppComponent, see [Grouping resources in an AppComponent](https://docs.aws.amazon.com/resilience-hub/latest/userguide/AppComponent.grouping.html) .\n\nType: String\n- `resourceNames`\n\nThe list of included resources that are assigned to the AppComponent.\n\nType: Array of strings\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`\n- *`excludedResources`*\n\nThe list of logical resource identifiers to be excluded from the application.\n\nType: Array\n\n> Don't add the resources that you want to include. \n\nEach `excludedResources` array item includes the following fields:\n\n- *`logicalResourceIds`*\n\nThe logical identifier of the resource.\n\nType: Object\n\n> You can configure only one of the following fields:\n> \n> - `logicalStackName`\n> - `resourceGroupName`\n> - `terraformSourceName`\n> - `eksSourceName` \n\nEach `logicalResourceIds` object includes the following fields:\n\n- `identifier`\n\nThe identifier of the resource.\n\nType: String\n- `logicalStackName`\n\nName of the AWS CloudFormation stack this resource belongs to.\n\nType: String\n- `resourceGroupName`\n\nName of the resource group this resource belongs to.\n\nType: String\n- `terraformSourceName`\n\nName of the Terraform S3 state file this resource belongs to.\n\nType: String\n- `eksSourceName`\n\nName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.\n\n> This parameter accepts values in \"eks-cluster/namespace\" format. \n\nType: String\n- *`version`*\n\nThe AWS Resilience Hub application version.\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`", - "title": "AppTemplateBody", - "type": "string" + "ConfigOptions": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicConfigOptions", + "markdownDescription": "Configuration options for a `Topic` .", + "title": "ConfigOptions" + }, + "CustomInstructions": { + "$ref": "#/definitions/AWS::QuickSight::Topic.CustomInstructions", + "markdownDescription": "", + "title": "CustomInstructions" + }, + "DataSets": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DatasetMetadata" + }, + "markdownDescription": "The data sets that the topic is associated with.", + "title": "DataSets", + "type": "array" }, "Description": { - "markdownDescription": "Optional description for an application.", + "markdownDescription": "The description of the topic.", "title": "Description", "type": "string" }, - "EventSubscriptions": { + "FolderArns": { "items": { - "$ref": "#/definitions/AWS::ResilienceHub::App.EventSubscription" + "type": "string" }, - "markdownDescription": "The list of events you would like to subscribe and get notification for. Currently, AWS Resilience Hub supports notifications only for *Drift detected* and *Scheduled assessment failure* events.", - "title": "EventSubscriptions", + "markdownDescription": "", + "title": "FolderArns", "type": "array" }, "Name": { - "markdownDescription": "Name for the application.", + "markdownDescription": "The name of the topic.", "title": "Name", "type": "string" }, - "PermissionModel": { - "$ref": "#/definitions/AWS::ResilienceHub::App.PermissionModel", - "markdownDescription": "Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment.", - "title": "PermissionModel" - }, - "ResiliencyPolicyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resiliency policy.", - "title": "ResiliencyPolicyArn", - "type": "string" - }, - "ResourceMappings": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::ResilienceHub::App.ResourceMapping" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of `ResourceMapping` objects.", - "title": "ResourceMappings", + "markdownDescription": "", + "title": "Tags", "type": "array" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" + "TopicId": { + "markdownDescription": "The ID for the topic. This ID is unique per AWS Region for each AWS account.", + "title": "TopicId", + "type": "string" + }, + "UserExperienceVersion": { + "markdownDescription": "The user experience version of the topic.", + "title": "UserExperienceVersion", + "type": "string" } }, - "required": [ - "AppTemplateBody", - "Name", - "ResourceMappings" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ResilienceHub::App" + "AWS::QuickSight::Topic" ], "type": "string" }, @@ -333731,877 +300069,891 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ResilienceHub::App.EventSubscription": { + "AWS::QuickSight::Topic.CellValueSynonym": { "additionalProperties": false, "properties": { - "EventType": { - "markdownDescription": "The type of event you would like to subscribe and get notification for. Currently, AWS Resilience Hub supports notifications only for *Drift detected* ( `DriftDetected` ) and *Scheduled assessment failure* ( `ScheduledAssessmentFailure` ) events.", - "title": "EventType", - "type": "string" - }, - "Name": { - "markdownDescription": "Unique name to identify an event subscription.", - "title": "Name", + "CellValue": { + "markdownDescription": "The cell value.", + "title": "CellValue", "type": "string" }, - "SnsTopicArn": { - "markdownDescription": "Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: `arn:partition:sns:region:account:topic-name` . For more information about ARNs, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *AWS General Reference* guide.", - "title": "SnsTopicArn", - "type": "string" + "Synonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "Other names or aliases for the cell value.", + "title": "Synonyms", + "type": "array" } }, - "required": [ - "EventType", - "Name" - ], "type": "object" }, - "AWS::ResilienceHub::App.PermissionModel": { + "AWS::QuickSight::Topic.CollectiveConstant": { "additionalProperties": false, "properties": { - "CrossAccountRoleArns": { + "ValueList": { "items": { "type": "string" }, - "markdownDescription": "Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application.\n\n> - These ARNs are required only when your resources are in other accounts and you have different role name in these accounts. Else, the invoker role name will be used in the other accounts.\n> - These roles must have a trust policy with `iam:AssumeRole` permission to the invoker role in the primary account.", - "title": "CrossAccountRoleArns", + "markdownDescription": "A list of values for the collective constant.", + "title": "ValueList", "type": "array" - }, - "InvokerRoleName": { - "markdownDescription": "Existing AWS IAM role name in the primary AWS account that will be assumed by AWS Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.\n\nIf your IAM role includes a path, you must include the path in the `invokerRoleName` parameter. For example, if your IAM role's ARN is `arn:aws:iam:123456789012:role/my-path/role-name` , you should pass `my-path/role-name` .\n\n> - You must have `iam:passRole` permission for this role while creating or updating the application.\n> - Currently, `invokerRoleName` accepts only `[A-Za-z0-9_+=,.@-]` characters.", - "title": "InvokerRoleName", - "type": "string" - }, - "Type": { - "markdownDescription": "Defines how AWS Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your AWS account, or by using the credentials of the current IAM user.", - "title": "Type", - "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::ResilienceHub::App.PhysicalResourceId": { + "AWS::QuickSight::Topic.ComparativeOrder": { "additionalProperties": false, "properties": { - "AwsAccountId": { - "markdownDescription": "The AWS account that owns the physical resource.", - "title": "AwsAccountId", - "type": "string" - }, - "AwsRegion": { - "markdownDescription": "The AWS Region that the physical resource is located in.", - "title": "AwsRegion", - "type": "string" + "SpecifedOrder": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of columns to be used in the ordering.", + "title": "SpecifedOrder", + "type": "array" }, - "Identifier": { - "markdownDescription": "Identifier of the physical resource.", - "title": "Identifier", + "TreatUndefinedSpecifiedValues": { + "markdownDescription": "The treat of undefined specified values. Valid values for this structure are `LEAST` and `MOST` .", + "title": "TreatUndefinedSpecifiedValues", "type": "string" }, - "Type": { - "markdownDescription": "Specifies the type of physical resource identifier.\n\n- **Arn** - The resource identifier is an Amazon Resource Name (ARN) and it can identify the following list of resources:\n\n- `AWS::ECS::Service`\n- `AWS::EFS::FileSystem`\n- `AWS::ElasticLoadBalancingV2::LoadBalancer`\n- `AWS::Lambda::Function`\n- `AWS::SNS::Topic`\n- **Native** - The resource identifier is an AWS Resilience Hub -native identifier and it can identify the following list of resources:\n\n- `AWS::ApiGateway::RestApi`\n- `AWS::ApiGatewayV2::Api`\n- `AWS::AutoScaling::AutoScalingGroup`\n- `AWS::DocDB::DBCluster`\n- `AWS::DocDB::DBGlobalCluster`\n- `AWS::DocDB::DBInstance`\n- `AWS::DynamoDB::GlobalTable`\n- `AWS::DynamoDB::Table`\n- `AWS::EC2::EC2Fleet`\n- `AWS::EC2::Instance`\n- `AWS::EC2::NatGateway`\n- `AWS::EC2::Volume`\n- `AWS::ElasticLoadBalancing::LoadBalancer`\n- `AWS::RDS::DBCluster`\n- `AWS::RDS::DBInstance`\n- `AWS::RDS::GlobalCluster`\n- `AWS::Route53::RecordSet`\n- `AWS::S3::Bucket`\n- `AWS::SQS::Queue`", - "title": "Type", + "UseOrdering": { + "markdownDescription": "The ordering type for a column. Valid values for this structure are `GREATER_IS_BETTER` , `LESSER_IS_BETTER` and `SPECIFIED` .", + "title": "UseOrdering", "type": "string" } }, - "required": [ - "Identifier", - "Type" - ], "type": "object" }, - "AWS::ResilienceHub::App.ResourceMapping": { + "AWS::QuickSight::Topic.CustomInstructions": { "additionalProperties": false, "properties": { - "EksSourceName": { - "markdownDescription": "Name of the Amazon Elastic Kubernetes Service cluster and namespace that this resource is mapped to when the `mappingType` is `EKS` .\n\n> This parameter accepts values in \"eks-cluster/namespace\" format.", - "title": "EksSourceName", - "type": "string" - }, - "LogicalStackName": { - "markdownDescription": "Name of the CloudFormation stack this resource is mapped to when the `mappingType` is `CfnStack` .", - "title": "LogicalStackName", - "type": "string" - }, - "MappingType": { - "markdownDescription": "Specifies the type of resource mapping.", - "title": "MappingType", - "type": "string" - }, - "PhysicalResourceId": { - "$ref": "#/definitions/AWS::ResilienceHub::App.PhysicalResourceId", - "markdownDescription": "Identifier of the physical resource.", - "title": "PhysicalResourceId" - }, - "ResourceName": { - "markdownDescription": "Name of the resource that this resource is mapped to when the `mappingType` is `Resource` .", - "title": "ResourceName", - "type": "string" - }, - "TerraformSourceName": { - "markdownDescription": "Name of the Terraform source that this resource is mapped to when the `mappingType` is `Terraform` .", - "title": "TerraformSourceName", + "CustomInstructionsString": { + "markdownDescription": "", + "title": "CustomInstructionsString", "type": "string" } }, "required": [ - "MappingType", - "PhysicalResourceId" + "CustomInstructionsString" ], "type": "object" }, - "AWS::ResilienceHub::RecommendationTemplate": { + "AWS::QuickSight::Topic.DataAggregation": { "additionalProperties": false, "properties": { - "Condition": { + "DatasetRowDateGranularity": { + "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", + "title": "DatasetRowDateGranularity", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DefaultDateColumnName": { + "markdownDescription": "The column name for the default date.", + "title": "DefaultDateColumnName", "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Topic.DatasetMetadata": { + "additionalProperties": false, + "properties": { + "CalculatedFields": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCalculatedField" + }, + "markdownDescription": "The list of calculated field definitions.", + "title": "CalculatedFields", + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicColumn" + }, + "markdownDescription": "The list of column definitions.", + "title": "Columns", + "type": "array" }, - "Metadata": { - "type": "object" + "DataAggregation": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DataAggregation", + "markdownDescription": "The definition of a data aggregation.", + "title": "DataAggregation" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentArn": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecommendationTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentArn", - "Format", - "Name", - "RecommendationTypes" - ], - "type": "object" + "DatasetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the dataset.", + "title": "DatasetArn", + "type": "string" }, - "Type": { - "enum": [ - "AWS::ResilienceHub::RecommendationTemplate" - ], + "DatasetDescription": { + "markdownDescription": "The description of the dataset.", + "title": "DatasetDescription", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatasetName": { + "markdownDescription": "The name of the dataset.", + "title": "DatasetName", "type": "string" + }, + "Filters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicFilter" + }, + "markdownDescription": "The list of filter definitions.", + "title": "Filters", + "type": "array" + }, + "NamedEntities": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNamedEntity" + }, + "markdownDescription": "The list of named entities definitions.", + "title": "NamedEntities", + "type": "array" } }, "required": [ - "Type", - "Properties" + "DatasetArn" ], "type": "object" }, - "AWS::ResilienceHub::RecommendationTemplate.S3Location": { + "AWS::QuickSight::Topic.DefaultFormatting": { "additionalProperties": false, "properties": { - "Bucket": { + "DisplayFormat": { + "markdownDescription": "The display format. Valid values for this structure are `AUTO` , `PERCENT` , `CURRENCY` , `NUMBER` , `DATE` , and `STRING` .", + "title": "DisplayFormat", "type": "string" }, - "Prefix": { - "type": "string" + "DisplayFormatOptions": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DisplayFormatOptions", + "markdownDescription": "The additional options for display formatting.", + "title": "DisplayFormatOptions" } }, "type": "object" }, - "AWS::ResilienceHub::ResiliencyPolicy": { + "AWS::QuickSight::Topic.DisplayFormatOptions": { "additionalProperties": false, "properties": { - "Condition": { + "BlankCellFormat": { + "markdownDescription": "Determines the blank cell format.", + "title": "BlankCellFormat", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CurrencySymbol": { + "markdownDescription": "The currency symbol, such as `USD` .", + "title": "CurrencySymbol", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DateFormat": { + "markdownDescription": "Determines the `DateTime` format.", + "title": "DateFormat", + "type": "string" }, - "Metadata": { - "type": "object" + "DecimalSeparator": { + "markdownDescription": "Determines the decimal separator.", + "title": "DecimalSeparator", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataLocationConstraint": { - "markdownDescription": "Specifies a high-level geographical location constraint for where your resilience policy data can be stored.", - "title": "DataLocationConstraint", - "type": "string" - }, - "Policy": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap", - "markdownDescription": "The resiliency policy.", - "title": "Policy" - }, - "PolicyDescription": { - "markdownDescription": "Description of the resiliency policy.", - "title": "PolicyDescription", - "type": "string" - }, - "PolicyName": { - "markdownDescription": "The name of the policy", - "title": "PolicyName", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - }, - "Tier": { - "markdownDescription": "The tier for this resiliency policy, ranging from the highest severity ( `MissionCritical` ) to lowest ( `NonCritical` ).", - "title": "Tier", - "type": "string" - } - }, - "required": [ - "Policy", - "PolicyName", - "Tier" - ], - "type": "object" + "FractionDigits": { + "markdownDescription": "Determines the number of fraction digits.", + "title": "FractionDigits", + "type": "number" }, - "Type": { - "enum": [ - "AWS::ResilienceHub::ResiliencyPolicy" - ], + "GroupingSeparator": { + "markdownDescription": "Determines the grouping separator.", + "title": "GroupingSeparator", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "NegativeFormat": { + "$ref": "#/definitions/AWS::QuickSight::Topic.NegativeFormat", + "markdownDescription": "The negative format.", + "title": "NegativeFormat" + }, + "Prefix": { + "markdownDescription": "The prefix value for a display format.", + "title": "Prefix", "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy": { - "additionalProperties": false, - "properties": { - "RpoInSecs": { - "markdownDescription": "Recovery Point Objective (RPO) in seconds.", - "title": "RpoInSecs", - "type": "number" }, - "RtoInSecs": { - "markdownDescription": "Recovery Time Objective (RTO) in seconds.", - "title": "RtoInSecs", - "type": "number" - } - }, - "required": [ - "RpoInSecs", - "RtoInSecs" - ], - "type": "object" - }, - "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { - "additionalProperties": false, - "properties": { - "AZ": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", - "markdownDescription": "Defines the RTO and RPO targets for Availability Zone disruption.", - "title": "AZ" + "Suffix": { + "markdownDescription": "The suffix value for a display format.", + "title": "Suffix", + "type": "string" }, - "Hardware": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", - "markdownDescription": "Defines the RTO and RPO targets for hardware disruption.", - "title": "Hardware" + "UnitScaler": { + "markdownDescription": "The unit scaler. Valid values for this structure are: `NONE` , `AUTO` , `THOUSANDS` , `MILLIONS` , `BILLIONS` , and `TRILLIONS` .", + "title": "UnitScaler", + "type": "string" }, - "Region": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", - "markdownDescription": "Defines the RTO and RPO targets for Regional disruption.", - "title": "Region" + "UseBlankCellFormat": { + "markdownDescription": "A Boolean value that indicates whether to use blank cell format.", + "title": "UseBlankCellFormat", + "type": "boolean" }, - "Software": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", - "markdownDescription": "Defines the RTO and RPO targets for software disruption.", - "title": "Software" + "UseGrouping": { + "markdownDescription": "A Boolean value that indicates whether to use grouping.", + "title": "UseGrouping", + "type": "boolean" } }, - "required": [ - "AZ", - "Hardware", - "Software" - ], "type": "object" }, - "AWS::ResilienceHubV2::Policy": { + "AWS::QuickSight::Topic.NamedEntityDefinition": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FieldName": { + "markdownDescription": "The name of the entity.", + "title": "FieldName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Metric": { + "$ref": "#/definitions/AWS::QuickSight::Topic.NamedEntityDefinitionMetric", + "markdownDescription": "The definition of a metric.", + "title": "Metric" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilitySlo": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.AvailabilitySlo" - }, - "DataRecovery": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.DataRecoveryTargets" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAz": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.MultiAzTargets" - }, - "MultiRegion": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.MultiRegionTargets" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" + "PropertyName": { + "markdownDescription": "The property name to be used for the named entity.", + "title": "PropertyName", + "type": "string" }, - "Type": { - "enum": [ - "AWS::ResilienceHubV2::Policy" - ], + "PropertyRole": { + "markdownDescription": "The property role. Valid values for this structure are `PRIMARY` and `ID` .", + "title": "PropertyRole", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PropertyUsage": { + "markdownDescription": "The property usage. Valid values for this structure are `INHERIT` , `DIMENSION` , and `MEASURE` .", + "title": "PropertyUsage", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ResilienceHubV2::Policy.AvailabilitySlo": { + "AWS::QuickSight::Topic.NamedEntityDefinitionMetric": { "additionalProperties": false, "properties": { - "Target": { - "type": "number" + "Aggregation": { + "markdownDescription": "The aggregation of a named entity. Valid values for this structure are `SUM` , `MIN` , `MAX` , `COUNT` , `AVERAGE` , `DISTINCT_COUNT` , `STDEV` , `STDEVP` , `VAR` , `VARP` , `PERCENTILE` , `MEDIAN` , and `CUSTOM` .", + "title": "Aggregation", + "type": "string" + }, + "AggregationFunctionParameters": { + "additionalProperties": true, + "markdownDescription": "The additional parameters for an aggregation function.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "AggregationFunctionParameters", + "type": "object" } }, "type": "object" }, - "AWS::ResilienceHubV2::Policy.DataRecoveryTargets": { + "AWS::QuickSight::Topic.NegativeFormat": { "additionalProperties": false, "properties": { - "TimeBetweenBackupsInMinutes": { - "type": "number" + "Prefix": { + "markdownDescription": "The prefix for a negative format.", + "title": "Prefix", + "type": "string" + }, + "Suffix": { + "markdownDescription": "The suffix for a negative format.", + "title": "Suffix", + "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::Policy.MultiAzTargets": { + "AWS::QuickSight::Topic.RangeConstant": { "additionalProperties": false, "properties": { - "DisasterRecoveryApproach": { + "Maximum": { + "markdownDescription": "The maximum value for a range constant.", + "title": "Maximum", "type": "string" }, - "RpoInMinutes": { - "type": "number" - }, - "RtoInMinutes": { - "type": "number" + "Minimum": { + "markdownDescription": "The minimum value for a range constant.", + "title": "Minimum", + "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::Policy.MultiRegionTargets": { + "AWS::QuickSight::Topic.SemanticEntityType": { "additionalProperties": false, "properties": { - "DisasterRecoveryApproach": { + "SubTypeName": { + "markdownDescription": "The semantic entity sub type name.", + "title": "SubTypeName", "type": "string" }, - "RpoInMinutes": { - "type": "number" + "TypeName": { + "markdownDescription": "The semantic entity type name.", + "title": "TypeName", + "type": "string" }, - "RtoInMinutes": { - "type": "number" + "TypeParameters": { + "additionalProperties": true, + "markdownDescription": "The semantic entity type parameters.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "TypeParameters", + "type": "object" } }, "type": "object" }, - "AWS::ResilienceHubV2::Service": { + "AWS::QuickSight::Topic.SemanticType": { "additionalProperties": false, "properties": { - "Condition": { + "FalseyCellValue": { + "markdownDescription": "The semantic type falsey cell value.", + "title": "FalseyCellValue", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FalseyCellValueSynonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "The other names or aliases for the false cell value.", + "title": "FalseyCellValueSynonyms", + "type": "array" + }, + "SubTypeName": { + "markdownDescription": "The semantic type sub type name.", + "title": "SubTypeName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "TruthyCellValue": { + "markdownDescription": "The semantic type truthy cell value.", + "title": "TruthyCellValue", + "type": "string" }, - "Metadata": { - "type": "object" + "TruthyCellValueSynonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "The other names or aliases for the true cell value.", + "title": "TruthyCellValueSynonyms", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Assertions": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.AssertionDefinition" - }, - "type": "array" - }, - "AssociatedSystems": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.AssociatedSystem" - }, - "type": "array" - }, - "DependencyDiscovery": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "InputSources": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.InputSourceDefinition" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionModel": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.PermissionModel" - }, - "PolicyArn": { + "TypeName": { + "markdownDescription": "The semantic type name.", + "title": "TypeName", + "type": "string" + }, + "TypeParameters": { + "additionalProperties": true, + "markdownDescription": "The semantic type parameters.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReportConfiguration": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ServiceReportConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "Name", - "Regions" - ], + "title": "TypeParameters", "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResilienceHubV2::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.AssertionDefinition": { + "AWS::QuickSight::Topic.TopicCalculatedField": { "additionalProperties": false, "properties": { - "Text": { + "Aggregation": { + "markdownDescription": "The default aggregation. Valid values for this structure are `SUM` , `MAX` , `MIN` , `COUNT` , `DISTINCT_COUNT` , and `AVERAGE` .", + "title": "Aggregation", "type": "string" - } - }, - "required": [ - "Text" - ], - "type": "object" - }, - "AWS::ResilienceHubV2::Service.AssociatedSystem": { - "additionalProperties": false, - "properties": { - "SystemArn": { + }, + "AllowedAggregations": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of aggregation types that are allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", + "title": "AllowedAggregations", + "type": "array" + }, + "CalculatedFieldDescription": { + "markdownDescription": "The calculated field description.", + "title": "CalculatedFieldDescription", "type": "string" }, - "UserJourneyIds": { + "CalculatedFieldName": { + "markdownDescription": "The calculated field name.", + "title": "CalculatedFieldName", + "type": "string" + }, + "CalculatedFieldSynonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "The other names or aliases for the calculated field.", + "title": "CalculatedFieldSynonyms", + "type": "array" + }, + "CellValueSynonyms": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.CellValueSynonym" + }, + "markdownDescription": "The other names or aliases for the calculated field cell value.", + "title": "CellValueSynonyms", + "type": "array" + }, + "ColumnDataRole": { + "markdownDescription": "The column data role for a calculated field. Valid values for this structure are `DIMENSION` and `MEASURE` .", + "title": "ColumnDataRole", + "type": "string" + }, + "ComparativeOrder": { + "$ref": "#/definitions/AWS::QuickSight::Topic.ComparativeOrder", + "markdownDescription": "The order in which data is displayed for the calculated field when it's used in a comparative context.", + "title": "ComparativeOrder" + }, + "DefaultFormatting": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DefaultFormatting", + "markdownDescription": "The default formatting definition.", + "title": "DefaultFormatting" + }, + "DisableIndexing": { + "markdownDescription": "A Boolean value that indicates if a calculated field is visible in the autocomplete.", + "title": "DisableIndexing", + "type": "boolean" + }, + "Expression": { + "markdownDescription": "The calculated field expression.", + "title": "Expression", + "type": "string" + }, + "IsIncludedInTopic": { + "markdownDescription": "A boolean value that indicates if a calculated field is included in the topic.", + "title": "IsIncludedInTopic", + "type": "boolean" + }, + "NeverAggregateInFilter": { + "markdownDescription": "A Boolean value that indicates whether to never aggregate calculated field in filters.", + "title": "NeverAggregateInFilter", + "type": "boolean" + }, + "NonAdditive": { + "markdownDescription": "The non additive for the table style target.", + "title": "NonAdditive", + "type": "boolean" + }, + "NotAllowedAggregations": { "items": { "type": "string" }, + "markdownDescription": "The list of aggregation types that are not allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", + "title": "NotAllowedAggregations", "type": "array" + }, + "SemanticType": { + "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticType", + "markdownDescription": "The semantic type.", + "title": "SemanticType" + }, + "TimeGranularity": { + "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", + "title": "TimeGranularity", + "type": "string" } }, "required": [ - "SystemArn" + "CalculatedFieldName", + "Expression" ], "type": "object" }, - "AWS::ResilienceHubV2::Service.CrossAccountRoleConfiguration": { + "AWS::QuickSight::Topic.TopicCategoryFilter": { "additionalProperties": false, "properties": { - "CrossAccountRoleArn": { + "CategoryFilterFunction": { + "markdownDescription": "The category filter function. Valid values for this structure are `EXACT` and `CONTAINS` .", + "title": "CategoryFilterFunction", "type": "string" }, - "ExternalId": { + "CategoryFilterType": { + "markdownDescription": "The category filter type. This element is used to specify whether a filter is a simple category filter or an inverse category filter.", + "title": "CategoryFilterType", "type": "string" + }, + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCategoryFilterConstant", + "markdownDescription": "The constant used in a category filter.", + "title": "Constant" + }, + "Inverse": { + "markdownDescription": "A Boolean value that indicates if the filter is inverse.", + "title": "Inverse", + "type": "boolean" } }, - "required": [ - "CrossAccountRoleArn" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.DisasterRecoverySource": { + "AWS::QuickSight::Topic.TopicCategoryFilterConstant": { "additionalProperties": false, "properties": { - "PolicyName": { + "CollectiveConstant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.CollectiveConstant", + "markdownDescription": "A collective constant used in a category filter. This element is used to specify a list of values for the constant.", + "title": "CollectiveConstant" + }, + "ConstantType": { + "markdownDescription": "The type of category filter constant. This element is used to specify whether a constant is a singular or collective. Valid values are `SINGULAR` and `COLLECTIVE` .", + "title": "ConstantType", "type": "string" }, - "Value": { + "SingularConstant": { + "markdownDescription": "A singular constant used in a category filter. This element is used to specify a single value for the constant.", + "title": "SingularConstant", "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::Service.EffectivePolicyValues": { + "AWS::QuickSight::Topic.TopicColumn": { "additionalProperties": false, "properties": { - "AvailabilitySlo": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.SloSource" + "Aggregation": { + "markdownDescription": "The type of aggregation that is performed on the column data when it's queried.", + "title": "Aggregation", + "type": "string" }, - "MultiAzDrApproach": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.DisasterRecoverySource" + "AllowedAggregations": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of aggregation types that are allowed for the column. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", + "title": "AllowedAggregations", + "type": "array" }, - "MultiAzRpo": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + "CellValueSynonyms": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.CellValueSynonym" + }, + "markdownDescription": "The other names or aliases for the column cell value.", + "title": "CellValueSynonyms", + "type": "array" }, - "MultiAzRto": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + "ColumnDataRole": { + "markdownDescription": "The role of the column in the data. Valid values are `DIMENSION` and `MEASURE` .", + "title": "ColumnDataRole", + "type": "string" }, - "MultiRegionDrApproach": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.DisasterRecoverySource" + "ColumnDescription": { + "markdownDescription": "A description of the column and its contents.", + "title": "ColumnDescription", + "type": "string" }, - "MultiRegionRpo": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + "ColumnFriendlyName": { + "markdownDescription": "A user-friendly name for the column.", + "title": "ColumnFriendlyName", + "type": "string" }, - "MultiRegionRto": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" - } - }, - "type": "object" - }, - "AWS::ResilienceHubV2::Service.EksSource": { - "additionalProperties": false, - "properties": { - "ClusterArn": { + "ColumnName": { + "markdownDescription": "The name of the column.", + "title": "ColumnName", "type": "string" }, - "Namespaces": { + "ColumnSynonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "The other names or aliases for the column.", + "title": "ColumnSynonyms", + "type": "array" + }, + "ComparativeOrder": { + "$ref": "#/definitions/AWS::QuickSight::Topic.ComparativeOrder", + "markdownDescription": "The order in which data is displayed for the column when it's used in a comparative context.", + "title": "ComparativeOrder" + }, + "DefaultFormatting": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DefaultFormatting", + "markdownDescription": "The default formatting used for values in the column.", + "title": "DefaultFormatting" + }, + "DisableIndexing": { + "markdownDescription": "A Boolean value that indicates whether the column shows in the autocomplete functionality.", + "title": "DisableIndexing", + "type": "boolean" + }, + "IsIncludedInTopic": { + "markdownDescription": "A Boolean value that indicates whether the column is included in the query results.", + "title": "IsIncludedInTopic", + "type": "boolean" + }, + "NeverAggregateInFilter": { + "markdownDescription": "A Boolean value that indicates whether to aggregate the column data when it's used in a filter context.", + "title": "NeverAggregateInFilter", + "type": "boolean" + }, + "NonAdditive": { + "markdownDescription": "The non additive value for the column.", + "title": "NonAdditive", + "type": "boolean" + }, + "NotAllowedAggregations": { "items": { "type": "string" }, + "markdownDescription": "The list of aggregation types that are not allowed for the column. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", + "title": "NotAllowedAggregations", "type": "array" + }, + "SemanticType": { + "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticType", + "markdownDescription": "The semantic type of data contained in the column.", + "title": "SemanticType" + }, + "TimeGranularity": { + "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", + "title": "TimeGranularity", + "type": "string" } }, "required": [ - "ClusterArn", - "Namespaces" + "ColumnName" ], "type": "object" }, - "AWS::ResilienceHubV2::Service.InputSourceDefinition": { + "AWS::QuickSight::Topic.TopicConfigOptions": { "additionalProperties": false, "properties": { - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ResourceConfiguration" + "QBusinessInsightsEnabled": { + "markdownDescription": "Enables Amazon Q Business Insights for a `Topic` .", + "title": "QBusinessInsightsEnabled", + "type": "boolean" } }, - "required": [ - "ResourceConfiguration" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.PermissionModel": { + "AWS::QuickSight::Topic.TopicDateRangeFilter": { "additionalProperties": false, "properties": { - "CrossAccountRoleArns": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.CrossAccountRoleConfiguration" - }, - "type": "array" + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRangeFilterConstant", + "markdownDescription": "The constant used in a date range filter.", + "title": "Constant" }, - "InvokerRoleName": { - "type": "string" - } - }, - "required": [ - "InvokerRoleName" - ], - "type": "object" - }, - "AWS::ResilienceHubV2::Service.ReportOutputConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.S3ReportOutputConfiguration" + "Inclusive": { + "markdownDescription": "A Boolean value that indicates whether the date range filter should include the boundary values. If set to true, the filter includes the start and end dates. If set to false, the filter excludes them.", + "title": "Inclusive", + "type": "boolean" } }, - "required": [ - "S3" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.ResourceConfiguration": { + "AWS::QuickSight::Topic.TopicFilter": { "additionalProperties": false, "properties": { - "CfnStackArn": { + "CategoryFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCategoryFilter", + "markdownDescription": "The category filter that is associated with this filter.", + "title": "CategoryFilter" + }, + "DateRangeFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicDateRangeFilter", + "markdownDescription": "The date range filter.", + "title": "DateRangeFilter" + }, + "FilterClass": { + "markdownDescription": "The class of the filter. Valid values for this structure are `ENFORCED_VALUE_FILTER` , `CONDITIONAL_VALUE_FILTER` , and `NAMED_VALUE_FILTER` .", + "title": "FilterClass", "type": "string" }, - "DesignFileS3Url": { + "FilterDescription": { + "markdownDescription": "A description of the filter used to select items for a topic.", + "title": "FilterDescription", "type": "string" }, - "Eks": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.EksSource" + "FilterName": { + "markdownDescription": "The name of the filter.", + "title": "FilterName", + "type": "string" }, - "ResourceTags": { + "FilterSynonyms": { "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ResourceTag" + "type": "string" }, + "markdownDescription": "The other names or aliases for the filter.", + "title": "FilterSynonyms", "type": "array" }, - "TfStateFileUrl": { + "FilterType": { + "markdownDescription": "The type of the filter. Valid values for this structure are `CATEGORY_FILTER` , `NUMERIC_EQUALITY_FILTER` , `NUMERIC_RANGE_FILTER` , `DATE_RANGE_FILTER` , and `RELATIVE_DATE_FILTER` .", + "title": "FilterType", "type": "string" + }, + "NumericEqualityFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNumericEqualityFilter", + "markdownDescription": "The numeric equality filter.", + "title": "NumericEqualityFilter" + }, + "NumericRangeFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNumericRangeFilter", + "markdownDescription": "The numeric range filter.", + "title": "NumericRangeFilter" + }, + "OperandFieldName": { + "markdownDescription": "The name of the field that the filter operates on.", + "title": "OperandFieldName", + "type": "string" + }, + "RelativeDateFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRelativeDateFilter", + "markdownDescription": "The relative date filter.", + "title": "RelativeDateFilter" } }, + "required": [ + "FilterName", + "OperandFieldName" + ], "type": "object" }, - "AWS::ResilienceHubV2::Service.ResourceTag": { + "AWS::QuickSight::Topic.TopicNamedEntity": { "additionalProperties": false, "properties": { - "Key": { + "Definition": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.NamedEntityDefinition" + }, + "markdownDescription": "The definition of a named entity.", + "title": "Definition", + "type": "array" + }, + "EntityDescription": { + "markdownDescription": "The description of the named entity.", + "title": "EntityDescription", "type": "string" }, - "Values": { + "EntityName": { + "markdownDescription": "The name of the named entity.", + "title": "EntityName", + "type": "string" + }, + "EntitySynonyms": { "items": { "type": "string" }, + "markdownDescription": "The other names or aliases for the named entity.", + "title": "EntitySynonyms", "type": "array" + }, + "SemanticEntityType": { + "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticEntityType", + "markdownDescription": "The type of named entity that a topic represents.", + "title": "SemanticEntityType" } }, "required": [ - "Key", - "Values" + "EntityName" ], "type": "object" }, - "AWS::ResilienceHubV2::Service.S3ReportOutputConfiguration": { + "AWS::QuickSight::Topic.TopicNumericEqualityFilter": { "additionalProperties": false, "properties": { - "BucketOwner": { + "Aggregation": { + "markdownDescription": "An aggregation function that specifies how to calculate the value of a numeric field for a topic. Valid values for this structure are `NO_AGGREGATION` , `SUM` , `AVERAGE` , `COUNT` , `DISTINCT_COUNT` , `MAX` , `MEDIAN` , `MIN` , `STDEV` , `STDEVP` , `VAR` , and `VARP` .", + "title": "Aggregation", "type": "string" }, - "BucketPath": { + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicSingularFilterConstant", + "markdownDescription": "The constant used in a numeric equality filter.", + "title": "Constant" + } + }, + "type": "object" + }, + "AWS::QuickSight::Topic.TopicNumericRangeFilter": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "markdownDescription": "An aggregation function that specifies how to calculate the value of a numeric field for a topic, Valid values for this structure are `NO_AGGREGATION` , `SUM` , `AVERAGE` , `COUNT` , `DISTINCT_COUNT` , `MAX` , `MEDIAN` , `MIN` , `STDEV` , `STDEVP` , `VAR` , and `VARP` .", + "title": "Aggregation", "type": "string" + }, + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRangeFilterConstant", + "markdownDescription": "The constant used in a numeric range filter.", + "title": "Constant" + }, + "Inclusive": { + "markdownDescription": "A Boolean value that indicates whether the endpoints of the numeric range are included in the filter. If set to true, topics whose numeric field value is equal to the endpoint values will be included in the filter. If set to false, topics whose numeric field value is equal to the endpoint values will be excluded from the filter.", + "title": "Inclusive", + "type": "boolean" } }, - "required": [ - "BucketOwner", - "BucketPath" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.ServiceReportConfiguration": { + "AWS::QuickSight::Topic.TopicRangeFilterConstant": { "additionalProperties": false, "properties": { - "ReportOutput": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ReportOutputConfiguration" - }, - "type": "array" + "ConstantType": { + "markdownDescription": "The data type of the constant value that is used in a range filter. Valid values for this structure are `RANGE` .", + "title": "ConstantType", + "type": "string" + }, + "RangeConstant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.RangeConstant", + "markdownDescription": "The value of the constant that is used to specify the endpoints of a range filter.", + "title": "RangeConstant" } }, - "required": [ - "ReportOutput" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.SloSource": { + "AWS::QuickSight::Topic.TopicRelativeDateFilter": { "additionalProperties": false, "properties": { - "PolicyName": { + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicSingularFilterConstant", + "markdownDescription": "The constant used in a relative date filter.", + "title": "Constant" + }, + "RelativeDateFilterFunction": { + "markdownDescription": "The function to be used in a relative date filter to determine the range of dates to include in the results. Valid values for this structure are `BEFORE` , `AFTER` , and `BETWEEN` .", + "title": "RelativeDateFilterFunction", "type": "string" }, - "Value": { - "type": "number" + "TimeGranularity": { + "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", + "title": "TimeGranularity", + "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::Service.TargetSource": { + "AWS::QuickSight::Topic.TopicSingularFilterConstant": { "additionalProperties": false, "properties": { - "PolicyName": { + "ConstantType": { + "markdownDescription": "The type of the singular filter constant. Valid values for this structure are `SINGULAR` .", + "title": "ConstantType", "type": "string" }, - "Value": { - "type": "number" + "SingularConstant": { + "markdownDescription": "The value of the singular filter constant.", + "title": "SingularConstant", + "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::ServiceFunction": { + "AWS::QuickSight::VPCConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -334636,29 +300988,69 @@ "Properties": { "additionalProperties": false, "properties": { - "Criticality": { + "AvailabilityStatus": { + "markdownDescription": "The availability status of the VPC connection.", + "title": "AvailabilityStatus", "type": "string" }, - "Description": { + "AwsAccountId": { + "markdownDescription": "The AWS account ID of the account where you want to create a new VPC connection.", + "title": "AwsAccountId", "type": "string" }, + "DnsResolvers": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IP addresses of DNS resolver endpoints for the VPC connection.", + "title": "DnsResolvers", + "type": "array" + }, "Name": { + "markdownDescription": "The display name for the VPC connection.", + "title": "Name", "type": "string" }, - "ServiceArn": { + "RoleArn": { + "markdownDescription": "The ARN of the IAM role associated with the VPC connection.", + "title": "RoleArn", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon EC2 security group IDs associated with the VPC connection.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of subnet IDs for the VPC connection.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A map of the key-value pairs for the resource tag or tags assigned to the VPC connection.", + "title": "Tags", + "type": "array" + }, + "VPCConnectionId": { + "markdownDescription": "The ID of the VPC connection that you're creating. This ID is a unique identifier for each AWS Region in an AWS account.", + "title": "VPCConnectionId", "type": "string" } }, - "required": [ - "Criticality", - "Name", - "ServiceArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ResilienceHubV2::ServiceFunction" + "AWS::QuickSight::VPCConnection" ], "type": "string" }, @@ -334672,12 +301064,42 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ResilienceHubV2::System": { + "AWS::QuickSight::VPCConnection.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "markdownDescription": "The availability zone that the network interface resides in.", + "title": "AvailabilityZone", + "type": "string" + }, + "ErrorMessage": { + "markdownDescription": "An error message.", + "title": "ErrorMessage", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The network interface ID.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the network interface.", + "title": "Status", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The subnet ID associated with the network interface.", + "title": "SubnetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::Permission": { "additionalProperties": false, "properties": { "Condition": { @@ -334712,33 +301134,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Name": { + "markdownDescription": "Specifies the name of the customer managed permission. The name must be unique within the AWS Region .", + "title": "Name", "type": "string" }, - "KmsKeyId": { - "type": "string" + "PolicyTemplate": { + "markdownDescription": "A string in JSON format string that contains the following elements of a resource-based policy:\n\n- *Effect* : must be set to `ALLOW` .\n- *Action* : specifies the actions that are allowed by this customer managed permission. The list must contain only actions that are supported by the specified resource type. For a list of all actions supported by each resource type, 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 *AWS Identity and Access Management User Guide* .\n- *Condition* : (optional) specifies conditional parameters that must evaluate to true when a user attempts an action for that action to be allowed. For more information about the Condition element, see [IAM policies: Condition element](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) in the *AWS Identity and Access Management User Guide* .\n\nThis template can't include either the `Resource` or `Principal` elements. Those are both filled in by AWS RAM when it instantiates the resource-based policy on each resource shared using this managed permission. The `Resource` comes from the ARN of the specific resource that you are sharing. The `Principal` comes from the list of identities added to the resource share.", + "title": "PolicyTemplate", + "type": "object" }, - "Name": { + "ResourceType": { + "markdownDescription": "Specifies the name of the resource type that this customer managed permission applies to.\n\nThe format is `** : **` and is not case sensitive. For example, to specify an Amazon EC2 Subnet, you can use the string `ec2:subnet` . To see the list of valid values for this parameter, query the [ListResourceTypes](https://docs.aws.amazon.com/ram/latest/APIReference/API_ListResourceTypes.html) operation.", + "title": "ResourceType", "type": "string" }, - "SharingEnabled": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies a list of one or more tag key and value pairs to attach to the permission.", + "title": "Tags", "type": "array" } }, "required": [ - "Name" + "Name", + "PolicyTemplate", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResilienceHubV2::System" + "AWS::RAM::Permission" ], "type": "string" }, @@ -334757,7 +301186,7 @@ ], "type": "object" }, - "AWS::ResilienceHubV2::UserJourney": { + "AWS::RAM::ResourceShare": { "additionalProperties": false, "properties": { "Condition": { @@ -334792,28 +301221,68 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "AllowExternalPrincipals": { + "markdownDescription": "Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. A value of `true` lets you share with individual AWS accounts that are *not* in your organization. A value of `false` only has meaning if your account is a member of an AWS Organization. The default value is `true` .", + "title": "AllowExternalPrincipals", + "type": "boolean" }, "Name": { + "markdownDescription": "Specifies the name of the resource share.", + "title": "Name", "type": "string" }, - "PolicyArn": { - "type": "string" + "PermissionArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share.", + "title": "PermissionArns", + "type": "array" }, - "SystemIdentifier": { - "type": "string" + "Principals": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the principals to associate with the resource share. The possible values are:\n\n- An AWS account ID\n- An Amazon Resource Name (ARN) of an organization in AWS Organizations\n- An ARN of an organizational unit (OU) in AWS Organizations\n- An ARN of an IAM role\n- An ARN of an IAM user\n\n> Not all resource types can be shared with IAM roles and users. For more information, see the column *Can share with IAM roles and users* in the tables on [Shareable AWS resources](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html) in the *AWS Resource Access Manager User Guide* .", + "title": "Principals", + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies a list of one or more ARNs of the resources to associate with the resource share.", + "title": "ResourceArns", + "type": "array" + }, + "ResourceShareConfiguration": { + "$ref": "#/definitions/AWS::RAM::ResourceShare.ResourceShareConfiguration" + }, + "Sources": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies from which source accounts the service principal has access to the resources in this resource share.", + "title": "Sources", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies one or more tags to attach to the resource share itself. It doesn't attach the tags to the resources associated with the resource share.", + "title": "Tags", + "type": "array" } }, "required": [ - "Name", - "SystemIdentifier" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResilienceHubV2::UserJourney" + "AWS::RAM::ResourceShare" ], "type": "string" }, @@ -334832,74 +301301,19 @@ ], "type": "object" }, - "AWS::ResourceExplorer2::DefaultViewAssociation": { + "AWS::RAM::ResourceShare.ResourceShareConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ViewArn": { - "markdownDescription": "The ARN of the view to set as the default for the AWS Region and AWS account in which you call this operation. The specified view must already exist in the specified Region.", - "title": "ViewArn", - "type": "string" - } - }, - "required": [ - "ViewArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResourceExplorer2::DefaultViewAssociation" - ], - "type": "string" + "ExclusiveAccountAccess": { + "type": "boolean" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "RetainSharingOnAccountLeaveOrganization": { + "type": "boolean" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ResourceExplorer2::Index": { + "AWS::RDS::CustomDBEngineVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -334934,31 +301348,85 @@ "Properties": { "additionalProperties": false, "properties": { + "DatabaseInstallationFiles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DatabaseInstallationFilesS3BucketName": { + "markdownDescription": "The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is `my-custom-installation-files` .", + "title": "DatabaseInstallationFilesS3BucketName", + "type": "string" + }, + "DatabaseInstallationFilesS3Prefix": { + "markdownDescription": "The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is `123456789012/cev1` . If this setting isn't specified, no prefix is assumed.", + "title": "DatabaseInstallationFilesS3Prefix", + "type": "string" + }, + "Description": { + "markdownDescription": "An optional description of your CEV.", + "title": "Description", + "type": "string" + }, + "Engine": { + "markdownDescription": "The database engine to use for your custom engine version (CEV).\n\nValid values:\n\n- `custom-oracle-ee`\n- `custom-oracle-ee-cdb`", + "title": "Engine", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The name of your CEV. The name format is `major version.customized_string` . For example, a valid CEV name is `19.my_cev1` . This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of `Engine` and `EngineVersion` is unique per customer per Region.\n\n*Constraints:* Minimum length is 1. Maximum length is 60.\n\n*Pattern:* `^[a-z0-9_.-]{1,60$` }", + "title": "EngineVersion", + "type": "string" + }, + "ImageId": { + "markdownDescription": "A value that indicates the ID of the AMI.", + "title": "ImageId", + "type": "string" + }, + "KMSKeyId": { + "markdownDescription": "The AWS KMS key identifier for an encrypted CEV. A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS.\n\nIf you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in [Creating a symmetric encryption KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) in the *AWS Key Management Service Developer Guide* .\n\nYou can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys.", + "title": "KMSKeyId", + "type": "string" + }, + "Manifest": { + "markdownDescription": "The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.\n\nThe following JSON fields are valid:\n\n- **MediaImportTemplateVersion** - Version of the CEV manifest. The date is in the format `YYYY-MM-DD` .\n- **databaseInstallationFileNames** - Ordered list of installation files for the CEV.\n- **opatchFileNames** - Ordered list of OPatch installers used for the Oracle DB engine.\n- **psuRuPatchFileNames** - The PSU and RU patches for this CEV.\n- **OtherPatchFileNames** - The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches.\n\nFor more information, see [Creating the CEV manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) in the *Amazon RDS User Guide* .", + "title": "Manifest", + "type": "string" + }, + "SourceCustomDbEngineVersionIdentifier": { + "markdownDescription": "The ARN of a CEV to use as a source for creating a new CEV. You can specify a different Amazon Machine Imagine (AMI) by using either `Source` or `UseAwsProvidedLatestImage` . You can't specify a different JSON manifest when you specify `SourceCustomDbEngineVersionIdentifier` .", + "title": "SourceCustomDbEngineVersionIdentifier", + "type": "string" + }, + "Status": { + "markdownDescription": "A value that indicates the status of a custom engine version (CEV).", + "title": "Status", + "type": "string" + }, "Tags": { - "additionalProperties": true, - "markdownDescription": "The specified tags are attached to only the index created in this AWS Region . The tags don't attach to any of the resources listed in the index.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*", "title": "Tags", - "type": "object" + "type": "array" }, - "Type": { - "markdownDescription": "Specifies the type of the index in this Region. For information about the aggregator index and how it differs from a local index, see [Turning on cross-Region search by creating an aggregator index](https://docs.aws.amazon.com/resource-explorer/latest/userguide/manage-aggregator-region.html) in the *AWS Resource Explorer User Guide.* .", - "title": "Type", - "type": "string" + "UseAwsProvidedLatestImage": { + "markdownDescription": "Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. If you specify `UseAwsProvidedLatestImage` , you can't also specify `ImageId` .", + "title": "UseAwsProvidedLatestImage", + "type": "boolean" } }, "required": [ - "Type" + "Engine", + "EngineVersion" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceExplorer2::Index" + "AWS::RDS::CustomDBEngineVersion" ], "type": "string" }, @@ -334977,7 +301445,7 @@ ], "type": "object" }, - "AWS::ResourceExplorer2::View": { + "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { "Condition": { @@ -335012,178 +301480,332 @@ "Properties": { "additionalProperties": false, "properties": { - "Filters": { - "$ref": "#/definitions/AWS::ResourceExplorer2::View.SearchFilter", - "markdownDescription": "An array of strings that include search keywords, prefixes, and operators that filter the results that are returned for queries made using this view. When you use this view in a [Search](https://docs.aws.amazon.com/resource-explorer/latest/apireference/API_Search.html) operation, the filter string is combined with the search's `QueryString` parameter using a logical `AND` operator.\n\nFor information about the supported syntax, see [Search query reference for Resource Explorer](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html) in the *AWS Resource Explorer User Guide* .\n\n> This query string in the context of this operation supports only [filter prefixes](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-filters) with optional [operators](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-operators) . It doesn't support free-form text. For example, the string `region:us* service:ec2 -tag:stage=prod` includes all Amazon EC2 resources in any AWS Region that begin with the letters `us` and are *not* tagged with a key `Stage` that has the value `prod` .", - "title": "Filters" + "AllocatedStorage": { + "markdownDescription": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nThis setting is required to create a Multi-AZ DB cluster.", + "title": "AllocatedStorage", + "type": "number" }, - "IncludedProperties": { + "AssociatedRoles": { "items": { - "$ref": "#/definitions/AWS::ResourceExplorer2::View.IncludedProperty" + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" }, - "markdownDescription": "A list of fields that provide additional information about the view.", - "title": "IncludedProperties", + "markdownDescription": "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "AssociatedRoles", "type": "array" }, - "Scope": { - "markdownDescription": "The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the default is account.", - "title": "Scope", + "AutoMinorVersionUpgrade": { + "markdownDescription": "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB cluster.\n\nFor more information about automatic minor version upgrades, see [Automatically upgrading the minor engine version](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades) .", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see [Choosing the Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", + "title": "AvailabilityZones", + "type": "array" + }, + "BacktrackWindow": { + "markdownDescription": "The target backtrack window, in seconds. To disable backtracking, set this value to `0` .\n\nValid for Cluster Type: Aurora MySQL DB clusters only\n\nDefault: `0`\n\nConstraints:\n\n- If specified, this value must be set to a number from 0 to 259,200 (72 hours).", + "title": "BacktrackWindow", + "type": "number" + }, + "BackupRetentionPeriod": { + "markdownDescription": "The number of days for which automated backups are retained.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 1 to 35\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "BackupRetentionPeriod", + "type": "number" + }, + "ClusterScalabilityType": { + "markdownDescription": "Specifies the scalability mode of the Aurora DB cluster. When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation.\n\n*Important:* Automated backup retention isn't supported with Aurora Limitless Database clusters. If you set this property to `limitless` , you cannot set `DeleteAutomatedBackups` to `false` . To create a backup, use manual snapshots instead.", + "title": "ClusterScalabilityType", "type": "string" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tag key and value pairs that are attached to the view.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "CopyTagsToSnapshot": { + "markdownDescription": "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "CopyTagsToSnapshot", + "type": "boolean" + }, + "DBClusterIdentifier": { + "markdownDescription": "The DB 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- First character must be a letter.\n- Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: `my-cluster1`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBClusterInstanceClass": { + "markdownDescription": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6gd.xlarge` . Not all DB instance classes are available in all AWS Regions , or for all database engines.\n\nFor the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only", + "title": "DBClusterInstanceClass", + "type": "string" + }, + "DBClusterParameterGroupName": { + "markdownDescription": "The name of the DB cluster parameter group to associate with this DB cluster.\n\n> If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n> \n> If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started. \n\nTo list all of the available DB cluster parameter group names, use the following command:\n\n`aws rds describe-db-cluster-parameter-groups --query \"DBClusterParameterGroups[].DBClusterParameterGroupName\" --output text`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DBClusterParameterGroupName", + "type": "string" + }, + "DBInstanceParameterGroupName": { + "markdownDescription": "The name of the DB parameter group to apply to all instances of the DB cluster.\n\n> When you apply a parameter group using the `DBInstanceParameterGroupName` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window. \n\nValid for Cluster Type: Aurora DB clusters only\n\nDefault: The existing name setting\n\nConstraints:\n\n- The DB parameter group must be in the same DB parameter group family as this DB cluster.\n- The `DBInstanceParameterGroupName` parameter is valid in combination with the `AllowMajorVersionUpgrade` parameter for a major version upgrade only.", + "title": "DBInstanceParameterGroupName", + "type": "string" + }, + "DBSubnetGroupName": { + "markdownDescription": "A DB subnet group that you want to associate with this DB cluster.\n\nIf you are restoring a DB cluster to a point in time with `RestoreType` set to `copy-on-write` , and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DBSubnetGroupName", + "type": "string" + }, + "DBSystemId": { + "markdownDescription": "Reserved for future use.", + "title": "DBSystemId", + "type": "string" + }, + "DatabaseInsightsMode": { + "markdownDescription": "The mode of Database Insights to enable for the DB cluster.\n\nIf you set this value to `advanced` , you must also set the `PerformanceInsightsEnabled` parameter to `true` and the `PerformanceInsightsRetentionPeriod` parameter to 465.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DatabaseInsightsMode", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "The name of your database. If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see [Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DatabaseName", + "type": "string" + }, + "DeleteAutomatedBackups": { + "markdownDescription": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted, unless the AWS Backup policy specifies a point-in-time restore rule.", + "title": "DeleteAutomatedBackups", + "type": "boolean" + }, + "DeletionProtection": { + "markdownDescription": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DeletionProtection", + "type": "boolean" + }, + "Domain": { + "markdownDescription": "Indicates the directory ID of the Active Directory to create the DB cluster.\n\nFor Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.\n\nFor more information, see [Kerberos authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", + "title": "Domain", + "type": "string" + }, + "DomainIAMRoleName": { + "markdownDescription": "Specifies the name of the IAM role to use when making API calls to the Directory Service.\n\nValid for: Aurora DB clusters only", + "title": "DomainIAMRoleName", + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" }, - "title": "Tags", - "type": "object" + "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Aurora User Guide* .\n\n*Aurora MySQL*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Aurora PostgreSQL*\n\nValid values: `postgresql`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "EnableCloudwatchLogsExports", + "type": "array" }, - "ViewName": { - "markdownDescription": "The name of the new view.", - "title": "ViewName", + "EnableGlobalWriteForwarding": { + "markdownDescription": "Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.\n\nYou can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.\n\nValid for Cluster Type: Aurora DB clusters only", + "title": "EnableGlobalWriteForwarding", + "type": "boolean" + }, + "EnableHttpEndpoint": { + "markdownDescription": "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n\nWhen enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n\nFor more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide* .\n\nValid for Cluster Type: Aurora DB clusters only", + "title": "EnableHttpEndpoint", + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "markdownDescription": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n\nFor more information, see [IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon Aurora User Guide.*\n\nValid for: Aurora DB clusters only", + "title": "EnableIAMDatabaseAuthentication", + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "markdownDescription": "Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.\n\nValid for: Aurora DB clusters only", + "title": "EnableLocalWriteForwarding", + "type": "boolean" + }, + "Engine": { + "markdownDescription": "The name of the database engine to be used for this DB cluster.\n\nValid Values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `mysql`\n- `postgres`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "Engine", "type": "string" - } - }, - "required": [ - "ViewName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResourceExplorer2::View" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceExplorer2::View.IncludedProperty": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the property that is included in this view.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::ResourceExplorer2::View.SearchFilter": { - "additionalProperties": false, - "properties": { - "FilterString": { - "markdownDescription": "The string that contains the search keywords, prefixes, and operators to control the results that can be returned by a Search operation.\n\nFor information about the supported syntax, see [Search query reference](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html) in the *AWS Resource Explorer User Guide* .\n\n> This query string in the context of this operation supports only [filter prefixes](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-filters) with optional [operators](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-operators) . It doesn't support free-form text. For example, the string `region:us* service:ec2 -tag:stage=prod` includes all Amazon EC2 resources in any AWS Region that begin with the letters `us` and are *not* tagged with a key `Stage` that has the value `prod` .", - "title": "FilterString", - "type": "string" - } - }, - "required": [ - "FilterString" - ], - "type": "object" - }, - "AWS::ResourceGroups::Group": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "EngineLifecycleSupport": { + "markdownDescription": "The life cycle type for this DB cluster.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date. \n\nYou can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n\n- Amazon Aurora - [Amazon RDS Extended Support with Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide*\n- Amazon RDS - [Amazon RDS Extended Support with Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide*\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", + "title": "EngineLifecycleSupport", + "type": "string" + }, + "EngineMode": { + "markdownDescription": "The DB engine mode of the DB cluster, either `provisioned` or `serverless` .\n\nThe `serverless` engine mode only applies for Aurora Serverless v1 DB clusters. Aurora Serverless v2 DB clusters use the `provisioned` engine mode.\n\nFor information about limitations and requirements for Serverless DB clusters, see the following sections in the *Amazon Aurora User Guide* :\n\n- [Limitations of Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)\n- [Requirements for Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html)\n\nValid for Cluster Type: Aurora DB clusters only", + "title": "EngineMode", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The version number of the database engine to use.\n\nTo list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (8.0-compatible), use the following command:\n\n`aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"`\n\nYou can supply either `5.7` or `8.0` to use the default engine version for Aurora MySQL version 2 or version 3, respectively.\n\nTo list all of the available engine versions for Aurora PostgreSQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"`\n\nTo list all of the available engine versions for RDS for MySQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"`\n\nTo list all of the available engine versions for RDS for PostgreSQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"`\n\n*Aurora MySQL*\n\nFor information, see [Database engine updates for Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) in the *Amazon Aurora User Guide* .\n\n*Aurora PostgreSQL*\n\nFor information, see [Amazon Aurora PostgreSQL releases and engine versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) in the *Amazon Aurora User Guide* .\n\n*MySQL*\n\nFor information, see [Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide* .\n\n*PostgreSQL*\n\nFor information, see [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) in the *Amazon RDS User Guide* .\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "EngineVersion", + "type": "string" + }, + "GlobalClusterIdentifier": { + "markdownDescription": "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the [AWS::RDS::GlobalCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html) resource.\n\nIf you aren't configuring a global database cluster, don't specify this property.\n\n> To remove the DB cluster from a global database cluster, specify an empty value for the `GlobalClusterIdentifier` property. \n\nFor information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", + "title": "GlobalClusterIdentifier", + "type": "string" + }, + "Iops": { + "markdownDescription": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.\n\nFor information about valid IOPS values, see [Provisioned IOPS storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nConstraints:\n\n- Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . If you enable the `StorageEncrypted` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the `StorageEncrypted` property to `true` .\n\nIf you specify the `SnapshotIdentifier` property, the `StorageEncrypted` property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used.\n\nIf you create a read replica of an encrypted DB cluster in another AWS Region, make sure to set `KmsKeyId` to a KMS key identifier that is valid in the destination AWS Region. This KMS key is used to encrypt the read replica in that AWS Region.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "KmsKeyId", + "type": "string" + }, + "ManageMasterUserPassword": { + "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nConstraints:\n\n- Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified.", + "title": "ManageMasterUserPassword", + "type": "boolean" + }, + "MasterUserAuthenticationType": { + "markdownDescription": "Specifies the authentication type for the master user. With IAM master user authentication, you can configure the master DB user with IAM database authentication when you create a DB cluster.\n\nYou can specify one of the following values:\n\n- `password` - Use standard database authentication with a password.\n- `iam-db-auth` - Use IAM database authentication for the master user.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nThis option is only valid for RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, Aurora MySQL, and Aurora PostgreSQL engines.", + "title": "MasterUserAuthenticationType", + "type": "string" + }, + "MasterUserPassword": { + "markdownDescription": "The master password for the DB instance.\n\n> If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "MasterUserPassword", + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/AWS::RDS::DBCluster.MasterUserSecret", + "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n\n> When you restore a DB cluster from a snapshot, Amazon RDS generates a new secret instead of reusing the secret specified in the `SecretArn` property. This ensures that the restored DB cluster is securely managed with a dedicated secret. To maintain consistent integration with your application, you might need to update resource configurations to reference the newly created secret. \n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*", + "title": "MasterUserSecret" + }, + "MasterUsername": { + "markdownDescription": "The name of the master user for the DB cluster.\n\n> If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "MasterUsername", + "type": "string" + }, + "MonitoringInterval": { + "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify `0` .\n\nIf `MonitoringRoleArn` is specified, also set `MonitoringInterval` to a value other than `0` .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`\n\nDefault: `0`", + "title": "MonitoringInterval", + "type": "number" + }, + "MonitoringRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* .\n\nIf `MonitoringInterval` is set to a value other than `0` , supply a `MonitoringRoleArn` value.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", + "title": "MonitoringRoleArn", + "type": "string" + }, + "NetworkType": { + "markdownDescription": "The network type of the DB cluster.\n\nValid values:\n\n- `IPV4`\n- `DUAL`\n\nThe network type is determined by the `DBSubnetGroup` specified for the DB cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ).\n\nFor more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon Aurora User Guide.*\n\nValid for: Aurora DB clusters only", + "title": "NetworkType", + "type": "string" + }, + "PerformanceInsightsEnabled": { + "markdownDescription": "Specifies whether to turn on Performance Insights for the DB cluster.\n\nFor more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", + "title": "PerformanceInsightsEnabled", + "type": "boolean" + }, + "PerformanceInsightsKmsKeyId": { + "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n\nThe AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n\nIf you don't specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account . Your AWS account has a different default KMS key for each AWS Region .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", + "title": "PerformanceInsightsKmsKeyId", + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "markdownDescription": "The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter `PerformanceInsightsRetentionPeriod` .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values:\n\n- `7`\n- *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31)\n- `731`\n\nDefault: `7` days\n\nIf you specify a retention period that isn't valid, such as `94` , Amazon RDS issues an error.", + "title": "PerformanceInsightsRetentionPeriod", + "type": "number" + }, + "Port": { + "markdownDescription": "The port number on which the DB instances in the DB cluster accept connections.\n\nDefault:\n\n- When `EngineMode` is `provisioned` , `3306` (for both Aurora MySQL and Aurora PostgreSQL)\n- When `EngineMode` is `serverless` :\n\n- `3306` when `Engine` is `aurora` or `aurora-mysql`\n- `5432` when `Engine` is `aurora-postgresql`\n\n> The `No interruption` on update behavior only applies to DB clusters. If you are updating a DB instance, see [Port](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port) for the AWS::RDS::DBInstance resource. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "Port", + "type": "number" + }, + "PreferredBackupWindow": { + "markdownDescription": "The daily time range during which automated backups are created. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) in the *Amazon Aurora User Guide.*\n\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.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "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. To see the time blocks available, see [Maintaining an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) in the *Amazon Aurora User Guide.*\n\nValid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n\nConstraints: Minimum 30-minute window.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "PubliclyAccessible": { + "markdownDescription": "Specifies whether the DB cluster is publicly accessible.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nWhen the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its domain name system (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is controlled by its security group settings.\n\nWhen the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.\n\nThe default behavior when `PubliclyAccessible` is not specified depends on whether a `DBSubnetGroup` is specified.\n\nIf `DBSubnetGroup` isn't specified, `PubliclyAccessible` defaults to `true` .\n\nIf `DBSubnetGroup` is specified, `PubliclyAccessible` defaults to `false` unless the value of `DBSubnetGroup` is `default` , in which case `PubliclyAccessible` defaults to `true` .\n\nIf `PubliclyAccessible` is true and the VPC that the `DBSubnetGroup` is in doesn't have an internet gateway attached to it, Amazon RDS returns an error.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "ReplicationSourceIdentifier": { + "markdownDescription": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.\n\nValid for: Aurora DB clusters only", + "title": "ReplicationSourceIdentifier", "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" - }, - "markdownDescription": "The service configuration currently associated with the resource group and in effect for the members of the resource group. A `Configuration` consists of one or more `ConfigurationItem` entries. For information about service configurations for resource groups and how to construct them, see [Service configurations for resource groups](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html) in the *Resource Groups User Guide* .\n\n> You can include either a `Configuration` or a `ResourceQuery` , but not both.", - "title": "Configuration", - "type": "array" + "RestoreToTime": { + "markdownDescription": "The date and time to restore the DB cluster to.\n\nValid Values: Value must be a time in Universal Coordinated Time (UTC) format\n\nConstraints:\n\n- Must be before the latest restorable time for the DB instance\n- Must be specified if `UseLatestRestorableTime` parameter isn't provided\n- Can't be specified if the `UseLatestRestorableTime` parameter is enabled\n- Can't be specified if the `RestoreType` parameter is `copy-on-write`\n\nThis property must be used with `SourceDBClusterIdentifier` property. The resulting cluster will have the identifier that matches the value of the `DBclusterIdentifier` property.\n\nExample: `2015-03-07T23:45:00Z`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "RestoreToTime", + "type": "string" }, - "Description": { - "markdownDescription": "The description of the resource group.", - "title": "Description", + "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\nIf you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "RestoreType", "type": "string" }, - "Name": { - "markdownDescription": "The name of a resource group. The name must be unique within the AWS Region in which you create the resource. To create multiple resource groups based on the same CloudFormation stack, you must generate unique names for each.", - "title": "Name", + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration", + "markdownDescription": "The scaling configuration of an Aurora Serverless v1 DB cluster.\n\nThis property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the `ServerlessV2ScalingConfiguration` property.\n\nValid for: Aurora Serverless v1 DB clusters only", + "title": "ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ServerlessV2ScalingConfiguration", + "markdownDescription": "The scaling configuration of an Aurora Serverless V2 DB cluster.\n\nThis property is only supported for Aurora Serverless v2. For Aurora Serverless v1, Use the `ScalingConfiguration` property.\n\nValid for: Aurora Serverless v2 DB clusters only", + "title": "ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "markdownDescription": "The identifier for the DB snapshot or DB cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.\n\nAfter you restore a DB cluster with a `SnapshotIdentifier` property, you must specify the same `SnapshotIdentifier` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed. However, if you don't specify the `SnapshotIdentifier` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified `SnapshotIdentifier` property, and the original DB cluster is deleted.\n\nIf you specify the `SnapshotIdentifier` property to restore a DB cluster (as opposed to specifying it for DB cluster updates), then don't specify the following properties:\n\n- `GlobalClusterIdentifier`\n- `MasterUsername`\n- `MasterUserPassword`\n- `ReplicationSourceIdentifier`\n- `RestoreType`\n- `SourceDBClusterIdentifier`\n- `SourceRegion`\n- `StorageEncrypted` (for an encrypted snapshot)\n- `UseLatestRestorableTime`\n\nConstraints:\n\n- Must match the identifier of an existing Snapshot.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "SnapshotIdentifier", "type": "string" }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery", - "markdownDescription": "The resource query structure that is used to dynamically determine which AWS resources are members of the associated resource group. For more information about queries and how to construct them, see [Build queries and groups in Resource Groups](https://docs.aws.amazon.com//ARG/latest/userguide/gettingstarted-query.html) in the *Resource Groups User Guide*\n\n> - You can include either a `ResourceQuery` or a `Configuration` , but not both.\n> - You can specify the group's membership either by using a `ResourceQuery` or by using a list of `Resources` , but not both.", - "title": "ResourceQuery" + "SourceDBClusterIdentifier": { + "markdownDescription": "When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore.\n\nConstraints:\n\n- Must match the identifier of an existing DBCluster.\n- Cannot be specified if `SourceDbClusterResourceId` is specified. You must specify either `SourceDBClusterIdentifier` or `SourceDbClusterResourceId` , but not both.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "SourceDBClusterIdentifier", + "type": "string" }, - "Resources": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the Amazon Resource Names (ARNs) of AWS resources that you want to add to the specified group.\n\n> - You can specify the group membership either by using a list of `Resources` or by using a `ResourceQuery` , but not both.\n> - You can include a `Resources` property only if you also specify a `Configuration` property.", - "title": "Resources", - "type": "array" + "SourceDbClusterResourceId": { + "markdownDescription": "The resource ID of the source DB cluster from which to restore.", + "title": "SourceDbClusterResourceId", + "type": "string" + }, + "SourceRegion": { + "markdownDescription": "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, `us-east-1` .\n\nValid for: Aurora DB clusters only", + "title": "SourceRegion", + "type": "string" + }, + "StorageEncrypted": { + "markdownDescription": "Indicates whether the DB cluster is encrypted.\n\nIf you specify the `KmsKeyId` property, then you must enable encryption.\n\nIf you specify the `SourceDBClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used.\n\nIf you specify the `SnapshotIdentifier` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified `KmsKeyId` property is used.\n\nIf you specify the `SnapshotIdentifier` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the `KmsKeyId` property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to `false` .\n\n> If you specify both the `StorageEncrypted` and `SnapshotIdentifier` properties without specifying the `KmsKeyId` property, then the restored DB cluster inherits the encryption settings from the DB snapshot that provide. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "StorageEncrypted", + "type": "boolean" + }, + "StorageType": { + "markdownDescription": "The storage type to associate with the DB cluster.\n\nFor information on storage types for Aurora DB clusters, see [Storage configurations for Amazon Aurora DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type) . For information on storage types for Multi-AZ DB clusters, see [Settings for creating Multi-AZ DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings) .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nWhen specified for a Multi-AZ DB cluster, a value for the `Iops` parameter is required.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values:\n\n- Aurora DB clusters - `aurora | aurora-iopt1`\n- Multi-AZ DB clusters - `io1 | io2 | gp3`\n\nDefault:\n\n- Aurora DB clusters - `aurora`\n- Multi-AZ DB clusters - `io1`\n\n> When you create an Aurora DB cluster with the storage type set to `aurora-iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `aurora` .", + "title": "StorageType", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tag key and value pairs that are attached to the resource group.", + "markdownDescription": "Tags to assign to the DB cluster.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", "title": "Tags", "type": "array" + }, + "UseLatestRestorableTime": { + "markdownDescription": "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "UseLatestRestorableTime", + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of EC2 VPC security groups to associate with this DB cluster.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "VpcSecurityGroupIds", + "type": "array" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceGroups::Group" + "AWS::RDS::DBCluster" ], "type": "string" }, @@ -335197,112 +301819,130 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ResourceGroups::Group.ConfigurationItem": { + "AWS::RDS::DBCluster.DBClusterRole": { "additionalProperties": false, "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" - }, - "markdownDescription": "A collection of parameters for this configuration item. For the list of parameters that you can use with each configuration item `Type` , see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", - "title": "Parameters", - "type": "array" + "FeatureName": { + "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* .", + "title": "FeatureName", + "type": "string" }, - "Type": { - "markdownDescription": "Specifies the type of configuration item. Each item must have a unique value for type. For the list of the types that you can specify for a configuration item, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", - "title": "Type", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.", + "title": "RoleArn", "type": "string" } }, + "required": [ + "RoleArn" + ], "type": "object" }, - "AWS::ResourceGroups::Group.ConfigurationParameter": { + "AWS::RDS::DBCluster.Endpoint": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the group configuration parameter. For the list of parameters that you can use with each configuration item type, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", - "title": "Name", + "Address": { + "markdownDescription": "Specifies the connection endpoint for the primary instance of the DB cluster.", + "title": "Address", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The value or values to be used for the specified parameter. For the list of values you can use with each parameter, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) .", - "title": "Values", - "type": "array" + "Port": { + "markdownDescription": "Specifies the port that the database engine is listening on.", + "title": "Port", + "type": "string" } }, "type": "object" }, - "AWS::ResourceGroups::Group.Query": { + "AWS::RDS::DBCluster.MasterUserSecret": { "additionalProperties": false, "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies limits to the types of resources that can be included in the resource group. For example, if `ResourceTypeFilters` is `[\"AWS::EC2::Instance\", \"AWS::DynamoDB::Table\"]` , only EC2 instances or DynamoDB tables can be members of this resource group. The default value is `[\"AWS::AllSupported\"]` .", - "title": "ResourceTypeFilters", - "type": "array" - }, - "StackIdentifier": { - "markdownDescription": "Specifies the ARN of a CloudFormation stack. All supported resources of the CloudFormation stack are members of the resource group. If you don't specify an ARN, this parameter defaults to the current stack that you are defining, which means that all the resources of the current stack are grouped.\n\nYou can specify a value for `StackIdentifier` only when the `ResourceQuery.Type` property is `CLOUDFORMATION_STACK_1_0.`", - "title": "StackIdentifier", + "KmsKeyId": { + "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.", + "title": "KmsKeyId", "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "markdownDescription": "A list of key-value pair objects that limit which resources can be members of the resource group. This property is required when the `ResourceQuery.Type` property is `TAG_FILTERS_1_0` .\n\nA resource must have a tag that matches every filter that is provided in the `TagFilters` list.", - "title": "TagFilters", - "type": "array" + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#aws-resource-rds-dbcluster-return-values) .", + "title": "SecretArn", + "type": "string" } }, "type": "object" }, - "AWS::ResourceGroups::Group.ResourceQuery": { + "AWS::RDS::DBCluster.ReadEndpoint": { "additionalProperties": false, "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query", - "markdownDescription": "The query that defines the membership of the group. This is a structure with properties that depend on the `Type` .\n\nThe `Query` structure must be included in the following scenarios:\n\n- When the `Type` is `TAG_FILTERS_1_0` , you must specify a `Query` structure that contains a `TagFilters` list of tags. Resources with tags that match those in the `TagFilter` list become members of the resource group.\n- When the `Type` is `CLOUDFORMATION_STACK_1_0` then this field is required only when you must specify a CloudFormation stack other than the one you are defining. To do this, the `Query` structure must contain the `StackIdentifier` property. If you don't specify either a `Query` structure or a `StackIdentifier` within that `Query` , then it defaults to the CloudFormation stack that you're currently constructing.", - "title": "Query" - }, - "Type": { - "markdownDescription": "Specifies the type of resource query that determines this group's membership. There are two valid query types:\n\n- `TAG_FILTERS_1_0` indicates that the group is a tag-based group. To complete the group membership, you must include the `TagFilters` property to specify the tag filters to use in the query.\n- `CLOUDFORMATION_STACK_1_0` , the default, indicates that the group is a CloudFormation stack-based group. Group membership is based on the CloudFormation stack. You must specify the `StackIdentifier` property in the query to define which stack to associate the group with, or leave it empty to default to the stack where the group is defined.", - "title": "Type", + "Address": { + "markdownDescription": "The host address of the reader endpoint.", + "title": "Address", "type": "string" } }, "type": "object" }, - "AWS::ResourceGroups::Group.TagFilter": { + "AWS::RDS::DBCluster.ScalingConfiguration": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "A string that defines a tag key. Only resources in the account that are tagged with a specified tag key are members of the tag-based resource group.\n\nThis field is required when the `ResourceQuery` structure's `Type` property is `TAG_FILTERS_1_0` . You must specify at least one tag key.", - "title": "Key", + "AutoPause": { + "markdownDescription": "Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in `serverless` DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).\n\n> If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.", + "title": "AutoPause", + "type": "boolean" + }, + "MaxCapacity": { + "markdownDescription": "The maximum capacity for an Aurora DB cluster in `serverless` DB engine mode.\n\nFor Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` .\n\nFor Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` .\n\nThe maximum capacity must be greater than or equal to the minimum capacity.", + "title": "MaxCapacity", + "type": "number" + }, + "MinCapacity": { + "markdownDescription": "The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode.\n\nFor Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` .\n\nFor Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` .\n\nThe minimum capacity must be less than or equal to the maximum capacity.", + "title": "MinCapacity", + "type": "number" + }, + "SecondsBeforeTimeout": { + "markdownDescription": "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.\n\nSpecify a value between 60 and 600 seconds.", + "title": "SecondsBeforeTimeout", + "type": "number" + }, + "SecondsUntilAutoPause": { + "markdownDescription": "The time, in seconds, before an Aurora DB cluster in `serverless` mode is paused.\n\nSpecify a value between 300 and 86,400 seconds.", + "title": "SecondsUntilAutoPause", + "type": "number" + }, + "TimeoutAction": { + "markdownDescription": "The action to take when the timeout is reached, either `ForceApplyCapacityChange` or `RollbackCapacityChange` .\n\n`ForceApplyCapacityChange` sets the capacity to the specified value as soon as possible.\n\n`RollbackCapacityChange` , the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n\n> If you specify `ForceApplyCapacityChange` , connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped. \n\nFor more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide* .", + "title": "TimeoutAction", "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBCluster.ServerlessV2ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "markdownDescription": "The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128.\n\nThe maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide* .\n\nAurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the `ParameterApplyStatus` value for the DB instance changes to `pending-reboot` . You can update the parameter values by rebooting the DB instance after changing the capacity range.", + "title": "MaxCapacity", + "type": "number" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of tag values that can be included in the tag-based resource group. This is optional. If you don't specify a value or values for a key, then an AWS resource with any value for that key is a member.", - "title": "Values", - "type": "array" + "MinCapacity": { + "markdownDescription": "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5.", + "title": "MinCapacity", + "type": "number" + }, + "SecondsUntilAutoPause": { + "markdownDescription": "Specifies the number of seconds an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it.\n\nSpecify a value between 300 seconds (five minutes) and 86,400 seconds (one day). The default is 300 seconds.", + "title": "SecondsUntilAutoPause", + "type": "number" } }, "type": "object" }, - "AWS::ResourceGroups::TagSyncTask": { + "AWS::RDS::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -335337,38 +301977,45 @@ "Properties": { "additionalProperties": false, "properties": { - "Group": { - "markdownDescription": "The Amazon resource name (ARN) or name of the application group for which you want to create a tag-sync task.", - "title": "Group", + "DBClusterParameterGroupName": { + "markdownDescription": "The name of the DB cluster parameter group.\n\nConstraints:\n\n- Must not match the name of an existing DB cluster parameter group.\n\n> This value is stored as a lowercase string.", + "title": "DBClusterParameterGroupName", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon resource name (ARN) of the role assumed by the service to tag and untag resources on your behalf.", - "title": "RoleArn", + "Description": { + "markdownDescription": "The description for the DB cluster parameter group.", + "title": "Description", "type": "string" }, - "TagKey": { - "markdownDescription": "The tag key.", - "title": "TagKey", + "Family": { + "markdownDescription": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.\n\n*Aurora MySQL*\n\nExample: `aurora-mysql5.7` , `aurora-mysql8.0`\n\n*Aurora PostgreSQL*\n\nExample: `aurora-postgresql14`\n\n*RDS for MySQL*\n\nExample: `mysql8.0`\n\n*RDS for PostgreSQL*\n\nExample: `postgres13`\n\nTo list all of the available parameter group families for a DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine `\n\nFor example, to list all of the available parameter group families for the Aurora PostgreSQL DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine aurora-postgresql`\n\n> The output contains duplicates. \n\nThe following are the valid DB engine values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `mysql`\n- `postgres`", + "title": "Family", "type": "string" }, - "TagValue": { - "markdownDescription": "The tag value.", - "title": "TagValue", - "type": "string" + "Parameters": { + "markdownDescription": "Provides a list of parameters for the DB cluster parameter group.", + "title": "Parameters", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the DB cluster parameter group.", + "title": "Tags", + "type": "array" } }, "required": [ - "Group", - "RoleArn", - "TagKey", - "TagValue" + "Description", + "Family", + "Parameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceGroups::TagSyncTask" + "AWS::RDS::DBClusterParameterGroup" ], "type": "string" }, @@ -335387,7 +302034,7 @@ ], "type": "object" }, - "AWS::RoboMaker::Fleet": { + "AWS::RDS::DBInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -335422,222 +302069,439 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the fleet.", - "title": "Name", + "AdditionalStorageVolumes": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.AdditionalStorageVolume" + }, + "type": "array" + }, + "AllocatedStorage": { + "markdownDescription": "The amount of storage in gibibytes (GiB) to be initially allocated for the database instance.\n\n> If any value is set in the `Iops` parameter, `AllocatedStorage` must be at least 100 GiB, which corresponds to the minimum Iops value of 1,000. If you increase the `Iops` value (in 1,000 IOPS increments), then you must also increase the `AllocatedStorage` value (in 100-GiB increments). \n\n*Amazon Aurora*\n\nNot applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.\n\n*Db2*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp3): Must be an integer from 20 to 64000.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 64000.\n\n*MySQL*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*MariaDB*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*PostgreSQL*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*Oracle*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 10 to 3072.\n\n*SQL Server*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 16384.\n- Web and Express editions: Must be an integer from 20 to 16384.\n- Provisioned IOPS storage (io1):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 16384.\n- Web and Express editions: Must be an integer from 20 to 16384.\n- Magnetic storage (standard):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 1024.\n- Web and Express editions: Must be an integer from 20 to 1024.", + "title": "AllocatedStorage", "type": "string" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The list of all tags added to the fleet.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "AllowMajorVersionUpgrade": { + "markdownDescription": "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.\n\nConstraints: Major version upgrades must be allowed when specifying a value for the `EngineVersion` parameter that is a different major version than the DB instance's current version.", + "title": "AllowMajorVersionUpgrade", + "type": "boolean" + }, + "ApplyImmediately": { + "markdownDescription": "Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the `PreferredMaintenanceWindow` setting. If set to `false` , changes are applied during the next maintenance window. Until RDS applies the changes, the DB instance remains in a drift state. As a result, the configuration doesn't fully reflect the requested modifications and temporarily diverges from the intended state.\n\nIn addition to the settings described in [Modifying a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) , this property also determines whether the DB instance reboots when a static parameter is modified in the associated DB parameter group.\n\nDefault: `true`", + "title": "ApplyImmediately", + "type": "boolean" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" }, - "title": "Tags", - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RoboMaker::Robot": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "markdownDescription": "The AWS Identity and Access Management (IAM) roles associated with the DB instance.\n\n*Amazon Aurora*\n\nNot applicable. The associated roles are managed by the DB cluster.", + "title": "AssociatedRoles", + "type": "array" + }, + "AutoMinorVersionUpgrade": { + "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" + }, + "AutomaticBackupReplicationKmsKeyId": { + "markdownDescription": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region , for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE` .", + "title": "AutomaticBackupReplicationKmsKeyId", "type": "string" }, - { + "AutomaticBackupReplicationRegion": { + "markdownDescription": "The AWS Region associated with the automated backup.", + "title": "AutomaticBackupReplicationRegion", + "type": "string" + }, + "AutomaticBackupReplicationRetentionPeriod": { + "markdownDescription": "The retention period for automated backups in a different AWS Region. Use this parameter to set a unique retention period that only applies to cross-Region automated backups. To enable automated backups in a different Region, specify a positive value for the `AutomaticBackupReplicationRegion` parameter.\n\nIf not specified, this parameter defaults to the value of the `BackupRetentionPeriod` parameter. The maximum allowed value is 35.", + "title": "AutomaticBackupReplicationRetentionPeriod", + "type": "number" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone (AZ) where the database will be created. For information on AWS Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html) .\n\nFor Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's AWS Region .\n\nConstraints:\n\n- The `AvailabilityZone` parameter can't be specified if the DB instance is a Multi-AZ deployment.\n- The specified Availability Zone must be in the same AWS Region as the current endpoint.\n\nExample: `us-east-1d`", + "title": "AvailabilityZone", + "type": "string" + }, + "BackupRetentionPeriod": { + "markdownDescription": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n\n*Amazon Aurora*\n\nNot applicable. The retention period for automated backups is managed by the DB cluster.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 0 to 35\n- Can't be set to 0 if the DB instance is a source to read replicas", + "title": "BackupRetentionPeriod", + "type": "number" + }, + "BackupTarget": { + "markdownDescription": "The location for storing automated backups and manual snapshots.\n\nValid Values:\n\n- `local` (Dedicated Local Zone)\n- `outposts` ( AWS Outposts)\n- `region` ( AWS Region )\n\nDefault: `region`\n\nFor more information, see [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) in the *Amazon RDS User Guide* .", + "title": "BackupTarget", + "type": "string" + }, + "CACertificateIdentifier": { + "markdownDescription": "The identifier of the CA certificate for this DB instance.\n\nFor more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide* .", + "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, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:\n\n- For more information about rotating your SSL/TLS certificate for RDS DB engines, see [Rotating Your SSL/TLS Certificate.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon RDS User Guide.*\n- For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [Rotating Your SSL/TLS Certificate](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon Aurora User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "CertificateRotationRestart", + "type": "boolean" + }, + "CharacterSetName": { + "markdownDescription": "For supported engines, indicates that the DB instance should be associated with the specified character set.\n\n*Amazon Aurora*\n\nNot applicable. The character set is managed by the DB cluster. For more information, see [AWS::RDS::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html) .", + "title": "CharacterSetName", + "type": "string" + }, + "CopyTagsToSnapshot": { + "markdownDescription": "Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.\n\nThis setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.", + "title": "CopyTagsToSnapshot", + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "markdownDescription": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.\n\nThis setting is required for RDS Custom.\n\nConstraints:\n\n- The profile must exist in your account.\n- The profile must have an IAM role that Amazon EC2 has permissions to assume.\n- The instance profile name and the associated IAM role name must start with the prefix `AWSRDSCustom` .\n\nFor the list of permissions required for the IAM role, see [Configure IAM and your VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) in the *Amazon RDS User Guide* .", + "title": "CustomIAMInstanceProfile", + "type": "string" + }, + "DBClusterIdentifier": { + "markdownDescription": "The identifier of the DB cluster that this DB instance will belong to.\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "markdownDescription": "The identifier for the Multi-AZ DB cluster snapshot to restore from.\n\nFor more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n- Can't be specified when `DBSnapshotIdentifier` is specified.\n- Must be specified when `DBSnapshotIdentifier` isn't specified.\n- If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the `DBClusterSnapshotIdentifier` must be the ARN of the shared snapshot.\n- Can't be the identifier of an Aurora DB cluster snapshot.", + "title": "DBClusterSnapshotIdentifier", + "type": "string" + }, + "DBInstanceClass": { + "markdownDescription": "The compute and memory capacity of the DB instance, for example `db.m5.large` . Not all DB instance classes are available in all AWS Regions , or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide* .", + "title": "DBInstanceClass", + "type": "string" + }, + "DBInstanceIdentifier": { + "markdownDescription": "A name for the DB instance. If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nFor information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* .\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "DBInstanceIdentifier", + "type": "string" + }, + "DBName": { + "markdownDescription": "The meaning of this parameter differs according to the database engine you use.\n\n> If you specify the `[DBSnapshotIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsnapshotidentifier)` property, this property only applies to RDS for Oracle. \n\n*Amazon Aurora*\n\nNot applicable. The database name is managed by the DB cluster.\n\n*Db2*\n\nThe name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n- Can't be a word reserved by the specified database engine.\n\n*MySQL*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Can't be a word reserved by the specified database engine\n\n*MariaDB*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Can't be a word reserved by the specified database engine\n\n*PostgreSQL*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, the default `postgres` database is created in the DB instance.\n\nConstraints:\n\n- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n- Must contain 1 to 63 characters.\n- Can't be a word reserved by the specified database engine\n\n*Oracle*\n\nThe Oracle System ID (SID) of the created DB instance. If you specify `null` , the default value `ORCL` is used. You can't specify the string NULL, or any other reserved word, for `DBName` .\n\nDefault: `ORCL`\n\nConstraints:\n\n- Can't be longer than 8 characters\n\n*SQL Server*\n\nNot applicable. Must be null.", + "title": "DBName", + "type": "string" + }, + "DBParameterGroupName": { + "markdownDescription": "The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template.\n\nTo list all of the available DB parameter group names, use the following command:\n\n`aws rds describe-db-parameter-groups --query \"DBParameterGroups[].DBParameterGroupName\" --output text`\n\n> If any of the data members of the referenced parameter group are changed during an update, the DB instance might need to be restarted, which causes some interruption. If the parameter group contains static parameters, whether they were changed or not, an update triggers a reboot. \n\nIf you don't specify a value for `DBParameterGroupName` property, the default DB parameter group for the specified engine and engine version is used.", + "title": "DBParameterGroupName", + "type": "string" + }, + "DBSecurityGroups": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, + "markdownDescription": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template.\n\nIf you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups.\n\n> If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations:\n> \n> - `AllocatedStorage`\n> - `AutoMinorVersionUpgrade`\n> - `AvailabilityZone`\n> - `BackupRetentionPeriod`\n> - `CharacterSetName`\n> - `DBInstanceClass`\n> - `DBName`\n> - `DBParameterGroupName`\n> - `DBSecurityGroups`\n> - `DBSubnetGroupName`\n> - `Engine`\n> - `EngineVersion`\n> - `Iops`\n> - `LicenseModel`\n> - `MasterUsername`\n> - `MasterUserPassword`\n> - `MultiAZ`\n> - `OptionGroupName`\n> - `PreferredBackupWindow`\n> - `PreferredMaintenanceWindow`\n> \n> All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as `StorageType` , `StorageEncrypted` , or `KmsKeyId` . If you're already using the `DBSecurityGroups` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.", + "title": "DBSecurityGroups", "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Architecture": { - "markdownDescription": "The architecture of the robot.", - "title": "Architecture", + }, + "DBSnapshotIdentifier": { + "markdownDescription": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n\nBy specifying this property, you can create a DB instance from the specified DB snapshot. If the `DBSnapshotIdentifier` property is an empty string or the `AWS::RDS::DBInstance` declaration has no `DBSnapshotIdentifier` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n\nSome DB instance properties aren't valid when you restore from a snapshot, such as the `MasterUsername` and `MasterUserPassword` properties, and the point-in-time recovery properties `RestoreTime` and `UseLatestRestorableTime` . For information about the properties that you can specify, see the [`RestoreDBInstanceFromDBSnapshot`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) action in the *Amazon RDS API Reference* .\n\nAfter you restore a DB instance with a `DBSnapshotIdentifier` property, you must specify the same `DBSnapshotIdentifier` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the `DBSnapshotIdentifier` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified `DBSnapshotIdentifier` property, and the original DB instance is deleted.\n\nIf you specify the `DBSnapshotIdentifier` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n\n- `CharacterSetName`\n- `DBClusterIdentifier`\n- `DBName`\n- `KmsKeyId`\n- `MasterUsername`\n- `MasterUserPassword`\n- `PromotionTier`\n- `SourceDBInstanceIdentifier`\n- `SourceRegion`\n- `StorageEncrypted` (for an unencrypted snapshot)\n- `Timezone`\n\n*Amazon Aurora*\n\nNot applicable. Snapshot restore is managed by the DB cluster.", + "title": "DBSnapshotIdentifier", "type": "string" }, - "Fleet": { - "markdownDescription": "The Amazon Resource Name (ARN) of the fleet to which the robot will be registered.", - "title": "Fleet", + "DBSubnetGroupName": { + "markdownDescription": "A DB subnet group to associate with the DB instance. If you update this value, the new subnet group must be a subnet group in a new VPC.\n\nIf you don't specify a DB subnet group, RDS uses the default DB subnet group if one exists. If a default DB subnet group does not exist, and you don't specify a `DBSubnetGroupName` , the DB instance fails to launch.\n\nFor more information about using Amazon RDS in a VPC, see [Amazon VPC and Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to Amazon Aurora DB instances. The DB subnet group is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", + "title": "DBSubnetGroupName", "type": "string" }, - "GreengrassGroupId": { - "markdownDescription": "The Greengrass group associated with the robot.", - "title": "GreengrassGroupId", + "DBSystemId": { + "markdownDescription": "The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term \"Oracle database instance\" refers exclusively to the system global area (SGA) and Oracle background processes. If you don't specify a SID, the value defaults to `RDSCDB` . The Oracle SID is also the name of your CDB.", + "title": "DBSystemId", "type": "string" }, - "Name": { - "markdownDescription": "The name of the robot.", - "title": "Name", + "DatabaseInsightsMode": { + "markdownDescription": "The mode of Database Insights to enable for the DB instance.\n\n> Aurora DB instances inherit this value from the DB cluster, so you can't change this value.", + "title": "DatabaseInsightsMode", "type": "string" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "A map that contains tag keys and tag values that are attached to the robot.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "DedicatedLogVolume": { + "markdownDescription": "Indicates whether the DB instance has a dedicated log volume (DLV) enabled.", + "title": "DedicatedLogVolume", + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "markdownDescription": "A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.\n\n*Amazon Aurora*\n\nNot applicable. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the DB cluster are not deleted.", + "title": "DeleteAutomatedBackups", + "type": "boolean" + }, + "DeletionProtection": { + "markdownDescription": "Specifies whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see [Deleting a DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html) .\n\nThis setting doesn't apply to Amazon Aurora DB instances. You can enable or disable deletion protection for the DB cluster. For more information, see `CreateDBCluster` . DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.", + "title": "DeletionProtection", + "type": "boolean" + }, + "Domain": { + "markdownDescription": "The Active Directory directory ID to create the DB instance in. Currently, only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.\n\nFor more information, see [Kerberos Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) in the *Amazon RDS User Guide* .", + "title": "Domain", + "type": "string" + }, + "DomainAuthSecretArn": { + "markdownDescription": "The ARN for the Secrets Manager secret with the credentials for the user joining the domain.\n\nExample: `arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`", + "title": "DomainAuthSecretArn", + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "Architecture", - "GreengrassGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Robot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "markdownDescription": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.\n\nConstraints:\n\n- Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.\n\nExample: `123.124.125.126,234.235.236.237`", + "title": "DomainDnsIps", + "type": "array" + }, + "DomainFqdn": { + "markdownDescription": "The fully qualified domain name (FQDN) of an Active Directory domain.\n\nConstraints:\n\n- Can't be longer than 64 characters.\n\nExample: `mymanagedADtest.mymanagedAD.mydomain`", + "title": "DomainFqdn", "type": "string" }, - { + "DomainIAMRoleName": { + "markdownDescription": "The name of the IAM role to use when making API calls to the Directory Service.\n\nThis setting doesn't apply to the following DB instances:\n\n- Amazon Aurora (The domain is managed by the DB cluster.)\n- RDS Custom", + "title": "DomainIAMRoleName", + "type": "string" + }, + "DomainOu": { + "markdownDescription": "The Active Directory organizational unit for your DB instance to join.\n\nConstraints:\n\n- Must be in the distinguished name format.\n- Can't be longer than 64 characters.\n\nExample: `OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`", + "title": "DomainOu", + "type": "string" + }, + "EnableCloudwatchLogsExports": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, + "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide* .\n\n*Amazon Aurora*\n\nNot applicable. CloudWatch Logs exports are managed by the DB cluster.\n\n*Db2*\n\nValid values: `diag.log` , `notify.log`\n\n*MariaDB*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Microsoft SQL Server*\n\nValid values: `agent` , `error`\n\n*MySQL*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Oracle*\n\nValid values: `alert` , `audit` , `listener` , `trace` , `oemagent`\n\n*PostgreSQL*\n\nValid values: `postgresql` , `upgrade`", + "title": "EnableCloudwatchLogsExports", "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "markdownDescription": "The current revision id.", - "title": "CurrentRevisionId", + }, + "EnableIAMDatabaseAuthentication": { + "markdownDescription": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n\nThis property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.*\n\n*Amazon Aurora*\n\nNot applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.", + "title": "EnableIAMDatabaseAuthentication", + "type": "boolean" + }, + "EnablePerformanceInsights": { + "markdownDescription": "Specifies whether to enable Performance Insights for the DB instance. For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "EnablePerformanceInsights", + "type": "boolean" + }, + "Engine": { + "markdownDescription": "The name of the database engine to use for this DB instance. Not every database engine is available in every AWS Region.\n\nThis property is required when creating a DB instance.\n\n> You can convert an Oracle database from the non-CDB architecture to the container database (CDB) architecture by updating the `Engine` value in your templates from `oracle-ee` to `oracle-ee-cdb` or from `oracle-se2` to `oracle-se2-cdb` . Converting to the CDB architecture requires an interruption. \n\nValid Values:\n\n- `aurora-mysql` (for Aurora MySQL DB instances)\n- `aurora-postgresql` (for Aurora PostgreSQL DB instances)\n- `custom-oracle-ee` (for RDS Custom for Oracle DB instances)\n- `custom-oracle-ee-cdb` (for RDS Custom for Oracle DB instances)\n- `custom-sqlserver-ee` (for RDS Custom for SQL Server DB instances)\n- `custom-sqlserver-se` (for RDS Custom for SQL Server DB instances)\n- `custom-sqlserver-web` (for RDS Custom for SQL Server DB instances)\n- `db2-ae`\n- `db2-se`\n- `mariadb`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", + "title": "Engine", "type": "string" }, - "Environment": { - "markdownDescription": "The environment of the robot application.", - "title": "Environment", + "EngineLifecycleSupport": { + "markdownDescription": "The life cycle type for this DB instance.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB instance into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB instance will fail if the DB major version is past its end of standard support date. \n\nThis setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life cycle type is managed by the DB cluster.\n\nYou can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB instance past the end of standard support for that engine version. For more information, see [Amazon RDS Extended Support with Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* .\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", + "title": "EngineLifecycleSupport", "type": "string" }, - "Name": { - "markdownDescription": "The name of the robot application.", - "title": "Name", + "EngineVersion": { + "markdownDescription": "The version number of the database engine to use.\n\nFor a list of valid engine versions, use the `DescribeDBEngineVersions` action.\n\nThe following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.\n\n*Amazon Aurora*\n\nNot applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.\n\n*Db2*\n\nSee [Amazon RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*MariaDB*\n\nSee [MariaDB on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*Microsoft SQL Server*\n\nSee [Microsoft SQL Server Versions on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) in the *Amazon RDS User Guide.*\n\n*MySQL*\n\nSee [MySQL on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*Oracle*\n\nSee [Oracle Database Engine Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) in the *Amazon RDS User Guide.*\n\n*PostgreSQL*\n\nSee [Supported PostgreSQL Database Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions) in the *Amazon RDS User Guide.*", + "title": "EngineVersion", "type": "string" }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite", - "markdownDescription": "The robot software suite used by the robot application.", - "title": "RobotSoftwareSuite" + "Iops": { + "markdownDescription": "The number of I/O operations per second (IOPS) that the database provisions. The value must be equal to or greater than 1000.\n\nIf you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GiB of storage (a ratio of 5:1), or specify 2000 IOPS with 200 GiB of storage (a ratio of 10:1). For more information, see [Amazon RDS Provisioned IOPS Storage to Improve Performance](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* .\n\n> If you specify `io1` for the `StorageType` property, then you must also specify the `Iops` property. \n\nConstraints:\n\n- For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.\n- For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.", + "title": "Iops", + "type": "number" }, - "Sources": { + "KmsKeyId": { + "markdownDescription": "The ARN of the AWS KMS key that's used to encrypt the DB instance, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . If you enable the StorageEncrypted property but don't specify this property, AWS CloudFormation uses the default KMS key. If you specify this property, you must set the StorageEncrypted property to true.\n\nIf you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used. However, if the source DB instance is in a different AWS Region, you must specify a KMS key ID.\n\nIf you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup, and if the automated backup is encrypted, the specified `KmsKeyId` property is used.\n\nIf you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the region that they're created in, and you can't use encryption keys from one region in another region.\n\nIf you specify the `DBSnapshotIdentifier` property, don't specify this property. The `StorageEncrypted` property value is inherited from the snapshot. If the DB instance is encrypted, the specified `KmsKeyId` property is also inherited from the snapshot.\n\nIf you specify `DBSecurityGroups` , AWS CloudFormation ignores this property. To specify both a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see [Using Amazon RDS with Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* .\n\n*Amazon Aurora*\n\nNot applicable. The KMS key identifier is managed by the DB cluster.", + "title": "KmsKeyId", + "type": "string" + }, + "LicenseModel": { + "markdownDescription": "License model information for this DB instance.\n\nValid Values:\n\n- Aurora MySQL - `general-public-license`\n- Aurora PostgreSQL - `postgresql-license`\n- RDS for Db2 - `bring-your-own-license` . For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.*\n- RDS for MariaDB - `general-public-license`\n- RDS for Microsoft SQL Server - `license-included`\n- RDS for MySQL - `general-public-license`\n- RDS for Oracle - `bring-your-own-license` or `license-included`\n- RDS for PostgreSQL - `postgresql-license`\n\n> If you've specified `DBSecurityGroups` and then you update the license model, AWS CloudFormation replaces the underlying DB instance. This will incur some interruptions to database availability.", + "title": "LicenseModel", + "type": "string" + }, + "ManageMasterUserPassword": { + "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.*\n\nConstraints:\n\n- Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified.", + "title": "ManageMasterUserPassword", + "type": "boolean" + }, + "MasterUserAuthenticationType": { + "markdownDescription": "Specifies the authentication type for the master user. With IAM master user authentication, you can configure the master DB user with IAM database authentication when you create a DB instance.\n\nYou can specify one of the following values:\n\n- `password` - Use standard database authentication with a password.\n- `iam-db-auth` - Use IAM database authentication for the master user.\n\nThis option is only valid for RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, Aurora MySQL, and Aurora PostgreSQL engines.", + "title": "MasterUserAuthenticationType", + "type": "string" + }, + "MasterUserPassword": { + "markdownDescription": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".\n\n*Amazon Aurora*\n\nNot applicable. The password for the master user is managed by the DB cluster.\n\n*RDS for Db2*\n\nMust contain from 8 to 255 characters.\n\n*RDS for MariaDB*\n\nConstraints: Must contain from 8 to 41 characters.\n\n*RDS for Microsoft SQL Server*\n\nConstraints: Must contain from 8 to 128 characters.\n\n*RDS for MySQL*\n\nConstraints: Must contain from 8 to 41 characters.\n\n*RDS for Oracle*\n\nConstraints: Must contain from 8 to 30 characters.\n\n*RDS for PostgreSQL*\n\nConstraints: Must contain from 8 to 128 characters.", + "title": "MasterUserPassword", + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/AWS::RDS::DBInstance.MasterUserSecret", + "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.*", + "title": "MasterUserSecret" + }, + "MasterUsername": { + "markdownDescription": "The master user name for the DB instance.\n\n> If you specify the `SourceDBInstanceIdentifier` or `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the source DB instance or snapshot.\n> \n> When migrating a self-managed Db2 database, we recommend that you use the same master username as your self-managed Db2 instance name. \n\n*Amazon Aurora*\n\nNot applicable. The name for the master user is managed by the DB cluster.\n\n*RDS for Db2*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for MariaDB*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for Microsoft SQL Server*\n\nConstraints:\n\n- Must be 1 to 128 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for MySQL*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for Oracle*\n\nConstraints:\n\n- Must be 1 to 30 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for PostgreSQL*\n\nConstraints:\n\n- Must be 1 to 63 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.", + "title": "MasterUsername", + "type": "string" + }, + "MaxAllocatedStorage": { + "markdownDescription": "The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.\n\nFor more information about this setting, including limitations that apply to it, see [Managing capacity automatically with Amazon RDS storage autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to the following DB instances:\n\n- Amazon Aurora (Storage is managed by the DB cluster.)\n- RDS Custom", + "title": "MaxAllocatedStorage", + "type": "number" + }, + "MonitoringInterval": { + "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify `0` .\n\nIf `MonitoringRoleArn` is specified, then you must set `MonitoringInterval` to a value other than `0` .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nValid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`\n\nDefault: `0`", + "title": "MonitoringInterval", + "type": "number" + }, + "MonitoringRoleArn": { + "markdownDescription": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting Up and Enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* .\n\nIf `MonitoringInterval` is set to a value other than `0` , then you must supply a `MonitoringRoleArn` value.\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "MonitoringRoleArn", + "type": "string" + }, + "MultiAZ": { + "markdownDescription": "Specifies whether the DB instance is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the DB instance is a Multi-AZ deployment.\n\nThis setting doesn't apply to Amazon Aurora because the DB instance Availability Zones (AZs) are managed by the DB cluster.", + "title": "MultiAZ", + "type": "boolean" + }, + "NcharCharacterSetName": { + "markdownDescription": "The name of the NCHAR character set for the Oracle DB instance.\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "NcharCharacterSetName", + "type": "string" + }, + "NetworkType": { + "markdownDescription": "The network type of the DB instance.\n\nValid values:\n\n- `IPV4`\n- `DUAL`\n\nThe network type is determined by the `DBSubnetGroup` specified for the DB instance. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ).\n\nFor more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon RDS User Guide.*", + "title": "NetworkType", + "type": "string" + }, + "OptionGroupName": { + "markdownDescription": "Indicates that the DB instance should be associated with the specified option group.\n\nPermanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance.", + "title": "OptionGroupName", + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n\nThe KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n\nIf you do not specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account. Your AWS account has a different default KMS key for each AWS Region.\n\nFor information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights) .", + "title": "PerformanceInsightsKMSKeyId", + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "markdownDescription": "The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter `PerformanceInsightsRetentionPeriod` .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nValid Values:\n\n- `7`\n- *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31)\n- `731`\n\nDefault: `7` days\n\nIf you specify a retention period that isn't valid, such as `94` , Amazon RDS returns an error.", + "title": "PerformanceInsightsRetentionPeriod", + "type": "number" + }, + "Port": { + "markdownDescription": "The port number on which the database accepts connections.\n\nThis setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n\nValid Values: `1150-65535`\n\nDefault:\n\n- RDS for Db2 - `50000`\n- RDS for MariaDB - `3306`\n- RDS for Microsoft SQL Server - `1433`\n- RDS for MySQL - `3306`\n- RDS for Oracle - `1521`\n- RDS for PostgreSQL - `5432`\n\nConstraints:\n\n- For RDS for Microsoft SQL Server, the value can't be `1234` , `1434` , `3260` , `3343` , `3389` , `47001` , or `49152-49156` .", + "title": "Port", + "type": "string" + }, + "PreferredBackupWindow": { + "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, using the `BackupRetentionPeriod` parameter. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) in the *Amazon RDS User Guide.*\n\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.\n\n*Amazon Aurora*\n\nNot applicable. The daily time range for creating automated backups is managed by the DB cluster.", + "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. To see the time blocks available, see [Maintaining a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) in the *Amazon RDS User Guide.*\n\n> This property applies when AWS CloudFormation initially creates the DB instance. If you use AWS CloudFormation to update the DB instance, those updates are applied immediately. \n\nConstraints: Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "ProcessorFeatures": { "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" }, - "markdownDescription": "The sources of the robot application.", - "title": "Sources", + "markdownDescription": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.\n\nThis setting doesn't apply to Amazon Aurora or RDS Custom DB instances.", + "title": "ProcessorFeatures", "type": "array" }, + "PromotionTier": { + "markdownDescription": "The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nDefault: `1`\n\nValid Values: `0 - 15`", + "title": "PromotionTier", + "type": "number" + }, + "PubliclyAccessible": { + "markdownDescription": "Indicates whether the DB instance is an internet-facing instance. If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address.\n\nThe default behavior value depends on your VPC setup and the database subnet group. For more information, see the `PubliclyAccessible` parameter in the [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) in the *Amazon RDS API Reference* .", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "ReplicaMode": { + "markdownDescription": "The open mode of an Oracle read replica. For more information, see [Working with Oracle Read Replicas for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) in the *Amazon RDS User Guide* .\n\nThis setting is only supported in RDS for Oracle.\n\nDefault: `open-read-only`\n\nValid Values: `open-read-only` or `mounted`", + "title": "ReplicaMode", + "type": "string" + }, + "RestoreTime": { + "markdownDescription": "The date and time to restore from. This parameter applies to point-in-time recovery. For more information, see [Restoring a DB instance to a specified time](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html) in the in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Must be a time in Universal Coordinated Time (UTC) format.\n- Must be before the latest restorable time for the DB instance.\n- Can't be specified if the `UseLatestRestorableTime` parameter is enabled.\n\nExample: `2009-09-07T23:45:00Z`", + "title": "RestoreTime", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "markdownDescription": "The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.\n\nConstraints:\n\n- Must be the identifier of an existing Multi-AZ DB cluster.\n- Can't be specified if the `SourceDBInstanceIdentifier` parameter is also specified.\n- The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.\n- The source DB cluster must be in the same AWS Region as the read replica. Cross-Region replication isn't supported.", + "title": "SourceDBClusterIdentifier", + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, `arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE` .\n\nThis setting doesn't apply to RDS Custom.", + "title": "SourceDBInstanceAutomatedBackupsArn", + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "markdownDescription": "If you want to create a read replica DB instance, specify the ID of the source DB instance. Each DB instance can have a limited number of read replicas. For more information, see [Working with Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html) in the *Amazon RDS User Guide* .\n\nFor information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* .\n\nThe `SourceDBInstanceIdentifier` property determines whether a DB instance is a read replica. If you remove the `SourceDBInstanceIdentifier` property from your template and then update your stack, AWS CloudFormation promotes the read replica to a standalone DB instance.\n\nIf you specify the `UseLatestRestorableTime` or `RestoreTime` properties in conjunction with the `SourceDBInstanceIdentifier` property, RDS restores the DB instance to the requested point in time, thereby creating a new DB instance.\n\n> - If you specify a source DB instance that uses VPC security groups, we recommend that you specify the `VPCSecurityGroups` property. If you don't specify the property, the read replica inherits the value of the `VPCSecurityGroups` property from the source DB when you create the replica. However, if you update the stack, AWS CloudFormation reverts the replica's `VPCSecurityGroups` property to the default value because it's not defined in the stack's template. This change might cause unexpected issues.\n> - Read replicas don't support deletion policies. AWS CloudFormation ignores any deletion policy that's associated with a read replica.\n> - If you specify `SourceDBInstanceIdentifier` , don't specify the `DBSnapshotIdentifier` property. You can't create a read replica from a snapshot.\n> - Don't set the `BackupRetentionPeriod` , `DBName` , `MasterUsername` , `MasterUserPassword` , and `PreferredBackupWindow` properties. The database attributes are inherited from the source DB instance, and backups are disabled for read replicas.\n> - If the source DB instance is in a different region than the read replica, specify the source region in `SourceRegion` , and specify an ARN for a valid DB instance in `SourceDBInstanceIdentifier` . For more information, see [Constructing a Amazon RDS Amazon Resource Name (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN) in the *Amazon RDS User Guide* .\n> - For DB instances in Amazon Aurora clusters, don't specify this property. Amazon RDS automatically assigns writer and reader DB instances.", + "title": "SourceDBInstanceIdentifier", + "type": "string" + }, + "SourceDbiResourceId": { + "markdownDescription": "The resource ID of the source DB instance from which to restore.", + "title": "SourceDbiResourceId", + "type": "string" + }, + "SourceRegion": { + "markdownDescription": "The ID of the region that contains the source DB instance for the read replica.", + "title": "SourceRegion", + "type": "string" + }, + "StorageEncrypted": { + "markdownDescription": "A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.\n\nIf you specify the `KmsKeyId` property, then you must enable encryption.\n\nIf you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used.\n\nIf you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup.\n\nIf you specify `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the snapshot.\n\n*Amazon Aurora*\n\nNot applicable. The encryption for DB instances is managed by the DB cluster.", + "title": "StorageEncrypted", + "type": "boolean" + }, + "StorageThroughput": { + "markdownDescription": "Specifies the storage throughput value, in mebibyte per second (MiBps), for the DB instance. This setting applies only to the `gp3` storage type.\n\nThis setting doesn't apply to RDS Custom or Amazon Aurora.", + "title": "StorageThroughput", + "type": "number" + }, + "StorageType": { + "markdownDescription": "The storage type to associate with the DB instance.\n\nIf you specify `io1` , `io2` , or `gp3` , you must also include a value for the `Iops` parameter.\n\nThis setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.\n\nValid Values: `gp2 | gp3 | io1 | io2 | standard`\n\nDefault: `io1` , if the `Iops` parameter is specified. Otherwise, `gp3` .", + "title": "StorageType", + "type": "string" + }, "Tags": { - "additionalProperties": true, - "markdownDescription": "A map that contains tag keys and tag values that are attached to the robot application.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Tags to assign to the DB instance.", "title": "Tags", - "type": "object" + "type": "array" + }, + "Timezone": { + "markdownDescription": "The time zone of the DB instance. The time zone parameter is currently supported only by [RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone) and [RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) .", + "title": "Timezone", + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "markdownDescription": "Specifies whether the DB instance class of the DB instance uses its default processor features.\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "UseDefaultProcessorFeatures", + "type": "boolean" + }, + "UseLatestRestorableTime": { + "markdownDescription": "Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time. This parameter applies to point-in-time recovery. For more information, see [Restoring a DB instance to a specified time](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html) in the in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Can't be specified if the `RestoreTime` parameter is provided.", + "title": "UseLatestRestorableTime", + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.\n\nIf you set `VPCSecurityGroups` , you must not set [`DBSecurityGroups`](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) , and vice versa.\n\n> You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind:\n> \n> - You can't revert to using an RDS security group after you establish a VPC security group membership.\n> - When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group.\n> - To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [`DBSecurityGroups`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property. \n\nTo avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template.\n\n*Amazon Aurora*\n\nNot applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", + "title": "VPCSecurityGroups", + "type": "array" } }, - "required": [ - "RobotSoftwareSuite" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplication" + "AWS::RDS::DBInstance" ], "type": "string" }, @@ -335651,57 +302515,150 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "AWS::RDS::DBInstance.AdditionalStorageVolume": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the robot software suite. `General` is the only supported value.", - "title": "Name", + "AllocatedStorage": { "type": "string" }, - "Version": { - "markdownDescription": "The version of the robot software suite. Not applicable for General software suite.", - "title": "Version", + "Iops": { + "type": "number" + }, + "MaxAllocatedStorage": { + "type": "number" + }, + "StorageThroughput": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "VolumeName": { "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { + "AWS::RDS::DBInstance.CertificateDetails": { "additionalProperties": false, "properties": { - "Architecture": { - "markdownDescription": "The target processor architecture for the application.", - "title": "Architecture", + "CAIdentifier": { + "markdownDescription": "The CA identifier of the CA certificate used for the DB instance's server certificate.", + "title": "CAIdentifier", "type": "string" }, - "S3Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "S3Bucket", + "ValidTill": { + "markdownDescription": "The expiration date of the DB instance\u2019s server certificate.", + "title": "ValidTill", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBInstance.DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB instance grant permission for the DB instance to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* .", + "title": "FeatureName", "type": "string" }, - "S3Key": { - "markdownDescription": "The s3 object key.", - "title": "S3Key", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.", + "title": "RoleArn", "type": "string" } }, "required": [ - "Architecture", - "S3Bucket", - "S3Key" + "FeatureName", + "RoleArn" ], "type": "object" }, - "AWS::RoboMaker::RobotApplicationVersion": { + "AWS::RDS::DBInstance.DBInstanceStatusInfo": { + "additionalProperties": false, + "properties": { + "Message": { + "markdownDescription": "Details of the error if there is an error for the instance. If the instance isn't in an error state, this value is blank.", + "title": "Message", + "type": "string" + }, + "Normal": { + "markdownDescription": "Indicates whether the instance is operating normally (TRUE) or is in an error state (FALSE).", + "title": "Normal", + "type": "boolean" + }, + "Status": { + "markdownDescription": "The status of the DB instance. For a StatusType of read replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.", + "title": "Status", + "type": "string" + }, + "StatusType": { + "markdownDescription": "This value is currently \"read replication.\"", + "title": "StatusType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBInstance.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "markdownDescription": "Specifies the DNS address of the DB instance.", + "title": "Address", + "type": "string" + }, + "HostedZoneId": { + "markdownDescription": "Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.", + "title": "HostedZoneId", + "type": "string" + }, + "Port": { + "markdownDescription": "Specifies the port that the database engine is listening on.", + "title": "Port", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBInstance.MasterUserSecret": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.", + "title": "KmsKeyId", + "type": "string" + }, + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance-return-values) .", + "title": "SecretArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the processor feature. Valid names are `coreCount` and `threadsPerCore` .", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of a processor feature.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBParameterGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -335736,25 +302693,44 @@ "Properties": { "additionalProperties": false, "properties": { - "Application": { - "markdownDescription": "The application information for the robot application.", - "title": "Application", + "DBParameterGroupName": { + "markdownDescription": "The name of the DB parameter group.\n\nConstraints:\n\n- Must be 1 to 255 letters, numbers, or hyphens.\n- First character must be a letter\n- Can't end with a hyphen or contain two consecutive hyphens\n\nIf you don't specify a value for `DBParameterGroupName` property, a name is automatically created for the DB parameter group.\n\n> This value is stored as a lowercase string.", + "title": "DBParameterGroupName", "type": "string" }, - "CurrentRevisionId": { - "markdownDescription": "The current revision id for the robot application. If you provide a value and it matches the latest revision ID, a new version will be created.", - "title": "CurrentRevisionId", + "Description": { + "markdownDescription": "Provides the customer-specified description for this DB parameter group.", + "title": "Description", + "type": "string" + }, + "Family": { + "markdownDescription": "The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.\n\nTo list all of the available parameter group families for a DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine `\n\nFor example, to list all of the available parameter group families for the MySQL DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine mysql`\n\n> The output contains duplicates. \n\nThe following are the valid DB engine values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `db2-ae`\n- `db2-se`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", + "title": "Family", "type": "string" + }, + "Parameters": { + "markdownDescription": "A mapping of parameter names and values for the parameter update. You must specify at least one parameter name and value.\n\nFor more information about parameter groups, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide* , or [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide* .\n\n> AWS CloudFormation doesn't support specifying an apply method for each individual parameter. The default apply method for each parameter is used.", + "title": "Parameters", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the DB parameter group.", + "title": "Tags", + "type": "array" } }, "required": [ - "Application" + "Description", + "Family" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" + "AWS::RDS::DBParameterGroup" ], "type": "string" }, @@ -335773,7 +302749,7 @@ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication": { + "AWS::RDS::DBProxy": { "additionalProperties": false, "properties": { "Condition": { @@ -335808,65 +302784,95 @@ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { - "markdownDescription": "The current revision id.", - "title": "CurrentRevisionId", + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "markdownDescription": "The authorization mechanism that the proxy uses.", + "title": "Auth", + "type": "array" + }, + "DBProxyName": { + "markdownDescription": "The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region . 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.", + "title": "DBProxyName", "type": "string" }, - "Environment": { - "markdownDescription": "The environment of the simulation application.", - "title": "Environment", + "DebugLogging": { + "markdownDescription": "Specifies whether the proxy logs detailed connection and query information. When you enable `DebugLogging` , the proxy captures connection details and connection pool behavior from your queries. Debug logging increases CloudWatch costs and can impact proxy performance. Enable this option only when you need to troubleshoot connection or performance issues.", + "title": "DebugLogging", + "type": "boolean" + }, + "DefaultAuthScheme": { + "markdownDescription": "The default authentication scheme that the proxy uses for client connections to the proxy and connections from the proxy to the underlying database. Valid values are `NONE` and `IAM_AUTH` . When set to `IAM_AUTH` , the proxy uses end-to-end IAM authentication to connect to the database.", + "title": "DefaultAuthScheme", "type": "string" }, - "Name": { - "markdownDescription": "The name of the simulation application.", - "title": "Name", + "EndpointNetworkType": { + "markdownDescription": "The network type of the DB proxy endpoint. The network type determines the IP version that the proxy endpoint supports.\n\nValid values:\n\n- `IPV4` - The proxy endpoint supports IPv4 only.\n- `IPV6` - The proxy endpoint supports IPv6 only.\n- `DUAL` - The proxy endpoint supports both IPv4 and IPv6.", + "title": "EndpointNetworkType", "type": "string" }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine", - "markdownDescription": "The rendering engine for the simulation application.", - "title": "RenderingEngine" + "EngineFamily": { + "markdownDescription": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL` . For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL` . For RDS for Microsoft SQL Server, specify `SQLSERVER` .", + "title": "EngineFamily", + "type": "string" }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite", - "markdownDescription": "The robot software suite used by the simulation application.", - "title": "RobotSoftwareSuite" + "IdleClientTimeout": { + "markdownDescription": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "title": "IdleClientTimeout", + "type": "number" }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite", - "markdownDescription": "The simulation software suite used by the simulation application.", - "title": "SimulationSoftwareSuite" + "RequireTLS": { + "markdownDescription": "Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", + "title": "RequireTLS", + "type": "boolean" }, - "Sources": { + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", + "title": "RoleArn", + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" }, - "markdownDescription": "The sources of the simulation application.", - "title": "Sources", + "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.", + "title": "Tags", "type": "array" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "A map that contains tag keys and tag values that are attached to the simulation application.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "TargetConnectionNetworkType": { + "markdownDescription": "The network type that the proxy uses to connect to the target database. The network type determines the IP version that the proxy uses for connections to the database.\n\nValid values:\n\n- `IPV4` - The proxy connects to the database using IPv4 only.\n- `IPV6` - The proxy connects to the database using IPv6 only.", + "title": "TargetConnectionNetworkType", + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" }, - "title": "Tags", - "type": "object" + "markdownDescription": "One or more VPC security group IDs to associate with the new proxy.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.", + "title": "VpcSecurityGroupIds", + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more VPC subnet IDs to associate with the new proxy.", + "title": "VpcSubnetIds", + "type": "array" } }, "required": [ - "RobotSoftwareSuite", - "SimulationSoftwareSuite" + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplication" + "AWS::RDS::DBProxy" ], "type": "string" }, @@ -335885,91 +302891,54 @@ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "AWS::RDS::DBProxy.AuthFormat": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the rendering engine.", - "title": "Name", + "AuthScheme": { + "markdownDescription": "The type of authentication that the proxy uses for connections from the proxy to the underlying database.", + "title": "AuthScheme", "type": "string" }, - "Version": { - "markdownDescription": "The version of the rendering engine.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the robot software suite. `General` is the only supported value.", - "title": "Name", + "ClientPasswordAuthType": { + "markdownDescription": "Specifies the details of authentication used by a proxy to log in as a specific database user.", + "title": "ClientPasswordAuthType", "type": "string" }, - "Version": { - "markdownDescription": "The version of the robot software suite. Not applicable for General software suite.", - "title": "Version", + "Description": { + "markdownDescription": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", + "title": "Description", "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the simulation software suite. `SimulationRuntime` is the only supported value.", - "title": "Name", + }, + "IAMAuth": { + "markdownDescription": "A value that indicates whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. The `ENABLED` value is valid only for proxies with RDS for Microsoft SQL Server.", + "title": "IAMAuth", "type": "string" }, - "Version": { - "markdownDescription": "The version of the simulation software suite. Not applicable for `SimulationRuntime` .", - "title": "Version", + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", + "title": "SecretArn", "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "AWS::RDS::DBProxy.TagFormat": { "additionalProperties": false, "properties": { - "Architecture": { - "markdownDescription": "The target processor architecture for the application.", - "title": "Architecture", - "type": "string" - }, - "S3Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "S3Bucket", + "Key": { + "markdownDescription": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "title": "Key", "type": "string" }, - "S3Key": { - "markdownDescription": "The s3 object key.", - "title": "S3Key", + "Value": { + "markdownDescription": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "title": "Value", "type": "string" } }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], "type": "object" }, - "AWS::RoboMaker::SimulationApplicationVersion": { + "AWS::RDS::DBProxyEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -336004,25 +302973,61 @@ "Properties": { "additionalProperties": false, "properties": { - "Application": { - "markdownDescription": "The application information for the simulation application.", - "title": "Application", + "DBProxyEndpointName": { + "markdownDescription": "The name of the DB proxy endpoint to create.", + "title": "DBProxyEndpointName", "type": "string" }, - "CurrentRevisionId": { - "markdownDescription": "The current revision id for the simulation application. If you provide a value and it matches the latest revision ID, a new version will be created.", - "title": "CurrentRevisionId", + "DBProxyName": { + "markdownDescription": "The name of the DB proxy associated with the DB proxy endpoint that you create.", + "title": "DBProxyName", + "type": "string" + }, + "EndpointNetworkType": { + "markdownDescription": "The network type of the DB proxy endpoint. The network type determines the IP version that the proxy endpoint supports.\n\nValid values:\n\n- `IPV4` - The proxy endpoint supports IPv4 only.\n- `IPV6` - The proxy endpoint supports IPv6 only.\n- `DUAL` - The proxy endpoint supports both IPv4 and IPv6.", + "title": "EndpointNetworkType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" + }, + "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.", + "title": "Tags", + "type": "array" + }, + "TargetRole": { + "markdownDescription": "A value that indicates whether the DB proxy endpoint can be used for read/write or read-only operations.", + "title": "TargetRole", "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security group IDs for the DB proxy endpoint that you create. You can specify a different set of security group IDs than for the original DB proxy. The default is the default security group for the VPC.", + "title": "VpcSecurityGroupIds", + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC subnet IDs for the DB proxy endpoint that you create. You can specify a different set of subnet IDs than for the original DB proxy.", + "title": "VpcSubnetIds", + "type": "array" } }, "required": [ - "Application" + "DBProxyEndpointName", + "DBProxyName", + "VpcSubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" + "AWS::RDS::DBProxyEndpoint" ], "type": "string" }, @@ -336041,7 +303046,23 @@ ], "type": "object" }, - "AWS::RolesAnywhere::CRL": { + "AWS::RDS::DBProxyEndpoint.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -336076,44 +303097,47 @@ "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" + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat", + "markdownDescription": "Displays the settings that control the size and behavior of the connection pool associated with a `DBProxyTarget` .", + "title": "ConnectionPoolConfigurationInfo" }, - "Name": { - "markdownDescription": "The name of the certificate revocation list (CRL).", - "title": "Name", - "type": "string" + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more DB cluster identifiers.", + "title": "DBClusterIdentifiers", + "type": "array" }, - "Tags": { + "DBInstanceIdentifiers": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "A list of tags to attach to the certificate revocation list (CRL).", - "title": "Tags", + "markdownDescription": "One or more DB instance identifiers.", + "title": "DBInstanceIdentifiers", "type": "array" }, - "TrustAnchorArn": { - "markdownDescription": "The ARN of the TrustAnchor the certificate revocation list (CRL) will provide revocation for.", - "title": "TrustAnchorArn", + "DBProxyName": { + "markdownDescription": "The identifier of the `DBProxy` that is associated with the `DBProxyTargetGroup` .", + "title": "DBProxyName", + "type": "string" + }, + "TargetGroupName": { + "markdownDescription": "The identifier for the target group.\n\n> Currently, this property must be set to `default` .", + "title": "TargetGroupName", "type": "string" } }, "required": [ - "CrlData", - "Name" + "DBProxyName", + "TargetGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RolesAnywhere::CRL" + "AWS::RDS::DBProxyTargetGroup" ], "type": "string" }, @@ -336132,7 +303156,41 @@ ], "type": "object" }, - "AWS::RolesAnywhere::Profile": { + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "markdownDescription": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. This setting only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.\n\nDefault: `120`\n\nConstraints:\n\n- Must be between 0 and 300.", + "title": "ConnectionBorrowTimeout", + "type": "number" + }, + "InitQuery": { + "markdownDescription": "Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with `SET` statements to make sure that each connection has identical settings. Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty. For including multiple variables in a single SET statement, use a comma separator.\n\nFor example: `SET variable1=value1, variable2=value2`\n\nDefault: no initialization query\n\n> Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. Anyone with access to view or manage your proxy target group configuration can view the initialization query. You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.", + "title": "InitQuery", + "type": "string" + }, + "MaxConnectionsPercent": { + "markdownDescription": "The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group.\n\nIf you specify `MaxIdleConnectionsPercent` , then you must also include a value for this parameter.\n\nDefault: `10` for RDS for Microsoft SQL Server, and `100` for all other engines\n\nConstraints:\n\n- Must be between 1 and 100.", + "title": "MaxConnectionsPercent", + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "markdownDescription": "A value that controls how actively the proxy closes idle database connections in the connection pool. The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database.\n\nIf you specify this parameter, then you must also include a value for `MaxConnectionsPercent` .\n\nDefault: The default value is half of the value of `MaxConnectionsPercent` . For example, if `MaxConnectionsPercent` is 80, then the default value of `MaxIdleConnectionsPercent` is 40. If the value of `MaxConnectionsPercent` isn't specified, then for SQL Server, `MaxIdleConnectionsPercent` is `5` , and for all other engines, the default is `50` .\n\nConstraints:\n\n- Must be between 0 and the value of `MaxConnectionsPercent` .", + "title": "MaxIdleConnectionsPercent", + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "markdownDescription": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior.\n\nDefault: no session pinning filters", + "title": "SessionPinningFilters", + "type": "array" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -336167,78 +303225,42 @@ "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": { + "DBSecurityGroupIngress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" }, - "markdownDescription": "A list of managed policy ARNs. Managed policies identified by this list will be applied to the vended session credentials.", - "title": "ManagedPolicyArns", + "markdownDescription": "Ingress rules to be applied to the DB security group.", + "title": "DBSecurityGroupIngress", "type": "array" }, - "Name": { - "markdownDescription": "The customer specified name of the resource.", - "title": "Name", + "EC2VpcId": { + "markdownDescription": "The identifier of an Amazon virtual private cloud (VPC). This property indicates the VPC that this DB security group belongs to.\n\n> This property is included for backwards compatibility and is no longer recommended for providing security information to an RDS DB instance.", + "title": "EC2VpcId", "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", + "GroupDescription": { + "markdownDescription": "Provides the description of the DB security group.", + "title": "GroupDescription", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of Tags.", + "markdownDescription": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .", "title": "Tags", "type": "array" } }, "required": [ - "Name", - "RoleArns" + "DBSecurityGroupIngress", + "GroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::RolesAnywhere::Profile" + "AWS::RDS::DBSecurityGroup" ], "type": "string" }, @@ -336257,44 +303279,33 @@ ], "type": "object" }, - "AWS::RolesAnywhere::Profile.AttributeMapping": { + "AWS::RDS::DBSecurityGroup.Ingress": { "additionalProperties": false, "properties": { - "CertificateField": { - "markdownDescription": "Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.", - "title": "CertificateField", + "CIDRIP": { + "markdownDescription": "The IP range to authorize.", + "title": "CIDRIP", "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", + "EC2SecurityGroupId": { + "markdownDescription": "Id of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupId", + "type": "string" + }, + "EC2SecurityGroupName": { + "markdownDescription": "Name of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupName", + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "markdownDescription": "AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupOwnerId", "type": "string" } }, - "required": [ - "Specifier" - ], "type": "object" }, - "AWS::RolesAnywhere::TrustAnchor": { + "AWS::RDS::DBSecurityGroupIngress": { "additionalProperties": false, "properties": { "Condition": { @@ -336329,47 +303340,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether the trust anchor is enabled.", - "title": "Enabled", - "type": "boolean" + "CIDRIP": { + "markdownDescription": "The IP range to authorize.", + "title": "CIDRIP", + "type": "string" }, - "Name": { - "markdownDescription": "The name of the trust anchor.", - "title": "Name", + "DBSecurityGroupName": { + "markdownDescription": "The name of the DB security group to add authorization to.", + "title": "DBSecurityGroupName", "type": "string" }, - "NotificationSettings": { - "items": { - "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.NotificationSetting" - }, - "markdownDescription": "A list of notification settings to be associated to the trust anchor.", - "title": "NotificationSettings", - "type": "array" + "EC2SecurityGroupId": { + "markdownDescription": "Id of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupId", + "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.Source", - "markdownDescription": "The trust anchor type and its related certificate data.", - "title": "Source" + "EC2SecurityGroupName": { + "markdownDescription": "Name of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupName", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to attach to the trust anchor.", - "title": "Tags", - "type": "array" + "EC2SecurityGroupOwnerId": { + "markdownDescription": "AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupOwnerId", + "type": "string" } }, "required": [ - "Name", - "Source" + "DBSecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RolesAnywhere::TrustAnchor" + "AWS::RDS::DBSecurityGroupIngress" ], "type": "string" }, @@ -336388,73 +303392,7 @@ ], "type": "object" }, - "AWS::RolesAnywhere::TrustAnchor.NotificationSetting": { - "additionalProperties": false, - "properties": { - "Channel": { - "markdownDescription": "The specified channel of notification. IAM Roles Anywhere uses CloudWatch metrics, EventBridge, and Health Dashboard to notify for an event.\n\n> In the absence of a specific channel, IAM Roles Anywhere applies this setting to 'ALL' channels.", - "title": "Channel", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether the notification setting is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Event": { - "markdownDescription": "The event to which this notification setting is applied.", - "title": "Event", - "type": "string" - }, - "Threshold": { - "markdownDescription": "The number of days before a notification event. This value is required for a notification setting that is enabled.", - "title": "Threshold", - "type": "number" - } - }, - "required": [ - "Enabled", - "Event" - ], - "type": "object" - }, - "AWS::RolesAnywhere::TrustAnchor.Source": { - "additionalProperties": false, - "properties": { - "SourceData": { - "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.SourceData", - "markdownDescription": "A union object representing the data field of the TrustAnchor depending on its type", - "title": "SourceData" - }, - "SourceType": { - "markdownDescription": "The type of the TrustAnchor.", - "title": "SourceType", - "type": "string" - } - }, - "required": [ - "SourceData", - "SourceType" - ], - "type": "object" - }, - "AWS::RolesAnywhere::TrustAnchor.SourceData": { - "additionalProperties": false, - "properties": { - "AcmPcaArn": { - "markdownDescription": "The root certificate of the Private Certificate Authority specified by this ARN is used in trust validation for temporary credential requests. Included for trust anchors of type `AWS_ACM_PCA` .\n\n> This field is not supported in your region.", - "title": "AcmPcaArn", - "type": "string" - }, - "X509CertificateData": { - "markdownDescription": "The PEM-encoded data for the certificate anchor. Included for trust anchors of type `CERTIFICATE_BUNDLE` .", - "title": "X509CertificateData", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::CidrCollection": { + "AWS::RDS::DBShardGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -336489,28 +303427,54 @@ "Properties": { "additionalProperties": false, "properties": { - "Locations": { + "ComputeRedundancy": { + "markdownDescription": "Specifies whether to create standby standby DB data access shard for the DB shard group. Valid values are the following:\n\n- 0 - Creates a DB shard group without a standby DB data access shard. This is the default value.\n- 1 - Creates a DB shard group with a standby DB data access shard in a different Availability Zone (AZ).\n- 2 - Creates a DB shard group with two standby DB data access shard in two different AZs.", + "title": "ComputeRedundancy", + "type": "number" + }, + "DBClusterIdentifier": { + "markdownDescription": "The name of the primary DB cluster for the DB shard group.", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBShardGroupIdentifier": { + "markdownDescription": "The name of the DB shard group.", + "title": "DBShardGroupIdentifier", + "type": "string" + }, + "MaxACU": { + "markdownDescription": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs).", + "title": "MaxACU", + "type": "number" + }, + "MinACU": { + "markdownDescription": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs).", + "title": "MinACU", + "type": "number" + }, + "PubliclyAccessible": { + "markdownDescription": "Specifies whether the DB shard group is publicly accessible.\n\nWhen the DB shard group is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB shard group's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB shard group's VPC. Access to the DB shard group is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB shard group doesn't permit it.\n\nWhen the DB shard group isn't publicly accessible, it is an internal DB shard group with a DNS name that resolves to a private IP address.\n\nDefault: The default behavior varies depending on whether `DBSubnetGroupName` is specified.\n\nIf `DBSubnetGroupName` isn't specified, and `PubliclyAccessible` isn't specified, the following applies:\n\n- If the default VPC in the target Region doesn\u2019t have an internet gateway attached to it, the DB shard group is private.\n- If the default VPC in the target Region has an internet gateway attached to it, the DB shard group is public.\n\nIf `DBSubnetGroupName` is specified, and `PubliclyAccessible` isn't specified, the following applies:\n\n- If the subnets are part of a VPC that doesn\u2019t have an internet gateway attached to it, the DB shard group is private.\n- If the subnets are part of a VPC that has an internet gateway attached to it, the DB shard group is public.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::CidrCollection.Location" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A complex type that contains information about the list of CIDR locations.", - "title": "Locations", + "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the DB shard group.", + "title": "Tags", "type": "array" - }, - "Name": { - "markdownDescription": "The name of a CIDR collection.", - "title": "Name", - "type": "string" } }, "required": [ - "Name" + "DBClusterIdentifier", + "MaxACU" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::CidrCollection" + "AWS::RDS::DBShardGroup" ], "type": "string" }, @@ -336529,30 +303493,7 @@ ], "type": "object" }, - "AWS::Route53::CidrCollection.Location": { - "additionalProperties": false, - "properties": { - "CidrList": { - "items": { - "type": "string" - }, - "markdownDescription": "List of CIDR blocks.", - "title": "CidrList", - "type": "array" - }, - "LocationName": { - "markdownDescription": "The CIDR collection location name.", - "title": "LocationName", - "type": "string" - } - }, - "required": [ - "CidrList", - "LocationName" - ], - "type": "object" - }, - "AWS::Route53::DNSSEC": { + "AWS::RDS::DBSubnetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -336587,20 +303528,42 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneId": { - "markdownDescription": "A unique string (ID) that is used to identify a hosted zone. For example: `Z00001111A1ABCaaABC11` .", - "title": "HostedZoneId", + "DBSubnetGroupDescription": { + "markdownDescription": "The description for the DB subnet group.", + "title": "DBSubnetGroupDescription", + "type": "string" + }, + "DBSubnetGroupName": { + "markdownDescription": "The name for the DB subnet group. This value is stored as a lowercase string.\n\nConstraints:\n\n- Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens.\n- Must not be default.\n- First character must be a letter.\n\nExample: `mydbsubnetgroup`", + "title": "DBSubnetGroupName", "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The EC2 Subnet IDs for the DB subnet group.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the DB subnet group.", + "title": "Tags", + "type": "array" } }, "required": [ - "HostedZoneId" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::DNSSEC" + "AWS::RDS::DBSubnetGroup" ], "type": "string" }, @@ -336619,7 +303582,7 @@ ], "type": "object" }, - "AWS::Route53::HealthCheck": { + "AWS::RDS::EventSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -336654,28 +303617,59 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckConfig", - "markdownDescription": "A complex type that contains detailed information about one health check.\n\nFor the values to enter for `HealthCheckConfig` , see [HealthCheckConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html)", - "title": "HealthCheckConfig" + "Enabled": { + "markdownDescription": "Specifies whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.", + "title": "Enabled", + "type": "boolean" }, - "HealthCheckTags": { + "EventCategories": { "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + "type": "string" }, - "markdownDescription": "The `HealthCheckTags` property describes key-value pairs that are associated with an `AWS::Route53::HealthCheck` resource.", - "title": "HealthCheckTags", + "markdownDescription": "A list of event categories for a particular source type ( `SourceType` ) that you want to subscribe to. You can see a list of the categories for a given source type in the \"Amazon RDS event categories and event messages\" section of the [*Amazon RDS User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) or the [*Amazon Aurora User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) . You can also see this list by using the `DescribeEventCategories` operation.", + "title": "EventCategories", + "type": "array" + }, + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. SNS automatically creates the ARN when you create a topic and subscribe to it.\n\n> RDS doesn't support FIFO (first in, first out) topics. For more information, see [Message ordering and deduplication (FIFO topics)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html) in the *Amazon Simple Notification Service Developer Guide* .", + "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 supplied, `SourceType` must also be provided.\n- If the source type is a DB instance, a `DBInstanceIdentifier` value must be supplied.\n- If the source type is a DB cluster, a `DBClusterIdentifier` value must be supplied.\n- If the source type is a DB parameter group, a `DBParameterGroupName` value must be supplied.\n- If the source type is a DB security group, a `DBSecurityGroupName` value must be supplied.\n- If the source type is a DB snapshot, a `DBSnapshotIdentifier` value must be supplied.\n- If the source type is a DB cluster snapshot, a `DBClusterSnapshotIdentifier` value must be supplied.\n- If the source type is an RDS Proxy, a `DBProxyName` value must be supplied.", + "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 a DB instance, you set this parameter to `db-instance` . For RDS Proxy events, specify `db-proxy` . If this value isn't specified, all events are returned.\n\nValid Values: `db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy | zero-etl | custom-engine-version | blue-green-deployment`", + "title": "SourceType", + "type": "string" + }, + "SubscriptionName": { + "markdownDescription": "The name of the subscription.\n\nConstraints: The name must be less than 255 characters.", + "title": "SubscriptionName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional array of key-value pairs to apply to this subscription.", + "title": "Tags", "type": "array" } }, "required": [ - "HealthCheckConfig" + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HealthCheck" + "AWS::RDS::EventSubscription" ], "type": "string" }, @@ -336694,147 +303688,7 @@ ], "type": "object" }, - "AWS::Route53::HealthCheck.AlarmIdentifier": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.\n\n> Route 53 supports CloudWatch alarms with the following features:\n> \n> - Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see [High-Resolution Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) in the *Amazon CloudWatch User Guide* .\n> - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.", - "title": "Name", - "type": "string" - }, - "Region": { - "markdownDescription": "For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, the region that the alarm was created in.\n\nFor the current list of CloudWatch regions, see [Amazon CloudWatch endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/cw_region.html) in the *Amazon Web Services General Reference* .", - "title": "Region", - "type": "string" - } - }, - "required": [ - "Name", - "Region" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "AlarmIdentifier": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.AlarmIdentifier", - "markdownDescription": "A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.", - "title": "AlarmIdentifier" - }, - "ChildHealthChecks": { - "items": { - "type": "string" - }, - "markdownDescription": "(CALCULATED Health Checks Only) A complex type that contains one `ChildHealthCheck` element for each health check that you want to associate with a `CALCULATED` health check.", - "title": "ChildHealthChecks", - "type": "array" - }, - "EnableSNI": { - "markdownDescription": "Specify whether you want Amazon Route 53 to send the value of `FullyQualifiedDomainName` to the endpoint in the `client_hello` message during TLS negotiation. This allows the endpoint to respond to `HTTPS` health check requests with the applicable SSL/TLS certificate.\n\nSome endpoints require that `HTTPS` requests include the host name in the `client_hello` message. If you don't enable SNI, the status of the health check will be `SSL alert handshake_failure` . A health check can also have that status for other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.\n\nThe SSL/TLS certificate on your endpoint includes a domain name in the `Common Name` field and possibly several more in the `Subject Alternative Names` field. One of the domain names in the certificate should match the value that you specify for `FullyQualifiedDomainName` . If the endpoint responds to the `client_hello` message with a certificate that does not include the domain name that you specified in `FullyQualifiedDomainName` , a health checker will retry the handshake. In the second attempt, the health checker will omit `FullyQualifiedDomainName` from the `client_hello` message.", - "title": "EnableSNI", - "type": "boolean" - }, - "FailureThreshold": { - "markdownDescription": "The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .\n\n`FailureThreshold` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\nOtherwise, if you don't specify a value for `FailureThreshold` , the default value is three health checks.", - "title": "FailureThreshold", - "type": "number" - }, - "FullyQualifiedDomainName": { - "markdownDescription": "Amazon Route 53 behavior depends on whether you specify a value for `IPAddress` .\n\n*If you specify a value for* `IPAddress` :\n\nAmazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of `FullyQualifiedDomainName` in the `Host` header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks.\n\nWhen Route 53 checks the health of an endpoint, here is how it constructs the `Host` header:\n\n- If you specify a value of `80` for `Port` and `HTTP` or `HTTP_STR_MATCH` for `Type` , Route 53 passes the value of `FullyQualifiedDomainName` to the endpoint in the Host header.\n- If you specify a value of `443` for `Port` and `HTTPS` or `HTTPS_STR_MATCH` for `Type` , Route 53 passes the value of `FullyQualifiedDomainName` to the endpoint in the `Host` header.\n- If you specify another value for `Port` and any value except `TCP` for `Type` , Route 53 passes `FullyQualifiedDomainName:Port` to the endpoint in the `Host` header.\n\nIf you don't specify a value for `FullyQualifiedDomainName` , Route 53 substitutes the value of `IPAddress` in the `Host` header in each of the preceding cases.\n\n*If you don't specify a value for `IPAddress`* :\n\nRoute 53 sends a DNS request to the domain that you specify for `FullyQualifiedDomainName` at the interval that you specify for `RequestInterval` . Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.\n\n> If you don't specify a value for `IPAddress` , Route 53 uses only IPv4 to send health checks to the endpoint. If there's no record with a type of A for the name that you specify for `FullyQualifiedDomainName` , the health check fails with a \"DNS resolution failed\" error. \n\nIf you want to check the health of multiple records that have the same name and type, such as multiple weighted records, and if you choose to specify the endpoint only by `FullyQualifiedDomainName` , we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as us-east-2-www.example.com), not the name of the records (www.example.com).\n\n> In this configuration, if you create a health check for which the value of `FullyQualifiedDomainName` matches the name of the records and you then associate the health check with those records, health check results will be unpredictable. \n\nIn addition, if the value that you specify for `Type` is `HTTP` , `HTTPS` , `HTTP_STR_MATCH` , or `HTTPS_STR_MATCH` , Route 53 passes the value of `FullyQualifiedDomainName` in the `Host` header, as it does when you specify a value for `IPAddress` . If the value of `Type` is `TCP` , Route 53 doesn't pass a `Host` header.", - "title": "FullyQualifiedDomainName", - "type": "string" - }, - "HealthThreshold": { - "markdownDescription": "The number of child health checks that are associated with a `CALCULATED` health check that Amazon Route 53 must consider healthy for the `CALCULATED` health check to be considered healthy. To specify the child health checks that you want to associate with a `CALCULATED` health check, use the [ChildHealthChecks](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-ChildHealthChecks) element.\n\nNote the following:\n\n- If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.\n- If you specify `0` , Route 53 always considers this health check to be healthy.", - "title": "HealthThreshold", - "type": "number" - }, - "IPAddress": { - "markdownDescription": "The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for `IPAddress` , Route 53 sends a DNS request to resolve the domain name that you specify in `FullyQualifiedDomainName` at the interval that you specify in `RequestInterval` . Using an IP address returned by DNS, Route 53 then checks the health of the endpoint.\n\nUse one of the following formats for the value of `IPAddress` :\n\n- *IPv4 address* : four values between 0 and 255, separated by periods (.), for example, `192.0.2.44` .\n- *IPv6 address* : eight groups of four hexadecimal values, separated by colons (:), for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345` . You can also shorten IPv6 addresses as described in RFC 5952, for example, `2001:db8:85a3::abcd:1:2345` .\n\nIf the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for `IPAddress` . This ensures that the IP address of your instance will never change.\n\nFor more information, see [FullyQualifiedDomainName](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName) .\n\nConstraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:\n\n- [RFC 5735, Special Use IPv4 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5735)\n- [RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6598)\n- [RFC 5156, Special-Use IPv6 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5156)\n\nWhen the value of `Type` is `CALCULATED` or `CLOUDWATCH_METRIC` , omit `IPAddress` .", - "title": "IPAddress", - "type": "string" - }, - "InsufficientDataHealthStatus": { - "markdownDescription": "When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:\n\n- `Healthy` : Route 53 considers the health check to be healthy.\n- `Unhealthy` : Route 53 considers the health check to be unhealthy.\n- `LastKnownStatus` : Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.", - "title": "InsufficientDataHealthStatus", - "type": "string" - }, - "Inverted": { - "markdownDescription": "Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.", - "title": "Inverted", - "type": "boolean" - }, - "MeasureLatency": { - "markdownDescription": "Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the *Health Checks* page in the Route 53 console.\n\n`MeasureLatency` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\n> You can't change the value of `MeasureLatency` after you create a health check.", - "title": "MeasureLatency", - "type": "boolean" - }, - "Port": { - "markdownDescription": "The port on the endpoint that you want Amazon Route 53 to perform health checks on.\n\n> Don't specify a value for `Port` when you specify a value for [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type) of `CLOUDWATCH_METRIC` or `CALCULATED` .", - "title": "Port", - "type": "number" - }, - "Regions": { - "items": { - "type": "string" - }, - "markdownDescription": "A complex type that contains one `Region` element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.\n\nIf you don't specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under *Valid Values* .\n\nIf you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with four different regions).", - "title": "Regions", - "type": "array" - }, - "RequestInterval": { - "markdownDescription": "The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Route 53 health checker makes requests at this interval.\n\n`RequestInterval` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\n> You can't change the value of `RequestInterval` after you create a health check. \n\nIf you don't specify a value for `RequestInterval` , the default value is `30` seconds.", - "title": "RequestInterval", - "type": "number" - }, - "ResourcePath": { - "markdownDescription": "The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. You can also include query string parameters, for example, `/welcome.html?language=jp&login=y` .", - "title": "ResourcePath", - "type": "string" - }, - "RoutingControlArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control.\n\nFor more information about Route 53 Application Recovery Controller, see [Route 53 Application Recovery Controller Developer Guide.](https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route-53-recovery.html) .", - "title": "RoutingControlArn", - "type": "string" - }, - "SearchString": { - "markdownDescription": "If the value of Type is `HTTP_STR_MATCH` or `HTTPS_STR_MATCH` , the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy.\n\nRoute 53 considers case when searching for `SearchString` in the response body.", - "title": "SearchString", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.\n\n> You can't change the value of `Type` after you create a health check. \n\nYou can create the following types of health checks:\n\n- *HTTP* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.\n- *HTTPS* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.\n\n> If you specify `HTTPS` for the value of `Type` , the endpoint must support TLS v1.0 or later.\n- *HTTP_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in `SearchString` .\n- *HTTPS_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an `HTTPS` request and searches the first 5,120 bytes of the response body for the string that you specify in `SearchString` .\n- *TCP* : Route 53 tries to establish a TCP connection.\n- *CLOUDWATCH_METRIC* : The health check is associated with a CloudWatch alarm. If the state of the alarm is `OK` , the health check is considered healthy. If the state is `ALARM` , the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is `OK` or `ALARM` , the health check status depends on the setting for `InsufficientDataHealthStatus` : `Healthy` , `Unhealthy` , or `LastKnownStatus` .\n\n> Route 53 supports CloudWatch alarms with the following features:\n> \n> - Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see [High-Resolution Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) in the *Amazon CloudWatch User Guide* .\n> - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.\n- *CALCULATED* : For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of `HealthThreshold` .\n- *RECOVERY_CONTROL* : The health check is assocated with a Route53 Application Recovery Controller routing control. If the routing control state is `ON` , the health check is considered healthy. If the state is `OFF` , the health check is considered unhealthy.\n\nFor more information, see [How Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck.HealthCheckTag": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The value of `Key` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Key` is the name that you want to give the new tag.\n- *Edit a tag* : `Key` is the name of the tag that you want to change the `Value` for.\n- *Delete a key* : `Key` is the name of the tag you want to remove.\n- *Give a name to a health check* : Edit the default `Name` tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of `Value` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Value` is the value that you want to give the new tag.\n- *Edit a tag* : `Value` is the new value that you want to assign the tag.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone": { + "AWS::RDS::GlobalCluster": { "additionalProperties": false, "properties": { "Condition": { @@ -336869,40 +303723,47 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig", - "markdownDescription": "A complex type that contains an optional comment.\n\nIf you don't want to specify a comment, omit the `HostedZoneConfig` and `Comment` elements.", - "title": "HostedZoneConfig" + "DeletionProtection": { + "markdownDescription": "Specifies whether to enable deletion protection for the new global database cluster. The global database can't be deleted when deletion protection is enabled.", + "title": "DeletionProtection", + "type": "boolean" }, - "HostedZoneFeatures": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneFeatures", - "markdownDescription": "The features configuration for the hosted zone, including accelerated recovery settings and status information.", - "title": "HostedZoneFeatures" + "Engine": { + "markdownDescription": "The database engine to use for this global database cluster.\n\nValid Values: `aurora-mysql | aurora-postgresql`\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine of the source DB cluster.", + "title": "Engine", + "type": "string" }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "markdownDescription": "Adds, edits, or deletes tags for a health check or a hosted zone.\n\nFor information about using tags for cost allocation, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the *Billing and Cost Management User Guide* .", - "title": "HostedZoneTags", - "type": "array" + "EngineLifecycleSupport": { + "markdownDescription": "The life cycle type for this global database cluster.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your global cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the global cluster will fail if the DB major version is past its end of standard support date. \n\nThis setting only applies to Aurora PostgreSQL-based global databases.\n\nYou can use this setting to enroll your global cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your global cluster past the end of standard support for that engine version. For more information, see [Amazon RDS Extended Support with Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* .\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", + "title": "EngineLifecycleSupport", + "type": "string" }, - "Name": { - "markdownDescription": "The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical.\n\nIf you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of `NameServers` that are returned by the `Fn::GetAtt` intrinsic function.", - "title": "Name", + "EngineVersion": { + "markdownDescription": "The engine version to use for this global database cluster.\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine version of the source DB cluster.", + "title": "EngineVersion", "type": "string" }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig", - "markdownDescription": "Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.\n\nDNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:\n\n- Route 53 edge location that responded to the DNS query\n- Domain or subdomain that was requested\n- DNS record type, such as A or AAAA\n- DNS response code, such as `NoError` or `ServFail`\n\n- **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations.\n\n> If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. \n\n- Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:\n\n- You must create the log group in the us-east-1 region.\n- You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for.\n- When you create log groups for query logging, we recommend that you use a consistent prefix, for example:\n\n`/aws/route53/ *hosted zone name*`\n\nIn the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.\n- Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of `Resource` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with `*` , for example:\n\n`arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`\n\nTo avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values:\n\n- For `aws:SourceArn` , supply the hosted zone ARN used in creating the query logging configuration. For example, `aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID` .\n- For `aws:SourceAccount` , supply the account ID for the account that creates the query logging configuration. For example, `aws:SourceAccount:111111111111` .\n\nFor more information, see [The confused deputy problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) in the *AWS IAM User Guide* .\n\n> You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI .\n- **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following:\n\n- Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location.\n- Begins to send query logs to the applicable log stream.\n\nThe name of each log stream is in the following format:\n\n`*hosted zone ID* / *edge location code*`\n\nThe edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the [Route 53 Product Details](https://docs.aws.amazon.com/route53/details/) page.\n- **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see [Routing Internet Traffic to Your Website or Web Application](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html) in the *Amazon Route 53 Developer Guide* .\n- **Log File Format** - For a list of the values in each query log and the format of each value, see [Logging DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) in the *Amazon Route 53 Developer Guide* .\n- **Pricing** - For information about charges for query logs, see [Amazon CloudWatch Pricing](https://docs.aws.amazon.com/cloudwatch/pricing/) .\n- **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see [DeleteQueryLoggingConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html) .", - "title": "QueryLoggingConfig" + "GlobalClusterIdentifier": { + "markdownDescription": "The cluster identifier for this global database cluster. This parameter is stored as a lowercase string.", + "title": "GlobalClusterIdentifier", + "type": "string" }, - "VPCs": { + "SourceDBClusterIdentifier": { + "markdownDescription": "The Amazon Resource Name (ARN) to use as the primary cluster of the global database.\n\nIf you provide a value for this parameter, don't specify values for the following settings because Amazon Aurora uses the values from the specified source DB cluster:\n\n- `DatabaseName`\n- `Engine`\n- `EngineVersion`\n- `StorageEncrypted`", + "title": "SourceDBClusterIdentifier", + "type": "string" + }, + "StorageEncrypted": { + "markdownDescription": "Specifies whether to enable storage encryption for the new global database cluster.\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the setting from the source DB cluster.", + "title": "StorageEncrypted", + "type": "boolean" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "*Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", - "title": "VPCs", + "markdownDescription": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .", + "title": "Tags", "type": "array" } }, @@ -336910,7 +303771,7 @@ }, "Type": { "enum": [ - "AWS::Route53::HostedZone" + "AWS::RDS::GlobalCluster" ], "type": "string" }, @@ -336928,83 +303789,18 @@ ], "type": "object" }, - "AWS::Route53::HostedZone.HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "markdownDescription": "Any comments that you want to include about the hosted zone.", - "title": "Comment", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneFeatures": { - "additionalProperties": false, - "properties": { - "EnableAcceleratedRecovery": { - "markdownDescription": "", - "title": "EnableAcceleratedRecovery", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The value of `Key` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Key` is the name that you want to give the new tag.\n- *Edit a tag* : `Key` is the name of the tag that you want to change the `Value` for.\n- *Delete a key* : `Key` is the name of the tag you want to remove.\n- *Give a name to a health check* : Edit the default `Name` tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of `Value` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Value` is the value that you want to give the new tag.\n- *Edit a tag* : `Value` is the new value that you want to assign the tag.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.", - "title": "CloudWatchLogsLogGroupArn", - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.VPC": { + "AWS::RDS::GlobalCluster.GlobalEndpoint": { "additionalProperties": false, "properties": { - "VPCId": { - "markdownDescription": "*Private hosted zones only:* The ID of an Amazon VPC.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", - "title": "VPCId", - "type": "string" - }, - "VPCRegion": { - "markdownDescription": "*Private hosted zones only:* The region that an Amazon VPC was created in.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", - "title": "VPCRegion", - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], + "Address": { + "markdownDescription": "The writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.", + "title": "Address", + "type": "string" + } + }, "type": "object" }, - "AWS::Route53::KeySigningKey": { + "AWS::RDS::Integration": { "additionalProperties": false, "properties": { "Condition": { @@ -337039,38 +303835,65 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneId": { - "markdownDescription": "The unique string (ID) that is used to identify a hosted zone. For example: `Z00001111A1ABCaaABC11` .", - "title": "HostedZoneId", + "AdditionalEncryptionContext": { + "additionalProperties": true, + "markdownDescription": "An optional set of non-secret key\u2013value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* .\n\nYou can only include this parameter if you specify the `KMSKeyId` parameter.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "AdditionalEncryptionContext", + "type": "object" + }, + "DataFilter": { + "markdownDescription": "Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.", + "title": "DataFilter", "type": "string" }, - "KeyManagementServiceArn": { - "markdownDescription": "The Amazon resource name (ARN) for a customer managed customer master key (CMK) in AWS Key Management Service ( AWS ). The `KeyManagementServiceArn` must be unique for each key-signing key (KSK) in a single hosted zone. For example: `arn:aws:kms:us-east-1:111122223333:key/111a2222-a11b-1ab1-2ab2-1ab21a2b3a111` .", - "title": "KeyManagementServiceArn", + "Description": { + "markdownDescription": "A description of the integration.", + "title": "Description", "type": "string" }, - "Name": { - "markdownDescription": "A string used to identify a key-signing key (KSK). `Name` can include numbers, letters, and underscores (_). `Name` must be unique for each key-signing key in the same hosted zone.", - "title": "Name", + "IntegrationName": { + "markdownDescription": "The name of the integration.", + "title": "IntegrationName", "type": "string" }, - "Status": { - "markdownDescription": "A string that represents the current key-signing key (KSK) status.\n\nStatus can have one of the following values:\n\n- **ACTIVE** - The KSK is being used for signing.\n- **INACTIVE** - The KSK is not being used for signing.\n- **DELETING** - The KSK is in the process of being deleted.\n- **ACTION_NEEDED** - There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed key might have been deleted, or the permissions for the customer managed key might have been changed.\n- **INTERNAL_FAILURE** - There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.", - "title": "Status", + "KMSKeyId": { + "markdownDescription": "The AWS Key Management System ( AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key.", + "title": "KMSKeyId", + "type": "string" + }, + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the database to use as the source for replication.", + "title": "SourceArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional array of key-value pairs to apply to this integration.", + "title": "Tags", + "type": "array" + }, + "TargetArn": { + "markdownDescription": "The ARN of the Redshift data warehouse to use as the target for replication.", + "title": "TargetArn", "type": "string" } }, "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" + "SourceArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::KeySigningKey" + "AWS::RDS::Integration" ], "type": "string" }, @@ -337089,7 +303912,7 @@ ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::RDS::OptionGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -337124,99 +303947,53 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget", - "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", - "title": "AliasTarget" - }, - "CidrRoutingConfig": { - "$ref": "#/definitions/AWS::Route53::RecordSet.CidrRoutingConfig", - "markdownDescription": "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.\n\nA `LocationName` with an asterisk \u201c*\u201d can be used to create a default CIDR record. `CollectionId` is still required for default record.", - "title": "CidrRoutingConfig" - }, - "Comment": { - "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", - "title": "Comment", - "type": "string" - }, - "Failover": { - "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", - "title": "Failover", - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation", - "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", - "title": "GeoLocation" - }, - "HealthCheckId": { - "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", - "title": "HealthCheckId", - "type": "string" - }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneId", - "type": "string" - }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an AWS::Route53::RecordSet that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", - "type": "string" - }, - "MultiValueAnswer": { - "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", - "title": "MultiValueAnswer", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", - "title": "Name", + "EngineName": { + "markdownDescription": "Specifies the name of the engine that this option group should be associated with.\n\nValid Values:\n\n- `mariadb`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", + "title": "EngineName", "type": "string" }, - "Region": { - "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", - "title": "Region", + "MajorEngineVersion": { + "markdownDescription": "Specifies the major version of the engine that this option group should be associated with.", + "title": "MajorEngineVersion", "type": "string" }, - "ResourceRecords": { + "OptionConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" }, - "markdownDescription": "One or more values that correspond with the value that you specified for the `Type` property. For example, if you specified `A` for `Type` , you specify one or more IP addresses in IPv4 format for `ResourceRecords` . For information about the format of values for each record type, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nNote the following:\n\n- You can specify more than one value for all record types except CNAME and SOA.\n- The maximum length of a value is 4000 characters.\n- If you're creating an alias record, omit `ResourceRecords` .", - "title": "ResourceRecords", + "markdownDescription": "A list of all available options for an option group.", + "title": "OptionConfigurations", "type": "array" }, - "SetIdentifier": { - "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", - "title": "SetIdentifier", - "type": "string" - }, - "TTL": { - "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", - "title": "TTL", + "OptionGroupDescription": { + "markdownDescription": "The description of the option group.", + "title": "OptionGroupDescription", "type": "string" }, - "Type": { - "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "Type", + "OptionGroupName": { + "markdownDescription": "The name of the option group to be created.\n\nConstraints:\n\n- Must be 1 to 255 letters, numbers, or hyphens\n- First character must be a letter\n- Can't end with a hyphen or contain two consecutive hyphens\n\nExample: `myoptiongroup`\n\nIf you don't specify a value for `OptionGroupName` property, a name is automatically created for the option group.\n\n> This value is stored as a lowercase string.", + "title": "OptionGroupName", "type": "string" }, - "Weight": { - "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", - "title": "Weight", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the option group.", + "title": "Tags", + "type": "array" } }, "required": [ - "Name", - "Type" + "EngineName", + "MajorEngineVersion", + "OptionGroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::RDS::OptionGroup" ], "type": "string" }, @@ -337235,73 +304012,71 @@ ], "type": "object" }, - "AWS::Route53::RecordSet.AliasTarget": { + "AWS::RDS::OptionGroup.OptionConfiguration": { "additionalProperties": false, "properties": { - "DNSName": { - "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "DNSName", + "DBSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of DB security groups used for this option.", + "title": "DBSecurityGroupMemberships", + "type": "array" + }, + "OptionName": { + "markdownDescription": "The configuration of options to include in a group.", + "title": "OptionName", "type": "string" }, - "EvaluateTargetHealth": { - "markdownDescription": "*Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets:* When `EvaluateTargetHealth` is `true` , an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **API Gateway APIs** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an API Gateway API. However, because API Gateway is highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket. However, because S3 buckets are highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **VPC interface endpoints** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is a VPC interface endpoint. However, because VPC interface endpoints are highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\n> While `EvaluateTargetHealth` can be set to `true` for highly available AWS services (such as S3 buckets, VPC interface endpoints, and API Gateway), these services are designed for high availability and rarely experience outages that would be detected by this feature. For failover scenarios with these services, consider using [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) that monitor your application's ability to access the service instead. \n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", - "title": "EvaluateTargetHealth", - "type": "boolean" + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" + }, + "markdownDescription": "The option settings to include in an option group.", + "title": "OptionSettings", + "type": "array" }, - "HostedZoneId": { - "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing Endpoints and Quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", - "title": "HostedZoneId", - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.CidrRoutingConfig": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "markdownDescription": "The CIDR collection ID.", - "title": "CollectionId", + "OptionVersion": { + "markdownDescription": "The version for the option.", + "title": "OptionVersion", "type": "string" }, - "LocationName": { - "markdownDescription": "The CIDR collection location name.", - "title": "LocationName", - "type": "string" + "Port": { + "markdownDescription": "The optional port for the option.", + "title": "Port", + "type": "number" + }, + "VpcSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of VPC security group names used for this option.", + "title": "VpcSecurityGroupMemberships", + "type": "array" } }, "required": [ - "CollectionId", - "LocationName" + "OptionName" ], "type": "object" }, - "AWS::Route53::RecordSet.GeoLocation": { + "AWS::RDS::OptionGroup.OptionSetting": { "additionalProperties": false, "properties": { - "ContinentCode": { - "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", - "title": "ContinentCode", - "type": "string" - }, - "CountryCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", - "title": "CountryCode", + "Name": { + "markdownDescription": "The name of the option that has settings that you can set.", + "title": "Name", "type": "string" }, - "SubdivisionCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", - "title": "SubdivisionCode", + "Value": { + "markdownDescription": "The current value of the option setting.", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::Route53::RecordSetGroup": { + "AWS::RTBFabric::InboundExternalLink": { "additionalProperties": false, "properties": { "Condition": { @@ -337336,35 +304111,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", - "title": "Comment", + "GatewayId": { + "markdownDescription": "", + "title": "GatewayId", "type": "string" }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneId", - "type": "string" + "LinkAttributes": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkAttributes", + "markdownDescription": "", + "title": "LinkAttributes" }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", - "type": "string" + "LinkLogSettings": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkLogSettings", + "markdownDescription": "", + "title": "LinkLogSettings" }, - "RecordSets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A complex type that contains one `RecordSet` element for each record that you want to create.", - "title": "RecordSets", + "markdownDescription": "", + "title": "Tags", "type": "array" } }, + "required": [ + "GatewayId", + "LinkLogSettings" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::RTBFabric::InboundExternalLink" ], "type": "string" }, @@ -337378,216 +304157,113 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "DNSName", - "type": "string" - }, - "EvaluateTargetHealth": { - "markdownDescription": "*Applies only to alias records with any routing policy:* When `EvaluateTargetHealth` is `true` , an alias record inherits the health of the referenced AWS resource, such as an ELB load balancer or another record in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", - "title": "EvaluateTargetHealth", - "type": "boolean" - }, - "HostedZoneId": { - "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing endpoints and quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", - "title": "HostedZoneId", - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.CidrRoutingConfig": { + "AWS::RTBFabric::InboundExternalLink.ApplicationLogs": { "additionalProperties": false, "properties": { - "CollectionId": { - "markdownDescription": "The CIDR collection ID.", - "title": "CollectionId", - "type": "string" - }, - "LocationName": { - "markdownDescription": "The CIDR collection location name.", - "title": "LocationName", - "type": "string" + "LinkApplicationLogSampling": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkApplicationLogSampling", + "markdownDescription": "", + "title": "LinkApplicationLogSampling" } }, "required": [ - "CollectionId", - "LocationName" + "LinkApplicationLogSampling" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.Coordinates": { + "AWS::RTBFabric::InboundExternalLink.LinkApplicationLogSampling": { "additionalProperties": false, "properties": { - "Latitude": { - "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", - "title": "Latitude", - "type": "string" + "ErrorLog": { + "markdownDescription": "", + "title": "ErrorLog", + "type": "number" }, - "Longitude": { - "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", - "title": "Longitude", - "type": "string" + "FilterLog": { + "markdownDescription": "", + "title": "FilterLog", + "type": "number" } }, "required": [ - "Latitude", - "Longitude" + "ErrorLog", + "FilterLog" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::RTBFabric::InboundExternalLink.LinkAttributes": { "additionalProperties": false, "properties": { - "ContinentCode": { - "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", - "title": "ContinentCode", - "type": "string" - }, - "CountryCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", - "title": "CountryCode", + "CustomerProvidedId": { + "markdownDescription": "", + "title": "CustomerProvidedId", "type": "string" }, - "SubdivisionCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", - "title": "SubdivisionCode", - "type": "string" + "ResponderErrorMasking": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.ResponderErrorMaskingForHttpCode" + }, + "markdownDescription": "", + "title": "ResponderErrorMasking", + "type": "array" } }, "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoProximityLocation": { + "AWS::RTBFabric::InboundExternalLink.LinkLogSettings": { "additionalProperties": false, "properties": { - "AWSRegion": { - "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", - "title": "AWSRegion", - "type": "string" - }, - "Bias": { - "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", - "title": "Bias", - "type": "number" - }, - "Coordinates": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.Coordinates", - "markdownDescription": "Contains the longitude and latitude for a geographic region.", - "title": "Coordinates" - }, - "LocalZoneGroup": { - "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", - "title": "LocalZoneGroup", - "type": "string" + "ApplicationLogs": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.ApplicationLogs", + "markdownDescription": "", + "title": "ApplicationLogs" } }, + "required": [ + "ApplicationLogs" + ], "type": "object" }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::RTBFabric::InboundExternalLink.ResponderErrorMaskingForHttpCode": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget", - "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", - "title": "AliasTarget" - }, - "CidrRoutingConfig": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.CidrRoutingConfig", + "Action": { "markdownDescription": "", - "title": "CidrRoutingConfig" - }, - "Failover": { - "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", - "title": "Failover", - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation", - "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", - "title": "GeoLocation" - }, - "GeoProximityLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoProximityLocation", - "markdownDescription": "A complex type that contains information about a geographic location.", - "title": "GeoProximityLocation" - }, - "HealthCheckId": { - "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", - "title": "HealthCheckId", - "type": "string" - }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .\n\nDo not provide the `HostedZoneId` if it is already defined in `AWS::Route53::RecordSetGroup` . The creation fails if `HostedZoneId` is defined in both.", - "title": "HostedZoneId", - "type": "string" - }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", - "type": "string" - }, - "MultiValueAnswer": { - "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", - "title": "MultiValueAnswer", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", - "title": "Name", + "title": "Action", "type": "string" }, - "Region": { - "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", - "title": "Region", + "HttpCode": { + "markdownDescription": "", + "title": "HttpCode", "type": "string" }, - "ResourceRecords": { + "LoggingTypes": { "items": { "type": "string" }, - "markdownDescription": "Information about the records that you want to create. Each record should be in the format appropriate for the record type specified by the `Type` property. For information about different record types and their record formats, see [Values That You Specify When You Create or Edit Amazon Route 53 Records](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html) in the *Amazon Route 53 Developer Guide* .", - "title": "ResourceRecords", + "markdownDescription": "", + "title": "LoggingTypes", "type": "array" }, - "SetIdentifier": { - "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", - "title": "SetIdentifier", - "type": "string" - }, - "TTL": { - "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", - "title": "TTL", - "type": "string" - }, - "Type": { - "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "Type", - "type": "string" - }, - "Weight": { - "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", - "title": "Weight", + "ResponseLoggingPercentage": { + "markdownDescription": "", + "title": "ResponseLoggingPercentage", "type": "number" } }, "required": [ - "Name", - "Type" + "Action", + "HttpCode", + "LoggingTypes" ], "type": "object" }, - "AWS::Route53GlobalResolver::AccessSource": { + "AWS::RTBFabric::Link": { "additionalProperties": false, "properties": { "Condition": { @@ -337622,41 +304298,58 @@ "Properties": { "additionalProperties": false, "properties": { - "Cidr": { + "GatewayId": { + "markdownDescription": "The unique identifier of the gateway.", + "title": "GatewayId", "type": "string" }, - "ClientToken": { - "type": "string" + "HttpResponderAllowed": { + "markdownDescription": "Boolean to specify if an HTTP responder is allowed.", + "title": "HttpResponderAllowed", + "type": "boolean" }, - "DnsViewId": { - "type": "string" + "LinkAttributes": { + "$ref": "#/definitions/AWS::RTBFabric::Link.LinkAttributes", + "markdownDescription": "Attributes of the link.", + "title": "LinkAttributes" }, - "IpAddressType": { - "type": "string" + "LinkLogSettings": { + "$ref": "#/definitions/AWS::RTBFabric::Link.LinkLogSettings", + "markdownDescription": "Settings for the application logs.", + "title": "LinkLogSettings" }, - "Name": { - "type": "string" + "ModuleConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::Link.ModuleConfiguration" + }, + "markdownDescription": "", + "title": "ModuleConfigurationList", + "type": "array" }, - "Protocol": { + "PeerGatewayId": { + "markdownDescription": "The unique identifier of the peer gateway.", + "title": "PeerGatewayId", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", + "title": "Tags", "type": "array" } }, "required": [ - "Cidr", - "DnsViewId", - "Protocol" + "GatewayId", + "LinkLogSettings", + "PeerGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::AccessSource" + "AWS::RTBFabric::Link" ], "type": "string" }, @@ -337675,7 +304368,299 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::AccessToken": { + "AWS::RTBFabric::Link.Action": { + "additionalProperties": false, + "properties": { + "HeaderTag": { + "$ref": "#/definitions/AWS::RTBFabric::Link.HeaderTagAction", + "markdownDescription": "Describes the header tag for a bid action.", + "title": "HeaderTag" + }, + "NoBid": { + "$ref": "#/definitions/AWS::RTBFabric::Link.NoBidAction", + "markdownDescription": "Describes the parameters of a no bid module.", + "title": "NoBid" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.ApplicationLogs": { + "additionalProperties": false, + "properties": { + "LinkApplicationLogSampling": { + "$ref": "#/definitions/AWS::RTBFabric::Link.LinkApplicationLogSampling", + "markdownDescription": "Describes a link application log sample.", + "title": "LinkApplicationLogSampling" + } + }, + "required": [ + "LinkApplicationLogSampling" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.Filter": { + "additionalProperties": false, + "properties": { + "Criteria": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::Link.FilterCriterion" + }, + "markdownDescription": "Describes the criteria for a filter.", + "title": "Criteria", + "type": "array" + } + }, + "required": [ + "Criteria" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.FilterCriterion": { + "additionalProperties": false, + "properties": { + "Path": { + "markdownDescription": "The path to filter.", + "title": "Path", + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value to filter.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "Path", + "Values" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.HeaderTagAction": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the bid action.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the bid action.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.LinkApplicationLogSampling": { + "additionalProperties": false, + "properties": { + "ErrorLog": { + "markdownDescription": "An error log entry.", + "title": "ErrorLog", + "type": "number" + }, + "FilterLog": { + "markdownDescription": "A filter log entry.", + "title": "FilterLog", + "type": "number" + } + }, + "required": [ + "ErrorLog", + "FilterLog" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.LinkAttributes": { + "additionalProperties": false, + "properties": { + "CustomerProvidedId": { + "markdownDescription": "The customer-provided unique identifier of the link.", + "title": "CustomerProvidedId", + "type": "string" + }, + "ResponderErrorMasking": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::Link.ResponderErrorMaskingForHttpCode" + }, + "markdownDescription": "Describes the masking for HTTP error codes.", + "title": "ResponderErrorMasking", + "type": "array" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.LinkLogSettings": { + "additionalProperties": false, + "properties": { + "ApplicationLogs": { + "$ref": "#/definitions/AWS::RTBFabric::Link.ApplicationLogs", + "markdownDescription": "Describes the configuration of a link application log.", + "title": "ApplicationLogs" + } + }, + "required": [ + "ApplicationLogs" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.ModuleConfiguration": { + "additionalProperties": false, + "properties": { + "DependsOn": { + "items": { + "type": "string" + }, + "markdownDescription": "The dependencies of the module.", + "title": "DependsOn", + "type": "array" + }, + "ModuleParameters": { + "$ref": "#/definitions/AWS::RTBFabric::Link.ModuleParameters", + "markdownDescription": "Describes the parameters of a module.", + "title": "ModuleParameters" + }, + "Name": { + "markdownDescription": "The name of the module.", + "title": "Name", + "type": "string" + }, + "Version": { + "markdownDescription": "The version of the module.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.ModuleParameters": { + "additionalProperties": false, + "properties": { + "NoBid": { + "$ref": "#/definitions/AWS::RTBFabric::Link.NoBidModuleParameters", + "markdownDescription": "Describes the parameters of a no bid module.", + "title": "NoBid" + }, + "OpenRtbAttribute": { + "$ref": "#/definitions/AWS::RTBFabric::Link.OpenRtbAttributeModuleParameters", + "markdownDescription": "Describes the parameters of an open RTB attribute module.", + "title": "OpenRtbAttribute" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.NoBidAction": { + "additionalProperties": false, + "properties": { + "NoBidReasonCode": { + "markdownDescription": "The reason code for the no bid action.", + "title": "NoBidReasonCode", + "type": "number" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.NoBidModuleParameters": { + "additionalProperties": false, + "properties": { + "PassThroughPercentage": { + "markdownDescription": "The pass through percentage.", + "title": "PassThroughPercentage", + "type": "number" + }, + "Reason": { + "markdownDescription": "The reason description.", + "title": "Reason", + "type": "string" + }, + "ReasonCode": { + "markdownDescription": "The reason code.", + "title": "ReasonCode", + "type": "number" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.OpenRtbAttributeModuleParameters": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::RTBFabric::Link.Action", + "markdownDescription": "Describes a bid action.", + "title": "Action" + }, + "FilterConfiguration": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::Link.Filter" + }, + "markdownDescription": "Describes the configuration of a filter.", + "title": "FilterConfiguration", + "type": "array" + }, + "FilterType": { + "markdownDescription": "The filter type.", + "title": "FilterType", + "type": "string" + }, + "HoldbackPercentage": { + "markdownDescription": "The hold back percentage.", + "title": "HoldbackPercentage", + "type": "number" + } + }, + "required": [ + "Action", + "FilterConfiguration", + "FilterType", + "HoldbackPercentage" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.ResponderErrorMaskingForHttpCode": { + "additionalProperties": false, + "properties": { + "Action": { + "markdownDescription": "The action for the error..", + "title": "Action", + "type": "string" + }, + "HttpCode": { + "markdownDescription": "The HTTP error code.", + "title": "HttpCode", + "type": "string" + }, + "LoggingTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The error log type.", + "title": "LoggingTypes", + "type": "array" + }, + "ResponseLoggingPercentage": { + "markdownDescription": "The percentage of response logging.", + "title": "ResponseLoggingPercentage", + "type": "number" + } + }, + "required": [ + "Action", + "HttpCode", + "LoggingTypes" + ], + "type": "object" + }, + "AWS::RTBFabric::LinkRoutingRule": { "additionalProperties": false, "properties": { "Condition": { @@ -337710,17 +304695,17 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "type": "string" + "Conditions": { + "$ref": "#/definitions/AWS::RTBFabric::LinkRoutingRule.RuleCondition" }, - "DnsViewId": { + "GatewayId": { "type": "string" }, - "ExpiresAt": { + "LinkId": { "type": "string" }, - "Name": { - "type": "string" + "Priority": { + "type": "number" }, "Tags": { "items": { @@ -337730,13 +304715,16 @@ } }, "required": [ - "DnsViewId" + "Conditions", + "GatewayId", + "LinkId", + "Priority" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::AccessToken" + "AWS::RTBFabric::LinkRoutingRule" ], "type": "string" }, @@ -337755,7 +304743,47 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::DnsView": { + "AWS::RTBFabric::LinkRoutingRule.QueryStringKeyValuePair": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::RTBFabric::LinkRoutingRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "HostHeader": { + "type": "string" + }, + "HostHeaderWildcard": { + "type": "string" + }, + "PathExact": { + "type": "string" + }, + "PathPrefix": { + "type": "string" + }, + "QueryStringEquals": { + "$ref": "#/definitions/AWS::RTBFabric::LinkRoutingRule.QueryStringKeyValuePair" + }, + "QueryStringExists": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink": { "additionalProperties": false, "properties": { "Condition": { @@ -337790,43 +304818,45 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DnssecValidation": { - "type": "string" - }, - "EdnsClientSubnet": { + "GatewayId": { + "markdownDescription": "", + "title": "GatewayId", "type": "string" }, - "FirewallRulesFailOpen": { - "type": "string" + "LinkAttributes": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkAttributes", + "markdownDescription": "", + "title": "LinkAttributes" }, - "GlobalResolverId": { - "type": "string" + "LinkLogSettings": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkLogSettings", + "markdownDescription": "", + "title": "LinkLogSettings" }, - "Name": { + "PublicEndpoint": { + "markdownDescription": "", + "title": "PublicEndpoint", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "", + "title": "Tags", "type": "array" } }, "required": [ - "GlobalResolverId", - "Name" + "GatewayId", + "LinkLogSettings", + "PublicEndpoint" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::DnsView" + "AWS::RTBFabric::OutboundExternalLink" ], "type": "string" }, @@ -337840,12 +304870,113 @@ } }, "required": [ - "Type", - "Properties" + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink.ApplicationLogs": { + "additionalProperties": false, + "properties": { + "LinkApplicationLogSampling": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkApplicationLogSampling", + "markdownDescription": "", + "title": "LinkApplicationLogSampling" + } + }, + "required": [ + "LinkApplicationLogSampling" + ], + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink.LinkApplicationLogSampling": { + "additionalProperties": false, + "properties": { + "ErrorLog": { + "markdownDescription": "", + "title": "ErrorLog", + "type": "number" + }, + "FilterLog": { + "markdownDescription": "", + "title": "FilterLog", + "type": "number" + } + }, + "required": [ + "ErrorLog", + "FilterLog" + ], + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink.LinkAttributes": { + "additionalProperties": false, + "properties": { + "CustomerProvidedId": { + "markdownDescription": "", + "title": "CustomerProvidedId", + "type": "string" + }, + "ResponderErrorMasking": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.ResponderErrorMaskingForHttpCode" + }, + "markdownDescription": "", + "title": "ResponderErrorMasking", + "type": "array" + } + }, + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink.LinkLogSettings": { + "additionalProperties": false, + "properties": { + "ApplicationLogs": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.ApplicationLogs", + "markdownDescription": "", + "title": "ApplicationLogs" + } + }, + "required": [ + "ApplicationLogs" + ], + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink.ResponderErrorMaskingForHttpCode": { + "additionalProperties": false, + "properties": { + "Action": { + "markdownDescription": "", + "title": "Action", + "type": "string" + }, + "HttpCode": { + "markdownDescription": "", + "title": "HttpCode", + "type": "string" + }, + "LoggingTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "LoggingTypes", + "type": "array" + }, + "ResponseLoggingPercentage": { + "markdownDescription": "", + "title": "ResponseLoggingPercentage", + "type": "number" + } + }, + "required": [ + "Action", + "HttpCode", + "LoggingTypes" ], "type": "object" }, - "AWS::Route53GlobalResolver::FirewallDomainList": { + "AWS::RTBFabric::RequesterGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -337880,43 +305011,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "type": "string" - }, "Description": { + "markdownDescription": "An optional description for the requester gateway.", + "title": "Description", "type": "string" }, - "DomainFileUrl": { - "type": "string" - }, - "Domains": { + "SecurityGroupIds": { "items": { "type": "string" }, + "markdownDescription": "The unique identifiers of the security groups.", + "title": "SecurityGroupIds", "type": "array" }, - "GlobalResolverId": { - "type": "string" - }, - "Name": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The unique identifiers of the subnets.", + "title": "SubnetIds", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", + "title": "Tags", "type": "array" + }, + "VpcId": { + "markdownDescription": "The unique identifier of the Virtual Private Cloud (VPC).", + "title": "VpcId", + "type": "string" } }, "required": [ - "GlobalResolverId", - "Name" + "SecurityGroupIds", + "SubnetIds", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::FirewallDomainList" + "AWS::RTBFabric::RequesterGateway" ], "type": "string" }, @@ -337935,7 +305074,7 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::FirewallRule": { + "AWS::RTBFabric::ResponderGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -337970,59 +305109,87 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "AcmCertificateArn": { "type": "string" }, - "BlockOverrideDnsType": { + "Description": { + "markdownDescription": "An optional description for the responder gateway.", + "title": "Description", "type": "string" }, - "BlockOverrideDomain": { + "DomainName": { + "markdownDescription": "The domain name for the responder gateway.", + "title": "DomainName", "type": "string" }, - "BlockOverrideTtl": { - "type": "number" - }, - "BlockResponse": { + "GatewayType": { "type": "string" }, - "ClientToken": { - "type": "string" + "ListenerConfig": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.ListenerConfig" }, - "ConfidenceThreshold": { - "type": "string" + "ManagedEndpointConfiguration": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.ManagedEndpointConfiguration", + "markdownDescription": "The configuration for the managed endpoint.", + "title": "ManagedEndpointConfiguration" }, - "Description": { - "type": "string" + "Port": { + "markdownDescription": "The networking port to use.", + "title": "Port", + "type": "number" }, - "DnsAdvancedProtection": { + "Protocol": { + "markdownDescription": "The networking protocol to use.", + "title": "Protocol", "type": "string" }, - "DnsViewId": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The unique identifiers of the security groups.", + "title": "SecurityGroupIds", + "type": "array" }, - "FirewallDomainListId": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The unique identifiers of the subnets.", + "title": "SubnetIds", + "type": "array" }, - "Name": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", + "title": "Tags", + "type": "array" }, - "Priority": { - "type": "number" + "TrustStoreConfiguration": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.TrustStoreConfiguration", + "markdownDescription": "The configuration of the trust store.", + "title": "TrustStoreConfiguration" }, - "QType": { + "VpcId": { + "markdownDescription": "The unique identifier of the Virtual Private Cloud (VPC).", + "title": "VpcId", "type": "string" } }, "required": [ - "Action", - "DnsViewId", - "Name" + "Port", + "Protocol", + "SecurityGroupIds", + "SubnetIds", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::FirewallRule" + "AWS::RTBFabric::ResponderGateway" ], "type": "string" }, @@ -338041,7 +305208,159 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::GlobalResolver": { + "AWS::RTBFabric::ResponderGateway.AutoScalingGroupsConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupNameList": { + "items": { + "type": "string" + }, + "markdownDescription": "The names of the auto scaling group.", + "title": "AutoScalingGroupNameList", + "type": "array" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.HealthCheckConfig" + }, + "RoleArn": { + "markdownDescription": "The role ARN of the auto scaling group.", + "title": "RoleArn", + "type": "string" + } + }, + "required": [ + "AutoScalingGroupNameList", + "RoleArn" + ], + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.EksEndpointsConfiguration": { + "additionalProperties": false, + "properties": { + "ClusterApiServerCaCertificateChain": { + "markdownDescription": "The CA certificate chain of the cluster API server.", + "title": "ClusterApiServerCaCertificateChain", + "type": "string" + }, + "ClusterApiServerEndpointUri": { + "markdownDescription": "The URI of the cluster API server endpoint.", + "title": "ClusterApiServerEndpointUri", + "type": "string" + }, + "ClusterName": { + "markdownDescription": "The name of the cluster.", + "title": "ClusterName", + "type": "string" + }, + "EndpointsResourceName": { + "markdownDescription": "The name of the endpoint resource.", + "title": "EndpointsResourceName", + "type": "string" + }, + "EndpointsResourceNamespace": { + "markdownDescription": "The namespace of the endpoint resource.", + "title": "EndpointsResourceNamespace", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The role ARN for the cluster.", + "title": "RoleArn", + "type": "string" + } + }, + "required": [ + "ClusterApiServerCaCertificateChain", + "ClusterApiServerEndpointUri", + "ClusterName", + "EndpointsResourceName", + "EndpointsResourceNamespace", + "RoleArn" + ], + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "HealthyThresholdCount": { + "type": "number" + }, + "IntervalSeconds": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "StatusCodeMatcher": { + "type": "string" + }, + "TimeoutMs": { + "type": "number" + }, + "UnhealthyThresholdCount": { + "type": "number" + } + }, + "required": [ + "Path", + "Port" + ], + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.ListenerConfig": { + "additionalProperties": false, + "properties": { + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Protocols" + ], + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.ManagedEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupsConfiguration": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.AutoScalingGroupsConfiguration", + "markdownDescription": "Describes the configuration of an auto scaling group.", + "title": "AutoScalingGroupsConfiguration" + }, + "EksEndpointsConfiguration": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.EksEndpointsConfiguration", + "markdownDescription": "Describes the configuration of an Amazon Elastic Kubernetes Service endpoint.", + "title": "EksEndpointsConfiguration" + } + }, + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.TrustStoreConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityCertificates": { + "items": { + "type": "string" + }, + "markdownDescription": "The certificate authority certificate.", + "title": "CertificateAuthorityCertificates", + "type": "array" + } + }, + "required": [ + "CertificateAuthorityCertificates" + ], + "type": "object" + }, + "AWS::RUM::AppMonitor": { "additionalProperties": false, "properties": { "Condition": { @@ -338076,43 +305395,71 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "type": "string" + "AppMonitorConfiguration": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.AppMonitorConfiguration", + "markdownDescription": "A structure that contains much of the configuration data for the app monitor. If you are using Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the Amazon Cognito identity pool to use for authorization. If you don't include `AppMonitorConfiguration` , you must set up your own authorization method. For more information, see [Authorize your application to send data to AWS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started-authorization.html) .\n\nIf you omit this argument, the sample rate used for CloudWatch RUM is set to 10% of the user sessions.", + "title": "AppMonitorConfiguration" }, - "Description": { - "type": "string" + "CustomEvents": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.CustomEvents", + "markdownDescription": "Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED` .", + "title": "CustomEvents" }, - "IpAddressType": { - "type": "string" + "CwLogEnabled": { + "markdownDescription": "Data collected by CloudWatch RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether CloudWatch RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges.\n\nIf you omit this parameter, the default is `false` .", + "title": "CwLogEnabled", + "type": "boolean" }, - "Name": { - "type": "string" + "DeobfuscationConfiguration": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.DeobfuscationConfiguration", + "markdownDescription": "A structure that contains the configuration for how an app monitor can deobfuscate stack traces.", + "title": "DeobfuscationConfiguration" }, - "ObservabilityRegion": { + "Domain": { + "markdownDescription": "The top-level internet domain name for which your application has administrative authority. This parameter or the `DomainList` parameter is required.", + "title": "Domain", "type": "string" }, - "Regions": { + "DomainList": { "items": { "type": "string" }, + "markdownDescription": "List the domain names for which your application has administrative authority. This parameter or the `Domain` parameter is required.\n\nYou can have a minimum of 1 and a maximum of 5 `Domain` under `DomainList` . Each `Domain` must be a minimum length of 1 and a maximum of 253 characters.", + "title": "DomainList", "type": "array" }, + "Name": { + "markdownDescription": "A name for the app monitor. This parameter is required.", + "title": "Name", + "type": "string" + }, + "Platform": { + "markdownDescription": "", + "title": "Platform", + "type": "string" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.ResourcePolicy", + "markdownDescription": "Use this structure to assign a resource-based policy to a CloudWatch RUM app monitor to control access to it. Each app monitor can have one resource-based policy. The maximum size of the policy is 4 KB. To learn more about using resource policies with RUM, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .", + "title": "ResourcePolicy" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Assigns one or more tags (key-value pairs) to the app monitor.\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 an app monitor.\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", - "Regions" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::GlobalResolver" + "AWS::RUM::AppMonitor" ], "type": "string" }, @@ -338131,80 +305478,215 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::HostedZoneAssociation": { + "AWS::RUM::AppMonitor.AppMonitorConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "AllowCookies": { + "markdownDescription": "If you set this to `true` , the CloudWatch RUM web client sets two cookies, a session cookie and a user cookie. The cookies allow the CloudWatch RUM web client to collect data relating to the number of users an application has and the behavior of the application across a sequence of events. Cookies are stored in the top-level domain of the current page.", + "title": "AllowCookies", + "type": "boolean" + }, + "EnableXRay": { + "markdownDescription": "If you set this to `true` , CloudWatch RUM sends client-side traces to X-Ray for each sampled session. You can then see traces and segments from these user sessions in the RUM dashboard and the CloudWatch ServiceLens console. For more information, see [What is AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)", + "title": "EnableXRay", + "type": "boolean" + }, + "ExcludedPages": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of URLs in your website or application to exclude from RUM data collection.\n\nYou can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.", + "title": "ExcludedPages", + "type": "array" + }, + "FavoritePages": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of pages in your application that are to be displayed with a \"favorite\" icon in the CloudWatch RUM console.", + "title": "FavoritePages", + "type": "array" + }, + "GuestRoleArn": { + "markdownDescription": "The ARN of the guest IAM role that is attached to the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.", + "title": "GuestRoleArn", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IdentityPoolId": { + "markdownDescription": "The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.", + "title": "IdentityPoolId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "IncludedPages": { + "items": { + "type": "string" + }, + "markdownDescription": "If this app monitor is to collect data from only certain pages in your application, this structure lists those pages.\n\nYou can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.", + "title": "IncludedPages", + "type": "array" }, - "Metadata": { - "type": "object" + "MetricDestinations": { + "items": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.MetricDestination" + }, + "markdownDescription": "An array of structures that each define a destination that this app monitor will send extended metrics to.", + "title": "MetricDestinations", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceArn": { + "SessionSampleRate": { + "markdownDescription": "Specifies the portion of user sessions to use for CloudWatch RUM data collection. Choosing a higher portion gives you more data but also incurs more costs.\n\nThe range for this value is 0 to 1 inclusive. Setting this to 1 means that 100% of user sessions are sampled, and setting it to 0.1 means that 10% of user sessions are sampled.\n\nIf you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.", + "title": "SessionSampleRate", + "type": "number" + }, + "Telemetries": { + "items": { + "type": "string" + }, + "markdownDescription": "An array that lists the types of telemetry data that this app monitor is to collect.\n\n- `errors` indicates that RUM collects data about unhandled JavaScript errors raised by your application.\n- `performance` indicates that RUM collects performance data about how your application and its resources are loaded and rendered. This includes Core Web Vitals.\n- `http` indicates that RUM collects data about HTTP errors thrown by your application.", + "title": "Telemetries", + "type": "array" + } + }, + "type": "object" + }, + "AWS::RUM::AppMonitor.CustomEvents": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "Set this to `ENABLED` to allow the web client to send custom events for this app monitor.\n\nValid values are `ENABLED` and `DISABLED` .", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RUM::AppMonitor.DeobfuscationConfiguration": { + "additionalProperties": false, + "properties": { + "JavaScriptSourceMaps": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.JavaScriptSourceMaps", + "markdownDescription": "A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.", + "title": "JavaScriptSourceMaps" + } + }, + "type": "object" + }, + "AWS::RUM::AppMonitor.JavaScriptSourceMaps": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "markdownDescription": "The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.", + "title": "S3Uri", + "type": "string" + }, + "Status": { + "markdownDescription": "Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be `DISABLED` .", + "title": "Status", + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::RUM::AppMonitor.MetricDefinition": { + "additionalProperties": false, + "properties": { + "DimensionKeys": { + "additionalProperties": true, + "markdownDescription": "This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch . The value of this field is used only if the metric destination is `CloudWatch` . If the metric destination is `Evidently` , the value of `DimensionKeys` is ignored.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "HostedZoneId", - "Name", - "ResourceArn" - ], + "title": "DimensionKeys", "type": "object" }, - "Type": { - "enum": [ - "AWS::Route53GlobalResolver::HostedZoneAssociation" - ], + "EventPattern": { + "markdownDescription": "The pattern that defines the metric. RUM checks events that happen in a user's session against the pattern, and events that match the pattern are sent to the metric destination.\n\nIf the metrics destination is `CloudWatch` and the event also matches a value in `DimensionKeys` , then the metric is published with the specified dimensions.", + "title": "EventPattern", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The name of the metric that is defined in this structure.", + "title": "Name", + "type": "string" + }, + "Namespace": { + "markdownDescription": "If you are creating a custom metric instead of an extended metrics, use this parameter to define the metric namespace for that custom metric. Do not specify this parameter if you are creating an extended metric.\n\nYou can't use any string that starts with `AWS/` for your namespace.", + "title": "Namespace", + "type": "string" + }, + "UnitLabel": { + "markdownDescription": "Use this field only if you are sending this metric to CloudWatch . It defines the CloudWatch metric unit that this metric is measured in.", + "title": "UnitLabel", + "type": "string" + }, + "ValueKey": { + "markdownDescription": "The field within the event object that the metric value is sourced from.", + "title": "ValueKey", "type": "string" } }, "required": [ - "Type", - "Properties" + "Name" ], "type": "object" }, - "AWS::Route53Profiles::Profile": { + "AWS::RUM::AppMonitor.MetricDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "markdownDescription": "Defines the destination to send the metrics to. Valid values are `CloudWatch` and `Evidently` . If you specify `Evidently` , you must also specify the ARN of the CloudWatch Evidently experiment that is to be the destination and an IAM role that has permission to write to the experiment.", + "title": "Destination", + "type": "string" + }, + "DestinationArn": { + "markdownDescription": "Use this parameter only if `Destination` is `Evidently` . This parameter specifies the ARN of the Evidently experiment that will receive the extended metrics.", + "title": "DestinationArn", + "type": "string" + }, + "IamRoleArn": { + "markdownDescription": "This parameter is required if `Destination` is `Evidently` . If `Destination` is `CloudWatch` , do not use this parameter.\n\nThis parameter specifies the ARN of an IAM role that RUM will assume to write to the Evidently experiment that you are sending metrics to. This role must have permission to write to that experiment.", + "title": "IamRoleArn", + "type": "string" + }, + "MetricDefinitions": { + "items": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.MetricDefinition" + }, + "markdownDescription": "An array of structures which define the metrics that you want to send.", + "title": "MetricDefinitions", + "type": "array" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::RUM::AppMonitor.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "markdownDescription": "The JSON to use as the resource policy. The document can be up to 4 KB in size. For more information about the contents and syntax for this policy, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .", + "title": "PolicyDocument", + "type": "string" + }, + "PolicyRevisionId": { + "markdownDescription": "A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy.\n\nWhen you assign a policy revision ID, then later requests about that policy will be rejected with an `InvalidPolicyRevisionIdException` error if they don't provide the correct current revision ID.", + "title": "PolicyRevisionId", + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "AWS::Rbin::Rule": { "additionalProperties": false, "properties": { "Condition": { @@ -338239,28 +305721,65 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of the Profile.", - "title": "Name", + "Description": { + "markdownDescription": "The retention rule description.", + "title": "Description", + "type": "string" + }, + "ExcludeResourceTags": { + "items": { + "$ref": "#/definitions/AWS::Rbin::Rule.ResourceTag" + }, + "markdownDescription": "[Region-level retention rules only] Specifies the exclusion tags to use to identify resources that are to be excluded, or ignored, by a Region-level retention rule. Resources that have any of these tags are not retained by the retention rule upon deletion.\n\nYou can't specify exclusion tags for tag-level retention rules.", + "title": "ExcludeResourceTags", + "type": "array" + }, + "LockConfiguration": { + "$ref": "#/definitions/AWS::Rbin::Rule.UnlockDelay", + "markdownDescription": "Information about the retention rule lock configuration.", + "title": "LockConfiguration" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::Rbin::Rule.ResourceTag" + }, + "markdownDescription": "[Tag-level retention rules only] Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. For tag-level retention rules, only deleted resources, of the specified resource type, that have one or more of the specified tag key and value pairs are retained. If a resource is deleted, but it does not have any of the specified tag key and value pairs, it is immediately deleted without being retained by the retention rule.\n\nYou can add the same tag key and value pair to a maximum or five retention rules.\n\nTo create a Region-level retention rule, omit this parameter. A Region-level retention rule does not have any resource tags specified. It retains all deleted resources of the specified resource type in the Region in which the rule is created, even if the resources are not tagged.", + "title": "ResourceTags", + "type": "array" + }, + "ResourceType": { + "markdownDescription": "The resource type to be retained by the retention rule. Currently, only EBS volumes, EBS snapshots, and EBS-backed AMIs are supported.\n\n- To retain EBS volumes, specify `EBS_VOLUME` .\n- To retain EBS snapshots, specify `EBS_SNAPSHOT`\n- To retain EBS-backed AMIs, specify `EC2_IMAGE` .", + "title": "ResourceType", + "type": "string" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::Rbin::Rule.RetentionPeriod", + "markdownDescription": "Information about the retention period for which the retention rule is to retain resources.", + "title": "RetentionPeriod" + }, + "Status": { + "markdownDescription": "The state of the retention rule. Only retention rules that are in the `available` state retain resources.", + "title": "Status", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tag keys and values that you want to associate with the profile.", + "markdownDescription": "Information about the tags to assign to the retention rule.", "title": "Tags", "type": "array" } }, "required": [ - "Name" + "ResourceType", + "RetentionPeriod" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Profiles::Profile" + "AWS::Rbin::Rule" ], "type": "string" }, @@ -338279,7 +305798,63 @@ ], "type": "object" }, - "AWS::Route53Profiles::ProfileAssociation": { + "AWS::Rbin::Rule.ResourceTag": { + "additionalProperties": false, + "properties": { + "ResourceTagKey": { + "markdownDescription": "The tag key.", + "title": "ResourceTagKey", + "type": "string" + }, + "ResourceTagValue": { + "markdownDescription": "The tag value.", + "title": "ResourceTagValue", + "type": "string" + } + }, + "required": [ + "ResourceTagKey", + "ResourceTagValue" + ], + "type": "object" + }, + "AWS::Rbin::Rule.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "RetentionPeriodUnit": { + "markdownDescription": "The unit of time in which the retention period is measured. Currently, only `DAYS` is supported.", + "title": "RetentionPeriodUnit", + "type": "string" + }, + "RetentionPeriodValue": { + "markdownDescription": "The period value for which the retention rule is to retain resources, measured in days. The supported retention periods are:\n\n- EBS volumes: 1 - 7 days\n- EBS snapshots and EBS-backed AMIs: 1 - 365 days", + "title": "RetentionPeriodValue", + "type": "number" + } + }, + "required": [ + "RetentionPeriodUnit", + "RetentionPeriodValue" + ], + "type": "object" + }, + "AWS::Rbin::Rule.UnlockDelay": { + "additionalProperties": false, + "properties": { + "UnlockDelayUnit": { + "markdownDescription": "The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measured only in days.", + "title": "UnlockDelayUnit", + "type": "string" + }, + "UnlockDelayValue": { + "markdownDescription": "The unlock delay period, measured in the unit specified for *UnlockDelayUnit* .", + "title": "UnlockDelayValue", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -338314,45 +305889,290 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the profile association to a VPC.", - "title": "Arn", + "AllowVersionUpgrade": { + "markdownDescription": "If `true` , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.\n\nWhen a new major version of the Amazon Redshift engine is released, you can request that the service automatically apply upgrades during the maintenance window to the Amazon Redshift engine that is running on your cluster.\n\nDefault: `true`", + "title": "AllowVersionUpgrade", + "type": "boolean" + }, + "AquaConfigurationStatus": { + "markdownDescription": "This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).", + "title": "AquaConfigurationStatus", "type": "string" }, - "Name": { - "markdownDescription": "Name of the Profile association.", - "title": "Name", + "AutomatedSnapshotRetentionPeriod": { + "markdownDescription": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with [CreateClusterSnapshot](https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSnapshot.html) in the *Amazon Redshift API Reference* .\n\nDefault: `1`\n\nConstraints: Must be a value from 0 to 35.", + "title": "AutomatedSnapshotRetentionPeriod", + "type": "number" + }, + "AvailabilityZone": { + "markdownDescription": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.\n\nDefault: A random, system-chosen Availability Zone in the region that is specified by the endpoint.\n\nExample: `us-east-2d`\n\nConstraint: The specified Availability Zone must be in the same region as the current endpoint.", + "title": "AvailabilityZone", "type": "string" }, - "ProfileId": { - "markdownDescription": "ID of the Profile.\n\nUpdate to this property requires update to the `ResourceId` property as well, because you can only associate one Profile per VPC. For more information, see [Route 53 Profiles](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/profiles.html) .", - "title": "ProfileId", + "AvailabilityZoneRelocation": { + "markdownDescription": "The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.", + "title": "AvailabilityZoneRelocation", + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "markdownDescription": "Describes the status of the Availability Zone relocation operation.", + "title": "AvailabilityZoneRelocationStatus", "type": "string" }, - "ResourceId": { - "markdownDescription": "The ID of the VPC.", - "title": "ResourceId", + "Classic": { + "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to `false` , the resize type is elastic.", + "title": "Classic", + "type": "boolean" + }, + "ClusterIdentifier": { + "markdownDescription": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. The identifier also appears in the Amazon Redshift console.\n\nConstraints:\n\n- Must contain from 1 to 63 alphanumeric characters or hyphens.\n- Alphabetic characters must be lowercase.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n- Must be unique for all clusters within an AWS account .\n\nExample: `myexamplecluster`", + "title": "ClusterIdentifier", + "type": "string" + }, + "ClusterParameterGroupName": { + "markdownDescription": "The name of the parameter group to be associated with this cluster.\n\nDefault: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to [Working with Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)\n\nConstraints:\n\n- Must be 1 to 255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", + "title": "ClusterParameterGroupName", + "type": "string" + }, + "ClusterSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of security groups to be associated with this cluster.\n\nDefault: The default cluster security group for Amazon Redshift.", + "title": "ClusterSecurityGroups", + "type": "array" + }, + "ClusterSubnetGroupName": { + "markdownDescription": "The name of a cluster subnet group to be associated with this cluster.\n\nIf this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).", + "title": "ClusterSubnetGroupName", + "type": "string" + }, + "ClusterType": { + "markdownDescription": "The type of the cluster. When cluster type is specified as\n\n- `single-node` , the *NumberOfNodes* parameter is not required.\n- `multi-node` , the *NumberOfNodes* parameter is required.\n\nValid Values: `multi-node` | `single-node`\n\nDefault: `multi-node`", + "title": "ClusterType", + "type": "string" + }, + "ClusterVersion": { + "markdownDescription": "The version of the Amazon Redshift engine software that you want to deploy on the cluster.\n\nThe version selected runs on all the nodes in the cluster.\n\nConstraints: Only version 1.0 is currently available.\n\nExample: `1.0`", + "title": "ClusterVersion", + "type": "string" + }, + "DBName": { + "markdownDescription": "The name of the first database to be created when the cluster is created.\n\nTo create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to [Create a Database](https://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html) in the Amazon Redshift Database Developer Guide.\n\nDefault: `dev`\n\nConstraints:\n\n- Must contain 1 to 64 alphanumeric characters.\n- Must contain only lowercase letters.\n- Cannot be a word that is reserved by the service. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", + "title": "DBName", + "type": "string" + }, + "DeferMaintenance": { + "markdownDescription": "A Boolean indicating whether to enable the deferred maintenance window.", + "title": "DeferMaintenance", + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "markdownDescription": "An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.", + "title": "DeferMaintenanceDuration", + "type": "number" + }, + "DeferMaintenanceEndTime": { + "markdownDescription": "A timestamp for the end of the time period when we defer maintenance.", + "title": "DeferMaintenanceEndTime", + "type": "string" + }, + "DeferMaintenanceStartTime": { + "markdownDescription": "A timestamp indicating the start time for the deferred maintenance window.", + "title": "DeferMaintenanceStartTime", + "type": "string" + }, + "DestinationRegion": { + "markdownDescription": "The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled.", + "title": "DestinationRegion", + "type": "string" + }, + "ElasticIp": { + "markdownDescription": "The Elastic IP (EIP) address for the cluster.\n\nConstraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on. For more information about provisioning clusters in EC2-VPC, go to [Supported Platforms to Launch Your Cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms) in the Amazon Redshift Cluster Management Guide.", + "title": "ElasticIp", + "type": "string" + }, + "Encrypted": { + "markdownDescription": "If `true` , the data in the cluster is encrypted at rest. If you set the value on this parameter to `false` , the request will fail.\n\nDefault: true", + "title": "Encrypted", + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint", + "markdownDescription": "The connection endpoint.", + "title": "Endpoint" + }, + "EnhancedVpcRouting": { + "markdownDescription": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see [Enhanced VPC Routing](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) in the Amazon Redshift Cluster Management Guide.\n\nIf this option is `true` , enhanced VPC routing is enabled.\n\nDefault: false", + "title": "EnhancedVpcRouting", + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "markdownDescription": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.", + "title": "HsmClientCertificateIdentifier", + "type": "string" + }, + "HsmConfigurationIdentifier": { + "markdownDescription": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.", + "title": "HsmConfigurationIdentifier", + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.\n\nThe maximum number of IAM roles that you can associate is subject to a quota. For more information, go to [Quotas and limits](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) in the *Amazon Redshift Cluster Management Guide* .", + "title": "IamRoles", + "type": "array" + }, + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.", + "title": "KmsKeyId", + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties", + "markdownDescription": "Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.", + "title": "LoggingProperties" + }, + "MaintenanceTrackName": { + "markdownDescription": "An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance track name, the cluster is assigned to the `current` track.", + "title": "MaintenanceTrackName", + "type": "string" + }, + "ManageMasterPassword": { + "markdownDescription": "If `true` , Amazon Redshift uses AWS Secrets Manager to manage this cluster's admin credentials. You can't use `MasterUserPassword` if `ManageMasterPassword` is true. If `ManageMasterPassword` is false or not set, Amazon Redshift uses `MasterUserPassword` for the admin user account's password.", + "title": "ManageMasterPassword", + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "markdownDescription": "The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.\n\nThe value must be either -1 or an integer between 1 and 3,653.", + "title": "ManualSnapshotRetentionPeriod", + "type": "number" + }, + "MasterPasswordSecretKmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. You can only use this parameter if `ManageMasterPassword` is true.", + "title": "MasterPasswordSecretKmsKeyId", + "type": "string" + }, + "MasterUserPassword": { + "markdownDescription": "The password associated with the admin user account for the cluster that is being created.\n\nYou can't use `MasterUserPassword` if `ManageMasterPassword` is `true` .\n\nConstraints:\n\n- Must be between 8 and 64 characters in length.\n- Must contain at least one uppercase letter.\n- Must contain at least one lowercase letter.\n- Must contain one number.\n- Can be any printable ASCII character (ASCII code 33-126) except `'` (single quote), `\"` (double quote), `\\` , `/` , or `@` .", + "title": "MasterUserPassword", + "type": "string" + }, + "MasterUsername": { + "markdownDescription": "The user name associated with the admin user account for the cluster that is being created.\n\nConstraints:\n\n- Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be `PUBLIC` .\n- Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.\n- The first character must be a letter.\n- Must not contain a colon (:) or a slash (/).\n- Cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", + "title": "MasterUsername", + "type": "string" + }, + "MultiAZ": { + "markdownDescription": "A boolean indicating whether Amazon Redshift should deploy the cluster in two Availability Zones. The default is false.", + "title": "MultiAZ", + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "markdownDescription": "The policy that is attached to a resource.", + "title": "NamespaceResourcePolicy", + "type": "object" + }, + "NodeType": { + "markdownDescription": "The node type to be provisioned for the cluster. For information about node types, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .\n\nValid Values: `dc2.large` | `dc2.8xlarge` | `ra3.large` | `ra3.xlplus` | `ra3.4xlarge` | `ra3.16xlarge`", + "title": "NodeType", + "type": "string" + }, + "NumberOfNodes": { + "markdownDescription": "The number of compute nodes in the cluster. This parameter is required when the *ClusterType* parameter is specified as `multi-node` .\n\nFor information about determining how many nodes you need, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .\n\nIf you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.\n\nDefault: `1`\n\nConstraints: Value must be at least 1 and no more than 100.", + "title": "NumberOfNodes", + "type": "number" + }, + "OwnerAccount": { + "markdownDescription": "The AWS account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.", + "title": "OwnerAccount", + "type": "string" + }, + "Port": { + "markdownDescription": "The port number on which the cluster accepts incoming connections.\n\nThe cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections.\n\nDefault: `5439`\n\nValid Values:\n\n- For clusters with ra3 nodes - Select a port within the ranges `5431-5455` or `8191-8215` . (If you have an existing cluster with ra3 nodes, it isn't required that you change the port to these ranges.)\n- For clusters with dc2 nodes - Select a port within the range `1150-65535` .", + "title": "Port", + "type": "number" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range (in UTC) during which automated cluster maintenance can occur.\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nDefault: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see [Maintenance Windows](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows) in Amazon Redshift Cluster Management Guide.\n\nValid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun\n\nConstraints: Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "PubliclyAccessible": { + "markdownDescription": "If `true` , the cluster can be accessed from a public network.\n\nDefault: false", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "ResourceAction": { + "markdownDescription": "The Amazon Redshift operation to be performed. Supported operations are `pause-cluster` , `resume-cluster` , and `failover-primary-compute` .", + "title": "ResourceAction", + "type": "string" + }, + "RevisionTarget": { + "markdownDescription": "Describes a `RevisionTarget` object.", + "title": "RevisionTarget", + "type": "string" + }, + "RotateEncryptionKey": { + "markdownDescription": "Rotates the encryption keys for a cluster.", + "title": "RotateEncryptionKey", + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "markdownDescription": "The name of the cluster the source snapshot was created from. This parameter is required if your user or role has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.", + "title": "SnapshotClusterIdentifier", + "type": "string" + }, + "SnapshotCopyGrantName": { + "markdownDescription": "The name of the snapshot copy grant.", + "title": "SnapshotCopyGrantName", + "type": "string" + }, + "SnapshotCopyManual": { + "markdownDescription": "Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.", + "title": "SnapshotCopyManual", + "type": "boolean" + }, + "SnapshotCopyRetentionPeriod": { + "markdownDescription": "The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region .\n\nBy default, this only changes the retention period of copied automated snapshots.\n\nIf you decrease the retention period for automated snapshots that are copied to a destination AWS Region , Amazon Redshift deletes any existing automated snapshots that were copied to the destination AWS Region and that fall outside of the new retention period.\n\nConstraints: Must be at least 1 and no more than 35 for automated snapshots.\n\nIf you specify the `manual` option, only newly copied manual snapshots will have the new retention period.\n\nIf you specify the value of -1 newly copied manual snapshots are retained indefinitely.\n\nConstraints: The number of days must be either -1 or an integer between 1 and 3,653 for manual snapshots.", + "title": "SnapshotCopyRetentionPeriod", + "type": "number" + }, + "SnapshotIdentifier": { + "markdownDescription": "The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must specify this parameter or `snapshotArn` , but not both.\n\nExample: `my-snapshot-id`", + "title": "SnapshotIdentifier", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "A list of tag instances.", "title": "Tags", "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.\n\nDefault: The default VPC security group is associated with the cluster.", + "title": "VpcSecurityGroupIds", + "type": "array" } }, "required": [ - "Name", - "ProfileId", - "ResourceId" + "ClusterType", + "DBName", + "MasterUsername", + "NodeType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Profiles::ProfileAssociation" + "AWS::Redshift::Cluster" ], "type": "string" }, @@ -338365,13 +306185,58 @@ "type": "string" } }, - "required": [ - "Type", - "Properties" - ], + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::Cluster.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "markdownDescription": "The DNS address of the cluster. This property is read only.", + "title": "Address", + "type": "string" + }, + "Port": { + "markdownDescription": "The port that the database engine is listening on. This property is read only.", + "title": "Port", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster.LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The name of an existing S3 bucket where the log files are to be stored.\n\nConstraints:\n\n- Must be in the same region as the cluster\n- The cluster must have read bucket and put object permissions", + "title": "BucketName", + "type": "string" + }, + "LogDestinationType": { + "markdownDescription": "The log destination type. An enum with possible values of `s3` and `cloudwatch` .", + "title": "LogDestinationType", + "type": "string" + }, + "LogExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The collection of exported log types. Possible values are `connectionlog` , `useractivitylog` , and `userlog` .", + "title": "LogExports", + "type": "array" + }, + "S3KeyPrefix": { + "markdownDescription": "The prefix applied to the log file names.\n\nValid characters are any letter from any language, any whitespace character, any numeric character, and the following characters: underscore ( `_` ), period ( `.` ), colon ( `:` ), slash ( `/` ), equal ( `=` ), plus ( `+` ), backslash ( `\\` ), hyphen ( `-` ), at symbol ( `@` ).", + "title": "S3KeyPrefix", + "type": "string" + } + }, "type": "object" }, - "AWS::Route53Profiles::ProfileResourceAssociation": { + "AWS::Redshift::ClusterParameterGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -338406,37 +306271,47 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of the Profile resource association.", - "title": "Name", + "Description": { + "markdownDescription": "The description of the parameter group.", + "title": "Description", "type": "string" }, - "ProfileId": { - "markdownDescription": "Profile ID of the Profile that the resources are associated with.", - "title": "ProfileId", + "ParameterGroupFamily": { + "markdownDescription": "The name of the cluster parameter group family that this cluster parameter group is compatible with. You can create a custom parameter group and then associate your cluster with it. For more information, see [Amazon Redshift parameter groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) .", + "title": "ParameterGroupFamily", "type": "string" }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource association.", - "title": "ResourceArn", + "ParameterGroupName": { + "markdownDescription": "The name of the cluster parameter group.", + "title": "ParameterGroupName", "type": "string" }, - "ResourceProperties": { - "markdownDescription": "If the DNS resource is a DNS Firewall rule group, this indicates the priority.", - "title": "ResourceProperties", - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + }, + "markdownDescription": "An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.\n\nFor each parameter to be modified, you must supply at least the parameter name and parameter value; other name-value pairs of the parameter are optional.\n\nFor the workload management (WLM) configuration, you must supply all the name-value pairs in the wlm_json_configuration parameter.", + "title": "Parameters", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The list of tags for the cluster parameter group.", + "title": "Tags", + "type": "array" } }, "required": [ - "Name", - "ProfileId", - "ResourceArn" + "Description", + "ParameterGroupFamily" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Profiles::ProfileResourceAssociation" + "AWS::Redshift::ClusterParameterGroup" ], "type": "string" }, @@ -338455,7 +306330,27 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::Cluster": { + "AWS::Redshift::ClusterParameterGroup.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "markdownDescription": "The name of the parameter.", + "title": "ParameterName", + "type": "string" + }, + "ParameterValue": { + "markdownDescription": "The value of the parameter. If `ParameterName` is `wlm_json_configuration` , then the maximum size of `ParameterValue` is 8000 characters.", + "title": "ParameterValue", + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -338490,33 +306385,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of the cluster. You can use any non-white space character in the name except the following: & > < ' (single quote) \" (double quote) ; (semicolon).", - "title": "Name", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "The network-type can either be IPV4 or DUALSTACK.", - "title": "NetworkType", + "Description": { + "markdownDescription": "A description for the security group.", + "title": "Description", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags associated with the cluster.", + "markdownDescription": "Specifies an arbitrary set of tags (key\u2013value pairs) to associate with this security group. Use tags to manage your resources.", "title": "Tags", "type": "array" } }, "required": [ - "Name" + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryControl::Cluster" + "AWS::Redshift::ClusterSecurityGroup" ], "type": "string" }, @@ -338535,23 +306425,7 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "markdownDescription": "A cluster endpoint URL for one of the five redundant clusters that you specify to set or retrieve a routing control state.", - "title": "Endpoint", - "type": "string" - }, - "Region": { - "markdownDescription": "The AWS Region for a cluster endpoint.", - "title": "Region", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryControl::ControlPanel": { + "AWS::Redshift::ClusterSecurityGroupIngress": { "additionalProperties": false, "properties": { "Condition": { @@ -338586,33 +306460,35 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the cluster for the control panel.", - "title": "ClusterArn", + "CIDRIP": { + "markdownDescription": "The IP range to be added the Amazon Redshift security group.", + "title": "CIDRIP", "type": "string" }, - "Name": { - "markdownDescription": "The name of the control panel. You can use any non-white space character in the name.", - "title": "Name", + "ClusterSecurityGroupName": { + "markdownDescription": "The name of the security group to which the ingress rule is added.", + "title": "ClusterSecurityGroupName", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags associated with the control panel.", - "title": "Tags", - "type": "array" + "EC2SecurityGroupName": { + "markdownDescription": "The EC2 security group to be added the Amazon Redshift security group.", + "title": "EC2SecurityGroupName", + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "markdownDescription": "The AWS account number of the owner of the security group specified by the *EC2SecurityGroupName* parameter. The AWS Access Key ID is not an acceptable value.\n\nExample: `111122223333`\n\nConditional. If you specify the `EC2SecurityGroupName` property, you must specify this property.", + "title": "EC2SecurityGroupOwnerId", + "type": "string" } }, "required": [ - "Name" + "ClusterSecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryControl::ControlPanel" + "AWS::Redshift::ClusterSecurityGroupIngress" ], "type": "string" }, @@ -338631,7 +306507,7 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::RoutingControl": { + "AWS::Redshift::ClusterSubnetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -338666,30 +306542,37 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the cluster that hosts the routing control.", - "title": "ClusterArn", + "Description": { + "markdownDescription": "A description for the subnet group.", + "title": "Description", "type": "string" }, - "ControlPanelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the control panel that includes the routing control.", - "title": "ControlPanelArn", - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.", + "title": "SubnetIds", + "type": "array" }, - "Name": { - "markdownDescription": "The name of the routing control. You can use any non-white space character in the name.", - "title": "Name", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies an arbitrary set of tags (key\u2013value pairs) to associate with this subnet group. Use tags to manage your resources.", + "title": "Tags", + "type": "array" } }, "required": [ - "Name" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryControl::RoutingControl" + "AWS::Redshift::ClusterSubnetGroup" ], "type": "string" }, @@ -338708,7 +306591,7 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::SafetyRule": { + "AWS::Redshift::EndpointAccess": { "additionalProperties": false, "properties": { "Condition": { @@ -338743,50 +306626,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AssertionRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule", - "markdownDescription": "An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. For example, the criteria might be that at least one routing control state is `On` after the transaction so that traffic continues to flow to at least one cell for the application. This ensures that you avoid a fail-open scenario.", - "title": "AssertionRule" - }, - "ControlPanelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the control panel.", - "title": "ControlPanelArn", + "ClusterIdentifier": { + "markdownDescription": "The cluster identifier of the cluster associated with the endpoint.", + "title": "ClusterIdentifier", "type": "string" }, - "GatingRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule", - "markdownDescription": "A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.\n\nFor example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR` , that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control switch to be On. When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.", - "title": "GatingRule" + "EndpointName": { + "markdownDescription": "The name of the endpoint.", + "title": "EndpointName", + "type": "string" }, - "Name": { - "markdownDescription": "The name of the assertion rule. The name must be unique within a control panel. You can use any non-white space character in the name except the following: & > < ' (single quote) \" (double quote) ; (semicolon)", - "title": "Name", + "ResourceOwner": { + "markdownDescription": "The AWS account ID of the owner of the cluster.", + "title": "ResourceOwner", "type": "string" }, - "RuleConfig": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig", - "markdownDescription": "The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be `ON` as the result of a transaction. For example, if you have three assertion controls, you might specify `ATLEAST 2` for your rule configuration. This means that at least two assertion controls must be `ON` , so that at least two AWS Regions have traffic flowing to them.", - "title": "RuleConfig" + "SubnetGroupName": { + "markdownDescription": "The subnet group name where Amazon Redshift chooses to deploy the endpoint.", + "title": "SubnetGroupName", + "type": "string" }, - "Tags": { + "VpcSecurityGroupIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags associated with the safety rule.", - "title": "Tags", + "markdownDescription": "The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.", + "title": "VpcSecurityGroupIds", "type": "array" } }, "required": [ - "ControlPanelArn", - "Name", - "RuleConfig" + "ClusterIdentifier", + "EndpointName", + "SubnetGroupName", + "VpcSecurityGroupIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryControl::SafetyRule" + "AWS::Redshift::EndpointAccess" ], "type": "string" }, @@ -338805,88 +306684,73 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "AWS::Redshift::EndpointAccess.NetworkInterface": { "additionalProperties": false, "properties": { - "AssertedControls": { - "items": { - "type": "string" - }, - "markdownDescription": "The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three AWS Regions.", - "title": "AssertedControls", - "type": "array" + "AvailabilityZone": { + "markdownDescription": "The Availability Zone.", + "title": "AvailabilityZone", + "type": "string" }, - "WaitPeriodMs": { - "markdownDescription": "An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent flapping of state. The wait period is 5000 ms by default, but you can choose a custom value.", - "title": "WaitPeriodMs", - "type": "number" + "NetworkInterfaceId": { + "markdownDescription": "The network interface identifier.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "PrivateIpAddress": { + "markdownDescription": "The IPv4 address of the network interface within the subnet.", + "title": "PrivateIpAddress", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The subnet identifier.", + "title": "SubnetId", + "type": "string" } }, - "required": [ - "AssertedControls", - "WaitPeriodMs" - ], "type": "object" }, - "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "AWS::Redshift::EndpointAccess.VpcEndpoint": { "additionalProperties": false, "properties": { - "GatingControls": { + "NetworkInterfaces": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Redshift::EndpointAccess.NetworkInterface" }, - "markdownDescription": "An array of gating routing control Amazon Resource Names (ARNs). For a simple on-off switch, specify the ARN for one routing control. The gating routing controls are evaluated by the rule configuration that you specify to determine if the target routing control states can be changed.", - "title": "GatingControls", + "markdownDescription": "One or more network interfaces of the endpoint. Also known as an interface endpoint.", + "title": "NetworkInterfaces", "type": "array" }, - "TargetControls": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control. As a simple example, if you have a single gating control, it acts as an overall on-off switch for a set of target routing controls. You can use this to manually override automated failover, for example.", - "title": "TargetControls", - "type": "array" + "VpcEndpointId": { + "markdownDescription": "The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.", + "title": "VpcEndpointId", + "type": "string" }, - "WaitPeriodMs": { - "markdownDescription": "An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent flapping of state. The wait period is 5000 ms by default, but you can choose a custom value.", - "title": "WaitPeriodMs", - "type": "number" + "VpcId": { + "markdownDescription": "The VPC identifier that the endpoint is associated.", + "title": "VpcId", + "type": "string" } }, - "required": [ - "GatingControls", - "TargetControls", - "WaitPeriodMs" - ], "type": "object" }, - "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "AWS::Redshift::EndpointAccess.VpcSecurityGroup": { "additionalProperties": false, "properties": { - "Inverted": { - "markdownDescription": "Logical negation of the rule. If the rule would usually evaluate true, it's evaluated as false, and vice versa.", - "title": "Inverted", - "type": "boolean" - }, - "Threshold": { - "markdownDescription": "The value of N, when you specify an `ATLEAST` rule type. That is, `Threshold` is the number of controls that must be set when you specify an `ATLEAST` type.", - "title": "Threshold", - "type": "number" + "Status": { + "markdownDescription": "The status of the endpoint.", + "title": "Status", + "type": "string" }, - "Type": { - "markdownDescription": "A rule can be one of the following: `ATLEAST` , `AND` , or `OR` .", - "title": "Type", + "VpcSecurityGroupId": { + "markdownDescription": "The identifier of the VPC security group.", + "title": "VpcSecurityGroupId", "type": "string" } }, - "required": [ - "Inverted", - "Threshold", - "Type" - ], "type": "object" }, - "AWS::Route53RecoveryReadiness::Cell": { + "AWS::Redshift::EndpointAuthorization": { "additionalProperties": false, "properties": { "Condition": { @@ -338921,33 +306785,39 @@ "Properties": { "additionalProperties": false, "properties": { - "CellName": { - "markdownDescription": "The name of the cell to create.", - "title": "CellName", + "Account": { + "markdownDescription": "The AWS account ID of either the cluster owner (grantor) or grantee. If `Grantee` parameter is true, then the `Account` value is of the grantor.", + "title": "Account", "type": "string" }, - "Cells": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of cell Amazon Resource Names (ARNs) contained within this cell, for use in nested cells. For example, Availability Zones within specific AWS Regions .", - "title": "Cells", - "type": "array" + "ClusterIdentifier": { + "markdownDescription": "The cluster identifier.", + "title": "ClusterIdentifier", + "type": "string" }, - "Tags": { + "Force": { + "markdownDescription": "Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.", + "title": "Force", + "type": "boolean" + }, + "VpcIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "A collection of tags associated with a resource.", - "title": "Tags", + "markdownDescription": "The virtual private cloud (VPC) identifiers to grant access to.", + "title": "VpcIds", "type": "array" } }, + "required": [ + "Account", + "ClusterIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryReadiness::Cell" + "AWS::Redshift::EndpointAuthorization" ], "type": "string" }, @@ -338961,11 +306831,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "AWS::Redshift::EventSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -339000,30 +306871,64 @@ "Properties": { "additionalProperties": false, "properties": { - "ReadinessCheckName": { - "markdownDescription": "The name of the readiness check to create.", - "title": "ReadinessCheckName", + "Enabled": { + "markdownDescription": "A boolean value; set to `true` to activate the subscription, and set to `false` to create the subscription but not activate it.", + "title": "Enabled", + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the Amazon Redshift event categories to be published by the event notification subscription.\n\nValues: configuration, management, monitoring, security, pending", + "title": "EventCategories", + "type": "array" + }, + "Severity": { + "markdownDescription": "Specifies the Amazon Redshift event severity to be published by the event notification subscription.\n\nValues: ERROR, INFO", + "title": "Severity", "type": "string" }, - "ResourceSetName": { - "markdownDescription": "The name of the resource set to check.", - "title": "ResourceSetName", + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", + "title": "SnsTopicArn", + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of one or more identifiers of Amazon Redshift source objects. All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified.\n\nExample: my-cluster-1, my-cluster-2\n\nExample: my-snapshot-20131010", + "title": "SourceIds", + "type": "array" + }, + "SourceType": { + "markdownDescription": "The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account . You must specify a source type in order to specify source IDs.\n\nValid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.", + "title": "SourceType", + "type": "string" + }, + "SubscriptionName": { + "markdownDescription": "The name of the event subscription to be created.\n\nConstraints:\n\n- Cannot be null, empty, or blank.\n- Must contain from 1 to 255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", + "title": "SubscriptionName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A collection of tags associated with a resource.", + "markdownDescription": "A list of tag instances.", "title": "Tags", "type": "array" } }, + "required": [ + "SubscriptionName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryReadiness::ReadinessCheck" + "AWS::Redshift::EventSubscription" ], "type": "string" }, @@ -339037,11 +306942,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "AWS::Redshift::Integration": { "additionalProperties": false, "properties": { "Condition": { @@ -339076,33 +306982,55 @@ "Properties": { "additionalProperties": false, "properties": { - "Cells": { - "items": { - "type": "string" + "AdditionalEncryptionContext": { + "additionalProperties": true, + "markdownDescription": "The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/) in the *AWS Key Management Service Developer Guide* .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A list of the cell Amazon Resource Names (ARNs) in the recovery group.", - "title": "Cells", - "type": "array" + "title": "AdditionalEncryptionContext", + "type": "object" }, - "RecoveryGroupName": { - "markdownDescription": "The name of the recovery group to create.", - "title": "RecoveryGroupName", + "IntegrationName": { + "markdownDescription": "The name of the integration.", + "title": "IntegrationName", + "type": "string" + }, + "KMSKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key identifier for the key used to encrypt the integration.", + "title": "KMSKeyId", + "type": "string" + }, + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the database used as the source for replication.", + "title": "SourceArn", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A collection of tags associated with a resource.", + "markdownDescription": "The list of tags associated with the integration.", "title": "Tags", "type": "array" + }, + "TargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Redshift data warehouse to use as the target for replication.", + "title": "TargetArn", + "type": "string" } }, + "required": [ + "SourceArn", + "TargetArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryReadiness::RecoveryGroup" + "AWS::Redshift::Integration" ], "type": "string" }, @@ -339116,11 +307044,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet": { + "AWS::Redshift::ScheduledAction": { "additionalProperties": false, "properties": { "Condition": { @@ -339155,42 +307084,55 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceSetName": { - "markdownDescription": "The name of the resource set to create.", - "title": "ResourceSetName", + "Enable": { + "markdownDescription": "If true, the schedule is enabled. If false, the scheduled action does not trigger. For more information about `state` of the scheduled action, see `ScheduledAction` .", + "title": "Enable", + "type": "boolean" + }, + "EndTime": { + "markdownDescription": "The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.", + "title": "EndTime", "type": "string" }, - "ResourceSetType": { - "markdownDescription": "The resource type of the resources in the resource set. Enter one of the following values for resource type:\n\nAWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage, AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm, AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume, AWS::ElasticLoadBalancing::LoadBalancer, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function, AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck, AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::Route53RecoveryReadiness::DNSTargetResource.\n\nNote that AWS::Route53RecoveryReadiness::DNSTargetResource is only used for this setting. It isn't an actual AWS CloudFormation resource type.", - "title": "ResourceSetType", + "IamRole": { + "markdownDescription": "The IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see [Using Identity-Based Policies for Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) in the *Amazon Redshift Cluster Management Guide* .", + "title": "IamRole", "type": "string" }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" - }, - "markdownDescription": "A list of resource objects in the resource set.", - "title": "Resources", - "type": "array" + "Schedule": { + "markdownDescription": "The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.\n\nFormat of at expressions is \" `at(yyyy-mm-ddThh:mm:ss)` \". For example, \" `at(2016-03-04T17:27:00)` \".\n\nFormat of cron expressions is \" `cron(Minutes Hours Day-of-month Month Day-of-week Year)` \". For example, \" `cron(0 10 ? * MON *)` \". For more information, see [Cron Expressions](https://docs.aws.amazon.com//AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) in the *Amazon CloudWatch Events User Guide* .", + "title": "Schedule", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A tag to associate with the parameters for a resource set.", - "title": "Tags", - "type": "array" + "ScheduledActionDescription": { + "markdownDescription": "The description of the scheduled action.", + "title": "ScheduledActionDescription", + "type": "string" + }, + "ScheduledActionName": { + "markdownDescription": "The name of the scheduled action.", + "title": "ScheduledActionName", + "type": "string" + }, + "StartTime": { + "markdownDescription": "The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.", + "title": "StartTime", + "type": "string" + }, + "TargetAction": { + "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ScheduledActionType", + "markdownDescription": "A JSON format string of the Amazon Redshift API operation with input parameters.\n\n\" `{\\\"ResizeCluster\\\":{\\\"NodeType\\\":\\\"ra3.4xlarge\\\",\\\"ClusterIdentifier\\\":\\\"my-test-cluster\\\",\\\"NumberOfNodes\\\":3}}` \".", + "title": "TargetAction" } }, "required": [ - "ResourceSetType", - "Resources" + "ScheduledActionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryReadiness::ResourceSet" + "AWS::Redshift::ScheduledAction" ], "type": "string" }, @@ -339209,110 +307151,90 @@ ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { + "AWS::Redshift::ScheduledAction.PauseClusterMessage": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "The domain name that acts as an ingress point to a portion of the customer application.", - "title": "DomainName", - "type": "string" - }, - "HostedZoneArn": { - "markdownDescription": "The hosted zone Amazon Resource Name (ARN) that contains the DNS record with the provided name of the target resource.", - "title": "HostedZoneArn", - "type": "string" - }, - "RecordSetId": { - "markdownDescription": "The Amazon Route 53 record set ID that uniquely identifies a DNS record, given a name and a type.", - "title": "RecordSetId", - "type": "string" - }, - "RecordType": { - "markdownDescription": "The type of DNS record of the target resource.", - "title": "RecordType", + "ClusterIdentifier": { + "markdownDescription": "The identifier of the cluster to be paused.", + "title": "ClusterIdentifier", "type": "string" - }, - "TargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource", - "markdownDescription": "The target resource that the Route 53 record points to.", - "title": "TargetResource" } }, + "required": [ + "ClusterIdentifier" + ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { + "AWS::Redshift::ScheduledAction.ResizeClusterMessage": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Network Load Balancer resource Amazon Resource Name (ARN).", - "title": "Arn", + "Classic": { + "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to `false` , the resize type is elastic.", + "title": "Classic", + "type": "boolean" + }, + "ClusterIdentifier": { + "markdownDescription": "The unique identifier for the cluster to resize.", + "title": "ClusterIdentifier", "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { - "additionalProperties": false, - "properties": { - "DomainName": { - "markdownDescription": "The DNS target domain name.", - "title": "DomainName", + }, + "ClusterType": { + "markdownDescription": "The new cluster type for the specified cluster.", + "title": "ClusterType", "type": "string" }, - "RecordSetId": { - "markdownDescription": "The Amazon Route 53 Resource Record Set ID.", - "title": "RecordSetId", + "NodeType": { + "markdownDescription": "The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.", + "title": "NodeType", "type": "string" + }, + "NumberOfNodes": { + "markdownDescription": "The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.", + "title": "NumberOfNodes", + "type": "number" } }, + "required": [ + "ClusterIdentifier" + ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { + "AWS::Redshift::ScheduledAction.ResumeClusterMessage": { "additionalProperties": false, "properties": { - "ComponentId": { - "markdownDescription": "The component identifier of the resource, generated when DNS target resource is used.", - "title": "ComponentId", - "type": "string" - }, - "DnsTargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource", - "markdownDescription": "A component for DNS/routing control readiness checks. This is a required setting when `ResourceSet` `ResourceSetType` is set to `AWS::Route53RecoveryReadiness::DNSTargetResource` . Do not set it for any other `ResourceSetType` setting.", - "title": "DnsTargetResource" - }, - "ReadinessScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "The recovery group Amazon Resource Name (ARN) or the cell ARN that the readiness checks for this resource set are scoped to.", - "title": "ReadinessScopes", - "type": "array" - }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS resource. This is a required setting for all `ResourceSet` `ResourceSetType` settings except `AWS::Route53RecoveryReadiness::DNSTargetResource` . Do not set this when `ResourceSetType` is set to `AWS::Route53RecoveryReadiness::DNSTargetResource` .", - "title": "ResourceArn", + "ClusterIdentifier": { + "markdownDescription": "The identifier of the cluster to be resumed.", + "title": "ClusterIdentifier", "type": "string" } }, + "required": [ + "ClusterIdentifier" + ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "AWS::Redshift::ScheduledAction.ScheduledActionType": { "additionalProperties": false, "properties": { - "NLBResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource", - "markdownDescription": "The Network Load Balancer resource that a DNS target resource points to.", - "title": "NLBResource" + "PauseCluster": { + "$ref": "#/definitions/AWS::Redshift::ScheduledAction.PauseClusterMessage", + "markdownDescription": "An action that runs a `PauseCluster` API operation.", + "title": "PauseCluster" }, - "R53Resource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord", - "markdownDescription": "The Route 53 resource that a DNS target resource record points to.", - "title": "R53Resource" + "ResizeCluster": { + "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ResizeClusterMessage", + "markdownDescription": "An action that runs a `ResizeCluster` API operation.", + "title": "ResizeCluster" + }, + "ResumeCluster": { + "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ResumeClusterMessage", + "markdownDescription": "An action that runs a `ResumeCluster` API operation.", + "title": "ResumeCluster" } }, "type": "object" }, - "AWS::Route53Resolver::FirewallConfig": { + "AWS::RedshiftServerless::Namespace": { "additionalProperties": false, "properties": { "Condition": { @@ -339347,18 +307269,107 @@ "Properties": { "additionalProperties": false, "properties": { - "FirewallFailOpen": { + "AdminPasswordSecretKmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if `ManageAdminPassword` is `true` .", + "title": "AdminPasswordSecretKmsKeyId", "type": "string" }, - "ResourceId": { + "AdminUserPassword": { + "markdownDescription": "The password of the administrator for the primary database created in the namespace.", + "title": "AdminUserPassword", + "type": "string" + }, + "AdminUsername": { + "markdownDescription": "The username of the administrator for the primary database created in the namespace.", + "title": "AdminUsername", + "type": "string" + }, + "DbName": { + "markdownDescription": "The name of the primary database created in the namespace.", + "title": "DbName", + "type": "string" + }, + "DefaultIamRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.", + "title": "DefaultIamRoleArn", + "type": "string" + }, + "FinalSnapshotName": { + "markdownDescription": "The name of the snapshot to be created before the namespace is deleted.", + "title": "FinalSnapshotName", + "type": "string" + }, + "FinalSnapshotRetentionPeriod": { + "markdownDescription": "How long to retain the final snapshot.", + "title": "FinalSnapshotRetentionPeriod", + "type": "number" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IAM roles to associate with the namespace.", + "title": "IamRoles", + "type": "array" + }, + "KmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service key used to encrypt your data.", + "title": "KmsKeyId", + "type": "string" + }, + "LogExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The types of logs the namespace can export. Available export types are `userlog` , `connectionlog` , and `useractivitylog` .", + "title": "LogExports", + "type": "array" + }, + "ManageAdminPassword": { + "markdownDescription": "If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. You can't use `AdminUserPassword` if `ManageAdminPassword` is true. If `ManageAdminPassword` is `false` or not set, Amazon Redshift uses `AdminUserPassword` for the admin user account's password.", + "title": "ManageAdminPassword", + "type": "boolean" + }, + "NamespaceName": { + "markdownDescription": "The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", + "title": "NamespaceName", + "type": "string" + }, + "NamespaceResourcePolicy": { + "markdownDescription": "The resource policy that will be attached to the namespace.", + "title": "NamespaceResourcePolicy", + "type": "object" + }, + "RedshiftIdcApplicationArn": { + "markdownDescription": "The ARN for the Redshift application that integrates with IAM Identity Center.", + "title": "RedshiftIdcApplicationArn", "type": "string" + }, + "SnapshotCopyConfigurations": { + "items": { + "$ref": "#/definitions/AWS::RedshiftServerless::Namespace.SnapshotCopyConfiguration" + }, + "markdownDescription": "", + "title": "SnapshotCopyConfigurations", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The map of the key-value pairs used to tag the namespace.", + "title": "Tags", + "type": "array" } }, + "required": [ + "NamespaceName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::FirewallConfig" + "AWS::RedshiftServerless::Namespace" ], "type": "string" }, @@ -339372,11 +307383,113 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::FirewallDomainList": { + "AWS::RedshiftServerless::Namespace.Namespace": { + "additionalProperties": false, + "properties": { + "AdminPasswordSecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the namespace's admin user credentials secret.", + "title": "AdminPasswordSecretArn", + "type": "string" + }, + "AdminPasswordSecretKmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.", + "title": "AdminPasswordSecretKmsKeyId", + "type": "string" + }, + "AdminUsername": { + "markdownDescription": "The username of the administrator for the first database created in the namespace.", + "title": "AdminUsername", + "type": "string" + }, + "CreationDate": { + "markdownDescription": "The date of when the namespace was created.", + "title": "CreationDate", + "type": "string" + }, + "DbName": { + "markdownDescription": "The name of the first database created in the namespace.", + "title": "DbName", + "type": "string" + }, + "DefaultIamRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.", + "title": "DefaultIamRoleArn", + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IAM roles to associate with the namespace.", + "title": "IamRoles", + "type": "array" + }, + "KmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service key used to encrypt your data.", + "title": "KmsKeyId", + "type": "string" + }, + "LogExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The types of logs the namespace can export. Available export types are User log, Connection log, and User activity log.", + "title": "LogExports", + "type": "array" + }, + "NamespaceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) associated with a namespace.", + "title": "NamespaceArn", + "type": "string" + }, + "NamespaceId": { + "markdownDescription": "The unique identifier of a namespace.", + "title": "NamespaceId", + "type": "string" + }, + "NamespaceName": { + "markdownDescription": "The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", + "title": "NamespaceName", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the namespace.", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RedshiftServerless::Namespace.SnapshotCopyConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationKmsKeyId": { + "markdownDescription": "The ID of the KMS key to use to encrypt your snapshots in the destination AWS Region .", + "title": "DestinationKmsKeyId", + "type": "string" + }, + "DestinationRegion": { + "markdownDescription": "The destination AWS Region to copy snapshots to.", + "title": "DestinationRegion", + "type": "string" + }, + "SnapshotRetentionPeriod": { + "markdownDescription": "The retention period of snapshots that are copied to the destination AWS Region .", + "title": "SnapshotRetentionPeriod", + "type": "number" + } + }, + "required": [ + "DestinationRegion" + ], + "type": "object" + }, + "AWS::RedshiftServerless::Snapshot": { "additionalProperties": false, "properties": { "Condition": { @@ -339411,38 +307524,38 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainFileUrl": { - "markdownDescription": "The fully qualified URL or URI of the file stored in Amazon Simple Storage Service (Amazon S3) that contains the list of domains to import.\n\nThe file must be in an S3 bucket that's in the same Region as your DNS Firewall. The file must be a text file and must contain a single domain per line.", - "title": "DomainFileUrl", + "NamespaceName": { + "markdownDescription": "The name of the namepsace.", + "title": "NamespaceName", "type": "string" }, - "Domains": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the domain lists that you have defined.", - "title": "Domains", - "type": "array" + "RetentionPeriod": { + "markdownDescription": "The retention period of the snapshot created by the scheduled action.", + "title": "RetentionPeriod", + "type": "number" }, - "Name": { - "markdownDescription": "The name of the domain list.", - "title": "Name", + "SnapshotName": { + "markdownDescription": "The name of the snapshot.", + "title": "SnapshotName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tag keys and values that you want to associate with the domain list.", + "markdownDescription": "An array of [Tag objects](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_Tag.html) to associate with the snapshot.", "title": "Tags", "type": "array" } }, + "required": [ + "SnapshotName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::FirewallDomainList" + "AWS::RedshiftServerless::Snapshot" ], "type": "string" }, @@ -339456,11 +307569,68 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroup": { + "AWS::RedshiftServerless::Snapshot.Snapshot": { + "additionalProperties": false, + "properties": { + "AdminUsername": { + "markdownDescription": "The username of the database within a snapshot.", + "title": "AdminUsername", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The unique identifier of the KMS key used to encrypt the snapshot.", + "title": "KmsKeyId", + "type": "string" + }, + "NamespaceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the namespace the snapshot was created from.", + "title": "NamespaceArn", + "type": "string" + }, + "NamespaceName": { + "markdownDescription": "The name of the namepsace.", + "title": "NamespaceName", + "type": "string" + }, + "OwnerAccount": { + "markdownDescription": "The owner AWS ; account of the snapshot.", + "title": "OwnerAccount", + "type": "string" + }, + "RetentionPeriod": { + "markdownDescription": "", + "title": "RetentionPeriod", + "type": "number" + }, + "SnapshotArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the snapshot.", + "title": "SnapshotArn", + "type": "string" + }, + "SnapshotCreateTime": { + "markdownDescription": "The timestamp of when the snapshot was created.", + "title": "SnapshotCreateTime", + "type": "string" + }, + "SnapshotName": { + "markdownDescription": "The name of the snapshot.", + "title": "SnapshotName", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the snapshot.", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RedshiftServerless::Workgroup": { "additionalProperties": false, "properties": { "Condition": { @@ -339480,48 +307650,132 @@ "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, - { + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BaseCapacity": { + "markdownDescription": "The base compute capacity of the workgroup in Redshift Processing Units (RPUs).", + "title": "BaseCapacity", + "type": "number" + }, + "ConfigParameters": { + "items": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.ConfigParameter" + }, + "markdownDescription": "The key of the parameter. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", + "title": "ConfigParameters", + "type": "array" + }, + "EnhancedVpcRouting": { + "markdownDescription": "The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.", + "title": "EnhancedVpcRouting", + "type": "boolean" + }, + "MaxCapacity": { + "markdownDescription": "The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.", + "title": "MaxCapacity", + "type": "number" + }, + "NamespaceName": { + "markdownDescription": "The namespace the workgroup is associated with.", + "title": "NamespaceName", + "type": "string" + }, + "Port": { + "markdownDescription": "The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.", + "title": "Port", + "type": "number" + }, + "PricePerformanceTarget": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.PerformanceTarget", + "markdownDescription": "An object that represents the price performance target settings for the workgroup.", + "title": "PricePerformanceTarget" + }, + "PubliclyAccessible": { + "markdownDescription": "A value that specifies whether the workgroup can be accessible from a public network.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "RecoveryPointId": { + "markdownDescription": "The recovery point id to restore from.", + "title": "RecoveryPointId", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of security group IDs to associate with the workgroup.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SnapshotArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the snapshot to restore from.", + "title": "SnapshotArn", + "type": "string" + }, + "SnapshotName": { + "markdownDescription": "The snapshot name to restore from.", + "title": "SnapshotName", + "type": "string" + }, + "SnapshotOwnerAccount": { + "markdownDescription": "The Amazon Web Services account that owns the snapshot.", + "title": "SnapshotOwnerAccount", + "type": "string" + }, + "SubnetIds": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, + "markdownDescription": "A list of subnet IDs the workgroup is associated with.", + "title": "SubnetIds", "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallRules": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" - }, - "markdownDescription": "A list of the rules that you have defined.", - "title": "FirewallRules", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the rule group.", - "title": "Name", - "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tag keys and values that you want to associate with the rule group.", + "markdownDescription": "The map of the key-value pairs used to tag the workgroup.", "title": "Tags", "type": "array" + }, + "TrackName": { + "markdownDescription": "An optional parameter for the name of the track for the workgroup. If you don't provide a track name, the workgroup is assigned to the current track.", + "title": "TrackName", + "type": "string" + }, + "Workgroup": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.Workgroup", + "markdownDescription": "The collection of computing resources from which an endpoint is created.", + "title": "Workgroup" + }, + "WorkgroupName": { + "markdownDescription": "The name of the workgroup.", + "title": "WorkgroupName", + "type": "string" } }, + "required": [ + "WorkgroupName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::FirewallRuleGroup" + "AWS::RedshiftServerless::Workgroup" ], "type": "string" }, @@ -339535,138 +307789,213 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedContentCategoryConfig": { + "AWS::RedshiftServerless::Workgroup.ConfigParameter": { "additionalProperties": false, "properties": { - "Category": { + "ParameterKey": { + "markdownDescription": "The key of the parameter. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", + "title": "ParameterKey", + "type": "string" + }, + "ParameterValue": { + "markdownDescription": "The value of the parameter to set.", + "title": "ParameterValue", "type": "string" } }, - "required": [ - "Category" - ], "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedThreatCategoryConfig": { + "AWS::RedshiftServerless::Workgroup.Endpoint": { "additionalProperties": false, "properties": { - "Category": { + "Address": { + "markdownDescription": "The DNS address of the VPC endpoint.", + "title": "Address", "type": "string" + }, + "Port": { + "markdownDescription": "The port that Amazon Redshift Serverless listens on.", + "title": "Port", + "type": "number" + }, + "VpcEndpoints": { + "items": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.VpcEndpoint" + }, + "markdownDescription": "An array of `VpcEndpoint` objects.", + "title": "VpcEndpoints", + "type": "array" } }, - "required": [ - "Category" - ], "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { + "AWS::RedshiftServerless::Workgroup.NetworkInterface": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advvanced rule:\n\n- `ALLOW` - Permit the request to go through. Not available for DNS Firewall Advanced rules.\n- `ALERT` - Permit the request to go through but send an alert to the logs.\n- `BLOCK` - Disallow the request. If this is specified,then `BlockResponse` must also be specified.\n\nif `BlockResponse` is `OVERRIDE` , then all of the following `OVERRIDE` attributes must be specified:\n\n- `BlockOverrideDnsType`\n- `BlockOverrideDomain`\n- `BlockOverrideTtl`", - "title": "Action", + "AvailabilityZone": { + "markdownDescription": "The availability Zone.", + "title": "AvailabilityZone", "type": "string" }, - "BlockOverrideDnsType": { - "markdownDescription": "The DNS record's type. This determines the format of the record value that you provided in `BlockOverrideDomain` . Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", - "title": "BlockOverrideDnsType", + "NetworkInterfaceId": { + "markdownDescription": "The unique identifier of the network interface.", + "title": "NetworkInterfaceId", "type": "string" }, - "BlockOverrideDomain": { - "markdownDescription": "The custom DNS record to send back in response to the query. Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", - "title": "BlockOverrideDomain", + "PrivateIpAddress": { + "markdownDescription": "The IPv4 address of the network interface within the subnet.", + "title": "PrivateIpAddress", "type": "string" }, - "BlockOverrideTtl": { - "markdownDescription": "The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", - "title": "BlockOverrideTtl", + "SubnetId": { + "markdownDescription": "The unique identifier of the subnet.", + "title": "SubnetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RedshiftServerless::Workgroup.PerformanceTarget": { + "additionalProperties": false, + "properties": { + "Level": { + "markdownDescription": "The target price performance level for the workgroup. Valid values include 1, 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, ECONOMICAL, BALANCED, RESOURCEFUL, and HIGH_PERFORMANCE.", + "title": "Level", "type": "number" }, - "BlockResponse": { - "markdownDescription": "The way that you want DNS Firewall to block the request. Used for the rule action setting `BLOCK` .\n\n- `NODATA` - Respond indicating that the query was successful, but no response is available for it.\n- `NXDOMAIN` - Respond indicating that the domain name that's in the query doesn't exist.\n- `OVERRIDE` - Provide a custom override in the response. This option requires custom handling details in the rule's `BlockOverride*` settings.", - "title": "BlockResponse", + "Status": { + "markdownDescription": "Whether the price performance target is enabled for the workgroup.", + "title": "Status", "type": "string" + } + }, + "type": "object" + }, + "AWS::RedshiftServerless::Workgroup.VpcEndpoint": { + "additionalProperties": false, + "properties": { + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.NetworkInterface" + }, + "markdownDescription": "One or more network interfaces of the endpoint. Also known as an interface endpoint.", + "title": "NetworkInterfaces", + "type": "array" }, - "ConfidenceThreshold": { - "markdownDescription": "The confidence threshold for DNS Firewall Advanced. You must provide this value when you create a DNS Firewall Advanced rule. The confidence level values mean:\n\n- `LOW` : Provides the highest detection rate for threats, but also increases false positives.\n- `MEDIUM` : Provides a balance between detecting threats and false positives.\n- `HIGH` : Detects only the most well corroborated threats with a low rate of false positives.", - "title": "ConfidenceThreshold", + "VpcEndpointId": { + "markdownDescription": "The connection endpoint ID for connecting to Amazon Redshift Serverless.", + "title": "VpcEndpointId", "type": "string" }, - "DnsThreatProtection": { - "markdownDescription": "The type of the DNS Firewall Advanced rule. Valid values are:\n\n- `DGA` : Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains to to launch malware attacks.\n- `DNS_TUNNELING` : DNS tunneling detection. DNS tunneling is used by attackers to exfiltrate data from the client by using the DNS tunnel without making a network connection to the client.", - "title": "DnsThreatProtection", + "VpcId": { + "markdownDescription": "The VPC identifier that the endpoint is associated with.", + "title": "VpcId", "type": "string" + } + }, + "type": "object" + }, + "AWS::RedshiftServerless::Workgroup.Workgroup": { + "additionalProperties": false, + "properties": { + "BaseCapacity": { + "markdownDescription": "The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).", + "title": "BaseCapacity", + "type": "number" }, - "FirewallDomainListId": { - "markdownDescription": "The ID of the domain list that's used in the rule.", - "title": "FirewallDomainListId", - "type": "string" + "ConfigParameters": { + "items": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.ConfigParameter" + }, + "markdownDescription": "An array of parameters to set for advanced control over a database. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", + "title": "ConfigParameters", + "type": "array" }, - "FirewallDomainRedirectionAction": { - "markdownDescription": "How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME, or DNAME.\n\n`Inspect_Redirection_Domain` (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.\n\n`Trust_Redirection_Domain` inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.", - "title": "FirewallDomainRedirectionAction", + "CreationDate": { + "markdownDescription": "The creation date of the workgroup.", + "title": "CreationDate", "type": "string" }, - "FirewallRuleType": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRuleType" + "Endpoint": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.Endpoint", + "markdownDescription": "The endpoint that is created from the workgroup.", + "title": "Endpoint" }, - "FirewallThreatProtectionId": { - "markdownDescription": "ID of the DNS Firewall Advanced rule.", - "title": "FirewallThreatProtectionId", - "type": "string" + "EnhancedVpcRouting": { + "markdownDescription": "The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.", + "title": "EnhancedVpcRouting", + "type": "boolean" }, - "Priority": { - "markdownDescription": "The priority of the rule in the rule group. This value must be unique within the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.", - "title": "Priority", + "MaxCapacity": { + "markdownDescription": "The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.", + "title": "MaxCapacity", "type": "number" }, - "Qtype": { - "markdownDescription": "The DNS query type you want the rule to evaluate. Allowed values are;\n\n- A: Returns an IPv4 address.\n- AAAA: Returns an Ipv6 address.\n- CAA: Restricts CAs that can create SSL/TLS certifications for the domain.\n- CNAME: Returns another domain name.\n- DS: Record that identifies the DNSSEC signing key of a delegated zone.\n- MX: Specifies mail servers.\n- NAPTR: Regular-expression-based rewriting of domain names.\n- NS: Authoritative name servers.\n- PTR: Maps an IP address to a domain name.\n- SOA: Start of authority record for the zone.\n- SPF: Lists the servers authorized to send emails from a domain.\n- SRV: Application specific values that identify servers.\n- TXT: Verifies email senders and application-specific values.\n- A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPE NUMBER , where the NUMBER can be 1-65334, for example, TYPE28. For more information, see [List of DNS record types](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/List_of_DNS_record_types) .", - "title": "Qtype", + "NamespaceName": { + "markdownDescription": "The namespace the workgroup is associated with.", + "title": "NamespaceName", "type": "string" }, + "PricePerformanceTarget": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.PerformanceTarget", + "markdownDescription": "An object that represents the price performance target settings for the workgroup.", + "title": "PricePerformanceTarget" + }, + "PubliclyAccessible": { + "markdownDescription": "A value that specifies whether the workgroup can be accessible from a public network.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of security group IDs to associate with the workgroup.", + "title": "SecurityGroupIds", + "type": "array" + }, "Status": { + "markdownDescription": "The status of the workgroup.", + "title": "Status", "type": "string" - } - }, - "required": [ - "Action", - "Priority" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallRuleType": { - "additionalProperties": false, - "properties": { - "FirewallAdvancedContentCategory": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedContentCategoryConfig" }, - "FirewallAdvancedThreatCategory": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedThreatCategoryConfig" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of subnet IDs the workgroup is associated with.", + "title": "SubnetIds", + "type": "array" }, - "PartnerThreatProtection": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.PartnerThreatProtectionConfig" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup.PartnerThreatProtectionConfig": { - "additionalProperties": false, - "properties": { - "Partner": { + "TrackName": { + "markdownDescription": "The name of the track for the workgroup.", + "title": "TrackName", + "type": "string" + }, + "WorkgroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) that links to the workgroup.", + "title": "WorkgroupArn", + "type": "string" + }, + "WorkgroupId": { + "markdownDescription": "The unique identifier of the workgroup.", + "title": "WorkgroupId", + "type": "string" + }, + "WorkgroupName": { + "markdownDescription": "The name of the workgroup.", + "title": "WorkgroupName", "type": "string" } }, - "required": [ - "Partner" - ], "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroupAssociation": { + "AWS::RefactorSpaces::Application": { "additionalProperties": false, "properties": { "Condition": { @@ -339701,50 +308030,51 @@ "Properties": { "additionalProperties": false, "properties": { - "FirewallRuleGroupId": { - "markdownDescription": "The unique identifier of the firewall rule group.", - "title": "FirewallRuleGroupId", - "type": "string" + "ApiGatewayProxy": { + "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput", + "markdownDescription": "The endpoint URL of the Amazon API Gateway proxy.", + "title": "ApiGatewayProxy" }, - "MutationProtection": { - "markdownDescription": "If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.", - "title": "MutationProtection", + "EnvironmentIdentifier": { + "markdownDescription": "The unique identifier of the environment.", + "title": "EnvironmentIdentifier", "type": "string" }, "Name": { - "markdownDescription": "The name of the association.", + "markdownDescription": "The name of the application.", "title": "Name", "type": "string" }, - "Priority": { - "markdownDescription": "The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC. DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.\n\nYou must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 101, 200, and so on. You can change the priority setting for a rule group association after you create it.\n\nThe allowed values for `Priority` are between 100 and 9900 (excluding 100 and 9900).", - "title": "Priority", - "type": "number" + "ProxyType": { + "markdownDescription": "The proxy type of the proxy created within the application.", + "title": "ProxyType", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tag keys and values that you want to associate with the rule group.", + "markdownDescription": "The tags assigned to the application.", "title": "Tags", "type": "array" }, "VpcId": { - "markdownDescription": "The unique identifier of the VPC that is associated with the rule group.", + "markdownDescription": "The ID of the virtual private cloud (VPC).", "title": "VpcId", "type": "string" } }, "required": [ - "FirewallRuleGroupId", - "Priority", + "EnvironmentIdentifier", + "Name", + "ProxyType", "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::FirewallRuleGroupAssociation" + "AWS::RefactorSpaces::Application" ], "type": "string" }, @@ -339763,7 +308093,23 @@ ], "type": "object" }, - "AWS::Route53Resolver::OutpostResolver": { + "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "markdownDescription": "The type of endpoint to use for the API Gateway proxy. If no value is specified in the request, the value is set to `REGIONAL` by default.\n\nIf the value is set to `PRIVATE` in the request, this creates a private API endpoint that is isolated from the public internet. The private endpoint can only be accessed by using Amazon Virtual Private Cloud (Amazon VPC) interface endpoints for the Amazon API Gateway that has been granted access. For more information about creating a private connection with Refactor Spaces and interface endpoint ( AWS PrivateLink ) availability, see [Access Refactor Spaces using an interface endpoint ( AWS PrivateLink )](https://docs.aws.amazon.com/migrationhub-refactor-spaces/latest/userguide/vpc-interface-endpoints.html) .", + "title": "EndpointType", + "type": "string" + }, + "StageName": { + "markdownDescription": "The name of the API Gateway stage. The name defaults to `prod` .", + "title": "StageName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RefactorSpaces::Environment": { "additionalProperties": false, "properties": { "Condition": { @@ -339798,45 +308144,35 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceCount": { - "markdownDescription": "Amazon EC2 instance count for the Resolver on the Outpost.", - "title": "InstanceCount", - "type": "number" + "Description": { + "markdownDescription": "A description of the environment.", + "title": "Description", + "type": "string" }, "Name": { - "markdownDescription": "Name of the Resolver.", + "markdownDescription": "The name of the environment.", "title": "Name", "type": "string" }, - "OutpostArn": { - "markdownDescription": "The ARN (Amazon Resource Name) for the Outpost.", - "title": "OutpostArn", - "type": "string" - }, - "PreferredInstanceType": { - "markdownDescription": "The Amazon EC2 instance type. If you specify this, you must also specify a value for the `OutpostArn` .", - "title": "PreferredInstanceType", + "NetworkFabricType": { + "markdownDescription": "The network fabric type of the environment.", + "title": "NetworkFabricType", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A key value pair that helps you identify a Route\u00a053 Resolver .", + "markdownDescription": "The tags assigned to the environment.", "title": "Tags", "type": "array" } }, - "required": [ - "Name", - "OutpostArn", - "PreferredInstanceType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::RefactorSpaces::Environment" ], "type": "string" }, @@ -339850,12 +308186,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverConfig": { + "AWS::RefactorSpaces::Route": { "additionalProperties": false, "properties": { "Condition": { @@ -339890,26 +308225,56 @@ "Properties": { "additionalProperties": false, "properties": { - "AutodefinedReverseFlag": { - "markdownDescription": "Represents the desired status of `AutodefinedReverse` . The only supported value on creation is `DISABLE` . Deletion of this resource will return `AutodefinedReverse` to its default value of `ENABLED` .", - "title": "AutodefinedReverseFlag", + "ApplicationIdentifier": { + "markdownDescription": "The unique identifier of the application.", + "title": "ApplicationIdentifier", "type": "string" }, - "ResourceId": { - "markdownDescription": "The ID of the Amazon Virtual Private Cloud VPC or a Route 53 Profile that you're configuring Resolver for.", - "title": "ResourceId", + "DefaultRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.DefaultRouteInput", + "markdownDescription": "Configuration for the default route type.", + "title": "DefaultRoute" + }, + "EnvironmentIdentifier": { + "markdownDescription": "The unique identifier of the environment.", + "title": "EnvironmentIdentifier", + "type": "string" + }, + "RouteType": { + "markdownDescription": "The route type of the route.", + "title": "RouteType", + "type": "string" + }, + "ServiceIdentifier": { + "markdownDescription": "The unique identifier of the service.", + "title": "ServiceIdentifier", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the route.", + "title": "Tags", + "type": "array" + }, + "UriPathRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput", + "markdownDescription": "The configuration for the URI path route type.", + "title": "UriPathRoute" } }, "required": [ - "AutodefinedReverseFlag", - "ResourceId" + "ApplicationIdentifier", + "EnvironmentIdentifier", + "RouteType", + "ServiceIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverConfig" + "AWS::RefactorSpaces::Route" ], "type": "string" }, @@ -339928,70 +308293,58 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { + "AWS::RefactorSpaces::Route.DefaultRouteInput": { "additionalProperties": false, "properties": { - "Condition": { + "ActivationState": { + "markdownDescription": "If set to `ACTIVE` , traffic is forwarded to this route\u2019s service after the route is created.", + "title": "ActivationState", "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "required": [ + "ActivationState" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "additionalProperties": false, + "properties": { + "ActivationState": { + "markdownDescription": "If set to `ACTIVE` , traffic is forwarded to this route\u2019s service after the route is created.", + "title": "ActivationState", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AppendSourcePath": { + "markdownDescription": "If set to `true` , this option appends the source path to the service URL endpoint.", + "title": "AppendSourcePath", + "type": "boolean" }, - "Metadata": { - "type": "object" + "IncludeChildPaths": { + "markdownDescription": "Indicates whether to match all subpaths of the given source path. If this value is `false` , requests must match the source path exactly before they are forwarded to this route's service.", + "title": "IncludeChildPaths", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "markdownDescription": "The ID of the virtual private cloud (VPC) that you're configuring the DNSSEC validation status for.", - "title": "ResourceId", - "type": "string" - } + "Methods": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" - ], - "type": "string" + "markdownDescription": "A list of HTTP methods to match. An empty list matches all values. If a method is present, only HTTP requests using that method are forwarded to this route\u2019s service.", + "title": "Methods", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePath": { + "markdownDescription": "This is the path that Refactor Spaces uses to match traffic. Paths must start with `/` and are relative to the base of the application. To use path parameters in the source path, add a variable in curly braces. For example, the resource path {user} represents a path parameter called 'user'.", + "title": "SourcePath", "type": "string" } }, "required": [ - "Type" + "ActivationState" ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::RefactorSpaces::Service": { "additionalProperties": false, "properties": { "Condition": { @@ -340026,90 +308379,66 @@ "Properties": { "additionalProperties": false, "properties": { - "Direction": { - "markdownDescription": "Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:\n\n- `INBOUND` : allows DNS queries to your VPC from your network\n- `OUTBOUND` : allows DNS queries from your VPC to your network\n- `INBOUND_DELEGATION` : Resolver delegates queries to Route 53 private hosted zones from your network.", - "title": "Direction", + "ApplicationIdentifier": { + "markdownDescription": "The unique identifier of the application.", + "title": "ApplicationIdentifier", "type": "string" }, - "Dns64Enabled": { - "type": "boolean" - }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "markdownDescription": "The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.\n\n> Even though the minimum is 1, Route\u00a053 requires that you create at least two.", - "title": "IpAddresses", - "type": "array" - }, - "Ipv6InternetAccessEnabled": { - "type": "boolean" - }, - "Name": { - "markdownDescription": "A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.", - "title": "Name", + "Description": { + "markdownDescription": "A description of the service.", + "title": "Description", "type": "string" }, - "OutpostArn": { - "markdownDescription": "The ARN (Amazon Resource Name) for the Outpost.", - "title": "OutpostArn", + "EndpointType": { + "markdownDescription": "The endpoint type of the service.", + "title": "EndpointType", "type": "string" }, - "PreferredInstanceType": { - "markdownDescription": "The Amazon EC2 instance type.", - "title": "PreferredInstanceType", + "EnvironmentIdentifier": { + "markdownDescription": "The unique identifier of the environment.", + "title": "EnvironmentIdentifier", "type": "string" }, - "Protocols": { - "items": { - "type": "string" - }, - "markdownDescription": "Protocols used for the endpoint. DoH-FIPS is applicable for a default inbound endpoints only.\n\nFor an inbound endpoint you can apply the protocols as follows:\n\n- Do53 and DoH in combination.\n- Do53 and DoH-FIPS in combination.\n- Do53 alone.\n- DoH alone.\n- DoH-FIPS alone.\n- None, which is treated as Do53.\n\nFor a delegation inbound endpoint you can use Do53 only.\n\nFor an outbound endpoint you can apply the protocols as follows:\n\n- Do53 and DoH in combination.\n- Do53 alone.\n- DoH alone.\n- None, which is treated as Do53.", - "title": "Protocols", - "type": "array" + "LambdaEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput", + "markdownDescription": "A summary of the configuration for the AWS Lambda endpoint type.", + "title": "LambdaEndpoint" }, - "ResolverEndpointType": { - "markdownDescription": "The Resolver endpoint IP address type.", - "title": "ResolverEndpointType", + "Name": { + "markdownDescription": "The name of the service.", + "title": "Name", "type": "string" }, - "RniEnhancedMetricsEnabled": { - "markdownDescription": "Indicates whether RNI enhanced metrics are enabled for the Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When disabled, these metrics are not published.", - "title": "RniEnhancedMetricsEnabled", - "type": "boolean" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.", - "title": "SecurityGroupIds", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Route 53 Resolver doesn't support updating tags through CloudFormation.", + "markdownDescription": "The tags assigned to the service.", "title": "Tags", "type": "array" }, - "TargetNameServerMetricsEnabled": { - "markdownDescription": "Indicates whether target name server metrics are enabled for the outbound Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When disabled, these metrics are not published. This feature is not supported for inbound Resolver endpoint.", - "title": "TargetNameServerMetricsEnabled", - "type": "boolean" + "UrlEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput", + "markdownDescription": "The summary of the configuration for the URL endpoint type.", + "title": "UrlEndpoint" + }, + "VpcId": { + "markdownDescription": "The ID of the virtual private cloud (VPC).", + "title": "VpcId", + "type": "string" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "ApplicationIdentifier", + "EndpointType", + "EnvironmentIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::RefactorSpaces::Service" ], "type": "string" }, @@ -340128,31 +308457,40 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::RefactorSpaces::Service.LambdaEndpointInput": { "additionalProperties": false, "properties": { - "Ip": { - "markdownDescription": "The IPv4 address that you want to use for DNS queries.", - "title": "Ip", + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Lambda function or alias.", + "title": "Arn", "type": "string" - }, - "Ipv6": { - "markdownDescription": "The IPv6 address that you want to use for DNS queries.", - "title": "Ipv6", + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "additionalProperties": false, + "properties": { + "HealthUrl": { + "markdownDescription": "The health check URL of the URL endpoint type. If the URL is a public endpoint, the `HealthUrl` must also be a public endpoint. If the URL is a private endpoint inside a virtual private cloud (VPC), the health URL must also be a private endpoint, and the host must be the same as the URL.", + "title": "HealthUrl", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet that contains the IP address.", - "title": "SubnetId", + "Url": { + "markdownDescription": "The URL to route traffic to. The URL must be an [rfc3986-formatted URL](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc3986) . If the host is a domain name, the name must be resolvable over the public internet. If the scheme is `https` , the top level domain of the host must be listed in the [IANA root zone database](https://docs.aws.amazon.com/https://www.iana.org/domains/root/db) .", + "title": "Url", "type": "string" } }, "required": [ - "SubnetId" + "Url" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::Rekognition::Collection": { "additionalProperties": false, "properties": { "Condition": { @@ -340187,30 +308525,28 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { - "markdownDescription": "The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.", - "title": "DestinationArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the query logging configuration.", - "title": "Name", + "CollectionId": { + "markdownDescription": "ID for the collection that you are creating.", + "title": "CollectionId", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "A set of tags (key-value pairs) that you want to attach to the collection.", "title": "Tags", "type": "array" } }, + "required": [ + "CollectionId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::Rekognition::Collection" ], "type": "string" }, @@ -340224,11 +308560,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::Rekognition::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -340263,22 +308600,28 @@ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { - "markdownDescription": "The ID of the query logging configuration that a VPC is associated with.", - "title": "ResolverQueryLogConfigId", + "ProjectName": { + "markdownDescription": "The name of the project to create.", + "title": "ProjectName", "type": "string" }, - "ResourceId": { - "markdownDescription": "The ID of the Amazon VPC that is associated with the query logging configuration.", - "title": "ResourceId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" } }, + "required": [ + "ProjectName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::Rekognition::Project" ], "type": "string" }, @@ -340292,11 +308635,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::Rekognition::StreamProcessor": { "additionalProperties": false, "properties": { "Condition": { @@ -340331,56 +308675,87 @@ "Properties": { "additionalProperties": false, "properties": { - "DelegationRecord": { - "markdownDescription": "DNS queries with delegation records that point to this domain name are forwarded to resolvers on your network.", - "title": "DelegationRecord", - "type": "string" + "BoundingBoxRegionsOfInterest": { + "items": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.BoundingBox" + }, + "markdownDescription": "List of BoundingBox objects, each of which denotes a region of interest on screen. For more information, see the BoundingBox field of [RegionOfInterest](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RegionOfInterest) .", + "title": "BoundingBoxRegionsOfInterest", + "type": "array" }, - "DomainName": { - "markdownDescription": "DNS queries for this domain name are forwarded to the IP addresses that are specified in `TargetIps` . If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).", - "title": "DomainName", + "ConnectedHomeSettings": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.ConnectedHomeSettings", + "markdownDescription": "Connected home settings to use on a streaming video. You can use a stream processor for connected home features and select what you want the stream processor to detect, such as people or pets. When the stream processor has started, one notification is sent for each object class specified. For more information, see the ConnectedHome section of [StreamProcessorSettings](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorSettings) .", + "title": "ConnectedHomeSettings" + }, + "DataSharingPreference": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.DataSharingPreference", + "markdownDescription": "Allows you to opt in or opt out to share data with Rekognition to improve model performance. You can choose this option at the account level or on a per-stream basis. Note that if you opt out at the account level this setting is ignored on individual streams. For more information, see [StreamProcessorDataSharingPreference](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorDataSharingPreference) .", + "title": "DataSharingPreference" + }, + "FaceSearchSettings": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.FaceSearchSettings", + "markdownDescription": "The input parameters used to recognize faces in a streaming video analyzed by an Amazon Rekognition stream processor. For more information regarding the contents of the parameters, see [FaceSearchSettings](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_FaceSearchSettings) .", + "title": "FaceSearchSettings" + }, + "KinesisDataStream": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.KinesisDataStream", + "markdownDescription": "Amazon Rekognition's Video Stream Processor takes a Kinesis video stream as input. This is the Amazon Kinesis Data Streams instance to which the Amazon Rekognition stream processor streams the analysis results. This must be created within the constraints specified at [KinesisDataStream](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_KinesisDataStream) .", + "title": "KinesisDataStream" + }, + "KinesisVideoStream": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.KinesisVideoStream", + "markdownDescription": "The Kinesis video stream that provides the source of the streaming video for an Amazon Rekognition Video stream processor. For more information, see [KinesisVideoStream](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_KinesisVideoStream) .", + "title": "KinesisVideoStream" + }, + "KmsKeyId": { + "markdownDescription": "The identifier for your Amazon Key Management Service key (Amazon KMS key). Optional parameter for connected home stream processors used to encrypt results and data published to your Amazon S3 bucket. For more information, see the KMSKeyId section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", + "title": "KmsKeyId", "type": "string" }, "Name": { - "markdownDescription": "The name for the Resolver rule, which you specified when you created the Resolver rule.\n\nThe name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.", + "markdownDescription": "The Name attribute specifies the name of the stream processor and it must be within the constraints described in the Name section of [StreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessor) . If you don't specify a name, Amazon CloudFormation generates a unique ID and uses that ID for the stream processor name.", "title": "Name", "type": "string" }, - "ResolverEndpointId": { - "markdownDescription": "The ID of the endpoint that the rule is associated with.", - "title": "ResolverEndpointId", - "type": "string" + "NotificationChannel": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.NotificationChannel", + "markdownDescription": "The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the object detection results and completion status of a video analysis operation. Amazon Rekognition publishes a notification the first time an object of interest or a person is detected in the video stream. Amazon Rekognition also publishes an end-of-session notification with a summary when the stream processing session is complete. For more information, see [StreamProcessorNotificationChannel](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorNotificationChannel) .", + "title": "NotificationChannel" }, - "RuleType": { - "markdownDescription": "When you want to forward DNS queries for specified domain name to resolvers on your network, specify `FORWARD` or `DELEGATE` . If a query matches multiple Resolver rules (example.com and www.example.com), outbound DNS queries are routed using the Resolver rule that contains the most specific domain name (www.example.com).\n\nWhen you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify `SYSTEM` .\n\nFor example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify `FORWARD` for `RuleType` . To then have Resolver process queries for apex.example.com, you create a rule and specify `SYSTEM` for `RuleType` .\n\nCurrently, only Resolver can create rules that have a value of `RECURSIVE` for `RuleType` .", - "title": "RuleType", + "PolygonRegionsOfInterest": { + "markdownDescription": "A set of ordered lists of [Point](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_Point) objects. Each entry of the set contains a polygon denoting a region of interest on the screen. Each polygon is an ordered list of [Point](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_Point) objects. For more information, see the Polygon field of [RegionOfInterest](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RegionOfInterest) .", + "title": "PolygonRegionsOfInterest", + "type": "object" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role that allows access to the stream processor. The IAM role provides Rekognition read permissions to the Kinesis stream. It also provides write permissions to an Amazon S3 bucket and Amazon Simple Notification Service topic for a connected home stream processor. This is required for both face search and connected home stream processors. For information about constraints, see the RoleArn section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", + "title": "RoleArn", "type": "string" }, + "S3Destination": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.S3Destination", + "markdownDescription": "The Amazon S3 bucket location to which Amazon Rekognition publishes the detailed inference results of a video analysis operation. For more information, see the S3Destination section of [StreamProcessorOutput](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorOutput) .", + "title": "S3Destination" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags help organize and categorize your Resolver rules. Each tag consists of a key and an optional value, both of which you define.", + "markdownDescription": "A set of tags (key-value pairs) that you want to attach to the stream processor. For more information, see the Tags section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", "title": "Tags", "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "markdownDescription": "An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network.", - "title": "TargetIps", - "type": "array" } }, "required": [ - "RuleType" + "KinesisVideoStream", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::Rekognition::StreamProcessor" ], "type": "string" }, @@ -340399,116 +308774,155 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "AWS::Rekognition::StreamProcessor.BoundingBox": { "additionalProperties": false, "properties": { - "Ip": { - "markdownDescription": "One IPv4 address that you want to forward DNS queries to.", - "title": "Ip", - "type": "string" + "Height": { + "markdownDescription": "Height of the bounding box as a ratio of the overall image height.", + "title": "Height", + "type": "number" }, - "Ipv6": { - "markdownDescription": "One IPv6 address that you want to forward DNS queries to.", - "title": "Ipv6", - "type": "string" + "Left": { + "markdownDescription": "Left coordinate of the bounding box as a ratio of overall image width.", + "title": "Left", + "type": "number" }, - "Port": { - "markdownDescription": "The port at `Ip` that you want to forward DNS queries to.", - "title": "Port", - "type": "string" + "Top": { + "markdownDescription": "Top coordinate of the bounding box as a ratio of overall image height.", + "title": "Top", + "type": "number" }, - "Protocol": { - "markdownDescription": "The protocols for the target address. The protocol you choose needs to be supported by the outbound endpoint of the Resolver rule.", - "title": "Protocol", + "Width": { + "markdownDescription": "Width of the bounding box as a ratio of the overall image width.", + "title": "Width", + "type": "number" + } + }, + "required": [ + "Height", + "Left", + "Top", + "Width" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.ConnectedHomeSettings": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies what you want to detect in the video, such as people, packages, or pets. The current valid labels you can include in this list are: \"PERSON\", \"PET\", \"PACKAGE\", and \"ALL\".", + "title": "Labels", + "type": "array" + }, + "MinConfidence": { + "markdownDescription": "The minimum confidence required to label an object in the video.", + "title": "MinConfidence", + "type": "number" + } + }, + "required": [ + "Labels" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.DataSharingPreference": { + "additionalProperties": false, + "properties": { + "OptIn": { + "markdownDescription": "Describes the opt-in status applied to a stream processor's data sharing policy.", + "title": "OptIn", + "type": "boolean" + } + }, + "required": [ + "OptIn" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.FaceSearchSettings": { + "additionalProperties": false, + "properties": { + "CollectionId": { + "markdownDescription": "The ID of a collection that contains faces that you want to search for.", + "title": "CollectionId", "type": "string" }, - "ServerNameIndication": { - "markdownDescription": "The Server Name Indication of the DoH server that you want to forward queries to. This is only used if the Protocol of the `TargetAddress` is `DoH` .", - "title": "ServerNameIndication", + "FaceMatchThreshold": { + "markdownDescription": "Minimum face match confidence score that must be met to return a result for a recognized face. The default is 80. 0 is the lowest confidence. 100 is the highest confidence. Values between 0 and 100 are accepted, and values lower than 80 are set to 80.", + "title": "FaceMatchThreshold", + "type": "number" + } + }, + "required": [ + "CollectionId" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.KinesisDataStream": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "ARN of the output Amazon Kinesis Data Streams stream.", + "title": "Arn", "type": "string" } }, + "required": [ + "Arn" + ], "type": "object" }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::Rekognition::StreamProcessor.KinesisVideoStream": { "additionalProperties": false, "properties": { - "Condition": { + "Arn": { + "markdownDescription": "ARN of the Kinesis video stream stream that streams the source video.", + "title": "Arn", "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.NotificationChannel": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The ARN of the SNS topic that receives notifications.", + "title": "Arn", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The name of an association between a Resolver rule and a VPC.\n\nThe name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.", - "title": "Name", - "type": "string" - }, - "ResolverRuleId": { - "markdownDescription": "The ID of the Resolver rule that you associated with the VPC that is specified by `VPCId` .", - "title": "ResolverRuleId", - "type": "string" - }, - "VPCId": { - "markdownDescription": "The ID of the VPC that you associated the Resolver rule with.", - "title": "VPCId", - "type": "string" - } - }, - "required": [ - "ResolverRuleId", - "VPCId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" - ], + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.S3Destination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name of a stream processor's exports.", + "title": "BucketName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ObjectKeyPrefix": { + "markdownDescription": "Describes the destination Amazon Simple Storage Service (Amazon S3) object keys of a stream processor's exports.", + "title": "ObjectKeyPrefix", "type": "string" } }, "required": [ - "Type", - "Properties" + "BucketName" ], "type": "object" }, - "AWS::S3::AccessGrant": { + "AWS::ResilienceHub::App": { "additionalProperties": false, "properties": { "Condition": { @@ -340543,55 +308957,74 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessGrantsLocationConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration", - "markdownDescription": "The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access. It contains the `S3SubPrefix` field. The grant scope is the result of appending the subprefix to the location scope of the registered location.", - "title": "AccessGrantsLocationConfiguration" + "AppAssessmentSchedule": { + "markdownDescription": "Assessment execution schedule with 'Daily' or 'Disabled' values.", + "title": "AppAssessmentSchedule", + "type": "string" }, - "AccessGrantsLocationId": { - "markdownDescription": "The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID `default` to the default location `s3://` and assigns an auto-generated ID to other locations that you register.", - "title": "AccessGrantsLocationId", + "AppTemplateBody": { + "markdownDescription": "A JSON string that provides information about your application structure. To learn more about the `appTemplateBody` template, see the sample template in [Sample appTemplateBody template](https://docs.aws.amazon.com//resilience-hub/latest/APIReference/API_PutDraftAppVersionTemplate.html#API_PutDraftAppVersionTemplate_Examples) .\n\nThe `appTemplateBody` JSON string has the following structure:\n\n- *`resources`*\n\nThe list of logical resources that needs to be included in the AWS Resilience Hub application.\n\nType: Array\n\n> Don't add the resources that you want to exclude. \n\nEach `resources` array item includes the following fields:\n\n- *`logicalResourceId`*\n\nThe logical identifier of the resource.\n\nType: Object\n\nEach `logicalResourceId` object includes the following fields:\n\n- `identifier`\n\nIdentifier of the resource.\n\nType: String\n- `logicalStackName`\n\nName of the AWS CloudFormation stack this resource belongs to.\n\nType: String\n- `resourceGroupName`\n\nName of the resource group this resource belongs to.\n\nType: String\n- `terraformSourceName`\n\nName of the Terraform S3 state file this resource belongs to.\n\nType: String\n- `eksSourceName`\n\nName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.\n\n> This parameter accepts values in \"eks-cluster/namespace\" format. \n\nType: String\n- *`type`*\n\nThe type of resource.\n\nType: string\n- *`name`*\n\nName of the resource.\n\nType: String\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`\n- *`appComponents`*\n\nThe list of Application Components (AppComponent) that this resource belongs to. If an AppComponent is not part of the AWS Resilience Hub application, it will be added.\n\nType: Array\n\nEach `appComponents` array item includes the following fields:\n\n- `name`\n\nName of the AppComponent.\n\nType: String\n- `type`\n\nThe type of AppComponent. For more information about the types of AppComponent, see [Grouping resources in an AppComponent](https://docs.aws.amazon.com/resilience-hub/latest/userguide/AppComponent.grouping.html) .\n\nType: String\n- `resourceNames`\n\nThe list of included resources that are assigned to the AppComponent.\n\nType: Array of strings\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`\n- *`excludedResources`*\n\nThe list of logical resource identifiers to be excluded from the application.\n\nType: Array\n\n> Don't add the resources that you want to include. \n\nEach `excludedResources` array item includes the following fields:\n\n- *`logicalResourceIds`*\n\nThe logical identifier of the resource.\n\nType: Object\n\n> You can configure only one of the following fields:\n> \n> - `logicalStackName`\n> - `resourceGroupName`\n> - `terraformSourceName`\n> - `eksSourceName` \n\nEach `logicalResourceIds` object includes the following fields:\n\n- `identifier`\n\nThe identifier of the resource.\n\nType: String\n- `logicalStackName`\n\nName of the AWS CloudFormation stack this resource belongs to.\n\nType: String\n- `resourceGroupName`\n\nName of the resource group this resource belongs to.\n\nType: String\n- `terraformSourceName`\n\nName of the Terraform S3 state file this resource belongs to.\n\nType: String\n- `eksSourceName`\n\nName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.\n\n> This parameter accepts values in \"eks-cluster/namespace\" format. \n\nType: String\n- *`version`*\n\nThe AWS Resilience Hub application version.\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`", + "title": "AppTemplateBody", "type": "string" }, - "ApplicationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.", - "title": "ApplicationArn", + "Description": { + "markdownDescription": "Optional description for an application.", + "title": "Description", "type": "string" }, - "Grantee": { - "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee", - "markdownDescription": "The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to AWS IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.", - "title": "Grantee" + "EventSubscriptions": { + "items": { + "$ref": "#/definitions/AWS::ResilienceHub::App.EventSubscription" + }, + "markdownDescription": "The list of events you would like to subscribe and get notification for. Currently, AWS Resilience Hub supports notifications only for *Drift detected* and *Scheduled assessment failure* events.", + "title": "EventSubscriptions", + "type": "array" }, - "Permission": { - "markdownDescription": "The type of access that you are granting to your S3 data, which can be set to one of the following values:\n\n- `READ` \u2013 Grant read-only access to the S3 data.\n- `WRITE` \u2013 Grant write-only access to the S3 data.\n- `READWRITE` \u2013 Grant both read and write access to the S3 data.", - "title": "Permission", + "Name": { + "markdownDescription": "Name for the application.", + "title": "Name", + "type": "string" + }, + "PermissionModel": { + "$ref": "#/definitions/AWS::ResilienceHub::App.PermissionModel", + "markdownDescription": "Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment.", + "title": "PermissionModel" + }, + "ResiliencyPolicyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resiliency policy.", + "title": "ResiliencyPolicyArn", "type": "string" }, - "S3PrefixType": { - "markdownDescription": "The type of `S3SubPrefix` . The only possible value is `Object` . Pass this value if the access grant scope is an object. Do not pass this value if the access grant scope is a bucket or a bucket and a prefix.", - "title": "S3PrefixType", - "type": "string" + "ResourceMappings": { + "items": { + "$ref": "#/definitions/AWS::ResilienceHub::App.ResourceMapping" + }, + "markdownDescription": "An array of `ResourceMapping` objects.", + "title": "ResourceMappings", + "type": "array" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The AWS resource tags that you are adding to the access grant. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", "title": "Tags", - "type": "array" + "type": "object" } }, "required": [ - "AccessGrantsLocationId", - "Grantee", - "Permission" + "AppTemplateBody", + "Name", + "ResourceMappings" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessGrant" + "AWS::ResilienceHub::App" ], "type": "string" }, @@ -340610,112 +309043,129 @@ ], "type": "object" }, - "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "AWS::ResilienceHub::App.EventSubscription": { "additionalProperties": false, "properties": { - "S3SubPrefix": { - "markdownDescription": "The `S3SubPrefix` is appended to the location scope creating the grant scope. Use this field to narrow the scope of the grant to a subset of the location scope. This field is required if the location scope is the default location `s3://` because you cannot create a grant for all of your S3 data in the Region and must narrow the scope. For example, if the location scope is the default location `s3://` , the `S3SubPrefx` can be a `/*` , so the full grant scope path would be `s3:///*` . Or the `S3SubPrefx` can be `/*` , so the full grant scope path would be `s3:///*` .\n\nIf the `S3SubPrefix` includes a prefix, append the wildcard character `*` after the prefix to indicate that you want to include all object key names in the bucket that start with that prefix.", - "title": "S3SubPrefix", + "EventType": { + "markdownDescription": "The type of event you would like to subscribe and get notification for. Currently, AWS Resilience Hub supports notifications only for *Drift detected* ( `DriftDetected` ) and *Scheduled assessment failure* ( `ScheduledAssessmentFailure` ) events.", + "title": "EventType", + "type": "string" + }, + "Name": { + "markdownDescription": "Unique name to identify an event subscription.", + "title": "Name", + "type": "string" + }, + "SnsTopicArn": { + "markdownDescription": "Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: `arn:partition:sns:region:account:topic-name` . For more information about ARNs, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *AWS General Reference* guide.", + "title": "SnsTopicArn", "type": "string" } }, "required": [ - "S3SubPrefix" + "EventType", + "Name" ], "type": "object" }, - "AWS::S3::AccessGrant.Grantee": { + "AWS::ResilienceHub::App.PermissionModel": { "additionalProperties": false, "properties": { - "GranteeIdentifier": { - "markdownDescription": "The unique identifier of the `Grantee` . If the grantee type is `IAM` , the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` . You can obtain this UUID from your AWS IAM Identity Center instance.", - "title": "GranteeIdentifier", + "CrossAccountRoleArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application.\n\n> - These ARNs are required only when your resources are in other accounts and you have different role name in these accounts. Else, the invoker role name will be used in the other accounts.\n> - These roles must have a trust policy with `iam:AssumeRole` permission to the invoker role in the primary account.", + "title": "CrossAccountRoleArns", + "type": "array" + }, + "InvokerRoleName": { + "markdownDescription": "Existing AWS IAM role name in the primary AWS account that will be assumed by AWS Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.\n\nIf your IAM role includes a path, you must include the path in the `invokerRoleName` parameter. For example, if your IAM role's ARN is `arn:aws:iam:123456789012:role/my-path/role-name` , you should pass `my-path/role-name` .\n\n> - You must have `iam:passRole` permission for this role while creating or updating the application.\n> - Currently, `invokerRoleName` accepts only `[A-Za-z0-9_+=,.@-]` characters.", + "title": "InvokerRoleName", "type": "string" }, - "GranteeType": { - "markdownDescription": "The type of the grantee to which access has been granted. It can be one of the following values:\n\n- `IAM` - An IAM user or role.\n- `DIRECTORY_USER` - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.\n- `DIRECTORY_GROUP` - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.", - "title": "GranteeType", + "Type": { + "markdownDescription": "Defines how AWS Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your AWS account, or by using the credentials of the current IAM user.", + "title": "Type", "type": "string" } }, "required": [ - "GranteeIdentifier", - "GranteeType" + "Type" ], "type": "object" }, - "AWS::S3::AccessGrantsInstance": { + "AWS::ResilienceHub::App.PhysicalResourceId": { "additionalProperties": false, "properties": { - "Condition": { + "AwsAccountId": { + "markdownDescription": "The AWS account that owns the physical resource.", + "title": "AwsAccountId", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AwsRegion": { + "markdownDescription": "The AWS Region that the physical resource is located in.", + "title": "AwsRegion", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Identifier": { + "markdownDescription": "Identifier of the physical resource.", + "title": "Identifier", + "type": "string" }, - "Metadata": { - "type": "object" + "Type": { + "markdownDescription": "Specifies the type of physical resource identifier.\n\n- **Arn** - The resource identifier is an Amazon Resource Name (ARN) and it can identify the following list of resources:\n\n- `AWS::ECS::Service`\n- `AWS::EFS::FileSystem`\n- `AWS::ElasticLoadBalancingV2::LoadBalancer`\n- `AWS::Lambda::Function`\n- `AWS::SNS::Topic`\n- **Native** - The resource identifier is an AWS Resilience Hub -native identifier and it can identify the following list of resources:\n\n- `AWS::ApiGateway::RestApi`\n- `AWS::ApiGatewayV2::Api`\n- `AWS::AutoScaling::AutoScalingGroup`\n- `AWS::DocDB::DBCluster`\n- `AWS::DocDB::DBGlobalCluster`\n- `AWS::DocDB::DBInstance`\n- `AWS::DynamoDB::GlobalTable`\n- `AWS::DynamoDB::Table`\n- `AWS::EC2::EC2Fleet`\n- `AWS::EC2::Instance`\n- `AWS::EC2::NatGateway`\n- `AWS::EC2::Volume`\n- `AWS::ElasticLoadBalancing::LoadBalancer`\n- `AWS::RDS::DBCluster`\n- `AWS::RDS::DBInstance`\n- `AWS::RDS::GlobalCluster`\n- `AWS::Route53::RecordSet`\n- `AWS::S3::Bucket`\n- `AWS::SQS::Queue`", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Identifier", + "Type" + ], + "type": "object" + }, + "AWS::ResilienceHub::App.ResourceMapping": { + "additionalProperties": false, + "properties": { + "EksSourceName": { + "markdownDescription": "Name of the Amazon Elastic Kubernetes Service cluster and namespace that this resource is mapped to when the `mappingType` is `EKS` .\n\n> This parameter accepts values in \"eks-cluster/namespace\" format.", + "title": "EksSourceName", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityCenterArn": { - "markdownDescription": "If you would like to associate your S3 Access Grants instance with an AWS IAM Identity Center instance, use this field to pass the Amazon Resource Name (ARN) of the AWS IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center.", - "title": "IdentityCenterArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The AWS resource tags that you are adding to the S3 Access Grants instance. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" + "LogicalStackName": { + "markdownDescription": "Name of the CloudFormation stack this resource is mapped to when the `mappingType` is `CfnStack` .", + "title": "LogicalStackName", + "type": "string" }, - "Type": { - "enum": [ - "AWS::S3::AccessGrantsInstance" - ], + "MappingType": { + "markdownDescription": "Specifies the type of resource mapping.", + "title": "MappingType", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PhysicalResourceId": { + "$ref": "#/definitions/AWS::ResilienceHub::App.PhysicalResourceId", + "markdownDescription": "Identifier of the physical resource.", + "title": "PhysicalResourceId" + }, + "ResourceName": { + "markdownDescription": "Name of the resource that this resource is mapped to when the `mappingType` is `Resource` .", + "title": "ResourceName", + "type": "string" + }, + "TerraformSourceName": { + "markdownDescription": "Name of the Terraform source that this resource is mapped to when the `mappingType` is `Terraform` .", + "title": "TerraformSourceName", "type": "string" } }, "required": [ - "Type" + "MappingType", + "PhysicalResourceId" ], "type": "object" }, - "AWS::S3::AccessGrantsLocation": { + "AWS::ResilienceHub::ResiliencyPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -340750,34 +309200,53 @@ "Properties": { "additionalProperties": false, "properties": { - "IamRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.", - "title": "IamRoleArn", + "DataLocationConstraint": { + "markdownDescription": "Specifies a high-level geographical location constraint for where your resilience policy data can be stored.", + "title": "DataLocationConstraint", "type": "string" }, - "LocationScope": { - "markdownDescription": "The S3 URI path to the location that you are registering. The location scope can be the default S3 location `s3://` , the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the `engineering/` prefix or object key names that start with the `marketing/campaigns/` prefix.", - "title": "LocationScope", + "Policy": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap", + "markdownDescription": "The resiliency policy.", + "title": "Policy" + }, + "PolicyDescription": { + "markdownDescription": "Description of the resiliency policy.", + "title": "PolicyDescription", + "type": "string" + }, + "PolicyName": { + "markdownDescription": "The name of the policy", + "title": "PolicyName", "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The AWS resource tags that you are adding to the S3 Access Grants location. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", "title": "Tags", - "type": "array" + "type": "object" + }, + "Tier": { + "markdownDescription": "The tier for this resiliency policy, ranging from the highest severity ( `MissionCritical` ) to lowest ( `NonCritical` ).", + "title": "Tier", + "type": "string" } }, "required": [ - "IamRoleArn", - "LocationScope" + "Policy", + "PolicyName", + "Tier" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessGrantsLocation" + "AWS::ResilienceHub::ResiliencyPolicy" ], "type": "string" }, @@ -340796,7 +309265,58 @@ ], "type": "object" }, - "AWS::S3::AccessPoint": { + "AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy": { + "additionalProperties": false, + "properties": { + "RpoInSecs": { + "markdownDescription": "Recovery Point Objective (RPO) in seconds.", + "title": "RpoInSecs", + "type": "number" + }, + "RtoInSecs": { + "markdownDescription": "Recovery Time Objective (RTO) in seconds.", + "title": "RtoInSecs", + "type": "number" + } + }, + "required": [ + "RpoInSecs", + "RtoInSecs" + ], + "type": "object" + }, + "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { + "additionalProperties": false, + "properties": { + "AZ": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", + "markdownDescription": "Defines the RTO and RPO targets for Availability Zone disruption.", + "title": "AZ" + }, + "Hardware": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", + "markdownDescription": "Defines the RTO and RPO targets for hardware disruption.", + "title": "Hardware" + }, + "Region": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", + "markdownDescription": "Defines the RTO and RPO targets for Regional disruption.", + "title": "Region" + }, + "Software": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", + "markdownDescription": "Defines the RTO and RPO targets for software disruption.", + "title": "Software" + } + }, + "required": [ + "AZ", + "Hardware", + "Software" + ], + "type": "object" + }, + "AWS::ResilienceHubV2::Policy": { "additionalProperties": false, "properties": { "Condition": { @@ -340831,53 +309351,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the bucket associated with this access point.", - "title": "Bucket", - "type": "string" + "AvailabilitySlo": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.AvailabilitySlo" }, - "BucketAccountId": { - "markdownDescription": "The AWS account ID associated with the S3 bucket associated with this access point.", - "title": "BucketAccountId", + "DataRecovery": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.DataRecoveryTargets" + }, + "Description": { "type": "string" }, - "Name": { - "markdownDescription": "The name of this access point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.", - "title": "Name", + "KmsKeyId": { "type": "string" }, - "Policy": { - "markdownDescription": "The access point policy associated with this access point.", - "title": "Policy", - "type": "object" + "MultiAz": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.MultiAzTargets" }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration", - "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", - "title": "PublicAccessBlockConfiguration" + "MultiRegion": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.MultiRegionTargets" + }, + "Name": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see [Using tags for attribute-based access control (ABAC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac) .", - "title": "Tags", "type": "array" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration", - "markdownDescription": "The Virtual Private Cloud (VPC) configuration for this access point, if one exists.", - "title": "VpcConfiguration" } }, "required": [ - "Bucket" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessPoint" + "AWS::ResilienceHubV2::Policy" ], "type": "string" }, @@ -340896,56 +309405,60 @@ ], "type": "object" }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "AWS::ResilienceHubV2::Policy.AvailabilitySlo": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", - "title": "BlockPublicAcls", - "type": "boolean" - }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", - "title": "BlockPublicPolicy", - "type": "boolean" + "Target": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ResilienceHubV2::Policy.DataRecoveryTargets": { + "additionalProperties": false, + "properties": { + "TimeBetweenBackupsInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ResilienceHubV2::Policy.MultiAzTargets": { + "additionalProperties": false, + "properties": { + "DisasterRecoveryApproach": { + "type": "string" }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "title": "IgnorePublicAcls", - "type": "boolean" + "RpoInMinutes": { + "type": "number" }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "title": "RestrictPublicBuckets", - "type": "boolean" + "RtoInMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::S3::AccessPoint.VpcConfiguration": { + "AWS::ResilienceHubV2::Policy.MultiRegionTargets": { "additionalProperties": false, "properties": { - "VpcId": { - "markdownDescription": "If this field is specified, the access point will only allow connections from the specified VPC ID.", - "title": "VpcId", + "DisasterRecoveryApproach": { "type": "string" + }, + "RpoInMinutes": { + "type": "number" + }, + "RtoInMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::S3::Bucket": { + "AWS::ResilienceHubV2::Service": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, - "Connectors": { - "additionalProperties": { - "$ref": "#/definitions/EmbeddedConnector" - }, - "title": "Connectors", - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -340975,148 +309488,67 @@ "Properties": { "additionalProperties": false, "properties": { - "AbacStatus": { - "markdownDescription": "The ABAC status of the general purpose bucket. When ABAC is enabled for the general purpose bucket, you can use tags to manage access to the general purpose buckets as well as for cost tracking purposes. When ABAC is disabled for the general purpose buckets, you can only use tags for cost tracking purposes. For more information, see [Using tags with S3 general purpose buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html) .", - "title": "AbacStatus", - "type": "string" - }, - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration", - "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .", - "title": "AccelerateConfiguration" - }, - "AccessControl": { - "markdownDescription": "> This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide* . \n\nA canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* .\n\nS3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n\nThe majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html) . For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide* .", - "title": "AccessControl", - "type": "string" - }, - "AnalyticsConfigurations": { + "Assertions": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.AssertionDefinition" }, - "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "title": "AnalyticsConfigurations", "type": "array" }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption", - "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .", - "title": "BucketEncryption" - }, - "BucketName": { - "markdownDescription": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) . For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) in the *Amazon S3 User Guide* .\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": "BucketName", - "type": "string" + "AssociatedSystems": { + "items": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.AssociatedSystem" + }, + "type": "array" }, - "BucketNamePrefix": { + "DependencyDiscovery": { "type": "string" }, - "BucketNamespace": { + "Description": { "type": "string" }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration", - "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .", - "title": "CorsConfiguration" - }, - "IntelligentTieringConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" - }, - "markdownDescription": "Defines how Amazon S3 handles Intelligent-Tiering storage.", - "title": "IntelligentTieringConfigurations", - "type": "array" - }, - "InventoryConfigurations": { + "InputSources": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.InputSourceDefinition" }, - "markdownDescription": "Specifies the S3 Inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .", - "title": "InventoryConfigurations", "type": "array" }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration", - "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .", - "title": "LifecycleConfiguration" + "KmsKeyId": { + "type": "string" }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration", - "markdownDescription": "Settings that define where logs are stored.", - "title": "LoggingConfiguration" + "Name": { + "type": "string" }, - "MetadataConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataConfiguration", - "markdownDescription": "The S3 Metadata configuration for a general purpose bucket.", - "title": "MetadataConfiguration" + "PermissionModel": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.PermissionModel" }, - "MetadataTableConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableConfiguration", - "markdownDescription": "The metadata table configuration of an Amazon S3 general purpose bucket.", - "title": "MetadataTableConfiguration" + "PolicyArn": { + "type": "string" }, - "MetricsConfigurations": { + "Regions": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + "type": "string" }, - "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) .", - "title": "MetricsConfigurations", "type": "array" }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration", - "markdownDescription": "Configuration that defines how Amazon S3 handles bucket notifications.", - "title": "NotificationConfiguration" - }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration", - "markdownDescription": "> This operation is not supported for directory buckets. \n\nPlaces an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .\n\n> - The `DefaultRetention` settings require both a mode and a period.\n> - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.\n> - You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html) . > You must URL encode any signed header values that contain spaces. For example, if your header value is `my file.txt` , containing two spaces after `my` , you must URL encode this value to `my%20%20file.txt` .", - "title": "ObjectLockConfiguration" - }, - "ObjectLockEnabled": { - "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", - "title": "ObjectLockEnabled", - "type": "boolean" - }, - "OwnershipControls": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls", - "markdownDescription": "Configuration that defines how Amazon S3 handles Object Ownership rules.", - "title": "OwnershipControls" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration", - "markdownDescription": "Configuration that defines how Amazon S3 handles public access.", - "title": "PublicAccessBlockConfiguration" - }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration", - "markdownDescription": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the `VersioningConfiguration` property.\n\nAmazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", - "title": "ReplicationConfiguration" + "ReportConfiguration": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ServiceReportConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An arbitrary set of tags (key-value pairs) for this S3 bucket.", - "title": "Tags", "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration", - "markdownDescription": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n\n> When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations ( `PUT` or `DELETE` ) on objects in the bucket.", - "title": "VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration", - "markdownDescription": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) .", - "title": "WebsiteConfiguration" } }, + "required": [ + "Name", + "Regions" + ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::Bucket" + "AWS::ResilienceHubV2::Service" ], "type": "string" }, @@ -341130,1587 +309562,1783 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "markdownDescription": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.", - "title": "DaysAfterInitiation", - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "markdownDescription": "Specifies the transfer acceleration status of the bucket.", - "title": "AccelerationStatus", - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "markdownDescription": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference* .", - "title": "Owner", - "type": "string" - } - }, - "required": [ - "Owner" - ], - "type": "object" - }, - "AWS::S3::Bucket.AnalyticsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "markdownDescription": "The ID that identifies the analytics configuration.", - "title": "Id", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The prefix that an object must have to be included in the analytics results.", - "title": "Prefix", - "type": "string" - }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis", - "markdownDescription": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.", - "title": "StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "markdownDescription": "The tags to use when evaluating an analytics filter.\n\nThe analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.", - "title": "TagFilters", - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.AnnotationTableConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationState": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration" - }, - "Role": { - "type": "string" - }, - "TableArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ConfigurationState" - ], - "type": "object" - }, - "AWS::S3::Bucket.BlockedEncryptionTypes": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "items": { - "type": "string" - }, - "markdownDescription": "The object encryption type that you want to block or unblock for an Amazon S3 general purpose bucket.\n\n> Currently, this parameter only supports blocking or unblocking server side encryption with customer-provided keys (SSE-C). For more information about SSE-C, see [Using server-side encryption with customer-provided keys (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html) .", - "title": "EncryptionType", - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "markdownDescription": "Specifies the default server-side-encryption configuration.", - "title": "ServerSideEncryptionConfiguration", - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "markdownDescription": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", - "title": "CorsRules", - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "Headers that are specified in the `Access-Control-Request-Headers` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", - "title": "AllowedHeaders", - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "An HTTP method that you allow the origin to run.\n\n*Allowed values* : `GET` | `PUT` | `HEAD` | `POST` | `DELETE`", - "title": "AllowedMethods", - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more origins you want customers to be able to access the bucket from.", - "title": "AllowedOrigins", - "type": "array" - }, - "ExposedHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).", - "title": "ExposedHeaders", - "type": "array" - }, - "Id": { - "markdownDescription": "A unique identifier for this rule. The value must be no more than 255 characters.", - "title": "Id", - "type": "string" - }, - "MaxAge": { - "markdownDescription": "The time in seconds that your browser is to cache the preflight response for the specified resource.", - "title": "MaxAge", - "type": "number" - } - }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "type": "object" - }, - "AWS::S3::Bucket.DataExport": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination", - "markdownDescription": "The place to store the data for an analysis.", - "title": "Destination" - }, - "OutputSchemaVersion": { - "markdownDescription": "The version of the output schema to use when exporting data. Must be `V_1` .", - "title": "OutputSchemaVersion", - "type": "string" - } - }, - "required": [ - "Destination", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::Bucket.DefaultRetention": { - "additionalProperties": false, - "properties": { - "Days": { - "markdownDescription": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", - "title": "Days", - "type": "number" - }, - "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", - "type": "string" - }, - "Years": { - "markdownDescription": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", - "title": "Years", - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "Indicates whether to replicate delete markers.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "markdownDescription": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n\n> Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.", - "title": "BucketAccountId", - "type": "string" - }, - "BucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the bucket to which data is exported.", - "title": "BucketArn", - "type": "string" - }, - "Format": { - "markdownDescription": "Specifies the file format used when exporting data to Amazon S3.\n\n*Allowed values* : `CSV` | `ORC` | `Parquet`", - "title": "Format", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The prefix to use when exporting data. The prefix is prepended to all results.", - "title": "Prefix", - "type": "string" - } - }, - "required": [ - "BucketArn", - "Format" - ], - "type": "object" - }, - "AWS::S3::Bucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicaKmsKeyID": { - "markdownDescription": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", - "title": "ReplicaKmsKeyID", - "type": "string" - } - }, - "required": [ - "ReplicaKmsKeyID" - ], - "type": "object" - }, - "AWS::S3::Bucket.EventBridgeConfiguration": { - "additionalProperties": false, - "properties": { - "EventBridgeEnabled": { - "markdownDescription": "Enables delivery of events to Amazon EventBridge.", - "title": "EventBridgeEnabled", - "type": "boolean" - } - }, - "required": [ - "EventBridgeEnabled" - ], - "type": "object" - }, - "AWS::S3::Bucket.FilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value that the filter searches for in object key names.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.IntelligentTieringConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "markdownDescription": "The ID used to identify the S3 Intelligent-Tiering configuration.", - "title": "Id", - "type": "string" - }, - "Prefix": { - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.", - "title": "Prefix", - "type": "string" - }, - "Status": { - "markdownDescription": "Specifies the status of the configuration.", - "title": "Status", - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "markdownDescription": "A container for a key-value pair.", - "title": "TagFilters", - "type": "array" - }, - "Tierings": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Tiering" - }, - "markdownDescription": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` .\n\n> You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.", - "title": "Tierings", - "type": "array" - } - }, - "required": [ - "Id", - "Status", - "Tierings" - ], - "type": "object" - }, - "AWS::S3::Bucket.InventoryConfiguration": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination", - "markdownDescription": "Contains information about where to publish the inventory results.", - "title": "Destination" - }, - "Enabled": { - "markdownDescription": "Specifies whether the inventory is enabled or disabled. If set to `True` , an inventory list is generated. If set to `False` , no inventory list is generated.", - "title": "Enabled", - "type": "boolean" - }, - "Id": { - "markdownDescription": "The ID used to identify the inventory configuration.", - "title": "Id", - "type": "string" - }, - "IncludedObjectVersions": { - "markdownDescription": "Object versions to include in the inventory list. If set to `All` , the list includes all the object versions, which adds the version-related fields `VersionId` , `IsLatest` , and `DeleteMarker` to the list. If set to `Current` , the list does not contain these version-related fields.", - "title": "IncludedObjectVersions", - "type": "string" - }, - "OptionalFields": { - "items": { - "type": "string" - }, - "markdownDescription": "Contains the optional fields that are included in the inventory results.", - "title": "OptionalFields", - "type": "array" - }, - "Prefix": { - "markdownDescription": "Specifies the inventory filter prefix.", - "title": "Prefix", - "type": "string" - }, - "ScheduleFrequency": { - "markdownDescription": "Specifies the schedule for generating inventory results.", - "title": "ScheduleFrequency", - "type": "string" - } - }, - "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" - ], - "type": "object" - }, - "AWS::S3::Bucket.InventoryTableConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationState": { - "markdownDescription": "The configuration state of the inventory table, indicating whether the inventory table is enabled or disabled.", - "title": "ConfigurationState", - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration", - "markdownDescription": "The encryption configuration for the inventory table.", - "title": "EncryptionConfiguration" - }, - "TableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the inventory table.", - "title": "TableArn", - "type": "string" - }, - "TableName": { - "markdownDescription": "The name of the inventory table.", - "title": "TableName", - "type": "string" - } - }, - "required": [ - "ConfigurationState" - ], - "type": "object" - }, - "AWS::S3::Bucket.JournalTableConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration", - "markdownDescription": "The encryption configuration for the journal table.", - "title": "EncryptionConfiguration" - }, - "RecordExpiration": { - "$ref": "#/definitions/AWS::S3::Bucket.RecordExpiration", - "markdownDescription": "The journal table record expiration settings for the journal table.", - "title": "RecordExpiration" - }, - "TableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the journal table.", - "title": "TableArn", - "type": "string" - }, - "TableName": { - "markdownDescription": "The name of the journal table.", - "title": "TableName", - "type": "string" - } - }, - "required": [ - "RecordExpiration" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.LambdaConfiguration": { + "AWS::ResilienceHubV2::Service.AssertionDefinition": { "additionalProperties": false, "properties": { - "Event": { - "markdownDescription": "The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", - "title": "Event", - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", - "markdownDescription": "The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a `.jpg` extension invoke the function when they are added to the Amazon S3 bucket.", - "title": "Filter" - }, - "Function": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.", - "title": "Function", + "Text": { "type": "string" } }, "required": [ - "Event", - "Function" + "Text" ], "type": "object" }, - "AWS::S3::Bucket.LifecycleConfiguration": { + "AWS::ResilienceHubV2::Service.AssociatedSystem": { "additionalProperties": false, "properties": { - "Rules": { + "SystemArn": { + "type": "string" + }, + "UserJourneyIds": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" + "type": "string" }, - "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 bucket.", - "title": "Rules", "type": "array" + } + }, + "required": [ + "SystemArn" + ], + "type": "object" + }, + "AWS::ResilienceHubV2::Service.CrossAccountRoleConfiguration": { + "additionalProperties": false, + "properties": { + "CrossAccountRoleArn": { + "type": "string" }, - "TransitionDefaultMinimumObjectSize": { - "markdownDescription": "Indicates which default minimum object size behavior is applied to the lifecycle configuration.\n\n> This parameter applies to general purpose buckets only. It isn't supported for directory bucket lifecycle configurations. \n\n- `all_storage_classes_128K` - Objects smaller than 128 KB will not transition to any storage class by default.\n- `varies_by_storage_class` - Objects smaller than 128 KB will transition to Glacier Flexible Retrieval or Glacier Deep Archive storage classes. By default, all other storage classes will prevent transitions smaller than 128 KB.\n\nTo customize the minimum object size for any transition you can add a filter that specifies a custom `ObjectSizeGreaterThan` or `ObjectSizeLessThan` in the body of your transition rule. Custom filters always take precedence over the default transition behavior.", - "title": "TransitionDefaultMinimumObjectSize", + "ExternalId": { "type": "string" } }, "required": [ - "Rules" + "CrossAccountRoleArn" ], "type": "object" }, - "AWS::S3::Bucket.LoggingConfiguration": { + "AWS::ResilienceHubV2::Service.DisasterRecoverySource": { "additionalProperties": false, "properties": { - "DestinationBucketName": { - "markdownDescription": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the `LoggingConfiguration` property is defined.", - "title": "DestinationBucketName", + "PolicyName": { "type": "string" }, - "LogFilePrefix": { - "markdownDescription": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.", - "title": "LogFilePrefix", + "Value": { "type": "string" - }, - "TargetObjectKeyFormat": { - "$ref": "#/definitions/AWS::S3::Bucket.TargetObjectKeyFormat", - "markdownDescription": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.", - "title": "TargetObjectKeyFormat" } }, "type": "object" }, - "AWS::S3::Bucket.MetadataConfiguration": { + "AWS::ResilienceHubV2::Service.EffectivePolicyValues": { "additionalProperties": false, "properties": { - "AnnotationTableConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AnnotationTableConfiguration" + "AvailabilitySlo": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.SloSource" }, - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataDestination", - "markdownDescription": "The destination information for the S3 Metadata configuration.", - "title": "Destination" + "MultiAzDrApproach": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.DisasterRecoverySource" }, - "InventoryTableConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryTableConfiguration", - "markdownDescription": "The inventory table configuration for a metadata configuration.", - "title": "InventoryTableConfiguration" + "MultiAzRpo": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" }, - "JournalTableConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.JournalTableConfiguration", - "markdownDescription": "The journal table configuration for a metadata configuration.", - "title": "JournalTableConfiguration" + "MultiAzRto": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + }, + "MultiRegionDrApproach": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.DisasterRecoverySource" + }, + "MultiRegionRpo": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + }, + "MultiRegionRto": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" } }, - "required": [ - "JournalTableConfiguration" - ], "type": "object" }, - "AWS::S3::Bucket.MetadataDestination": { + "AWS::ResilienceHubV2::Service.EksSource": { "additionalProperties": false, "properties": { - "TableBucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.", - "title": "TableBucketArn", - "type": "string" - }, - "TableBucketType": { - "markdownDescription": "The type of the table bucket where the metadata configuration is stored. The `aws` value indicates an AWS managed table bucket, and the `customer` value indicates a customer-managed table bucket. V2 metadata configurations are stored in AWS managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.", - "title": "TableBucketType", + "ClusterArn": { "type": "string" }, - "TableNamespace": { - "markdownDescription": "The namespace in the table bucket where the metadata tables for a metadata configuration are stored.", - "title": "TableNamespace", - "type": "string" + "Namespaces": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "TableBucketType" + "ClusterArn", + "Namespaces" ], "type": "object" }, - "AWS::S3::Bucket.MetadataTableConfiguration": { + "AWS::ResilienceHubV2::Service.InputSourceDefinition": { "additionalProperties": false, "properties": { - "S3TablesDestination": { - "$ref": "#/definitions/AWS::S3::Bucket.S3TablesDestination", - "markdownDescription": "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", - "title": "S3TablesDestination" + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ResourceConfiguration" } }, "required": [ - "S3TablesDestination" + "ResourceConfiguration" ], "type": "object" }, - "AWS::S3::Bucket.MetadataTableEncryptionConfiguration": { + "AWS::ResilienceHubV2::Service.PermissionModel": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "If server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN). You must specify a customer-managed KMS key that's located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.", - "title": "KmsKeyArn", - "type": "string" + "CrossAccountRoleArns": { + "items": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.CrossAccountRoleConfiguration" + }, + "type": "array" }, - "SseAlgorithm": { - "markdownDescription": "The encryption type specified for a metadata table. To specify server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS), use the `aws:kms` value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the `AES256` value.", - "title": "SseAlgorithm", + "InvokerRoleName": { "type": "string" } }, "required": [ - "SseAlgorithm" + "InvokerRoleName" ], "type": "object" }, - "AWS::S3::Bucket.Metrics": { + "AWS::ResilienceHubV2::Service.ReportOutputConfiguration": { "additionalProperties": false, "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue", - "markdownDescription": "A container specifying the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event.", - "title": "EventThreshold" - }, - "Status": { - "markdownDescription": "Specifies whether the replication metrics are enabled.", - "title": "Status", - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.S3ReportOutputConfiguration" } }, "required": [ - "Status" + "S3" ], "type": "object" }, - "AWS::S3::Bucket.MetricsConfiguration": { + "AWS::ResilienceHubV2::Service.ResourceConfiguration": { "additionalProperties": false, "properties": { - "AccessPointArn": { - "markdownDescription": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.", - "title": "AccessPointArn", + "CfnStackArn": { "type": "string" }, - "Id": { - "markdownDescription": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.", - "title": "Id", + "DesignFileS3Url": { "type": "string" }, - "Prefix": { - "markdownDescription": "The prefix that an object must have to be included in the metrics results.", - "title": "Prefix", - "type": "string" + "Eks": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.EksSource" }, - "TagFilters": { + "ResourceTags": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ResourceTag" }, - "markdownDescription": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.", - "title": "TagFilters", "type": "array" + }, + "TfStateFileUrl": { + "type": "string" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::S3::Bucket.NoncurrentVersionExpiration": { + "AWS::ResilienceHubV2::Service.ResourceTag": { "additionalProperties": false, "properties": { - "NewerNoncurrentVersions": { - "markdownDescription": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", - "title": "NewerNoncurrentVersions", - "type": "number" + "Key": { + "type": "string" }, - "NoncurrentDays": { - "markdownDescription": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", - "title": "NoncurrentDays", - "type": "number" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "NoncurrentDays" + "Key", + "Values" ], "type": "object" }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { + "AWS::ResilienceHubV2::Service.S3ReportOutputConfiguration": { "additionalProperties": false, "properties": { - "NewerNoncurrentVersions": { - "markdownDescription": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", - "title": "NewerNoncurrentVersions", - "type": "number" - }, - "StorageClass": { - "markdownDescription": "The class of storage used to store the object.", - "title": "StorageClass", + "BucketOwner": { "type": "string" }, - "TransitionInDays": { - "markdownDescription": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates How Long an Object Has Been Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", - "title": "TransitionInDays", - "type": "number" + "BucketPath": { + "type": "string" } }, "required": [ - "StorageClass", - "TransitionInDays" + "BucketOwner", + "BucketPath" ], "type": "object" }, - "AWS::S3::Bucket.NotificationConfiguration": { + "AWS::ResilienceHubV2::Service.ServiceReportConfiguration": { "additionalProperties": false, "properties": { - "EventBridgeConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EventBridgeConfiguration", - "markdownDescription": "Enables delivery of events to Amazon EventBridge.", - "title": "EventBridgeConfiguration" - }, - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "markdownDescription": "Describes the AWS Lambda functions to invoke and the events for which to invoke them.", - "title": "LambdaConfigurations", - "type": "array" - }, - "QueueConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" - }, - "markdownDescription": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", - "title": "QueueConfigurations", - "type": "array" - }, - "TopicConfigurations": { + "ReportOutput": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ReportOutputConfiguration" }, - "markdownDescription": "The topic to which notifications are sent and the events for which notifications are generated.", - "title": "TopicConfigurations", "type": "array" } }, - "type": "object" - }, - "AWS::S3::Bucket.NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter", - "markdownDescription": "A container for object key name prefix and suffix filtering rules.", - "title": "S3Key" - } - }, "required": [ - "S3Key" + "ReportOutput" ], "type": "object" }, - "AWS::S3::Bucket.ObjectLockConfiguration": { + "AWS::ResilienceHubV2::Service.SloSource": { "additionalProperties": false, "properties": { - "ObjectLockEnabled": { - "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", - "title": "ObjectLockEnabled", + "PolicyName": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule", - "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply `ObjectLockConfiguration` to a bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", - "title": "Rule" + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::S3::Bucket.ObjectLockRule": { + "AWS::ResilienceHubV2::Service.TargetSource": { "additionalProperties": false, "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention", - "markdownDescription": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", - "title": "DefaultRetention" + "PolicyName": { + "type": "string" + }, + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::S3::Bucket.OwnershipControls": { + "AWS::ResilienceHubV2::ServiceFunction": { "additionalProperties": false, "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Criticality": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ServiceArn": { + "type": "string" + } }, - "markdownDescription": "Specifies the container element for Object Ownership rules.", - "title": "Rules", - "type": "array" + "required": [ + "Criticality", + "Name", + "ServiceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResilienceHubV2::ServiceFunction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Rules" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.OwnershipControlsRule": { + "AWS::ResilienceHubV2::System": { "additionalProperties": false, "properties": { - "ObjectOwnership": { - "markdownDescription": "Specifies an object ownership rule.", - "title": "ObjectOwnership", + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.PartitionedPrefix": { - "additionalProperties": false, - "properties": { - "PartitionDateSource": { - "markdownDescription": "Specifies the partition date source for the partitioned prefix. `PartitionDateSource` can be `EventTime` or `DeliveryTime` .\n\nFor `DeliveryTime` , the time in the log file names corresponds to the delivery time for the log files.\n\nFor `EventTime` , The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.", - "title": "PartitionDateSource", + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", - "title": "BlockPublicAcls", - "type": "boolean" }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", - "title": "BlockPublicPolicy", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "title": "IgnorePublicAcls", - "type": "boolean" + "Metadata": { + "type": "object" }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "title": "RestrictPublicBuckets", - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResilienceHubV2::System" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::S3::Bucket.QueueConfiguration": { + "AWS::ResilienceHubV2::UserJourney": { "additionalProperties": false, "properties": { - "Event": { - "markdownDescription": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", - "title": "Event", + "Condition": { "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", - "markdownDescription": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .", - "title": "Filter" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Queue": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.", - "title": "Queue", + "DependsOn": { + "anyOf": [ + { + "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" + }, + "PolicyArn": { + "type": "string" + }, + "SystemIdentifier": { + "type": "string" + } + }, + "required": [ + "Name", + "SystemIdentifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResilienceHubV2::UserJourney" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Event", - "Queue" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.RecordExpiration": { + "AWS::ResourceExplorer2::DefaultViewAssociation": { "additionalProperties": false, "properties": { - "Days": { - "markdownDescription": "If you enable journal table record expiration, you can set the number of days to retain your journal table records. Journal table records must be retained for a minimum of 7 days. To set this value, specify any whole number from `7` to `2147483647` . For example, to retain your journal table records for one year, set this value to `365` .", - "title": "Days", - "type": "number" + "Condition": { + "type": "string" }, - "Expiration": { - "markdownDescription": "Specifies whether journal table record expiration is enabled or disabled.", - "title": "Expiration", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ViewArn": { + "markdownDescription": "The ARN of the view to set as the default for the AWS Region and AWS account in which you call this operation. The specified view must already exist in the specified Region.", + "title": "ViewArn", + "type": "string" + } + }, + "required": [ + "ViewArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceExplorer2::DefaultViewAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Expiration" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { + "AWS::ResourceExplorer2::Index": { "additionalProperties": false, "properties": { - "HostName": { - "markdownDescription": "Name of the host where requests are redirected.", - "title": "HostName", + "Condition": { "type": "string" }, - "Protocol": { - "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", - "title": "Protocol", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "additionalProperties": true, + "markdownDescription": "The specified tags are attached to only the index created in this AWS Region . The tags don't attach to any of the resources listed in the index.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + }, + "Type": { + "markdownDescription": "Specifies the type of the index in this Region. For information about the aggregator index and how it differs from a local index, see [Turning on cross-Region search by creating an aggregator index](https://docs.aws.amazon.com/resource-explorer/latest/userguide/manage-aggregator-region.html) in the *AWS Resource Explorer User Guide.* .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceExplorer2::Index" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "HostName" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.RedirectRule": { + "AWS::ResourceExplorer2::View": { "additionalProperties": false, "properties": { - "HostName": { - "markdownDescription": "The host name to use in the redirect request.", - "title": "HostName", + "Condition": { "type": "string" }, - "HttpRedirectCode": { - "markdownDescription": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", - "title": "HttpRedirectCode", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Protocol": { - "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", - "title": "Protocol", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ReplaceKeyPrefixWith": { - "markdownDescription": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix `docs/` (objects in the `docs/` folder) to `documents/` , you can set a condition block with `KeyPrefixEquals` set to `docs/` and in the Redirect set `ReplaceKeyPrefixWith` to `/documents` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "ReplaceKeyPrefixWith", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Filters": { + "$ref": "#/definitions/AWS::ResourceExplorer2::View.SearchFilter", + "markdownDescription": "An array of strings that include search keywords, prefixes, and operators that filter the results that are returned for queries made using this view. When you use this view in a [Search](https://docs.aws.amazon.com/resource-explorer/latest/apireference/API_Search.html) operation, the filter string is combined with the search's `QueryString` parameter using a logical `AND` operator.\n\nFor information about the supported syntax, see [Search query reference for Resource Explorer](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html) in the *AWS Resource Explorer User Guide* .\n\n> This query string in the context of this operation supports only [filter prefixes](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-filters) with optional [operators](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-operators) . It doesn't support free-form text. For example, the string `region:us* service:ec2 -tag:stage=prod` includes all Amazon EC2 resources in any AWS Region that begin with the letters `us` and are *not* tagged with a key `Stage` that has the value `prod` .", + "title": "Filters" + }, + "IncludedProperties": { + "items": { + "$ref": "#/definitions/AWS::ResourceExplorer2::View.IncludedProperty" + }, + "markdownDescription": "A list of fields that provide additional information about the view.", + "title": "IncludedProperties", + "type": "array" + }, + "Scope": { + "markdownDescription": "The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the default is account.", + "title": "Scope", + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "Tag key and value pairs that are attached to the view.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + }, + "ViewName": { + "markdownDescription": "The name of the new view.", + "title": "ViewName", + "type": "string" + } + }, + "required": [ + "ViewName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceExplorer2::View" + ], "type": "string" }, - "ReplaceKeyWith": { - "markdownDescription": "The specific object key to use in the redirect request. For example, redirect request to `error.html` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyPrefixWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "ReplaceKeyWith", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::S3::Bucket.ReplicaModifications": { + "AWS::ResourceExplorer2::View.IncludedProperty": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "Specifies whether Amazon S3 replicates modifications on replicas.\n\n*Allowed values* : `Enabled` | `Disabled`", - "title": "Status", + "Name": { + "markdownDescription": "The name of the property that is included in this view.", + "title": "Name", "type": "string" } }, "required": [ - "Status" + "Name" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationConfiguration": { + "AWS::ResourceExplorer2::View.SearchFilter": { "additionalProperties": false, "properties": { - "Role": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide* .", - "title": "Role", + "FilterString": { + "markdownDescription": "The string that contains the search keywords, prefixes, and operators to control the results that can be returned by a Search operation.\n\nFor information about the supported syntax, see [Search query reference](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html) in the *AWS Resource Explorer User Guide* .\n\n> This query string in the context of this operation supports only [filter prefixes](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-filters) with optional [operators](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-operators) . It doesn't support free-form text. For example, the string `region:us* service:ec2 -tag:stage=prod` includes all Amazon EC2 resources in any AWS Region that begin with the letters `us` and are *not* tagged with a key `Stage` that has the value `prod` .", + "title": "FilterString", "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "markdownDescription": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.", - "title": "Rules", - "type": "array" } }, "required": [ - "Role", - "Rules" + "FilterString" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationDestination": { + "AWS::ResourceGroups::Group": { "additionalProperties": false, "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation", - "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", - "title": "AccessControlTranslation" - }, - "Account": { - "markdownDescription": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS account that owns the destination bucket by specifying the `AccessControlTranslation` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide* .\n\nIf you specify the `AccessControlTranslation` property, the `Account` property is required.", - "title": "Account", - "type": "string" - }, - "Bucket": { - "markdownDescription": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.", - "title": "Bucket", + "Condition": { "type": "string" }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration", - "markdownDescription": "Specifies encryption-related information.", - "title": "EncryptionConfiguration" - }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics", - "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.", - "title": "Metrics" - }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime", - "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a `Metrics` block.", - "title": "ReplicationTime" - }, - "StorageClass": { - "markdownDescription": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.\n\nFor valid values, see the `StorageClass` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference* .\n\n`FSX_OPENZFS` is not an accepted value when replicating objects.", - "title": "StorageClass", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRule": { - "additionalProperties": false, - "properties": { - "DeleteMarkerReplication": { - "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication", - "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a `Filter` in your replication configuration, you must also include a `DeleteMarkerReplication` element. If your `Filter` includes a `Tag` element, the `DeleteMarkerReplication` `Status` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) .\n\nFor more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) .\n\n> If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) .", - "title": "DeleteMarkerReplication" }, - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination", - "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", - "title": "Destination" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter", - "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A `Filter` must specify exactly one `Prefix` , `TagFilter` , or an `And` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n\n> V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.", - "title": "Filter" + "Metadata": { + "type": "object" }, - "Id": { - "markdownDescription": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".", - "title": "Id", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" + }, + "markdownDescription": "The service configuration currently associated with the resource group and in effect for the members of the resource group. A `Configuration` consists of one or more `ConfigurationItem` entries. For information about service configurations for resource groups and how to construct them, see [Service configurations for resource groups](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html) in the *Resource Groups User Guide* .\n\n> You can include either a `Configuration` or a `ResourceQuery` , but not both.", + "title": "Configuration", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the resource group.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of a resource group. The name must be unique within the AWS Region in which you create the resource. To create multiple resource groups based on the same CloudFormation stack, you must generate unique names for each.", + "title": "Name", + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery", + "markdownDescription": "The resource query structure that is used to dynamically determine which AWS resources are members of the associated resource group. For more information about queries and how to construct them, see [Build queries and groups in Resource Groups](https://docs.aws.amazon.com//ARG/latest/userguide/gettingstarted-query.html) in the *Resource Groups User Guide*\n\n> - You can include either a `ResourceQuery` or a `Configuration` , but not both.\n> - You can specify the group's membership either by using a `ResourceQuery` or by using a list of `Resources` , but not both.", + "title": "ResourceQuery" + }, + "Resources": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the Amazon Resource Names (ARNs) of AWS resources that you want to add to the specified group.\n\n> - You can specify the group membership either by using a list of `Resources` or by using a `ResourceQuery` , but not both.\n> - You can include a `Resources` property only if you also specify a `Configuration` property.", + "title": "Resources", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tag key and value pairs that are attached to the resource group.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" }, - "Prefix": { - "markdownDescription": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "Prefix", + "Type": { + "enum": [ + "AWS::ResourceGroups::Group" + ], "type": "string" }, - "Priority": { - "markdownDescription": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.\n\nFor more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide* .", - "title": "Priority", - "type": "number" - }, - "SourceSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria", - "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", - "title": "SourceSelectionCriteria" - }, - "Status": { - "markdownDescription": "Specifies whether the rule is enabled.", - "title": "Status", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Destination", - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "AWS::ResourceGroups::Group.ConfigurationItem": { "additionalProperties": false, "properties": { - "Prefix": { - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.", - "title": "Prefix", - "type": "string" - }, - "TagFilters": { + "Parameters": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" }, - "markdownDescription": "An array of tags containing key and value pairs.", - "title": "TagFilters", + "markdownDescription": "A collection of parameters for this configuration item. For the list of parameters that you can use with each configuration item `Type` , see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", + "title": "Parameters", "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleFilter": { - "additionalProperties": false, - "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator", - "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:\n\n- If you specify both a `Prefix` and a `TagFilter` , wrap these filters in an `And` tag.\n- If you specify a filter based on multiple tags, wrap the `TagFilter` elements in an `And` tag.", - "title": "And" }, - "Prefix": { - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "Prefix", + "Type": { + "markdownDescription": "Specifies the type of configuration item. Each item must have a unique value for type. For the list of the types that you can specify for a configuration item, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", + "title": "Type", "type": "string" - }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter", - "markdownDescription": "A container for specifying a tag key and value.\n\nThe rule applies only to objects that have the tag in their tag set.", - "title": "TagFilter" } }, "type": "object" }, - "AWS::S3::Bucket.ReplicationTime": { + "AWS::ResourceGroups::Group.ConfigurationParameter": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "Specifies whether the replication time is enabled.", - "title": "Status", + "Name": { + "markdownDescription": "The name of the group configuration parameter. For the list of parameters that you can use with each configuration item type, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", + "title": "Name", "type": "string" }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue", - "markdownDescription": "A container specifying the time by which replication should be complete for all objects and operations on objects.", - "title": "Time" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value or values to be used for the specified parameter. For the list of values you can use with each parameter, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) .", + "title": "Values", + "type": "array" } }, - "required": [ - "Status", - "Time" - ], "type": "object" }, - "AWS::S3::Bucket.ReplicationTimeValue": { + "AWS::ResourceGroups::Group.Query": { "additionalProperties": false, "properties": { - "Minutes": { - "markdownDescription": "Contains an integer specifying time in minutes.\n\nValid value: 15", - "title": "Minutes", - "type": "number" + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies limits to the types of resources that can be included in the resource group. For example, if `ResourceTypeFilters` is `[\"AWS::EC2::Instance\", \"AWS::DynamoDB::Table\"]` , only EC2 instances or DynamoDB tables can be members of this resource group. The default value is `[\"AWS::AllSupported\"]` .", + "title": "ResourceTypeFilters", + "type": "array" + }, + "StackIdentifier": { + "markdownDescription": "Specifies the ARN of a CloudFormation stack. All supported resources of the CloudFormation stack are members of the resource group. If you don't specify an ARN, this parameter defaults to the current stack that you are defining, which means that all the resources of the current stack are grouped.\n\nYou can specify a value for `StackIdentifier` only when the `ResourceQuery.Type` property is `CLOUDFORMATION_STACK_1_0.`", + "title": "StackIdentifier", + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" + }, + "markdownDescription": "A list of key-value pair objects that limit which resources can be members of the resource group. This property is required when the `ResourceQuery.Type` property is `TAG_FILTERS_1_0` .\n\nA resource must have a tag that matches every filter that is provided in the `TagFilters` list.", + "title": "TagFilters", + "type": "array" } }, - "required": [ - "Minutes" - ], "type": "object" }, - "AWS::S3::Bucket.RoutingRule": { + "AWS::ResourceGroups::Group.ResourceQuery": { "additionalProperties": false, "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule", - "markdownDescription": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", - "title": "RedirectRule" + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query", + "markdownDescription": "The query that defines the membership of the group. This is a structure with properties that depend on the `Type` .\n\nThe `Query` structure must be included in the following scenarios:\n\n- When the `Type` is `TAG_FILTERS_1_0` , you must specify a `Query` structure that contains a `TagFilters` list of tags. Resources with tags that match those in the `TagFilter` list become members of the resource group.\n- When the `Type` is `CLOUDFORMATION_STACK_1_0` then this field is required only when you must specify a CloudFormation stack other than the one you are defining. To do this, the `Query` structure must contain the `StackIdentifier` property. If you don't specify either a `Query` structure or a `StackIdentifier` within that `Query` , then it defaults to the CloudFormation stack that you're currently constructing.", + "title": "Query" }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition", - "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the `/docs` folder, redirect to the `/documents` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", - "title": "RoutingRuleCondition" + "Type": { + "markdownDescription": "Specifies the type of resource query that determines this group's membership. There are two valid query types:\n\n- `TAG_FILTERS_1_0` indicates that the group is a tag-based group. To complete the group membership, you must include the `TagFilters` property to specify the tag filters to use in the query.\n- `CLOUDFORMATION_STACK_1_0` , the default, indicates that the group is a CloudFormation stack-based group. Group membership is based on the CloudFormation stack. You must specify the `StackIdentifier` property in the query to define which stack to associate the group with, or leave it empty to default to the stack where the group is defined.", + "title": "Type", + "type": "string" } }, - "required": [ - "RedirectRule" - ], "type": "object" }, - "AWS::S3::Bucket.RoutingRuleCondition": { + "AWS::ResourceGroups::Group.TagFilter": { "additionalProperties": false, "properties": { - "HttpErrorCodeReturnedEquals": { - "markdownDescription": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n\nRequired when parent element `Condition` is specified and sibling `KeyPrefixEquals` is not specified. If both are specified, then both must be true for the redirect to be applied.", - "title": "HttpErrorCodeReturnedEquals", + "Key": { + "markdownDescription": "A string that defines a tag key. Only resources in the account that are tagged with a specified tag key are members of the tag-based resource group.\n\nThis field is required when the `ResourceQuery` structure's `Type` property is `TAG_FILTERS_1_0` . You must specify at least one tag key.", + "title": "Key", "type": "string" }, - "KeyPrefixEquals": { - "markdownDescription": "The object key name prefix when the redirect is applied. For example, to redirect requests for `ExamplePage.html` , the key prefix will be `ExamplePage.html` . To redirect request for all pages with the prefix `docs/` , the key prefix will be `docs/` , which identifies all objects in the docs/ folder.\n\nRequired when the parent element `Condition` is specified and sibling `HttpErrorCodeReturnedEquals` is not specified. If both conditions are specified, both must be true for the redirect to be applied.", - "title": "KeyPrefixEquals", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of tag values that can be included in the tag-based resource group. This is optional. If you don't specify a value or values for a key, then an AWS resource with any value for that key is a member.", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::S3::Bucket.Rule": { + "AWS::ResourceGroups::TagSyncTask": { "additionalProperties": false, "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload", - "markdownDescription": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.", - "title": "AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "markdownDescription": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "title": "ExpirationDate", + "Condition": { "type": "string" }, - "ExpirationInDays": { - "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "title": "ExpirationInDays", - "type": "number" - }, - "ExpiredObjectDeleteMarker": { - "markdownDescription": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with `ExpirationInDays` , `ExpirationDate` , or `TagFilters` .", - "title": "ExpiredObjectDeleteMarker", - "type": "boolean" - }, - "Id": { - "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.", - "title": "Id", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NoncurrentVersionExpiration": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionExpiration", - "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.", - "title": "NoncurrentVersionExpiration" - }, - "NoncurrentVersionExpirationInDays": { - "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.", - "title": "NoncurrentVersionExpirationInDays", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition", - "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransitions` property.", - "title": "NoncurrentVersionTransition" + "Metadata": { + "type": "object" }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + "Properties": { + "additionalProperties": false, + "properties": { + "Group": { + "markdownDescription": "The Amazon resource name (ARN) or name of the application group for which you want to create a tag-sync task.", + "title": "Group", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon resource name (ARN) of the role assumed by the service to tag and untag resources on your behalf.", + "title": "RoleArn", + "type": "string" + }, + "TagKey": { + "markdownDescription": "The tag key.", + "title": "TagKey", + "type": "string" + }, + "TagValue": { + "markdownDescription": "The tag value.", + "title": "TagValue", + "type": "string" + } }, - "markdownDescription": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransition` property.", - "title": "NoncurrentVersionTransitions", - "type": "array" + "required": [ + "Group", + "RoleArn", + "TagKey", + "TagValue" + ], + "type": "object" }, - "ObjectSizeGreaterThan": { - "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", - "title": "ObjectSizeGreaterThan", + "Type": { + "enum": [ + "AWS::ResourceGroups::TagSyncTask" + ], "type": "string" }, - "ObjectSizeLessThan": { - "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", - "title": "ObjectSizeLessThan", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Prefix": { - "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "Prefix", + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::Fleet": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "Status": { - "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", - "title": "Status", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "markdownDescription": "Tags to use to identify a subset of objects to which the lifecycle rule applies.", - "title": "TagFilters", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition", - "markdownDescription": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transitions` property.", - "title": "Transition" + "Metadata": { + "type": "object" }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the fleet.", + "title": "Name", + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "The list of all tags added to the fleet.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } }, - "markdownDescription": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transition` property.", - "title": "Transitions", - "type": "array" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Status" + "Type" ], "type": "object" }, - "AWS::S3::Bucket.S3KeyFilter": { + "AWS::RoboMaker::Robot": { "additionalProperties": false, "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Architecture": { + "markdownDescription": "The architecture of the robot.", + "title": "Architecture", + "type": "string" + }, + "Fleet": { + "markdownDescription": "The Amazon Resource Name (ARN) of the fleet to which the robot will be registered.", + "title": "Fleet", + "type": "string" + }, + "GreengrassGroupId": { + "markdownDescription": "The Greengrass group associated with the robot.", + "title": "GreengrassGroupId", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the robot.", + "title": "Name", + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "A map that contains tag keys and tag values that are attached to the robot.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } }, - "markdownDescription": "A list of containers for the key-value pair that defines the criteria for the filter rule.", - "title": "Rules", - "type": "array" + "required": [ + "Architecture", + "GreengrassGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Robot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Rules" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.S3TablesDestination": { + "AWS::RoboMaker::RobotApplication": { "additionalProperties": false, "properties": { - "TableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", - "title": "TableArn", + "Condition": { "type": "string" }, - "TableBucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket.", - "title": "TableBucketArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TableName": { - "markdownDescription": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", - "title": "TableName", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "markdownDescription": "The current revision id.", + "title": "CurrentRevisionId", + "type": "string" + }, + "Environment": { + "markdownDescription": "The environment of the robot application.", + "title": "Environment", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the robot application.", + "title": "Name", + "type": "string" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite", + "markdownDescription": "The robot software suite used by the robot application.", + "title": "RobotSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "markdownDescription": "The sources of the robot application.", + "title": "Sources", + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "A map that contains tag keys and tag values that are attached to the robot application.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplication" + ], "type": "string" }, - "TableNamespace": { - "markdownDescription": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always `aws_s3_metadata` .", - "title": "TableNamespace", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TableBucketArn", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { "additionalProperties": false, "properties": { - "KMSMasterKeyID": { - "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption.\n\n> - *General purpose buckets* - This parameter is allowed if and only if `SSEAlgorithm` is set to `aws:kms` or `aws:kms:dsse` .\n> - *Directory buckets* - This parameter is allowed if and only if `SSEAlgorithm` is set to `aws:kms` . \n\nYou can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key Alias: `alias/alias-name`\n\nIf you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy) .\n\n> - *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then AWS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.\n> - *Directory buckets* - When you specify an [AWS customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported. > Amazon S3 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": "KMSMasterKeyID", + "Name": { + "markdownDescription": "The name of the robot software suite. `General` is the only supported value.", + "title": "Name", "type": "string" }, - "SSEAlgorithm": { - "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n> For directory buckets, there are only two supported values for server-side encryption: `AES256` and `aws:kms` .", - "title": "SSEAlgorithm", + "Version": { + "markdownDescription": "The version of the robot software suite. Not applicable for General software suite.", + "title": "Version", "type": "string" } }, "required": [ - "SSEAlgorithm" + "Name" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { + "AWS::RoboMaker::RobotApplication.SourceConfig": { "additionalProperties": false, "properties": { - "BlockedEncryptionTypes": { - "$ref": "#/definitions/AWS::S3::Bucket.BlockedEncryptionTypes", - "markdownDescription": "A bucket-level setting for Amazon S3 general purpose buckets used to prevent the upload of new objects encrypted with the specified server-side encryption type. For example, blocking an encryption type will block `PutObject` , `CopyObject` , `PostObject` , multipart upload, and replication requests to the bucket for objects with the specified encryption type. However, you can continue to read and list any pre-existing objects already encrypted with the specified encryption type. For more information, see [Blocking or unblocking SSE-C for a general purpose bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html) .\n\n> Currently, this parameter only supports blocking or unblocking server-side encryption with customer-provided keys (SSE-C). For more information about SSE-C, see [Using server-side encryption with customer-provided keys (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html) .", - "title": "BlockedEncryptionTypes" + "Architecture": { + "markdownDescription": "The target processor architecture for the application.", + "title": "Architecture", + "type": "string" }, - "BucketKeyEnabled": { - "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the `BucketKeyEnabled` element to `true` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n\nFor more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide* .", - "title": "BucketKeyEnabled", - "type": "boolean" + "S3Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "S3Bucket", + "type": "string" }, - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault", - "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", - "title": "ServerSideEncryptionByDefault" + "S3Key": { + "markdownDescription": "The s3 object key.", + "title": "S3Key", + "type": "string" } }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], "type": "object" }, - "AWS::S3::Bucket.SourceSelectionCriteria": { + "AWS::RoboMaker::RobotApplicationVersion": { "additionalProperties": false, "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications", - "markdownDescription": "A filter that you can specify for selection for modifications on replicas.", - "title": "ReplicaModifications" + "Condition": { + "type": "string" }, - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects", - "markdownDescription": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", - "title": "SseKmsEncryptedObjects" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service.", - "title": "Status", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "markdownDescription": "The application information for the robot application.", + "title": "Application", + "type": "string" + }, + "CurrentRevisionId": { + "markdownDescription": "The current revision id for the robot application. If you provide a value and it matches the latest revision ID, a new version will be created.", + "title": "CurrentRevisionId", + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.StorageClassAnalysis": { - "additionalProperties": false, - "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport", - "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", - "title": "DataExport" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.TagFilter": { + "AWS::RoboMaker::SimulationApplication": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The tag key.", - "title": "Key", + "Condition": { "type": "string" }, - "Value": { - "markdownDescription": "The tag 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": { + "CurrentRevisionId": { + "markdownDescription": "The current revision id.", + "title": "CurrentRevisionId", + "type": "string" + }, + "Environment": { + "markdownDescription": "The environment of the simulation application.", + "title": "Environment", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the simulation application.", + "title": "Name", + "type": "string" + }, + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine", + "markdownDescription": "The rendering engine for the simulation application.", + "title": "RenderingEngine" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite", + "markdownDescription": "The robot software suite used by the simulation application.", + "title": "RobotSoftwareSuite" + }, + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite", + "markdownDescription": "The simulation software suite used by the simulation application.", + "title": "SimulationSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "markdownDescription": "The sources of the simulation application.", + "title": "Sources", + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "A map that contains tag keys and tag values that are attached to the simulation application.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite", + "SimulationSoftwareSuite" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.TargetObjectKeyFormat": { + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { "additionalProperties": false, "properties": { - "PartitionedPrefix": { - "$ref": "#/definitions/AWS::S3::Bucket.PartitionedPrefix", - "markdownDescription": "Partitioned S3 key for log objects.", - "title": "PartitionedPrefix" + "Name": { + "markdownDescription": "The name of the rendering engine.", + "title": "Name", + "type": "string" }, - "SimplePrefix": { - "markdownDescription": "To use the simple format for S3 keys for log objects. To specify SimplePrefix format, set SimplePrefix to {}.", - "title": "SimplePrefix", - "type": "object" + "Version": { + "markdownDescription": "The version of the rendering engine.", + "title": "Version", + "type": "string" } }, + "required": [ + "Name", + "Version" + ], "type": "object" }, - "AWS::S3::Bucket.Tiering": { + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { "additionalProperties": false, "properties": { - "AccessTier": { - "markdownDescription": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.", - "title": "AccessTier", + "Name": { + "markdownDescription": "The name of the robot software suite. `General` is the only supported value.", + "title": "Name", "type": "string" }, - "Days": { - "markdownDescription": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", - "title": "Days", - "type": "number" + "Version": { + "markdownDescription": "The version of the robot software suite. Not applicable for General software suite.", + "title": "Version", + "type": "string" } }, "required": [ - "AccessTier", - "Days" + "Name" ], "type": "object" }, - "AWS::S3::Bucket.TopicConfiguration": { + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { "additionalProperties": false, "properties": { - "Event": { - "markdownDescription": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", - "title": "Event", + "Name": { + "markdownDescription": "The name of the simulation software suite. `SimulationRuntime` is the only supported value.", + "title": "Name", "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", - "markdownDescription": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket.", - "title": "Filter" - }, - "Topic": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", - "title": "Topic", + "Version": { + "markdownDescription": "The version of the simulation software suite. Not applicable for `SimulationRuntime` .", + "title": "Version", "type": "string" } }, "required": [ - "Event", - "Topic" + "Name" ], "type": "object" }, - "AWS::S3::Bucket.Transition": { + "AWS::RoboMaker::SimulationApplication.SourceConfig": { "additionalProperties": false, "properties": { - "StorageClass": { - "markdownDescription": "The storage class to which you want the object to transition.", - "title": "StorageClass", + "Architecture": { + "markdownDescription": "The target processor architecture for the application.", + "title": "Architecture", "type": "string" }, - "TransitionDate": { - "markdownDescription": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.", - "title": "TransitionDate", + "S3Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "S3Bucket", "type": "string" }, - "TransitionInDays": { - "markdownDescription": "Indicates the number of days after creation when objects are transitioned to the specified storage class. If the specified storage class is `INTELLIGENT_TIERING` , `GLACIER_IR` , `GLACIER` , or `DEEP_ARCHIVE` , valid values are `0` or positive integers. If the specified storage class is `STANDARD_IA` or `ONEZONE_IA` , valid values are positive integers greater than `30` . Be aware that some storage classes have a minimum storage duration and that you're charged for transitioning objects before their minimum storage duration. For more information, see [Constraints and considerations for transitions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html#lifecycle-configuration-constraints) in the *Amazon S3 User Guide* .", - "title": "TransitionInDays", - "type": "number" + "S3Key": { + "markdownDescription": "The s3 object key.", + "title": "S3Key", + "type": "string" } }, "required": [ - "StorageClass" + "Architecture", + "S3Bucket", + "S3Key" ], "type": "object" }, - "AWS::S3::Bucket.VersioningConfiguration": { + "AWS::RoboMaker::SimulationApplicationVersion": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "The versioning state of the bucket.", - "title": "Status", + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "markdownDescription": "The application information for the simulation application.", + "title": "Application", + "type": "string" + }, + "CurrentRevisionId": { + "markdownDescription": "The current revision id for the simulation application. If you provide a value and it matches the latest revision ID, a new version will be created.", + "title": "CurrentRevisionId", + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.WebsiteConfiguration": { + "AWS::RolesAnywhere::CRL": { "additionalProperties": false, "properties": { - "ErrorDocument": { - "markdownDescription": "The name of the error document for the website.", - "title": "ErrorDocument", + "Condition": { "type": "string" }, - "IndexDocument": { - "markdownDescription": "The name of the index document for the website.", - "title": "IndexDocument", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo", - "markdownDescription": "The redirect behavior for every request to this bucket's website endpoint.\n\n> If you specify this property, you can't specify any other property.", - "title": "RedirectAllRequestsTo" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RoutingRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + "Metadata": { + "type": "object" + }, + "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" + } }, - "markdownDescription": "Rules that define when a redirect is applied and the redirect behavior.", - "title": "RoutingRules", - "type": "array" + "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::S3::BucketPolicy": { + "AWS::RolesAnywhere::Profile": { "additionalProperties": false, "properties": { "Condition": { @@ -342745,26 +311373,78 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket to which the policy applies.", - "title": "Bucket", + "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" }, - "PolicyDocument": { - "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", - "title": "PolicyDocument", - "type": "object" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of Tags.", + "title": "Tags", + "type": "array" } }, "required": [ - "Bucket", - "PolicyDocument" + "Name", + "RoleArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::BucketPolicy" + "AWS::RolesAnywhere::Profile" ], "type": "string" }, @@ -342783,7 +311463,44 @@ ], "type": "object" }, - "AWS::S3::MultiRegionAccessPoint": { + "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::TrustAnchor": { "additionalProperties": false, "properties": { "Condition": { @@ -342818,33 +311535,47 @@ "Properties": { "additionalProperties": false, "properties": { + "Enabled": { + "markdownDescription": "Indicates whether the trust anchor is enabled.", + "title": "Enabled", + "type": "boolean" + }, "Name": { - "markdownDescription": "The name of the Multi-Region Access Point.", + "markdownDescription": "The name of the trust anchor.", "title": "Name", "type": "string" }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration", - "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Multi-Region Access Point. You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", - "title": "PublicAccessBlockConfiguration" + "NotificationSettings": { + "items": { + "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.NotificationSetting" + }, + "markdownDescription": "A list of notification settings to be associated to the trust anchor.", + "title": "NotificationSettings", + "type": "array" }, - "Regions": { + "Source": { + "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.Source", + "markdownDescription": "The trust anchor type and its related certificate data.", + "title": "Source" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.Region" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A collection of the Regions and buckets associated with the Multi-Region Access Point.", - "title": "Regions", + "markdownDescription": "The tags to attach to the trust anchor.", + "title": "Tags", "type": "array" } }, "required": [ - "Regions" + "Name", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::MultiRegionAccessPoint" + "AWS::RolesAnywhere::TrustAnchor" ], "type": "string" }, @@ -342863,52 +311594,73 @@ ], "type": "object" }, - "AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration": { + "AWS::RolesAnywhere::TrustAnchor.NotificationSetting": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", - "title": "BlockPublicAcls", - "type": "boolean" + "Channel": { + "markdownDescription": "The specified channel of notification. IAM Roles Anywhere uses CloudWatch metrics, EventBridge, and Health Dashboard to notify for an event.\n\n> In the absence of a specific channel, IAM Roles Anywhere applies this setting to 'ALL' channels.", + "title": "Channel", + "type": "string" }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", - "title": "BlockPublicPolicy", + "Enabled": { + "markdownDescription": "Indicates whether the notification setting is enabled.", + "title": "Enabled", "type": "boolean" }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "title": "IgnorePublicAcls", - "type": "boolean" + "Event": { + "markdownDescription": "The event to which this notification setting is applied.", + "title": "Event", + "type": "string" }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "title": "RestrictPublicBuckets", - "type": "boolean" + "Threshold": { + "markdownDescription": "The number of days before a notification event. This value is required for a notification setting that is enabled.", + "title": "Threshold", + "type": "number" } }, + "required": [ + "Enabled", + "Event" + ], "type": "object" }, - "AWS::S3::MultiRegionAccessPoint.Region": { + "AWS::RolesAnywhere::TrustAnchor.Source": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the associated bucket for the Region.", - "title": "Bucket", - "type": "string" + "SourceData": { + "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.SourceData", + "markdownDescription": "A union object representing the data field of the TrustAnchor depending on its type", + "title": "SourceData" }, - "BucketAccountId": { - "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket that's associated with this Multi-Region Access Point.", - "title": "BucketAccountId", + "SourceType": { + "markdownDescription": "The type of the TrustAnchor.", + "title": "SourceType", "type": "string" } }, "required": [ - "Bucket" + "SourceData", + "SourceType" ], "type": "object" }, - "AWS::S3::MultiRegionAccessPointPolicy": { + "AWS::RolesAnywhere::TrustAnchor.SourceData": { + "additionalProperties": false, + "properties": { + "AcmPcaArn": { + "markdownDescription": "The root certificate of the Private Certificate Authority specified by this ARN is used in trust validation for temporary credential requests. Included for trust anchors of type `AWS_ACM_PCA` .\n\n> This field is not supported in your region.", + "title": "AcmPcaArn", + "type": "string" + }, + "X509CertificateData": { + "markdownDescription": "The PEM-encoded data for the certificate anchor. Included for trust anchors of type `CERTIFICATE_BUNDLE` .", + "title": "X509CertificateData", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::CidrCollection": { "additionalProperties": false, "properties": { "Condition": { @@ -342943,26 +311695,28 @@ "Properties": { "additionalProperties": false, "properties": { - "MrapName": { - "markdownDescription": "The name of the Multi-Region Access Point.", - "title": "MrapName", - "type": "string" + "Locations": { + "items": { + "$ref": "#/definitions/AWS::Route53::CidrCollection.Location" + }, + "markdownDescription": "A complex type that contains information about the list of CIDR locations.", + "title": "Locations", + "type": "array" }, - "Policy": { - "markdownDescription": "The access policy associated with the Multi-Region Access Point.", - "title": "Policy", - "type": "object" + "Name": { + "markdownDescription": "The name of a CIDR collection.", + "title": "Name", + "type": "string" } }, "required": [ - "MrapName", - "Policy" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::MultiRegionAccessPointPolicy" + "AWS::Route53::CidrCollection" ], "type": "string" }, @@ -342981,21 +311735,30 @@ ], "type": "object" }, - "AWS::S3::MultiRegionAccessPointPolicy.PolicyStatus": { + "AWS::Route53::CidrCollection.Location": { "additionalProperties": false, "properties": { - "IsPublic": { - "markdownDescription": "The policy status for this bucket. `TRUE` indicates that this bucket is public. `FALSE` indicates that the bucket is not public.", - "title": "IsPublic", + "CidrList": { + "items": { + "type": "string" + }, + "markdownDescription": "List of CIDR blocks.", + "title": "CidrList", + "type": "array" + }, + "LocationName": { + "markdownDescription": "The CIDR collection location name.", + "title": "LocationName", "type": "string" } }, "required": [ - "IsPublic" + "CidrList", + "LocationName" ], "type": "object" }, - "AWS::S3::StorageLens": { + "AWS::Route53::DNSSEC": { "additionalProperties": false, "properties": { "Condition": { @@ -343030,28 +311793,20 @@ "Properties": { "additionalProperties": false, "properties": { - "StorageLensConfiguration": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration", - "markdownDescription": "This resource contains the details Amazon S3 Storage Lens configuration.", - "title": "StorageLensConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A set of tags (key\u2013value pairs) to associate with the Storage Lens configuration.", - "title": "Tags", - "type": "array" + "HostedZoneId": { + "markdownDescription": "A unique string (ID) that is used to identify a hosted zone. For example: `Z00001111A1ABCaaABC11` .", + "title": "HostedZoneId", + "type": "string" } }, "required": [ - "StorageLensConfiguration" + "HostedZoneId" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::StorageLens" + "AWS::Route53::DNSSEC" ], "type": "string" }, @@ -343070,465 +311825,7 @@ ], "type": "object" }, - "AWS::S3::StorageLens.AccountLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics", - "markdownDescription": "This property contains the details of account-level activity metrics for S3 Storage Lens.", - "title": "ActivityMetrics" - }, - "AdvancedCostOptimizationMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedCostOptimizationMetrics", - "markdownDescription": "This property contains the details of account-level advanced cost optimization metrics for S3 Storage Lens.", - "title": "AdvancedCostOptimizationMetrics" - }, - "AdvancedDataProtectionMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedDataProtectionMetrics", - "markdownDescription": "This property contains the details of account-level advanced data protection metrics for S3 Storage Lens.", - "title": "AdvancedDataProtectionMetrics" - }, - "AdvancedPerformanceMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedPerformanceMetrics", - "markdownDescription": "This property contains the account-level details for S3 Storage Lens advanced performance metrics.", - "title": "AdvancedPerformanceMetrics" - }, - "BucketLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel", - "markdownDescription": "This property contains the details of the account-level bucket-level configurations for Amazon S3 Storage Lens. To enable bucket-level configurations, make sure to also set the same metrics at the account level.", - "title": "BucketLevel" - }, - "DetailedStatusCodesMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.DetailedStatusCodesMetrics", - "markdownDescription": "This property contains the details of account-level detailed status code metrics for S3 Storage Lens.", - "title": "DetailedStatusCodesMetrics" - }, - "StorageLensGroupLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensGroupLevel", - "markdownDescription": "This property determines the scope of Storage Lens group data that is displayed in the Storage Lens dashboard.", - "title": "StorageLensGroupLevel" - } - }, - "required": [ - "BucketLevel" - ], - "type": "object" - }, - "AWS::S3::StorageLens.ActivityMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "A property that indicates whether the activity metrics is enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AdvancedCostOptimizationMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "Indicates whether advanced cost optimization metrics are enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AdvancedDataProtectionMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "Indicates whether advanced data protection metrics are enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AdvancedPerformanceMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "This property indicates whether the advanced performance metrics are enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AwsOrg": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "This resource contains the ARN of the AWS Organization.", - "title": "Arn", - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::S3::StorageLens.BucketLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics", - "markdownDescription": "A property for bucket-level activity metrics for S3 Storage Lens.", - "title": "ActivityMetrics" - }, - "AdvancedCostOptimizationMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedCostOptimizationMetrics", - "markdownDescription": "A property for bucket-level advanced cost optimization metrics for S3 Storage Lens.", - "title": "AdvancedCostOptimizationMetrics" - }, - "AdvancedDataProtectionMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedDataProtectionMetrics", - "markdownDescription": "A property for bucket-level advanced data protection metrics for S3 Storage Lens.", - "title": "AdvancedDataProtectionMetrics" - }, - "AdvancedPerformanceMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedPerformanceMetrics", - "markdownDescription": "A property for bucket-level advanced performance metrics for S3 Storage Lens.", - "title": "AdvancedPerformanceMetrics" - }, - "DetailedStatusCodesMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.DetailedStatusCodesMetrics", - "markdownDescription": "A property for bucket-level detailed status code metrics for S3 Storage Lens.", - "title": "DetailedStatusCodesMetrics" - }, - "PrefixLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel", - "markdownDescription": "A property for bucket-level prefix-level storage metrics for S3 Storage Lens.", - "title": "PrefixLevel" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.BucketsAndRegions": { - "additionalProperties": false, - "properties": { - "Buckets": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains the details of the buckets for the Amazon S3 Storage Lens configuration. This should be the bucket Amazon Resource Name(ARN). For valid values, see [Buckets ARN format here](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_Include.html#API_control_Include_Contents) in the *Amazon S3 API Reference* .", - "title": "Buckets", - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains the details of the Regions for the S3 Storage Lens configuration.", - "title": "Regions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.CloudWatchMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "This property identifies whether the CloudWatch publishing option for S3 Storage Lens is enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "required": [ - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3::StorageLens.DataExport": { - "additionalProperties": false, - "properties": { - "CloudWatchMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.CloudWatchMetrics", - "markdownDescription": "This property enables the Amazon CloudWatch publishing option for S3 Storage Lens metrics.", - "title": "CloudWatchMetrics" - }, - "S3BucketDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination", - "markdownDescription": "This property contains the details of the bucket where the S3 Storage Lens metrics export will be placed.", - "title": "S3BucketDestination" - }, - "StorageLensTableDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensTableDestination", - "markdownDescription": "This property contains the details of the S3 table bucket where the S3 Storage Lens default metrics report will be placed. This property enables you to store your Storage Lens metrics in read-only S3 Tables.", - "title": "StorageLensTableDestination" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.DetailedStatusCodesMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "Indicates whether detailed status code metrics are enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.Encryption": { - "additionalProperties": false, - "properties": { - "SSEKMS": { - "$ref": "#/definitions/AWS::S3::StorageLens.SSEKMS", - "markdownDescription": "Specifies the use of AWS Key Management Service keys (SSE-KMS) to encrypt the S3 Storage Lens metrics export file.", - "title": "SSEKMS" - }, - "SSES3": { - "markdownDescription": "Specifies the use of an Amazon S3-managed key (SSE-S3) to encrypt the S3 Storage Lens metrics export file.", - "title": "SSES3", - "type": "object" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevel": { - "additionalProperties": false, - "properties": { - "StorageMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics", - "markdownDescription": "A property for the prefix-level storage metrics for Amazon S3 Storage Lens.", - "title": "StorageMetrics" - } - }, - "required": [ - "StorageMetrics" - ], - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.", - "title": "IsEnabled", - "type": "boolean" - }, - "SelectionCriteria": { - "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria", - "markdownDescription": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.", - "title": "SelectionCriteria" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.S3BucketDestination": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "This property contains the details of the AWS account ID of the S3 Storage Lens export bucket destination.", - "title": "AccountId", - "type": "string" - }, - "Arn": { - "markdownDescription": "This property contains the details of the ARN of the bucket destination of the S3 Storage Lens export.", - "title": "Arn", - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::S3::StorageLens.Encryption", - "markdownDescription": "This property contains the details of the encryption of the bucket destination of the Amazon S3 Storage Lens metrics export.", - "title": "Encryption" - }, - "Format": { - "markdownDescription": "This property contains the details of the format of the S3 Storage Lens export bucket destination.", - "title": "Format", - "type": "string" - }, - "OutputSchemaVersion": { - "markdownDescription": "This property contains the details of the output schema version of the S3 Storage Lens export bucket destination.", - "title": "OutputSchemaVersion", - "type": "string" - }, - "Prefix": { - "markdownDescription": "This property contains the details of the prefix of the bucket destination of the S3 Storage Lens export .", - "title": "Prefix", - "type": "string" - } - }, - "required": [ - "AccountId", - "Arn", - "Format", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::StorageLens.SSEKMS": { - "additionalProperties": false, - "properties": { - "KeyId": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the customer managed AWS key to use for encrypting the S3 Storage Lens metrics export file. Amazon S3 only supports symmetric encryption keys. For more information, see [Special-purpose keys](https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KeyId", - "type": "string" - } - }, - "required": [ - "KeyId" - ], - "type": "object" - }, - "AWS::S3::StorageLens.SelectionCriteria": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "markdownDescription": "This property contains the details of the S3 Storage Lens delimiter being used.", - "title": "Delimiter", - "type": "string" - }, - "MaxDepth": { - "markdownDescription": "This property contains the details of the max depth that S3 Storage Lens will collect metrics up to.", - "title": "MaxDepth", - "type": "number" - }, - "MinStorageBytesPercentage": { - "markdownDescription": "This property contains the details of the minimum storage bytes percentage threshold that S3 Storage Lens will collect metrics up to.", - "title": "MinStorageBytesPercentage", - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensConfiguration": { - "additionalProperties": false, - "properties": { - "AccountLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel", - "markdownDescription": "This property contains the details of the account-level metrics for Amazon S3 Storage Lens configuration.", - "title": "AccountLevel" - }, - "AwsOrg": { - "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg", - "markdownDescription": "This property contains the details of the AWS Organization for the S3 Storage Lens configuration.", - "title": "AwsOrg" - }, - "DataExport": { - "$ref": "#/definitions/AWS::S3::StorageLens.DataExport", - "markdownDescription": "This property contains the details of this S3 Storage Lens configuration's metrics export.", - "title": "DataExport" - }, - "Exclude": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions", - "markdownDescription": "This property contains the details of the bucket and or Regions excluded for Amazon S3 Storage Lens configuration.", - "title": "Exclude" - }, - "ExpandedPrefixesDataExport": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensExpandedPrefixesDataExport", - "markdownDescription": "This property configures your S3 Storage Lens expanded prefixes metrics report.", - "title": "ExpandedPrefixesDataExport" - }, - "Id": { - "markdownDescription": "This property contains the details of the ID of the S3 Storage Lens configuration.", - "title": "Id", - "type": "string" - }, - "Include": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions", - "markdownDescription": "This property contains the details of the bucket and or Regions included for Amazon S3 Storage Lens configuration.", - "title": "Include" - }, - "IsEnabled": { - "markdownDescription": "This property contains the details of whether the Amazon S3 Storage Lens configuration is enabled.", - "title": "IsEnabled", - "type": "boolean" - }, - "PrefixDelimiter": { - "markdownDescription": "", - "title": "PrefixDelimiter", - "type": "string" - }, - "StorageLensArn": { - "markdownDescription": "This property contains the details of the ARN of the S3 Storage Lens configuration. This property is read-only.", - "title": "StorageLensArn", - "type": "string" - } - }, - "required": [ - "AccountLevel", - "Id", - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensExpandedPrefixesDataExport": { - "additionalProperties": false, - "properties": { - "S3BucketDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination", - "markdownDescription": "This property specifies the general purpose bucket where the S3 Storage Lens Expanded Prefixes metrics export files are located. At least one export destination must be specified.", - "title": "S3BucketDestination" - }, - "StorageLensTableDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensTableDestination", - "markdownDescription": "This property configures S3 Storage Lens Expanded Prefixes metrics report to read-only S3 table buckets.", - "title": "StorageLensTableDestination" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensGroupLevel": { - "additionalProperties": false, - "properties": { - "StorageLensGroupSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensGroupSelectionCriteria", - "markdownDescription": "This property indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group aggregation. If this value is left null, then all Storage Lens groups are selected.", - "title": "StorageLensGroupSelectionCriteria" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensGroupSelectionCriteria": { - "additionalProperties": false, - "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "This property indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.", - "title": "Exclude", - "type": "array" - }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "This property indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.", - "title": "Include", - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensTableDestination": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::S3::StorageLens.Encryption", - "markdownDescription": "This resource configures your data encryption settings for Storage Lens metrics in read-only S3 table buckets.", - "title": "Encryption" - }, - "IsEnabled": { - "markdownDescription": "This property indicates whether the export to read-only S3 table buckets is enabled for your S3 Storage Lens configuration. When set to true, Storage Lens reports are automatically exported to tables in addition to other configured destinations.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "required": [ - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3::StorageLensGroup": { + "AWS::Route53::HealthCheck": { "additionalProperties": false, "properties": { "Condition": { @@ -343563,34 +311860,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Filter": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter", - "markdownDescription": "This property contains the criteria for the Storage Lens group data that is displayed", - "title": "Filter" - }, - "Name": { - "markdownDescription": "This property contains the Storage Lens group name.", - "title": "Name", - "type": "string" + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckConfig", + "markdownDescription": "A complex type that contains detailed information about one health check.\n\nFor the values to enter for `HealthCheckConfig` , see [HealthCheckConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html)", + "title": "HealthCheckConfig" }, - "Tags": { + "HealthCheckTags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" }, - "markdownDescription": "This property contains the AWS resource tags that you're adding to your Storage Lens group. This parameter is optional.", - "title": "Tags", + "markdownDescription": "The `HealthCheckTags` property describes key-value pairs that are associated with an `AWS::Route53::HealthCheck` resource.", + "title": "HealthCheckTags", "type": "array" } }, "required": [ - "Filter", - "Name" + "HealthCheckConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::StorageLensGroup" + "AWS::Route53::HealthCheck" ], "type": "string" }, @@ -343609,169 +311900,147 @@ ], "type": "object" }, - "AWS::S3::StorageLensGroup.And": { + "AWS::Route53::HealthCheck.AlarmIdentifier": { "additionalProperties": false, "properties": { - "MatchAnyPrefix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", - "title": "MatchAnyPrefix", - "type": "array" - }, - "MatchAnySuffix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", - "title": "MatchAnySuffix", - "type": "array" - }, - "MatchAnyTag": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "This property contains the list of object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", - "title": "MatchAnyTag", - "type": "array" - }, - "MatchObjectAge": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", - "markdownDescription": "This property contains `DaysGreaterThan` and `DaysLessThan` properties to define the object age range (minimum and maximum number of days).", - "title": "MatchObjectAge" + "Name": { + "markdownDescription": "The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.\n\n> Route 53 supports CloudWatch alarms with the following features:\n> \n> - Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see [High-Resolution Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) in the *Amazon CloudWatch User Guide* .\n> - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.", + "title": "Name", + "type": "string" }, - "MatchObjectSize": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", - "markdownDescription": "This property contains `BytesGreaterThan` and `BytesLessThan` to define the object size range (minimum and maximum number of Bytes).", - "title": "MatchObjectSize" + "Region": { + "markdownDescription": "For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, the region that the alarm was created in.\n\nFor the current list of CloudWatch regions, see [Amazon CloudWatch endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/cw_region.html) in the *Amazon Web Services General Reference* .", + "title": "Region", + "type": "string" } }, + "required": [ + "Name", + "Region" + ], "type": "object" }, - "AWS::S3::StorageLensGroup.Filter": { + "AWS::Route53::HealthCheck.HealthCheckConfig": { "additionalProperties": false, "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.And", - "markdownDescription": "This property contains the `And` logical operator, which allows multiple filter conditions to be joined for more complex comparisons of Storage Lens group data. Objects must match all of the listed filter conditions that are joined by the `And` logical operator. Only one of each filter condition is allowed.", - "title": "And" + "AlarmIdentifier": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.AlarmIdentifier", + "markdownDescription": "A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.", + "title": "AlarmIdentifier" }, - "MatchAnyPrefix": { + "ChildHealthChecks": { "items": { "type": "string" }, - "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", - "title": "MatchAnyPrefix", + "markdownDescription": "(CALCULATED Health Checks Only) A complex type that contains one `ChildHealthCheck` element for each health check that you want to associate with a `CALCULATED` health check.", + "title": "ChildHealthChecks", "type": "array" }, - "MatchAnySuffix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", - "title": "MatchAnySuffix", - "type": "array" + "EnableSNI": { + "markdownDescription": "Specify whether you want Amazon Route 53 to send the value of `FullyQualifiedDomainName` to the endpoint in the `client_hello` message during TLS negotiation. This allows the endpoint to respond to `HTTPS` health check requests with the applicable SSL/TLS certificate.\n\nSome endpoints require that `HTTPS` requests include the host name in the `client_hello` message. If you don't enable SNI, the status of the health check will be `SSL alert handshake_failure` . A health check can also have that status for other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.\n\nThe SSL/TLS certificate on your endpoint includes a domain name in the `Common Name` field and possibly several more in the `Subject Alternative Names` field. One of the domain names in the certificate should match the value that you specify for `FullyQualifiedDomainName` . If the endpoint responds to the `client_hello` message with a certificate that does not include the domain name that you specified in `FullyQualifiedDomainName` , a health checker will retry the handshake. In the second attempt, the health checker will omit `FullyQualifiedDomainName` from the `client_hello` message.", + "title": "EnableSNI", + "type": "boolean" }, - "MatchAnyTag": { + "FailureThreshold": { + "markdownDescription": "The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .\n\n`FailureThreshold` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\nOtherwise, if you don't specify a value for `FailureThreshold` , the default value is three health checks.", + "title": "FailureThreshold", + "type": "number" + }, + "FullyQualifiedDomainName": { + "markdownDescription": "Amazon Route 53 behavior depends on whether you specify a value for `IPAddress` .\n\n*If you specify a value for* `IPAddress` :\n\nAmazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of `FullyQualifiedDomainName` in the `Host` header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks.\n\nWhen Route 53 checks the health of an endpoint, here is how it constructs the `Host` header:\n\n- If you specify a value of `80` for `Port` and `HTTP` or `HTTP_STR_MATCH` for `Type` , Route 53 passes the value of `FullyQualifiedDomainName` to the endpoint in the Host header.\n- If you specify a value of `443` for `Port` and `HTTPS` or `HTTPS_STR_MATCH` for `Type` , Route 53 passes the value of `FullyQualifiedDomainName` to the endpoint in the `Host` header.\n- If you specify another value for `Port` and any value except `TCP` for `Type` , Route 53 passes `FullyQualifiedDomainName:Port` to the endpoint in the `Host` header.\n\nIf you don't specify a value for `FullyQualifiedDomainName` , Route 53 substitutes the value of `IPAddress` in the `Host` header in each of the preceding cases.\n\n*If you don't specify a value for `IPAddress`* :\n\nRoute 53 sends a DNS request to the domain that you specify for `FullyQualifiedDomainName` at the interval that you specify for `RequestInterval` . Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.\n\n> If you don't specify a value for `IPAddress` , Route 53 uses only IPv4 to send health checks to the endpoint. If there's no record with a type of A for the name that you specify for `FullyQualifiedDomainName` , the health check fails with a \"DNS resolution failed\" error. \n\nIf you want to check the health of multiple records that have the same name and type, such as multiple weighted records, and if you choose to specify the endpoint only by `FullyQualifiedDomainName` , we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as us-east-2-www.example.com), not the name of the records (www.example.com).\n\n> In this configuration, if you create a health check for which the value of `FullyQualifiedDomainName` matches the name of the records and you then associate the health check with those records, health check results will be unpredictable. \n\nIn addition, if the value that you specify for `Type` is `HTTP` , `HTTPS` , `HTTP_STR_MATCH` , or `HTTPS_STR_MATCH` , Route 53 passes the value of `FullyQualifiedDomainName` in the `Host` header, as it does when you specify a value for `IPAddress` . If the value of `Type` is `TCP` , Route 53 doesn't pass a `Host` header.", + "title": "FullyQualifiedDomainName", + "type": "string" + }, + "HealthThreshold": { + "markdownDescription": "The number of child health checks that are associated with a `CALCULATED` health check that Amazon Route 53 must consider healthy for the `CALCULATED` health check to be considered healthy. To specify the child health checks that you want to associate with a `CALCULATED` health check, use the [ChildHealthChecks](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-ChildHealthChecks) element.\n\nNote the following:\n\n- If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.\n- If you specify `0` , Route 53 always considers this health check to be healthy.", + "title": "HealthThreshold", + "type": "number" + }, + "IPAddress": { + "markdownDescription": "The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for `IPAddress` , Route 53 sends a DNS request to resolve the domain name that you specify in `FullyQualifiedDomainName` at the interval that you specify in `RequestInterval` . Using an IP address returned by DNS, Route 53 then checks the health of the endpoint.\n\nUse one of the following formats for the value of `IPAddress` :\n\n- *IPv4 address* : four values between 0 and 255, separated by periods (.), for example, `192.0.2.44` .\n- *IPv6 address* : eight groups of four hexadecimal values, separated by colons (:), for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345` . You can also shorten IPv6 addresses as described in RFC 5952, for example, `2001:db8:85a3::abcd:1:2345` .\n\nIf the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for `IPAddress` . This ensures that the IP address of your instance will never change.\n\nFor more information, see [FullyQualifiedDomainName](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName) .\n\nConstraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:\n\n- [RFC 5735, Special Use IPv4 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5735)\n- [RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6598)\n- [RFC 5156, Special-Use IPv6 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5156)\n\nWhen the value of `Type` is `CALCULATED` or `CLOUDWATCH_METRIC` , omit `IPAddress` .", + "title": "IPAddress", + "type": "string" + }, + "InsufficientDataHealthStatus": { + "markdownDescription": "When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:\n\n- `Healthy` : Route 53 considers the health check to be healthy.\n- `Unhealthy` : Route 53 considers the health check to be unhealthy.\n- `LastKnownStatus` : Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.", + "title": "InsufficientDataHealthStatus", + "type": "string" + }, + "Inverted": { + "markdownDescription": "Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.", + "title": "Inverted", + "type": "boolean" + }, + "MeasureLatency": { + "markdownDescription": "Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the *Health Checks* page in the Route 53 console.\n\n`MeasureLatency` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\n> You can't change the value of `MeasureLatency` after you create a health check.", + "title": "MeasureLatency", + "type": "boolean" + }, + "Port": { + "markdownDescription": "The port on the endpoint that you want Amazon Route 53 to perform health checks on.\n\n> Don't specify a value for `Port` when you specify a value for [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type) of `CLOUDWATCH_METRIC` or `CALCULATED` .", + "title": "Port", + "type": "number" + }, + "Regions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", - "title": "MatchAnyTag", + "markdownDescription": "A complex type that contains one `Region` element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.\n\nIf you don't specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under *Valid Values* .\n\nIf you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with four different regions).", + "title": "Regions", "type": "array" }, - "MatchObjectAge": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", - "markdownDescription": "This property contains `DaysGreaterThan` and `DaysLessThan` to define the object age range (minimum and maximum number of days).", - "title": "MatchObjectAge" + "RequestInterval": { + "markdownDescription": "The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Route 53 health checker makes requests at this interval.\n\n`RequestInterval` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\n> You can't change the value of `RequestInterval` after you create a health check. \n\nIf you don't specify a value for `RequestInterval` , the default value is `30` seconds.", + "title": "RequestInterval", + "type": "number" }, - "MatchObjectSize": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", - "markdownDescription": "This property contains `BytesGreaterThan` and `BytesLessThan` to define the object size range (minimum and maximum number of Bytes).", - "title": "MatchObjectSize" + "ResourcePath": { + "markdownDescription": "The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. You can also include query string parameters, for example, `/welcome.html?language=jp&login=y` .", + "title": "ResourcePath", + "type": "string" }, - "Or": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or", - "markdownDescription": "This property contains the `Or` logical operator, which allows multiple filter conditions to be joined. Objects can match any of the listed filter conditions, which are joined by the `Or` logical operator. Only one of each filter condition is allowed.", - "title": "Or" - } - }, - "type": "object" - }, - "AWS::S3::StorageLensGroup.MatchObjectAge": { - "additionalProperties": false, - "properties": { - "DaysGreaterThan": { - "markdownDescription": "This property indicates the minimum object age in days.", - "title": "DaysGreaterThan", - "type": "number" + "RoutingControlArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control.\n\nFor more information about Route 53 Application Recovery Controller, see [Route 53 Application Recovery Controller Developer Guide.](https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route-53-recovery.html) .", + "title": "RoutingControlArn", + "type": "string" }, - "DaysLessThan": { - "markdownDescription": "This property indicates the maximum object age in days.", - "title": "DaysLessThan", - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::StorageLensGroup.MatchObjectSize": { - "additionalProperties": false, - "properties": { - "BytesGreaterThan": { - "markdownDescription": "This property specifies the minimum object size in bytes. The value must be a positive number, greater than 0 and less than 5 TB.", - "title": "BytesGreaterThan", - "type": "number" + "SearchString": { + "markdownDescription": "If the value of Type is `HTTP_STR_MATCH` or `HTTPS_STR_MATCH` , the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy.\n\nRoute 53 considers case when searching for `SearchString` in the response body.", + "title": "SearchString", + "type": "string" }, - "BytesLessThan": { - "markdownDescription": "This property specifies the maximum object size in bytes. The value must be a positive number, greater than the minimum object size and less than 5 TB.", - "title": "BytesLessThan", - "type": "number" + "Type": { + "markdownDescription": "The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.\n\n> You can't change the value of `Type` after you create a health check. \n\nYou can create the following types of health checks:\n\n- *HTTP* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.\n- *HTTPS* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.\n\n> If you specify `HTTPS` for the value of `Type` , the endpoint must support TLS v1.0 or later.\n- *HTTP_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in `SearchString` .\n- *HTTPS_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an `HTTPS` request and searches the first 5,120 bytes of the response body for the string that you specify in `SearchString` .\n- *TCP* : Route 53 tries to establish a TCP connection.\n- *CLOUDWATCH_METRIC* : The health check is associated with a CloudWatch alarm. If the state of the alarm is `OK` , the health check is considered healthy. If the state is `ALARM` , the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is `OK` or `ALARM` , the health check status depends on the setting for `InsufficientDataHealthStatus` : `Healthy` , `Unhealthy` , or `LastKnownStatus` .\n\n> Route 53 supports CloudWatch alarms with the following features:\n> \n> - Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see [High-Resolution Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) in the *Amazon CloudWatch User Guide* .\n> - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.\n- *CALCULATED* : For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of `HealthThreshold` .\n- *RECOVERY_CONTROL* : The health check is assocated with a Route53 Application Recovery Controller routing control. If the routing control state is `ON` , the health check is considered healthy. If the state is `OFF` , the health check is considered unhealthy.\n\nFor more information, see [How Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .", + "title": "Type", + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::S3::StorageLensGroup.Or": { + "AWS::Route53::HealthCheck.HealthCheckTag": { "additionalProperties": false, "properties": { - "MatchAnyPrefix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", - "title": "MatchAnyPrefix", - "type": "array" - }, - "MatchAnySuffix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains the list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", - "title": "MatchAnySuffix", - "type": "array" - }, - "MatchAnyTag": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", - "title": "MatchAnyTag", - "type": "array" - }, - "MatchObjectAge": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", - "markdownDescription": "This property filters objects that match the specified object age range.", - "title": "MatchObjectAge" + "Key": { + "markdownDescription": "The value of `Key` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Key` is the name that you want to give the new tag.\n- *Edit a tag* : `Key` is the name of the tag that you want to change the `Value` for.\n- *Delete a key* : `Key` is the name of the tag you want to remove.\n- *Give a name to a health check* : Edit the default `Name` tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.", + "title": "Key", + "type": "string" }, - "MatchObjectSize": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", - "markdownDescription": "This property contains the `BytesGreaterThan` and `BytesLessThan` values to define the object size range (minimum and maximum number of Bytes).", - "title": "MatchObjectSize" + "Value": { + "markdownDescription": "The value of `Value` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Value` is the value that you want to give the new tag.\n- *Edit a tag* : `Value` is the new value that you want to assign the tag.", + "title": "Value", + "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::S3Express::AccessPoint": { + "AWS::Route53::HostedZone": { "additionalProperties": false, "properties": { "Condition": { @@ -343806,58 +312075,48 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the bucket that you want to associate the access point with.", - "title": "Bucket", - "type": "string" + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig", + "markdownDescription": "A complex type that contains an optional comment.\n\nIf you don't want to specify a comment, omit the `HostedZoneConfig` and `Comment` elements.", + "title": "HostedZoneConfig" }, - "BucketAccountId": { - "markdownDescription": "The AWS account ID that owns the bucket associated with this access point.", - "title": "BucketAccountId", - "type": "string" + "HostedZoneFeatures": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneFeatures", + "markdownDescription": "The features configuration for the hosted zone, including accelerated recovery settings and status information.", + "title": "HostedZoneFeatures" + }, + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "markdownDescription": "Adds, edits, or deletes tags for a health check or a hosted zone.\n\nFor information about using tags for cost allocation, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the *Billing and Cost Management User Guide* .", + "title": "HostedZoneTags", + "type": "array" }, "Name": { - "markdownDescription": "An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix `--xa-s3` . For example, accesspointname--zoneID--xa-s3.", + "markdownDescription": "The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical.\n\nIf you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of `NameServers` that are returned by the `Fn::GetAtt` intrinsic function.", "title": "Name", "type": "string" }, - "Policy": { - "markdownDescription": "The access point policy associated with the specified access point.", - "title": "Policy", - "type": "object" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3Express::AccessPoint.PublicAccessBlockConfiguration", - "markdownDescription": "Public access is blocked by default to access points for directory buckets.", - "title": "PublicAccessBlockConfiguration" - }, - "Scope": { - "$ref": "#/definitions/AWS::S3Express::AccessPoint.Scope", - "markdownDescription": "You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.\n\nFor more information, see [Manage the scope of your access points for directory buckets.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets-manage-scope.html)", - "title": "Scope" + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig", + "markdownDescription": "Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.\n\nDNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:\n\n- Route 53 edge location that responded to the DNS query\n- Domain or subdomain that was requested\n- DNS record type, such as A or AAAA\n- DNS response code, such as `NoError` or `ServFail`\n\n- **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations.\n\n> If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. \n\n- Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:\n\n- You must create the log group in the us-east-1 region.\n- You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for.\n- When you create log groups for query logging, we recommend that you use a consistent prefix, for example:\n\n`/aws/route53/ *hosted zone name*`\n\nIn the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.\n- Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of `Resource` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with `*` , for example:\n\n`arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`\n\nTo avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values:\n\n- For `aws:SourceArn` , supply the hosted zone ARN used in creating the query logging configuration. For example, `aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID` .\n- For `aws:SourceAccount` , supply the account ID for the account that creates the query logging configuration. For example, `aws:SourceAccount:111111111111` .\n\nFor more information, see [The confused deputy problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) in the *AWS IAM User Guide* .\n\n> You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI .\n- **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following:\n\n- Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location.\n- Begins to send query logs to the applicable log stream.\n\nThe name of each log stream is in the following format:\n\n`*hosted zone ID* / *edge location code*`\n\nThe edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the [Route 53 Product Details](https://docs.aws.amazon.com/route53/details/) page.\n- **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see [Routing Internet Traffic to Your Website or Web Application](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html) in the *Amazon Route 53 Developer Guide* .\n- **Log File Format** - For a list of the values in each query log and the format of each value, see [Logging DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) in the *Amazon Route 53 Developer Guide* .\n- **Pricing** - For information about charges for query logs, see [Amazon CloudWatch Pricing](https://docs.aws.amazon.com/cloudwatch/pricing/) .\n- **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see [DeleteQueryLoggingConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html) .", + "title": "QueryLoggingConfig" }, - "Tags": { + "VPCs": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" }, - "markdownDescription": "An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see [Using tags for attribute-based access control (ABAC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac) .", - "title": "Tags", + "markdownDescription": "*Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", + "title": "VPCs", "type": "array" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3Express::AccessPoint.VpcConfiguration", - "markdownDescription": "If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).", - "title": "VpcConfiguration" } }, - "required": [ - "Bucket" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Express::AccessPoint" + "AWS::Route53::HostedZone" ], "type": "string" }, @@ -343870,72 +312129,88 @@ "type": "string" } }, - "required": [ - "Type", - "Properties" - ], + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "markdownDescription": "Any comments that you want to include about the hosted zone.", + "title": "Comment", + "type": "string" + } + }, "type": "object" }, - "AWS::S3Express::AccessPoint.PublicAccessBlockConfiguration": { + "AWS::Route53::HostedZone.HostedZoneFeatures": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", - "title": "BlockPublicAcls", - "type": "boolean" - }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", - "title": "BlockPublicPolicy", - "type": "boolean" - }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "title": "IgnorePublicAcls", - "type": "boolean" - }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "title": "RestrictPublicBuckets", + "EnableAcceleratedRecovery": { + "markdownDescription": "", + "title": "EnableAcceleratedRecovery", "type": "boolean" } }, "type": "object" }, - "AWS::S3Express::AccessPoint.Scope": { + "AWS::Route53::HostedZone.HostedZoneTag": { "additionalProperties": false, "properties": { - "Permissions": { - "items": { - "type": "string" - }, - "markdownDescription": "You can include one or more API operations as permissions.", - "title": "Permissions", - "type": "array" + "Key": { + "markdownDescription": "The value of `Key` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Key` is the name that you want to give the new tag.\n- *Edit a tag* : `Key` is the name of the tag that you want to change the `Value` for.\n- *Delete a key* : `Key` is the name of the tag you want to remove.\n- *Give a name to a health check* : Edit the default `Name` tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.", + "title": "Key", + "type": "string" }, - "Prefixes": { - "items": { - "type": "string" - }, - "markdownDescription": "You can specify any amount of prefixes, but the total length of characters of all prefixes must be less than 256 bytes in size.", - "title": "Prefixes", - "type": "array" + "Value": { + "markdownDescription": "The value of `Value` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Value` is the value that you want to give the new tag.\n- *Edit a tag* : `Value` is the new value that you want to assign the tag.", + "title": "Value", + "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::S3Express::AccessPoint.VpcConfiguration": { + "AWS::Route53::HostedZone.QueryLoggingConfig": { "additionalProperties": false, "properties": { - "VpcId": { - "markdownDescription": "If this field is specified, this access point will only allow connections from the specified VPC ID.", - "title": "VpcId", + "CloudWatchLogsLogGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.", + "title": "CloudWatchLogsLogGroupArn", "type": "string" } }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], "type": "object" }, - "AWS::S3Express::BucketPolicy": { + "AWS::Route53::HostedZone.VPC": { + "additionalProperties": false, + "properties": { + "VPCId": { + "markdownDescription": "*Private hosted zones only:* The ID of an Amazon VPC.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", + "title": "VPCId", + "type": "string" + }, + "VPCRegion": { + "markdownDescription": "*Private hosted zones only:* The region that an Amazon VPC was created in.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", + "title": "VPCRegion", + "type": "string" + } + }, + "required": [ + "VPCId", + "VPCRegion" + ], + "type": "object" + }, + "AWS::Route53::KeySigningKey": { "additionalProperties": false, "properties": { "Condition": { @@ -343970,26 +312245,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the S3 directory bucket to which the policy applies.", - "title": "Bucket", + "HostedZoneId": { + "markdownDescription": "The unique string (ID) that is used to identify a hosted zone. For example: `Z00001111A1ABCaaABC11` .", + "title": "HostedZoneId", "type": "string" }, - "PolicyDocument": { - "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Policies and Permissions in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", - "title": "PolicyDocument", - "type": "object" + "KeyManagementServiceArn": { + "markdownDescription": "The Amazon resource name (ARN) for a customer managed customer master key (CMK) in AWS Key Management Service ( AWS ). The `KeyManagementServiceArn` must be unique for each key-signing key (KSK) in a single hosted zone. For example: `arn:aws:kms:us-east-1:111122223333:key/111a2222-a11b-1ab1-2ab2-1ab21a2b3a111` .", + "title": "KeyManagementServiceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "A string used to identify a key-signing key (KSK). `Name` can include numbers, letters, and underscores (_). `Name` must be unique for each key-signing key in the same hosted zone.", + "title": "Name", + "type": "string" + }, + "Status": { + "markdownDescription": "A string that represents the current key-signing key (KSK) status.\n\nStatus can have one of the following values:\n\n- **ACTIVE** - The KSK is being used for signing.\n- **INACTIVE** - The KSK is not being used for signing.\n- **DELETING** - The KSK is in the process of being deleted.\n- **ACTION_NEEDED** - There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed key might have been deleted, or the permissions for the customer managed key might have been changed.\n- **INTERNAL_FAILURE** - There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.", + "title": "Status", + "type": "string" } }, "required": [ - "Bucket", - "PolicyDocument" + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Express::BucketPolicy" + "AWS::Route53::KeySigningKey" ], "type": "string" }, @@ -344008,7 +312295,7 @@ ], "type": "object" }, - "AWS::S3Express::DirectoryBucket": { + "AWS::Route53::RecordSet": { "additionalProperties": false, "properties": { "Condition": { @@ -344043,61 +312330,104 @@ "Properties": { "additionalProperties": false, "properties": { - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.BucketEncryption", - "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* .", - "title": "BucketEncryption" + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget", + "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", + "title": "AliasTarget" }, - "BucketName": { - "markdownDescription": "A name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Zone (Availability Zone or Local Zone). The bucket name must also follow the format `*bucket_base_name* -- *zone_id* --x-s3` (for example, `*bucket_base_name* -- *usw2-az1* --x-s3` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see [Directory bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) in the *Amazon S3 User Guide* .\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": "BucketName", + "CidrRoutingConfig": { + "$ref": "#/definitions/AWS::Route53::RecordSet.CidrRoutingConfig", + "markdownDescription": "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.\n\nA `LocationName` with an asterisk \u201c*\u201d can be used to create a default CIDR record. `CollectionId` is still required for default record.", + "title": "CidrRoutingConfig" + }, + "Comment": { + "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", + "title": "Comment", "type": "string" }, - "DataRedundancy": { - "markdownDescription": "The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.", - "title": "DataRedundancy", + "Failover": { + "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", + "title": "Failover", "type": "string" }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.InventoryConfiguration" - }, - "type": "array" + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation", + "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", + "title": "GeoLocation" }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.LifecycleConfiguration", - "markdownDescription": "Container for lifecycle rules. You can add as many as 1000 rules.\n\nFor more information see, [Creating and managing a lifecycle configuration for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-lifecycle.html ) in the *Amazon S3 User Guide* .", - "title": "LifecycleConfiguration" + "GeoProximityLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoProximityLocation", + "markdownDescription": "*GeoproximityLocation resource record sets only:* A complex type that lets you control how Route\u00a053 responds to DNS queries based on the geographic origin of the query and your resources.", + "title": "GeoProximityLocation" }, - "LocationName": { - "markdownDescription": "The name of the location where the bucket will be created.\n\nFor directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is `usw2-az1` .", - "title": "LocationName", + "HealthCheckId": { + "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", + "title": "HealthCheckId", "type": "string" }, - "MetricsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.MetricsConfiguration" - }, - "type": "array" + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneId", + "type": "string" }, - "Tags": { + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an AWS::Route53::RecordSet that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" + }, + "MultiValueAnswer": { + "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", + "title": "MultiValueAnswer", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", + "title": "Name", + "type": "string" + }, + "Region": { + "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", + "title": "Region", + "type": "string" + }, + "ResourceRecords": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "An array of tags that you can apply to the S3 directory bucket. Tags are key-value pairs of metadata used to categorize and organize your buckets, track costs, and control access. For more information, see [Using tags with directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html) .", - "title": "Tags", + "markdownDescription": "One or more values that correspond with the value that you specified for the `Type` property. For example, if you specified `A` for `Type` , you specify one or more IP addresses in IPv4 format for `ResourceRecords` . For information about the format of values for each record type, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nNote the following:\n\n- You can specify more than one value for all record types except CNAME and SOA.\n- The maximum length of a value is 4000 characters.\n- If you're creating an alias record, omit `ResourceRecords` .", + "title": "ResourceRecords", "type": "array" + }, + "SetIdentifier": { + "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", + "title": "SetIdentifier", + "type": "string" + }, + "TTL": { + "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", + "title": "TTL", + "type": "string" + }, + "Type": { + "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "Type", + "type": "string" + }, + "Weight": { + "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", + "title": "Weight", + "type": "number" } }, "required": [ - "DataRedundancy", - "LocationName" + "Name", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Express::DirectoryBucket" + "AWS::Route53::RecordSet" ], "type": "string" }, @@ -344116,211 +312446,119 @@ ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "markdownDescription": "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", - "title": "DaysAfterInitiation", - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3Express::DirectoryBucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.ServerSideEncryptionRule" - }, - "markdownDescription": "Specifies the default server-side-encryption configuration.", - "title": "ServerSideEncryptionConfiguration", - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3Express::DirectoryBucket.Destination": { + "AWS::Route53::RecordSet.AliasTarget": { "additionalProperties": false, "properties": { - "BucketAccountId": { - "type": "string" - }, - "BucketArn": { + "DNSName": { + "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "DNSName", "type": "string" }, - "Format": { - "type": "string" + "EvaluateTargetHealth": { + "markdownDescription": "*Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets:* When `EvaluateTargetHealth` is `true` , an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **API Gateway APIs** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an API Gateway API. However, because API Gateway is highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket. However, because S3 buckets are highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **VPC interface endpoints** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is a VPC interface endpoint. However, because VPC interface endpoints are highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\n> While `EvaluateTargetHealth` can be set to `true` for highly available AWS services (such as S3 buckets, VPC interface endpoints, and API Gateway), these services are designed for high availability and rarely experience outages that would be detected by this feature. For failover scenarios with these services, consider using [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) that monitor your application's ability to access the service instead. \n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", + "title": "EvaluateTargetHealth", + "type": "boolean" }, - "Prefix": { + "HostedZoneId": { + "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing Endpoints and Quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", + "title": "HostedZoneId", "type": "string" } }, "required": [ - "BucketArn", - "Format" + "DNSName", + "HostedZoneId" ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.InventoryConfiguration": { + "AWS::Route53::RecordSet.CidrRoutingConfig": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "IncludedObjectVersions": { - "type": "string" - }, - "OptionalFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Prefix": { + "CollectionId": { + "markdownDescription": "The CIDR collection ID.", + "title": "CollectionId", "type": "string" }, - "ScheduleFrequency": { + "LocationName": { + "markdownDescription": "The CIDR collection location name.", + "title": "LocationName", "type": "string" } }, "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" - ], - "type": "object" - }, - "AWS::S3Express::DirectoryBucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.Rule" - }, - "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 Express bucket.", - "title": "Rules", - "type": "array" - } - }, - "required": [ - "Rules" + "CollectionId", + "LocationName" ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.MetricsConfiguration": { + "AWS::Route53::RecordSet.Coordinates": { "additionalProperties": false, "properties": { - "AccessPointArn": { - "type": "string" - }, - "Id": { + "Latitude": { + "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", + "title": "Latitude", "type": "string" }, - "Prefix": { + "Longitude": { + "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", + "title": "Longitude", "type": "string" } }, "required": [ - "Id" + "Latitude", + "Longitude" ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.Rule": { + "AWS::Route53::RecordSet.GeoLocation": { "additionalProperties": false, "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.AbortIncompleteMultipartUpload", - "markdownDescription": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", - "title": "AbortIncompleteMultipartUpload" - }, - "ExpirationInDays": { - "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "title": "ExpirationInDays", - "type": "number" - }, - "Id": { - "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.", - "title": "Id", - "type": "string" - }, - "ObjectSizeGreaterThan": { - "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", - "title": "ObjectSizeGreaterThan", - "type": "string" - }, - "ObjectSizeLessThan": { - "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", - "title": "ObjectSizeLessThan", + "ContinentCode": { + "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", + "title": "ContinentCode", "type": "string" }, - "Prefix": { - "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "Prefix", + "CountryCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", + "title": "CountryCode", "type": "string" }, - "Status": { - "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", - "title": "Status", + "SubdivisionCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", + "title": "SubdivisionCode", "type": "string" } }, - "required": [ - "Status" - ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.ServerSideEncryptionByDefault": { + "AWS::Route53::RecordSet.GeoProximityLocation": { "additionalProperties": false, "properties": { - "KMSMasterKeyID": { - "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. This parameter is allowed only if `SSEAlgorithm` is set to `aws:kms` .\n\nYou can specify this parameter with the key ID or the Amazon Resource Name (ARN) of the KMS key. You can\u2019t use the key alias of the KMS key.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n\nIf you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html#s3-express-bucket-encryption-update-bucket-policy) .\n\n> Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket for the lifetime of the bucket. [AWS managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) ( `aws/s3` ) isn't supported. Also, after you specify a customer managed key for SSE-KMS and upload objects with this configuration, you can't override the customer managed key for your SSE-KMS configuration. To use a new customer manager key for your data, we recommend copying your existing objects to a new directory bucket with a new customer managed key. > Amazon S3 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": "KMSMasterKeyID", + "AWSRegion": { + "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", + "title": "AWSRegion", "type": "string" }, - "SSEAlgorithm": { - "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n> For directory buckets, there are only two supported values for server-side encryption: `AES256` and `aws:kms` .", - "title": "SSEAlgorithm", - "type": "string" - } - }, - "required": [ - "SSEAlgorithm" - ], - "type": "object" - }, - "AWS::S3Express::DirectoryBucket.ServerSideEncryptionRule": { - "additionalProperties": false, - "properties": { - "BucketKeyEnabled": { - "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. S3 Bucket Keys are always enabled for `GET` and `PUT` operations on a directory bucket and can\u2019t be disabled. It's only allowed to set the `BucketKeyEnabled` element to `true` .\n\nS3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) , [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) , [the Copy operation in Batch Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops) , or [the import jobs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job) . In this case, Amazon S3 makes a call to AWS KMS every time a copy request is made for a KMS-encrypted object.\n\nFor more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-UsingKMSEncryption.html#s3-express-sse-kms-bucket-keys) in the *Amazon S3 User Guide* .", - "title": "BucketKeyEnabled", - "type": "boolean" + "Bias": { + "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", + "title": "Bias", + "type": "number" }, - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.ServerSideEncryptionByDefault", - "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", - "title": "ServerSideEncryptionByDefault" + "Coordinates": { + "$ref": "#/definitions/AWS::Route53::RecordSet.Coordinates", + "markdownDescription": "Contains the longitude and latitude for a geographic region.", + "title": "Coordinates" + }, + "LocalZoneGroup": { + "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", + "title": "LocalZoneGroup", + "type": "string" } }, "type": "object" }, - "AWS::S3Files::AccessPoint": { + "AWS::Route53::RecordSetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -344355,33 +312593,35 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { + "Comment": { + "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", + "title": "Comment", "type": "string" }, - "FileSystemId": { + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneId", "type": "string" }, - "PosixUser": { - "$ref": "#/definitions/AWS::S3Files::AccessPoint.PosixUser" - }, - "RootDirectory": { - "$ref": "#/definitions/AWS::S3Files::AccessPoint.RootDirectory" + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" }, - "Tags": { + "RecordSets": { "items": { - "$ref": "#/definitions/AWS::S3Files::AccessPoint.AccessPointTag" + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" }, + "markdownDescription": "A complex type that contains one `RecordSet` element for each record that you want to create.", + "title": "RecordSets", "type": "array" } }, - "required": [ - "FileSystemId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Files::AccessPoint" + "AWS::Route53::RecordSetGroup" ], "type": "string" }, @@ -344395,78 +312635,216 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::S3Files::AccessPoint.AccessPointTag": { + "AWS::Route53::RecordSetGroup.AliasTarget": { "additionalProperties": false, "properties": { - "Key": { + "DNSName": { + "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "DNSName", "type": "string" }, - "Value": { + "EvaluateTargetHealth": { + "markdownDescription": "*Applies only to alias records with any routing policy:* When `EvaluateTargetHealth` is `true` , an alias record inherits the health of the referenced AWS resource, such as an ELB load balancer or another record in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", + "title": "EvaluateTargetHealth", + "type": "boolean" + }, + "HostedZoneId": { + "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing endpoints and quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", + "title": "HostedZoneId", "type": "string" } }, + "required": [ + "DNSName", + "HostedZoneId" + ], "type": "object" }, - "AWS::S3Files::AccessPoint.CreationPermissions": { + "AWS::Route53::RecordSetGroup.CidrRoutingConfig": { "additionalProperties": false, "properties": { - "OwnerGid": { + "CollectionId": { + "markdownDescription": "The CIDR collection ID.", + "title": "CollectionId", "type": "string" }, - "OwnerUid": { + "LocationName": { + "markdownDescription": "The CIDR collection location name.", + "title": "LocationName", + "type": "string" + } + }, + "required": [ + "CollectionId", + "LocationName" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", + "title": "Latitude", "type": "string" }, - "Permissions": { + "Longitude": { + "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", + "title": "Longitude", "type": "string" } }, "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" + "Latitude", + "Longitude" ], "type": "object" }, - "AWS::S3Files::AccessPoint.PosixUser": { + "AWS::Route53::RecordSetGroup.GeoLocation": { "additionalProperties": false, "properties": { - "Gid": { + "ContinentCode": { + "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", + "title": "ContinentCode", "type": "string" }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" + "CountryCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", + "title": "CountryCode", + "type": "string" }, - "Uid": { + "SubdivisionCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", + "title": "SubdivisionCode", "type": "string" } }, - "required": [ - "Gid", - "Uid" - ], "type": "object" }, - "AWS::S3Files::AccessPoint.RootDirectory": { + "AWS::Route53::RecordSetGroup.GeoProximityLocation": { "additionalProperties": false, "properties": { - "CreationPermissions": { - "$ref": "#/definitions/AWS::S3Files::AccessPoint.CreationPermissions" + "AWSRegion": { + "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", + "title": "AWSRegion", + "type": "string" }, - "Path": { + "Bias": { + "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", + "title": "Bias", + "type": "number" + }, + "Coordinates": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.Coordinates", + "markdownDescription": "Contains the longitude and latitude for a geographic region.", + "title": "Coordinates" + }, + "LocalZoneGroup": { + "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", + "title": "LocalZoneGroup", "type": "string" } }, "type": "object" }, - "AWS::S3Files::FileSystem": { + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget", + "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", + "title": "AliasTarget" + }, + "CidrRoutingConfig": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.CidrRoutingConfig", + "markdownDescription": "", + "title": "CidrRoutingConfig" + }, + "Failover": { + "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", + "title": "Failover", + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation", + "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", + "title": "GeoLocation" + }, + "GeoProximityLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoProximityLocation", + "markdownDescription": "A complex type that contains information about a geographic location.", + "title": "GeoProximityLocation" + }, + "HealthCheckId": { + "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", + "title": "HealthCheckId", + "type": "string" + }, + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .\n\nDo not provide the `HostedZoneId` if it is already defined in `AWS::Route53::RecordSetGroup` . The creation fails if `HostedZoneId` is defined in both.", + "title": "HostedZoneId", + "type": "string" + }, + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" + }, + "MultiValueAnswer": { + "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", + "title": "MultiValueAnswer", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", + "title": "Name", + "type": "string" + }, + "Region": { + "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", + "title": "Region", + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "markdownDescription": "Information about the records that you want to create. Each record should be in the format appropriate for the record type specified by the `Type` property. For information about different record types and their record formats, see [Values That You Specify When You Create or Edit Amazon Route 53 Records](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html) in the *Amazon Route 53 Developer Guide* .", + "title": "ResourceRecords", + "type": "array" + }, + "SetIdentifier": { + "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", + "title": "SetIdentifier", + "type": "string" + }, + "TTL": { + "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", + "title": "TTL", + "type": "string" + }, + "Type": { + "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "Type", + "type": "string" + }, + "Weight": { + "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", + "title": "Weight", + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53GlobalResolver::AccessSource": { "additionalProperties": false, "properties": { "Condition": { @@ -344501,26 +312879,23 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptBucketWarning": { - "type": "boolean" - }, - "Bucket": { + "Cidr": { "type": "string" }, "ClientToken": { "type": "string" }, - "KmsKeyId": { + "DnsViewId": { "type": "string" }, - "Prefix": { + "IpAddressType": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SynchronizationConfiguration": { - "$ref": "#/definitions/AWS::S3Files::FileSystem.SynchronizationConfiguration" + "Protocol": { + "type": "string" }, "Tags": { "items": { @@ -344530,14 +312905,15 @@ } }, "required": [ - "Bucket", - "RoleArn" + "Cidr", + "DnsViewId", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Files::FileSystem" + "AWS::Route53GlobalResolver::AccessSource" ], "type": "string" }, @@ -344556,64 +312932,7 @@ ], "type": "object" }, - "AWS::S3Files::FileSystem.ExpirationDataRule": { - "additionalProperties": false, - "properties": { - "DaysAfterLastAccess": { - "type": "number" - } - }, - "required": [ - "DaysAfterLastAccess" - ], - "type": "object" - }, - "AWS::S3Files::FileSystem.ImportDataRule": { - "additionalProperties": false, - "properties": { - "Prefix": { - "type": "string" - }, - "SizeLessThan": { - "type": "number" - }, - "Trigger": { - "type": "string" - } - }, - "required": [ - "Prefix", - "SizeLessThan", - "Trigger" - ], - "type": "object" - }, - "AWS::S3Files::FileSystem.SynchronizationConfiguration": { - "additionalProperties": false, - "properties": { - "ExpirationDataRules": { - "items": { - "$ref": "#/definitions/AWS::S3Files::FileSystem.ExpirationDataRule" - }, - "type": "array" - }, - "ImportDataRules": { - "items": { - "$ref": "#/definitions/AWS::S3Files::FileSystem.ImportDataRule" - }, - "type": "array" - }, - "LatestVersionNumber": { - "type": "number" - } - }, - "required": [ - "ExpirationDataRules", - "ImportDataRules" - ], - "type": "object" - }, - "AWS::S3Files::FileSystemPolicy": { + "AWS::Route53GlobalResolver::AccessToken": { "additionalProperties": false, "properties": { "Condition": { @@ -344648,22 +312967,33 @@ "Properties": { "additionalProperties": false, "properties": { - "FileSystemId": { + "ClientToken": { "type": "string" }, - "Policy": { - "type": "object" + "DnsViewId": { + "type": "string" + }, + "ExpiresAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "FileSystemId", - "Policy" + "DnsViewId" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Files::FileSystemPolicy" + "AWS::Route53GlobalResolver::AccessToken" ], "type": "string" }, @@ -344682,7 +313012,7 @@ ], "type": "object" }, - "AWS::S3Files::MountTarget": { + "AWS::Route53GlobalResolver::DnsView": { "additionalProperties": false, "properties": { "Condition": { @@ -344717,37 +313047,43 @@ "Properties": { "additionalProperties": false, "properties": { - "FileSystemId": { + "ClientToken": { "type": "string" }, - "IpAddressType": { + "Description": { "type": "string" }, - "Ipv4Address": { + "DnssecValidation": { "type": "string" }, - "Ipv6Address": { + "EdnsClientSubnet": { "type": "string" }, - "SecurityGroups": { + "FirewallRulesFailOpen": { + "type": "string" + }, + "GlobalResolverId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "SubnetId": { - "type": "string" } }, "required": [ - "FileSystemId", - "SubnetId" + "GlobalResolverId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Files::MountTarget" + "AWS::Route53GlobalResolver::DnsView" ], "type": "string" }, @@ -344766,7 +313102,7 @@ ], "type": "object" }, - "AWS::S3ObjectLambda::AccessPoint": { + "AWS::Route53GlobalResolver::FirewallDomainList": { "additionalProperties": false, "properties": { "Condition": { @@ -344801,25 +313137,43 @@ "Properties": { "additionalProperties": false, "properties": { + "ClientToken": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainFileUrl": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GlobalResolverId": { + "type": "string" + }, "Name": { - "markdownDescription": "The name of this access point.", - "title": "Name", "type": "string" }, - "ObjectLambdaConfiguration": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration", - "markdownDescription": "A configuration used when creating an Object Lambda Access Point.", - "title": "ObjectLambdaConfiguration" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ObjectLambdaConfiguration" + "GlobalResolverId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3ObjectLambda::AccessPoint" + "AWS::Route53GlobalResolver::FirewallDomainList" ], "type": "string" }, @@ -344838,144 +313192,113 @@ ], "type": "object" }, - "AWS::S3ObjectLambda::AccessPoint.Alias": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "The status of the Object Lambda Access Point alias. If the status is `PROVISIONING` , the Object Lambda Access Point is provisioning the alias and the alias is not ready for use yet. If the status is `READY` , the Object Lambda Access Point alias is successfully provisioned and ready for use.", - "title": "Status", - "type": "string" - }, - "Value": { - "markdownDescription": "The alias value of the Object Lambda Access Point.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.AwsLambda": { + "AWS::Route53GlobalResolver::FirewallRule": { "additionalProperties": false, "properties": { - "FunctionArn": { - "markdownDescription": "", - "title": "FunctionArn", - "type": "string" - }, - "FunctionPayload": { - "markdownDescription": "", - "title": "FunctionPayload", + "Condition": { "type": "string" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.ContentTransformation": { - "additionalProperties": false, - "properties": { - "AwsLambda": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.AwsLambda", - "markdownDescription": "", - "title": "AwsLambda" - } - }, - "required": [ - "AwsLambda" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedFeatures": { - "items": { - "type": "string" - }, - "markdownDescription": "A container for allowed features. Valid inputs are `GetObject-Range` , `GetObject-PartNumber` , `HeadObject-Range` , and `HeadObject-PartNumber` .", - "title": "AllowedFeatures", - "type": "array" - }, - "CloudWatchMetricsEnabled": { - "markdownDescription": "A container for whether the CloudWatch metrics configuration is enabled.", - "title": "CloudWatchMetricsEnabled", - "type": "boolean" }, - "SupportingAccessPoint": { - "markdownDescription": "Standard access point associated with the Object Lambda Access Point.", - "title": "SupportingAccessPoint", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TransformationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" - }, - "markdownDescription": "A container for transformation configurations for an Object Lambda Access Point.", - "title": "TransformationConfigurations", - "type": "array" - } - }, - "required": [ - "SupportingAccessPoint", - "TransformationConfigurations" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to `TRUE` causes the following behavior:\n\n- `PutBucketAcl` and `PutObjectAcl` calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.\n\nThis property is not supported for Amazon S3 on Outposts.", - "title": "BlockPublicAcls", - "type": "boolean" - }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.\n\nThis property is not supported for Amazon S3 on Outposts.", - "title": "BlockPublicPolicy", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.\n\nThis property is not supported for Amazon S3 on Outposts.", - "title": "IgnorePublicAcls", - "type": "boolean" + "Metadata": { + "type": "object" }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to `TRUE` restricts access to buckets with public policies to only AWS service principals and authorized users within this account.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.\n\nThis property is not supported for Amazon S3 on Outposts.", - "title": "RestrictPublicBuckets", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "BlockOverrideDnsType": { + "type": "string" + }, + "BlockOverrideDomain": { + "type": "string" + }, + "BlockOverrideTtl": { + "type": "number" + }, + "BlockResponse": { + "type": "string" + }, + "ClientToken": { + "type": "string" + }, + "ConfidenceThreshold": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DnsAdvancedProtection": { + "type": "string" + }, + "DnsViewId": { + "type": "string" + }, + "FirewallDomainListId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "QType": { + "type": "string" + } }, - "markdownDescription": "A container for the action of an Object Lambda Access Point configuration. Valid inputs are `GetObject` , `HeadObject` , `ListObject` , and `ListObjectV2` .", - "title": "Actions", - "type": "array" + "required": [ + "Action", + "DnsViewId", + "Name" + ], + "type": "object" }, - "ContentTransformation": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ContentTransformation", - "markdownDescription": "A container for the content transformation of an Object Lambda Access Point configuration. Can include the FunctionArn and FunctionPayload. For more information, see [AwsLambdaTransformation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AwsLambdaTransformation.html) in the *Amazon S3 API Reference* .", - "title": "ContentTransformation" + "Type": { + "enum": [ + "AWS::Route53GlobalResolver::FirewallRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Actions", - "ContentTransformation" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3ObjectLambda::AccessPointPolicy": { + "AWS::Route53GlobalResolver::GlobalResolver": { "additionalProperties": false, "properties": { "Condition": { @@ -345010,26 +313333,43 @@ "Properties": { "additionalProperties": false, "properties": { - "ObjectLambdaAccessPoint": { - "markdownDescription": "An access point with an attached AWS Lambda function used to access transformed data from an Amazon S3 bucket.", - "title": "ObjectLambdaAccessPoint", + "ClientToken": { "type": "string" }, - "PolicyDocument": { - "markdownDescription": "Object Lambda Access Point resource policy document.", - "title": "PolicyDocument", - "type": "object" + "Description": { + "type": "string" + }, + "IpAddressType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ObservabilityRegion": { + "type": "string" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ObjectLambdaAccessPoint", - "PolicyDocument" + "Name", + "Regions" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3ObjectLambda::AccessPointPolicy" + "AWS::Route53GlobalResolver::GlobalResolver" ], "type": "string" }, @@ -345048,7 +313388,7 @@ ], "type": "object" }, - "AWS::S3Outposts::AccessPoint": { + "AWS::Route53GlobalResolver::HostedZoneAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -345083,37 +313423,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon Resource Name (ARN) of the S3 on Outposts bucket that is associated with this access point.", - "title": "Bucket", + "HostedZoneId": { "type": "string" }, "Name": { - "markdownDescription": "The name of this access point.", - "title": "Name", "type": "string" }, - "Policy": { - "markdownDescription": "The access point policy associated with this access point.", - "title": "Policy", - "type": "object" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration", - "markdownDescription": "The virtual private cloud (VPC) configuration for this access point, if one exists.", - "title": "VpcConfiguration" + "ResourceArn": { + "type": "string" } }, "required": [ - "Bucket", + "HostedZoneId", "Name", - "VpcConfiguration" + "ResourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Outposts::AccessPoint" + "AWS::Route53GlobalResolver::HostedZoneAssociation" ], "type": "string" }, @@ -345132,18 +313461,7 @@ ], "type": "object" }, - "AWS::S3Outposts::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "markdownDescription": "", - "title": "VpcId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Bucket": { + "AWS::Route53Profiles::Profile": { "additionalProperties": false, "properties": { "Condition": { @@ -345178,39 +313496,28 @@ "Properties": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "A name for the S3 on Outposts bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) . For more information, see [Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules) .\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": "BucketName", - "type": "string" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration", - "markdownDescription": "Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an existing lifecycle configuration. Outposts buckets only support lifecycle configurations that delete/expire objects after a certain period of time and abort incomplete multipart uploads.", - "title": "LifecycleConfiguration" - }, - "OutpostId": { - "markdownDescription": "The ID of the Outpost of the specified bucket.", - "title": "OutpostId", + "Name": { + "markdownDescription": "Name of the Profile.", + "title": "Name", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Sets the tags for an S3 on Outposts bucket. For more information, see [Using Amazon S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) .\n\nUse tags to organize your AWS bill to reflect your own cost structure. To do this, sign up to get your AWS account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see [Cost allocation and tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) .\n\n> Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites the old value. For more information, see [Using cost allocation and bucket tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html) . \n\nTo use this resource, you must have permissions to perform the `s3-outposts:PutBucketTagging` . The S3 on Outposts bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see [Permissions Related to Bucket Subresource Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) and [Managing access permissions to your Amazon S3 resources](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) .", + "markdownDescription": "A list of the tag keys and values that you want to associate with the profile.", "title": "Tags", "type": "array" } }, "required": [ - "BucketName", - "OutpostId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Outposts::Bucket" + "AWS::Route53Profiles::Profile" ], "type": "string" }, @@ -345229,140 +313536,99 @@ ], "type": "object" }, - "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "markdownDescription": "Specifies the number of days after initiation that Amazon S3 on Outposts aborts an incomplete multipart upload.", - "title": "DaysAfterInitiation", - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.Filter": { - "additionalProperties": false, - "properties": { - "AndOperator": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterAndOperator", - "markdownDescription": "", - "title": "AndOperator" - }, - "Prefix": { - "markdownDescription": "", - "title": "Prefix", - "type": "string" - }, - "Tag": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterTag", - "markdownDescription": "", - "title": "Tag" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Bucket.FilterAndOperator": { - "additionalProperties": false, - "properties": { - "Prefix": { - "markdownDescription": "", - "title": "Prefix", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterTag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Tags" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.FilterTag": { + "AWS::Route53Profiles::ProfileAssociation": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "", - "title": "Key", + "Condition": { "type": "string" }, - "Value": { - "markdownDescription": "", - "title": "Value", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" - }, - "markdownDescription": "The container for the lifecycle configuration rules for the objects stored in the S3 on Outposts bucket.", - "title": "Rules", - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload", - "markdownDescription": "The container for the abort incomplete multipart upload rule.", - "title": "AbortIncompleteMultipartUpload" }, - "ExpirationDate": { - "markdownDescription": "Specifies the expiration for the lifecycle of the object by specifying an expiry date.", - "title": "ExpirationDate", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ExpirationInDays": { - "markdownDescription": "Specifies the expiration for the lifecycle of the object in the form of days that the object has been in the S3 on Outposts bucket.", - "title": "ExpirationInDays", - "type": "number" + "Metadata": { + "type": "object" }, - "Filter": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.Filter", - "markdownDescription": "The container for the filter of the lifecycle rule.", - "title": "Filter" + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the profile association to a VPC.", + "title": "Arn", + "type": "string" + }, + "Name": { + "markdownDescription": "Name of the Profile association.", + "title": "Name", + "type": "string" + }, + "ProfileId": { + "markdownDescription": "ID of the Profile.\n\nUpdate to this property requires update to the `ResourceId` property as well, because you can only associate one Profile per VPC. For more information, see [Route 53 Profiles](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/profiles.html) .", + "title": "ProfileId", + "type": "string" + }, + "ResourceId": { + "markdownDescription": "The ID of the VPC.", + "title": "ResourceId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name", + "ProfileId", + "ResourceId" + ], + "type": "object" }, - "Id": { - "markdownDescription": "", - "title": "Id", + "Type": { + "enum": [ + "AWS::Route53Profiles::ProfileAssociation" + ], "type": "string" }, - "Status": { - "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", - "title": "Status", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3Outposts::BucketPolicy": { + "AWS::Route53Profiles::ProfileResourceAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -345397,26 +313663,37 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 Outposts bucket to which the policy applies.", - "title": "Bucket", + "Name": { + "markdownDescription": "Name of the Profile resource association.", + "title": "Name", "type": "string" }, - "PolicyDocument": { - "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html) .", - "title": "PolicyDocument", - "type": "object" + "ProfileId": { + "markdownDescription": "Profile ID of the Profile that the resources are associated with.", + "title": "ProfileId", + "type": "string" + }, + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource association.", + "title": "ResourceArn", + "type": "string" + }, + "ResourceProperties": { + "markdownDescription": "If the DNS resource is a DNS Firewall rule group, this indicates the priority.", + "title": "ResourceProperties", + "type": "string" } }, "required": [ - "Bucket", - "PolicyDocument" + "Name", + "ProfileId", + "ResourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Outposts::BucketPolicy" + "AWS::Route53Profiles::ProfileResourceAssociation" ], "type": "string" }, @@ -345435,7 +313712,7 @@ ], "type": "object" }, - "AWS::S3Outposts::Endpoint": { + "AWS::Route53RecoveryControl::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -345470,47 +313747,33 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessType": { - "markdownDescription": "The container for the type of connectivity used to access the Amazon S3 on Outposts endpoint. To use the Amazon VPC , choose `Private` . To use the endpoint with an on-premises network, choose `CustomerOwnedIp` . If you choose `CustomerOwnedIp` , you must also provide the customer-owned IP address pool (CoIP pool).\n\n> `Private` is the default access type value.", - "title": "AccessType", - "type": "string" - }, - "CustomerOwnedIpv4Pool": { - "markdownDescription": "The ID of the customer-owned IPv4 address pool (CoIP pool) for the endpoint. IP addresses are allocated from this pool for the endpoint.", - "title": "CustomerOwnedIpv4Pool", - "type": "string" - }, - "FailedReason": { - "$ref": "#/definitions/AWS::S3Outposts::Endpoint.FailedReason", - "markdownDescription": "The failure reason, if any, for a create or delete endpoint operation.", - "title": "FailedReason" - }, - "OutpostId": { - "markdownDescription": "The ID of the Outpost.", - "title": "OutpostId", + "Name": { + "markdownDescription": "Name of the cluster. You can use any non-white space character in the name except the following: & > < ' (single quote) \" (double quote) ; (semicolon).", + "title": "Name", "type": "string" }, - "SecurityGroupId": { - "markdownDescription": "The ID of the security group used for the endpoint.", - "title": "SecurityGroupId", + "NetworkType": { + "markdownDescription": "The network-type can either be IPV4 or DUALSTACK.", + "title": "NetworkType", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet used for the endpoint.", - "title": "SubnetId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags associated with the cluster.", + "title": "Tags", + "type": "array" } }, "required": [ - "OutpostId", - "SecurityGroupId", - "SubnetId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Outposts::Endpoint" + "AWS::Route53RecoveryControl::Cluster" ], "type": "string" }, @@ -345529,37 +313792,23 @@ ], "type": "object" }, - "AWS::S3Outposts::Endpoint.FailedReason": { + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { "additionalProperties": false, "properties": { - "ErrorCode": { - "markdownDescription": "The failure code, if any, for a create or delete endpoint operation.", - "title": "ErrorCode", + "Endpoint": { + "markdownDescription": "A cluster endpoint URL for one of the five redundant clusters that you specify to set or retrieve a routing control state.", + "title": "Endpoint", "type": "string" }, - "Message": { - "markdownDescription": "Additional error details describing the endpoint failure and recommended action.", - "title": "Message", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Endpoint.NetworkInterface": { - "additionalProperties": false, - "properties": { - "NetworkInterfaceId": { - "markdownDescription": "The ID for the network interface.", - "title": "NetworkInterfaceId", + "Region": { + "markdownDescription": "The AWS Region for a cluster endpoint.", + "title": "Region", "type": "string" } }, - "required": [ - "NetworkInterfaceId" - ], "type": "object" }, - "AWS::S3Tables::Namespace": { + "AWS::Route53RecoveryControl::ControlPanel": { "additionalProperties": false, "properties": { "Condition": { @@ -345594,26 +313843,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Namespace": { - "markdownDescription": "The name of the namespace.", - "title": "Namespace", + "ClusterArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the cluster for the control panel.", + "title": "ClusterArn", "type": "string" }, - "TableBucketARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket to create the namespace in.", - "title": "TableBucketARN", + "Name": { + "markdownDescription": "The name of the control panel. You can use any non-white space character in the name.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags associated with the control panel.", + "title": "Tags", + "type": "array" } }, "required": [ - "Namespace", - "TableBucketARN" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::Namespace" + "AWS::Route53RecoveryControl::ControlPanel" ], "type": "string" }, @@ -345632,7 +313888,7 @@ ], "type": "object" }, - "AWS::S3Tables::Table": { + "AWS::Route53RecoveryControl::RoutingControl": { "additionalProperties": false, "properties": { "Condition": { @@ -345667,71 +313923,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Compaction": { - "$ref": "#/definitions/AWS::S3Tables::Table.Compaction", - "markdownDescription": "Contains details about the compaction settings for an Iceberg table.", - "title": "Compaction" - }, - "IcebergMetadata": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergMetadata", - "markdownDescription": "Contains details about the metadata for an Iceberg table.", - "title": "IcebergMetadata" - }, - "Namespace": { - "markdownDescription": "The name of the namespace.", - "title": "Namespace", - "type": "string" - }, - "OpenTableFormat": { - "markdownDescription": "The format of the table.", - "title": "OpenTableFormat", - "type": "string" - }, - "SnapshotManagement": { - "$ref": "#/definitions/AWS::S3Tables::Table.SnapshotManagement", - "markdownDescription": "Contains details about the Iceberg snapshot management settings for the table.", - "title": "SnapshotManagement" - }, - "StorageClassConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::Table.StorageClassConfiguration", - "markdownDescription": "The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.", - "title": "StorageClassConfiguration" - }, - "TableBucketARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket to create the table in.", - "title": "TableBucketARN", + "ClusterArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the cluster that hosts the routing control.", + "title": "ClusterArn", "type": "string" }, - "TableName": { - "markdownDescription": "The name for the table.", - "title": "TableName", + "ControlPanelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the control panel that includes the routing control.", + "title": "ControlPanelArn", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - }, - "WithoutMetadata": { - "markdownDescription": "Indicates that you don't want to specify a schema for the table. This property is mutually exclusive to `IcebergMetadata` , and its only possible value is `Yes` .", - "title": "WithoutMetadata", + "Name": { + "markdownDescription": "The name of the routing control. You can use any non-white space character in the name.", + "title": "Name", "type": "string" } }, "required": [ - "Namespace", - "OpenTableFormat", - "TableBucketARN", - "TableName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::Table" + "AWS::Route53RecoveryControl::RoutingControl" ], "type": "string" }, @@ -345750,267 +313965,185 @@ ], "type": "object" }, - "AWS::S3Tables::Table.Compaction": { + "AWS::Route53RecoveryControl::SafetyRule": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "The status of the maintenance configuration.", - "title": "Status", + "Condition": { "type": "string" }, - "TargetFileSizeMB": { - "markdownDescription": "The target file size for the table in MB.", - "title": "TargetFileSizeMB", - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3Tables::Table.IcebergMetadata": { - "additionalProperties": false, - "properties": { - "IcebergPartitionSpec": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergPartitionSpec" - }, - "IcebergSchema": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSchema", - "markdownDescription": "The schema for an Iceberg table.", - "title": "IcebergSchema" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "IcebergSchemaV2": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSchemaV2" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IcebergSortOrder": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSortOrder" + "Metadata": { + "type": "object" }, - "TableProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule", + "markdownDescription": "An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. For example, the criteria might be that at least one routing control state is `On` after the transaction so that traffic continues to flow to at least one cell for the application. This ensures that you avoid a fail-open scenario.", + "title": "AssertionRule" + }, + "ControlPanelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the control panel.", + "title": "ControlPanelArn", + "type": "string" + }, + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule", + "markdownDescription": "A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.\n\nFor example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR` , that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control switch to be On. When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.", + "title": "GatingRule" + }, + "Name": { + "markdownDescription": "The name of the assertion rule. The name must be unique within a control panel. You can use any non-white space character in the name except the following: & > < ' (single quote) \" (double quote) ; (semicolon)", + "title": "Name", "type": "string" + }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig", + "markdownDescription": "The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be `ON` as the result of a transaction. For example, if you have three assertion controls, you might specify `ATLEAST 2` for your rule configuration. This means that at least two assertion controls must be `ON` , so that at least two AWS Regions have traffic flowing to them.", + "title": "RuleConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags associated with the safety rule.", + "title": "Tags", + "type": "array" } }, + "required": [ + "ControlPanelArn", + "Name", + "RuleConfig" + ], "type": "object" - } - }, - "type": "object" - }, - "AWS::S3Tables::Table.IcebergPartitionField": { - "additionalProperties": false, - "properties": { - "FieldId": { - "type": "number" }, - "Name": { + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::SafetyRule" + ], "type": "string" }, - "SourceId": { - "type": "number" - }, - "Transform": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name", - "SourceId", - "Transform" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3Tables::Table.IcebergPartitionSpec": { + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { "additionalProperties": false, "properties": { - "Fields": { + "AssertedControls": { "items": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergPartitionField" + "type": "string" }, + "markdownDescription": "The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three AWS Regions.", + "title": "AssertedControls", "type": "array" }, - "SpecId": { + "WaitPeriodMs": { + "markdownDescription": "An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent flapping of state. The wait period is 5000 ms by default, but you can choose a custom value.", + "title": "WaitPeriodMs", "type": "number" } }, "required": [ - "Fields" - ], - "type": "object" - }, - "AWS::S3Tables::Table.IcebergSchema": { - "additionalProperties": false, - "properties": { - "SchemaFieldList": { - "items": { - "$ref": "#/definitions/AWS::S3Tables::Table.SchemaField" - }, - "markdownDescription": "The schema fields for the table", - "title": "SchemaFieldList", - "type": "array" - } - }, - "required": [ - "SchemaFieldList" + "AssertedControls", + "WaitPeriodMs" ], "type": "object" }, - "AWS::S3Tables::Table.IcebergSchemaV2": { + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { "additionalProperties": false, "properties": { - "IdentifierFieldIds": { + "GatingControls": { "items": { - "type": "number" + "type": "string" }, + "markdownDescription": "An array of gating routing control Amazon Resource Names (ARNs). For a simple on-off switch, specify the ARN for one routing control. The gating routing controls are evaluated by the rule configuration that you specify to determine if the target routing control states can be changed.", + "title": "GatingControls", "type": "array" }, - "SchemaId": { - "type": "number" - }, - "SchemaV2FieldList": { + "TargetControls": { "items": { - "$ref": "#/definitions/AWS::S3Tables::Table.SchemaV2Field" + "type": "string" }, + "markdownDescription": "An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control. As a simple example, if you have a single gating control, it acts as an overall on-off switch for a set of target routing controls. You can use this to manually override automated failover, for example.", + "title": "TargetControls", "type": "array" }, - "SchemaV2FieldType": { - "type": "string" - } - }, - "required": [ - "SchemaV2FieldList", - "SchemaV2FieldType" - ], - "type": "object" - }, - "AWS::S3Tables::Table.IcebergSortField": { - "additionalProperties": false, - "properties": { - "Direction": { - "type": "string" - }, - "NullOrder": { - "type": "string" - }, - "SourceId": { + "WaitPeriodMs": { + "markdownDescription": "An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent flapping of state. The wait period is 5000 ms by default, but you can choose a custom value.", + "title": "WaitPeriodMs", "type": "number" - }, - "Transform": { - "type": "string" } }, "required": [ - "Direction", - "NullOrder", - "SourceId", - "Transform" + "GatingControls", + "TargetControls", + "WaitPeriodMs" ], "type": "object" }, - "AWS::S3Tables::Table.IcebergSortOrder": { + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { "additionalProperties": false, "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSortField" - }, - "type": "array" + "Inverted": { + "markdownDescription": "Logical negation of the rule. If the rule would usually evaluate true, it's evaluated as false, and vice versa.", + "title": "Inverted", + "type": "boolean" }, - "OrderId": { - "type": "number" - } - }, - "required": [ - "Fields" - ], - "type": "object" - }, - "AWS::S3Tables::Table.SchemaField": { - "additionalProperties": false, - "properties": { - "Id": { + "Threshold": { + "markdownDescription": "The value of N, when you specify an `ATLEAST` rule type. That is, `Threshold` is the number of controls that must be set when you specify an `ATLEAST` type.", + "title": "Threshold", "type": "number" }, - "Name": { - "markdownDescription": "The name of the field.", - "title": "Name", - "type": "string" - }, - "Required": { - "markdownDescription": "A Boolean value that specifies whether values are required for each row in this field. By default, this is `false` and null values are allowed in the field. If this is `true` the field does not allow null values.", - "title": "Required", - "type": "boolean" - }, "Type": { - "markdownDescription": "The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the [Apache Iceberg documentation](https://docs.aws.amazon.com/https://iceberg.apache.org/spec/#primitive-types) .", + "markdownDescription": "A rule can be one of the following: `ATLEAST` , `AND` , or `OR` .", "title": "Type", "type": "string" } }, "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::S3Tables::Table.SchemaV2Field": { - "additionalProperties": false, - "properties": { - "Doc": { - "type": "string" - }, - "Id": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Required": { - "type": "boolean" - }, - "Type": { - "type": "object" - } - }, - "required": [ - "Id", - "Name", - "Required", + "Inverted", + "Threshold", "Type" ], "type": "object" }, - "AWS::S3Tables::Table.SnapshotManagement": { - "additionalProperties": false, - "properties": { - "MaxSnapshotAgeHours": { - "markdownDescription": "The maximum age of a snapshot before it can be expired.", - "title": "MaxSnapshotAgeHours", - "type": "number" - }, - "MinSnapshotsToKeep": { - "markdownDescription": "The minimum number of snapshots to keep.", - "title": "MinSnapshotsToKeep", - "type": "number" - }, - "Status": { - "markdownDescription": "The status of the maintenance configuration.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Tables::Table.StorageClassConfiguration": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "markdownDescription": "The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.", - "title": "StorageClass", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Tables::TableBucket": { + "AWS::Route53RecoveryReadiness::Cell": { "additionalProperties": false, "properties": { "Condition": { @@ -346045,51 +314178,33 @@ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.EncryptionConfiguration", - "markdownDescription": "Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.", - "title": "EncryptionConfiguration" - }, - "MetricsConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.MetricsConfiguration", - "markdownDescription": "", - "title": "MetricsConfiguration" - }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationConfiguration" - }, - "StorageClassConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.StorageClassConfiguration", - "markdownDescription": "The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.", - "title": "StorageClassConfiguration" - }, - "TableBucketName": { - "markdownDescription": "The name for the table bucket.", - "title": "TableBucketName", + "CellName": { + "markdownDescription": "The name of the cell to create.", + "title": "CellName", "type": "string" }, + "Cells": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of cell Amazon Resource Names (ARNs) contained within this cell, for use in nested cells. For example, Availability Zones within specific AWS Regions .", + "title": "Cells", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "A collection of tags associated with a resource.", "title": "Tags", "type": "array" - }, - "UnreferencedFileRemoval": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.UnreferencedFileRemoval", - "markdownDescription": "The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the [*Amazon S3 User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html) .", - "title": "UnreferencedFileRemoval" } }, - "required": [ - "TableBucketName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::TableBucket" + "AWS::Route53RecoveryReadiness::Cell" ], "type": "string" }, @@ -346103,117 +314218,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Tables::TableBucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when `sseAlgorithm` is set to `aws:kms` .", - "title": "KMSKeyArn", - "type": "string" - }, - "SSEAlgorithm": { - "markdownDescription": "The server-side encryption algorithm to use. Valid values are `AES256` for S3-managed encryption keys, or `aws:kms` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see [Permissions requirements for S3 Tables SSE-KMS encryption](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html) .", - "title": "SSEAlgorithm", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Tables::TableBucket.MetricsConfiguration": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Tables::TableBucket.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Role": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationRule" - }, - "type": "array" - } - }, - "required": [ - "Role", - "Rules" - ], - "type": "object" - }, - "AWS::S3Tables::TableBucket.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "DestinationTableBucketARN": { - "type": "string" - } - }, - "required": [ - "DestinationTableBucketARN" - ], - "type": "object" - }, - "AWS::S3Tables::TableBucket.ReplicationRule": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationDestination" - }, - "type": "array" - } - }, - "required": [ - "Destinations" + "Type" ], "type": "object" }, - "AWS::S3Tables::TableBucket.StorageClassConfiguration": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "markdownDescription": "The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.", - "title": "StorageClass", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Tables::TableBucket.UnreferencedFileRemoval": { - "additionalProperties": false, - "properties": { - "NoncurrentDays": { - "markdownDescription": "The number of days an object can be noncurrent before Amazon S3 deletes it.", - "title": "NoncurrentDays", - "type": "number" - }, - "Status": { - "markdownDescription": "The status of the unreferenced file removal configuration for your table bucket.", - "title": "Status", - "type": "string" - }, - "UnreferencedDays": { - "markdownDescription": "The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.", - "title": "UnreferencedDays", - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3Tables::TableBucketPolicy": { + "AWS::Route53RecoveryReadiness::ReadinessCheck": { "additionalProperties": false, "properties": { "Condition": { @@ -346248,26 +314257,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourcePolicy": { - "markdownDescription": "The bucket policy JSON for the table bucket.", - "title": "ResourcePolicy", - "type": "object" + "ReadinessCheckName": { + "markdownDescription": "The name of the readiness check to create.", + "title": "ReadinessCheckName", + "type": "string" }, - "TableBucketARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket.", - "title": "TableBucketARN", + "ResourceSetName": { + "markdownDescription": "The name of the resource set to check.", + "title": "ResourceSetName", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A collection of tags associated with a resource.", + "title": "Tags", + "type": "array" } }, - "required": [ - "ResourcePolicy", - "TableBucketARN" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::TableBucketPolicy" + "AWS::Route53RecoveryReadiness::ReadinessCheck" ], "type": "string" }, @@ -346281,12 +314294,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::S3Tables::TablePolicy": { + "AWS::Route53RecoveryReadiness::RecoveryGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -346321,26 +314333,33 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourcePolicy": { - "markdownDescription": "The `JSON` that defines the policy.", - "title": "ResourcePolicy", - "type": "object" + "Cells": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the cell Amazon Resource Names (ARNs) in the recovery group.", + "title": "Cells", + "type": "array" }, - "TableARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table.", - "title": "TableARN", + "RecoveryGroupName": { + "markdownDescription": "The name of the recovery group to create.", + "title": "RecoveryGroupName", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A collection of tags associated with a resource.", + "title": "Tags", + "type": "array" } }, - "required": [ - "ResourcePolicy", - "TableARN" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::TablePolicy" + "AWS::Route53RecoveryReadiness::RecoveryGroup" ], "type": "string" }, @@ -346354,12 +314373,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::S3Vectors::Index": { + "AWS::Route53RecoveryReadiness::ResourceSet": { "additionalProperties": false, "properties": { "Condition": { @@ -346394,63 +314412,42 @@ "Properties": { "additionalProperties": false, "properties": { - "DataType": { - "markdownDescription": "The data type of the vectors to be inserted into the vector index. Currently, only `float32` is supported, which represents 32-bit floating-point numbers.", - "title": "DataType", - "type": "string" - }, - "Dimension": { - "markdownDescription": "The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions.\n\nThe dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.", - "title": "Dimension", - "type": "number" - }, - "DistanceMetric": { - "markdownDescription": "The distance metric to be used for similarity search. Valid values are:\n\n- `cosine` - Measures the cosine of the angle between two vectors.\n- `euclidean` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.", - "title": "DistanceMetric", + "ResourceSetName": { + "markdownDescription": "The name of the resource set to create.", + "title": "ResourceSetName", "type": "string" }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3Vectors::Index.EncryptionConfiguration", - "markdownDescription": "The encryption configuration for a vector index. By default, if you don't specify, all new vectors in the vector index will use the encryption configuration of the vector bucket.", - "title": "EncryptionConfiguration" - }, - "IndexName": { - "markdownDescription": "The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket.\n\nIf you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name.\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": "IndexName", + "ResourceSetType": { + "markdownDescription": "The resource type of the resources in the resource set. Enter one of the following values for resource type:\n\nAWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage, AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm, AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume, AWS::ElasticLoadBalancing::LoadBalancer, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function, AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck, AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::Route53RecoveryReadiness::DNSTargetResource.\n\nNote that AWS::Route53RecoveryReadiness::DNSTargetResource is only used for this setting. It isn't an actual AWS CloudFormation resource type.", + "title": "ResourceSetType", "type": "string" }, - "MetadataConfiguration": { - "$ref": "#/definitions/AWS::S3Vectors::Index.MetadataConfiguration", - "markdownDescription": "The metadata configuration for the vector index.", - "title": "MetadataConfiguration" + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" + }, + "markdownDescription": "A list of resource objects in the resource set.", + "title": "Resources", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A tag to associate with the parameters for a resource set.", + "title": "Tags", "type": "array" - }, - "VectorBucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.", - "title": "VectorBucketArn", - "type": "string" - }, - "VectorBucketName": { - "markdownDescription": "The name of the vector bucket that contains the vector index.", - "title": "VectorBucketName", - "type": "string" } }, "required": [ - "DataType", - "Dimension", - "DistanceMetric" + "ResourceSetType", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Vectors::Index" + "AWS::Route53RecoveryReadiness::ResourceSet" ], "type": "string" }, @@ -346469,127 +314466,110 @@ ], "type": "object" }, - "AWS::S3Vectors::Index.EncryptionConfiguration": { + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the encryption configuration. This parameter is allowed if and only if `sseType` is set to `aws:kms` .\n\nTo specify the KMS key, you must use the format of the KMS key Amazon Resource Name (ARN).\n\nFor example, specify Key ARN in the following format: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`", - "title": "KmsKeyArn", + "DomainName": { + "markdownDescription": "The domain name that acts as an ingress point to a portion of the customer application.", + "title": "DomainName", "type": "string" }, - "SseType": { - "markdownDescription": "The server-side encryption type to use for the encryption configuration of the vector bucket. By default, if you don't specify, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically `AES256` .", - "title": "SseType", + "HostedZoneArn": { + "markdownDescription": "The hosted zone Amazon Resource Name (ARN) that contains the DNS record with the provided name of the target resource.", + "title": "HostedZoneArn", + "type": "string" + }, + "RecordSetId": { + "markdownDescription": "The Amazon Route 53 record set ID that uniquely identifies a DNS record, given a name and a type.", + "title": "RecordSetId", "type": "string" + }, + "RecordType": { + "markdownDescription": "The type of DNS record of the target resource.", + "title": "RecordType", + "type": "string" + }, + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource", + "markdownDescription": "The target resource that the Route 53 record points to.", + "title": "TargetResource" } }, "type": "object" }, - "AWS::S3Vectors::Index.MetadataConfiguration": { + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { "additionalProperties": false, "properties": { - "NonFilterableMetadataKeys": { - "items": { - "type": "string" - }, - "markdownDescription": "Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval. Unlike default metadata keys, these keys can't be used as query filters. Non-filterable metadata keys can be retrieved but can't be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors.\n\nYou can specify 1 to 10 non-filterable metadata keys. Each key must be 1 to 63 characters long.", - "title": "NonFilterableMetadataKeys", - "type": "array" + "Arn": { + "markdownDescription": "The Network Load Balancer resource Amazon Resource Name (ARN).", + "title": "Arn", + "type": "string" } }, "type": "object" }, - "AWS::S3Vectors::VectorBucket": { + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { "additionalProperties": false, "properties": { - "Condition": { + "DomainName": { + "markdownDescription": "The DNS target domain name.", + "title": "DomainName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RecordSetId": { + "markdownDescription": "The Amazon Route 53 Resource Record Set ID.", + "title": "RecordSetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { + "additionalProperties": false, + "properties": { + "ComponentId": { + "markdownDescription": "The component identifier of the resource, generated when DNS target resource is used.", + "title": "ComponentId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource", + "markdownDescription": "A component for DNS/routing control readiness checks. This is a required setting when `ResourceSet` `ResourceSetType` is set to `AWS::Route53RecoveryReadiness::DNSTargetResource` . Do not set it for any other `ResourceSetType` setting.", + "title": "DnsTargetResource" }, - "Properties": { - "additionalProperties": false, - "properties": { - "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" - } + "ReadinessScopes": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Vectors::VectorBucket" - ], - "type": "string" + "markdownDescription": "The recovery group Amazon Resource Name (ARN) or the cell ARN that the readiness checks for this resource set are scoped to.", + "title": "ReadinessScopes", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS resource. This is a required setting for all `ResourceSet` `ResourceSetType` settings except `AWS::Route53RecoveryReadiness::DNSTargetResource` . Do not set this when `ResourceSetType` is set to `AWS::Route53RecoveryReadiness::DNSTargetResource` .", + "title": "ResourceArn", "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::S3Vectors::VectorBucket.EncryptionConfiguration": { + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { "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" + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource", + "markdownDescription": "The Network Load Balancer resource that a DNS target resource points to.", + "title": "NLBResource" }, - "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" + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord", + "markdownDescription": "The Route 53 resource that a DNS target resource record points to.", + "title": "R53Resource" } }, "type": "object" }, - "AWS::S3Vectors::VectorBucketPolicy": { + "AWS::Route53Resolver::FirewallDomainList": { "additionalProperties": false, "properties": { "Condition": { @@ -346624,30 +314604,38 @@ "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", + "DomainFileUrl": { + "markdownDescription": "The fully qualified URL or URI of the file stored in Amazon Simple Storage Service (Amazon S3) that contains the list of domains to import.\n\nThe file must be in an S3 bucket that's in the same Region as your DNS Firewall. The file must be a text file and must contain a single domain per line.", + "title": "DomainFileUrl", "type": "string" }, - "VectorBucketName": { - "markdownDescription": "The name of the S3 vector bucket to which the policy applies.", - "title": "VectorBucketName", + "Domains": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the domain lists that you have defined.", + "title": "Domains", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the domain list.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of the tag keys and values that you want to associate with the domain list.", + "title": "Tags", + "type": "array" } }, - "required": [ - "Policy" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Vectors::VectorBucketPolicy" + "AWS::Route53Resolver::FirewallDomainList" ], "type": "string" }, @@ -346661,12 +314649,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SCN::Dataset": { + "AWS::Route53Resolver::FirewallRuleGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -346701,41 +314688,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InstanceId": { - "type": "string" + "FirewallRules": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" + }, + "markdownDescription": "A list of the rules that you have defined.", + "title": "FirewallRules", + "type": "array" }, "Name": { + "markdownDescription": "The name of the rule group.", + "title": "Name", "type": "string" }, - "Namespace": { - "type": "string" - }, - "PartitionSpec": { - "$ref": "#/definitions/AWS::SCN::Dataset.PartitionSpec" - }, - "Schema": { - "$ref": "#/definitions/AWS::SCN::Dataset.Schema" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of the tag keys and values that you want to associate with the rule group.", + "title": "Tags", "type": "array" } }, - "required": [ - "InstanceId", - "Name", - "Namespace" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SCN::Dataset" + "AWS::Route53Resolver::FirewallRuleGroup" ], "type": "string" }, @@ -346749,112 +314728,120 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SCN::Dataset.DataLakeDatasetPartitionField": { + "AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedContentCategoryConfig": { "additionalProperties": false, "properties": { - "Name": { + "Category": { "type": "string" - }, - "Transform": { - "$ref": "#/definitions/AWS::SCN::Dataset.Transform" } }, "required": [ - "Name", - "Transform" + "Category" ], "type": "object" }, - "AWS::SCN::Dataset.DataLakeDatasetPrimaryKeyField": { + "AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedThreatCategoryConfig": { "additionalProperties": false, "properties": { - "Name": { + "Category": { "type": "string" } }, "required": [ - "Name" + "Category" ], "type": "object" }, - "AWS::SCN::Dataset.DataLakeDatasetSchemaField": { + "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { "additionalProperties": false, "properties": { - "IsRequired": { - "type": "boolean" + "Action": { + "markdownDescription": "The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advvanced rule:\n\n- `ALLOW` - Permit the request to go through. Not available for DNS Firewall Advanced rules.\n- `ALERT` - Permit the request to go through but send an alert to the logs.\n- `BLOCK` - Disallow the request. If this is specified,then `BlockResponse` must also be specified.\n\nif `BlockResponse` is `OVERRIDE` , then all of the following `OVERRIDE` attributes must be specified:\n\n- `BlockOverrideDnsType`\n- `BlockOverrideDomain`\n- `BlockOverrideTtl`", + "title": "Action", + "type": "string" }, - "Name": { + "BlockOverrideDnsType": { + "markdownDescription": "The DNS record's type. This determines the format of the record value that you provided in `BlockOverrideDomain` . Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", + "title": "BlockOverrideDnsType", "type": "string" }, - "Type": { + "BlockOverrideDomain": { + "markdownDescription": "The custom DNS record to send back in response to the query. Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", + "title": "BlockOverrideDomain", "type": "string" - } - }, - "required": [ - "IsRequired", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::SCN::Dataset.PartitionSpec": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::SCN::Dataset.DataLakeDatasetPartitionField" - }, - "type": "array" - } - }, - "required": [ - "Fields" - ], - "type": "object" - }, - "AWS::SCN::Dataset.Schema": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::SCN::Dataset.DataLakeDatasetSchemaField" - }, - "type": "array" }, - "Name": { + "BlockOverrideTtl": { + "markdownDescription": "The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", + "title": "BlockOverrideTtl", + "type": "number" + }, + "BlockResponse": { + "markdownDescription": "The way that you want DNS Firewall to block the request. Used for the rule action setting `BLOCK` .\n\n- `NODATA` - Respond indicating that the query was successful, but no response is available for it.\n- `NXDOMAIN` - Respond indicating that the domain name that's in the query doesn't exist.\n- `OVERRIDE` - Provide a custom override in the response. This option requires custom handling details in the rule's `BlockOverride*` settings.", + "title": "BlockResponse", "type": "string" }, - "PrimaryKeys": { - "items": { - "$ref": "#/definitions/AWS::SCN::Dataset.DataLakeDatasetPrimaryKeyField" - }, - "type": "array" + "ConfidenceThreshold": { + "markdownDescription": "The confidence threshold for DNS Firewall Advanced. You must provide this value when you create a DNS Firewall Advanced rule. The confidence level values mean:\n\n- `LOW` : Provides the highest detection rate for threats, but also increases false positives.\n- `MEDIUM` : Provides a balance between detecting threats and false positives.\n- `HIGH` : Detects only the most well corroborated threats with a low rate of false positives.", + "title": "ConfidenceThreshold", + "type": "string" + }, + "DnsThreatProtection": { + "markdownDescription": "The type of the DNS Firewall Advanced rule. Valid values are:\n\n- `DGA` : Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains to to launch malware attacks.\n- `DNS_TUNNELING` : DNS tunneling detection. DNS tunneling is used by attackers to exfiltrate data from the client by using the DNS tunnel without making a network connection to the client.", + "title": "DnsThreatProtection", + "type": "string" + }, + "FirewallDomainListId": { + "markdownDescription": "The ID of the domain list that's used in the rule.", + "title": "FirewallDomainListId", + "type": "string" + }, + "FirewallDomainRedirectionAction": { + "markdownDescription": "How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME, or DNAME.\n\n`Inspect_Redirection_Domain` (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.\n\n`Trust_Redirection_Domain` inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.", + "title": "FirewallDomainRedirectionAction", + "type": "string" + }, + "FirewallRuleType": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRuleType" + }, + "FirewallThreatProtectionId": { + "markdownDescription": "ID of the DNS Firewall Advanced rule.", + "title": "FirewallThreatProtectionId", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority of the rule in the rule group. This value must be unique within the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.", + "title": "Priority", + "type": "number" + }, + "Qtype": { + "markdownDescription": "The DNS query type you want the rule to evaluate. Allowed values are;\n\n- A: Returns an IPv4 address.\n- AAAA: Returns an Ipv6 address.\n- CAA: Restricts CAs that can create SSL/TLS certifications for the domain.\n- CNAME: Returns another domain name.\n- DS: Record that identifies the DNSSEC signing key of a delegated zone.\n- MX: Specifies mail servers.\n- NAPTR: Regular-expression-based rewriting of domain names.\n- NS: Authoritative name servers.\n- PTR: Maps an IP address to a domain name.\n- SOA: Start of authority record for the zone.\n- SPF: Lists the servers authorized to send emails from a domain.\n- SRV: Application specific values that identify servers.\n- TXT: Verifies email senders and application-specific values.\n- A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPE NUMBER , where the NUMBER can be 1-65334, for example, TYPE28. For more information, see [List of DNS record types](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/List_of_DNS_record_types) .", + "title": "Qtype", + "type": "string" } }, "required": [ - "Fields", - "Name" + "Action", + "Priority" ], "type": "object" }, - "AWS::SCN::Dataset.Transform": { + "AWS::Route53Resolver::FirewallRuleGroup.FirewallRuleType": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "FirewallAdvancedContentCategory": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedContentCategoryConfig" + }, + "FirewallAdvancedThreatCategory": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedThreatCategoryConfig" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::SCN::Namespace": { + "AWS::Route53Resolver::FirewallRuleGroupAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -346889,31 +314876,50 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "FirewallRuleGroupId": { + "markdownDescription": "The unique identifier of the firewall rule group.", + "title": "FirewallRuleGroupId", "type": "string" }, - "InstanceId": { + "MutationProtection": { + "markdownDescription": "If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.", + "title": "MutationProtection", "type": "string" }, "Name": { + "markdownDescription": "The name of the association.", + "title": "Name", "type": "string" }, + "Priority": { + "markdownDescription": "The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC. DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.\n\nYou must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 101, 200, and so on. You can change the priority setting for a rule group association after you create it.\n\nThe allowed values for `Priority` are between 100 and 9900 (excluding 100 and 9900).", + "title": "Priority", + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of the tag keys and values that you want to associate with the rule group.", + "title": "Tags", "type": "array" + }, + "VpcId": { + "markdownDescription": "The unique identifier of the VPC that is associated with the rule group.", + "title": "VpcId", + "type": "string" } }, "required": [ - "InstanceId", - "Name" + "FirewallRuleGroupId", + "Priority", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SCN::Namespace" + "AWS::Route53Resolver::FirewallRuleGroupAssociation" ], "type": "string" }, @@ -346932,7 +314938,7 @@ ], "type": "object" }, - "AWS::SDB::Domain": { + "AWS::Route53Resolver::OutpostResolver": { "additionalProperties": false, "properties": { "Condition": { @@ -346967,17 +314973,45 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "Information about the SimpleDB domain.", - "title": "Description", + "InstanceCount": { + "markdownDescription": "Amazon EC2 instance count for the Resolver on the Outpost.", + "title": "InstanceCount", + "type": "number" + }, + "Name": { + "markdownDescription": "Name of the Resolver.", + "title": "Name", + "type": "string" + }, + "OutpostArn": { + "markdownDescription": "The ARN (Amazon Resource Name) for the Outpost.", + "title": "OutpostArn", + "type": "string" + }, + "PreferredInstanceType": { + "markdownDescription": "The Amazon EC2 instance type. If you specify this, you must also specify a value for the `OutpostArn` .", + "title": "PreferredInstanceType", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A key value pair that helps you identify a Route\u00a053 Resolver .", + "title": "Tags", + "type": "array" } }, + "required": [ + "Name", + "OutpostArn", + "PreferredInstanceType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SDB::Domain" + "AWS::Route53Resolver::OutpostResolver" ], "type": "string" }, @@ -346991,11 +315025,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSet": { + "AWS::Route53Resolver::ResolverConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -347030,58 +315065,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ArchivingOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.ArchivingOptions" - }, - "DeliveryOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.DeliveryOptions", - "markdownDescription": "Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).", - "title": "DeliveryOptions" - }, - "Name": { - "markdownDescription": "The name of the configuration set. The name must meet the following requirements:\n\n- Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Contain 64 characters or fewer.", - "title": "Name", + "AutodefinedReverseFlag": { + "markdownDescription": "Represents the desired status of `AutodefinedReverse` . The only supported value on creation is `DISABLE` . Deletion of this resource will return `AutodefinedReverse` to its default value of `ENABLED` .", + "title": "AutodefinedReverseFlag", "type": "string" }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.ReputationOptions", - "markdownDescription": "An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.", - "title": "ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.SendingOptions", - "markdownDescription": "An object that defines whether or not Amazon SES can send email that you send using the configuration set.", - "title": "SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.SuppressionOptions", - "markdownDescription": "An object that contains information about the suppression list preferences for your account.", - "title": "SuppressionOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of objects that define the tags (keys and values) that are associated with the configuration set.", - "title": "Tags", - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.TrackingOptions", - "markdownDescription": "An object that defines the open and click tracking options for emails that you send using the configuration set.", - "title": "TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.VdmOptions", - "markdownDescription": "The Virtual Deliverability Manager (VDM) options that apply to the configuration set.", - "title": "VdmOptions" + "ResourceId": { + "markdownDescription": "The ID of the Amazon Virtual Private Cloud VPC or a Route 53 Profile that you're configuring Resolver for.", + "title": "ResourceId", + "type": "string" } }, + "required": [ + "AutodefinedReverseFlag", + "ResourceId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ConfigurationSet" + "AWS::Route53Resolver::ResolverConfig" ], "type": "string" }, @@ -347095,179 +315098,75 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSet.ArchivingOptions": { - "additionalProperties": false, - "properties": { - "ArchiveArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.ConditionThreshold": { + "AWS::Route53Resolver::ResolverDNSSECConfig": { "additionalProperties": false, "properties": { - "ConditionThresholdEnabled": { + "Condition": { "type": "string" }, - "OverallConfidenceThreshold": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.OverallConfidenceThreshold" - } - }, - "required": [ - "ConditionThresholdEnabled" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet.DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "markdownDescription": "Specifies the status of your VDM engagement metrics collection. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables engagement metrics for the configuration set.\n- `DISABLED` \u2013 Amazon SES disables engagement metrics for the configuration set.", - "title": "EngagementMetrics", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet.DeliveryOptions": { - "additionalProperties": false, - "properties": { - "MaxDeliverySeconds": { - "markdownDescription": "The name of the configuration set used when sent through a configuration set with archiving enabled.", - "title": "MaxDeliverySeconds", - "type": "number" }, - "SendingPoolName": { - "markdownDescription": "The name of the dedicated IP pool to associate with the configuration set.", - "title": "SendingPoolName", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TlsPolicy": { - "markdownDescription": "Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is `REQUIRE` , messages are only delivered if a TLS connection can be established. If the value is `OPTIONAL` , messages can be delivered in plain text if a TLS connection can't be established.\n\nValid Values: `REQUIRE | OPTIONAL`", - "title": "TlsPolicy", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "markdownDescription": "Specifies the status of your VDM optimized shared delivery. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables optimized shared delivery for the configuration set.\n- `DISABLED` \u2013 Amazon SES disables optimized shared delivery for the configuration set.", - "title": "OptimizedSharedDelivery", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet.OverallConfidenceThreshold": { - "additionalProperties": false, - "properties": { - "ConfidenceVerdictThreshold": { - "type": "string" - } - }, - "required": [ - "ConfidenceVerdictThreshold" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet.ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "markdownDescription": "If `true` , tracking of reputation metrics is enabled for the configuration set. If `false` , tracking of reputation metrics is disabled for the configuration set.", - "title": "ReputationMetricsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "markdownDescription": "If `true` , email sending is enabled for the configuration set. If `false` , email sending is disabled for the configuration set.", - "title": "SendingEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "markdownDescription": "The ID of the virtual private cloud (VPC) that you're configuring the DNSSEC validation status for.", + "title": "ResourceId", + "type": "string" + } }, - "markdownDescription": "A list that contains the reasons that email addresses are automatically added to the suppression list for your account. This list can contain any or all of the following:\n\n- `COMPLAINT` \u2013 Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint.\n- `BOUNCE` \u2013 Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce.", - "title": "SuppressedReasons", - "type": "array" + "type": "object" }, - "ValidationOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.ValidationOptions" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "markdownDescription": "The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.", - "title": "CustomRedirectDomain", + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], "type": "string" }, - "HttpsPolicy": { - "markdownDescription": "The name of the configuration set used when sent through a configuration set with archiving enabled.", - "title": "HttpsPolicy", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.ValidationOptions": { - "additionalProperties": false, - "properties": { - "ConditionThreshold": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.ConditionThreshold" - } - }, "required": [ - "ConditionThreshold" + "Type" ], "type": "object" }, - "AWS::SES::ConfigurationSet.VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.DashboardOptions", - "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Dashboard.", - "title": "DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.GuardianOptions", - "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Guardian.", - "title": "GuardianOptions" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination": { + "AWS::Route53Resolver::ResolverEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -347302,26 +315201,90 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationSetName": { - "markdownDescription": "The name of the configuration set that contains the event destination.", - "title": "ConfigurationSetName", + "Direction": { + "markdownDescription": "Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:\n\n- `INBOUND` : allows DNS queries to your VPC from your network\n- `OUTBOUND` : allows DNS queries from your VPC to your network\n- `INBOUND_DELEGATION` : Resolver delegates queries to Route 53 private hosted zones from your network.", + "title": "Direction", "type": "string" }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination", - "markdownDescription": "An object that defines the event destination.", - "title": "EventDestination" + "Dns64Enabled": { + "type": "boolean" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "markdownDescription": "The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.\n\n> Even though the minimum is 1, Route\u00a053 requires that you create at least two.", + "title": "IpAddresses", + "type": "array" + }, + "Ipv6InternetAccessEnabled": { + "type": "boolean" + }, + "Name": { + "markdownDescription": "A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.", + "title": "Name", + "type": "string" + }, + "OutpostArn": { + "markdownDescription": "The ARN (Amazon Resource Name) for the Outpost.", + "title": "OutpostArn", + "type": "string" + }, + "PreferredInstanceType": { + "markdownDescription": "The Amazon EC2 instance type.", + "title": "PreferredInstanceType", + "type": "string" + }, + "Protocols": { + "items": { + "type": "string" + }, + "markdownDescription": "Protocols used for the endpoint. DoH-FIPS is applicable for a default inbound endpoints only.\n\nFor an inbound endpoint you can apply the protocols as follows:\n\n- Do53 and DoH in combination.\n- Do53 and DoH-FIPS in combination.\n- Do53 alone.\n- DoH alone.\n- DoH-FIPS alone.\n- None, which is treated as Do53.\n\nFor a delegation inbound endpoint you can use Do53 only.\n\nFor an outbound endpoint you can apply the protocols as follows:\n\n- Do53 and DoH in combination.\n- Do53 alone.\n- DoH alone.\n- None, which is treated as Do53.", + "title": "Protocols", + "type": "array" + }, + "ResolverEndpointType": { + "markdownDescription": "The Resolver endpoint IP address type.", + "title": "ResolverEndpointType", + "type": "string" + }, + "RniEnhancedMetricsEnabled": { + "markdownDescription": "Indicates whether RNI enhanced metrics are enabled for the Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When disabled, these metrics are not published.", + "title": "RniEnhancedMetricsEnabled", + "type": "boolean" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.", + "title": "SecurityGroupIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Route 53 Resolver doesn't support updating tags through CloudFormation.", + "title": "Tags", + "type": "array" + }, + "TargetNameServerMetricsEnabled": { + "markdownDescription": "Indicates whether target name server metrics are enabled for the outbound Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When disabled, these metrics are not published. This feature is not supported for inbound Resolver endpoint.", + "title": "TargetNameServerMetricsEnabled", + "type": "boolean" } }, "required": [ - "ConfigurationSetName", - "EventDestination" + "Direction", + "IpAddresses", + "SecurityGroupIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ConfigurationSetEventDestination" + "AWS::Route53Resolver::ResolverEndpoint" ], "type": "string" }, @@ -347340,142 +315303,31 @@ ], "type": "object" }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "markdownDescription": "An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch.", - "title": "DimensionConfigurations", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "markdownDescription": "The default value of the dimension that is published to Amazon CloudWatch if you don't provide the value of the dimension when you send an email. This value has to meet the following criteria:\n\n- Can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-), at signs (@), and periods (.).\n- It can contain no more than 256 characters.", - "title": "DefaultDimensionValue", - "type": "string" - }, - "DimensionName": { - "markdownDescription": "The name of an Amazon CloudWatch dimension associated with an email sending metric. The name has to meet the following criteria:\n\n- It can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-).\n- It can contain no more than 256 characters.", - "title": "DimensionName", - "type": "string" - }, - "DimensionValueSource": { - "markdownDescription": "The location where the Amazon SES API v2 finds the value of a dimension to publish to Amazon CloudWatch. To use the message tags that you specify using an `X-SES-MESSAGE-TAGS` header or a parameter to the `SendEmail` or `SendRawEmail` API, choose `messageTag` . To use your own email headers, choose `emailHeader` . To use link tags, choose `linkTag` .", - "title": "DimensionValueSource", - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.EventBridgeDestination": { - "additionalProperties": false, - "properties": { - "EventBusArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported.", - "title": "EventBusArn", - "type": "string" - } - }, - "required": [ - "EventBusArn" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { "additionalProperties": false, "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination", - "markdownDescription": "An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.", - "title": "CloudWatchDestination" - }, - "Enabled": { - "markdownDescription": "If `true` , the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this `EventDestinationDefinition` .\n\nIf `false` , the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.", - "title": "Enabled", - "type": "boolean" - }, - "EventBridgeDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventBridgeDestination", - "markdownDescription": "An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to send notifications when certain email events occur.", - "title": "EventBridgeDestination" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination", - "markdownDescription": "An object that contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.", - "title": "KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of events that Amazon SES sends to the specified event destinations.\n\n- `SEND` - The send request was successful and SES will attempt to deliver the message to the recipient\u2019s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.)\n- `REJECT` - SES accepted the email, but determined that it contained a virus and didn\u2019t attempt to deliver it to the recipient\u2019s mail server.\n- `BOUNCE` - ( *Hard bounce* ) The recipient's mail server permanently rejected the email. ( *Soft bounces* are only included when SES fails to deliver the email after retrying for a period of time.)\n- `COMPLAINT` - The email was successfully delivered to the recipient\u2019s mail server, but the recipient marked it as spam.\n- `DELIVERY` - SES successfully delivered the email to the recipient's mail server.\n- `OPEN` - The recipient received the message and opened it in their email client.\n- `CLICK` - The recipient clicked one or more links in the email.\n- `RENDERING_FAILURE` - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the [`SendEmail`](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html) or [`SendBulkEmail`](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendBulkEmail.html) API operations.)\n- `DELIVERY_DELAY` - The email couldn't be delivered to the recipient\u2019s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.\n- `SUBSCRIPTION` - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an *unsubscribe* link as part of your [subscription management](https://docs.aws.amazon.com/ses/latest/dg/sending-email-subscription-management.html) .", - "title": "MatchingEventTypes", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the event destination. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Contain 64 characters or fewer.", - "title": "Name", + "Ip": { + "markdownDescription": "The IPv4 address that you want to use for DNS queries.", + "title": "Ip", "type": "string" }, - "SnsDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.SnsDestination", - "markdownDescription": "An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.", - "title": "SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "markdownDescription": "The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to.", - "title": "DeliveryStreamARN", + "Ipv6": { + "markdownDescription": "The IPv6 address that you want to use for DNS queries.", + "title": "Ipv6", "type": "string" }, - "IAMRoleARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that the Amazon SES API v2 uses to send email events to the Amazon Kinesis Data Firehose stream.", - "title": "IAMRoleARN", - "type": "string" - } - }, - "required": [ - "DeliveryStreamARN", - "IAMRoleARN" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicARN": { - "markdownDescription": "The ARN of the Amazon SNS topic for email sending events. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) Amazon SNS operation.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicARN", + "SubnetId": { + "markdownDescription": "The ID of the subnet that contains the IP address.", + "title": "SubnetId", "type": "string" } }, "required": [ - "TopicARN" + "SubnetId" ], "type": "object" }, - "AWS::SES::ContactList": { + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -347510,87 +315362,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactListName": { - "markdownDescription": "The name of the contact list.", - "title": "ContactListName", + "DestinationArn": { + "markdownDescription": "The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.", + "title": "DestinationArn", "type": "string" }, - "Description": { - "markdownDescription": "A description of what the contact list is about.", - "title": "Description", + "Name": { + "markdownDescription": "The name of the query logging configuration.", + "title": "Name", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags associated with a contact list.", + "markdownDescription": "", "title": "Tags", "type": "array" - }, - "Topics": { - "items": { - "$ref": "#/definitions/AWS::SES::ContactList.Topic" - }, - "markdownDescription": "An interest group, theme, or label within a list. A contact list can have multiple topics.", - "title": "Topics", - "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SES::ContactList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ContactList.Topic": { - "additionalProperties": false, - "properties": { - "DefaultSubscriptionStatus": { - "markdownDescription": "The default subscription status to be applied to a contact if the contact has not noted their preference for subscribing to a topic.", - "title": "DefaultSubscriptionStatus", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of what the topic is about, which the contact will see.", - "title": "Description", - "type": "string" - }, - "DisplayName": { - "markdownDescription": "The name of the topic the contact will see.", - "title": "DisplayName", - "type": "string" }, - "TopicName": { - "markdownDescription": "The name of the topic.", - "title": "TopicName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DefaultSubscriptionStatus", - "DisplayName", - "TopicName" + "Type" ], "type": "object" }, - "AWS::SES::CustomVerificationEmailTemplate": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -347625,44 +315438,22 @@ "Properties": { "additionalProperties": false, "properties": { - "FailureRedirectionURL": { - "type": "string" - }, - "FromEmailAddress": { - "type": "string" - }, - "SuccessRedirectionURL": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateContent": { - "type": "string" - }, - "TemplateName": { + "ResolverQueryLogConfigId": { + "markdownDescription": "The ID of the query logging configuration that a VPC is associated with.", + "title": "ResolverQueryLogConfigId", "type": "string" }, - "TemplateSubject": { + "ResourceId": { + "markdownDescription": "The ID of the Amazon VPC that is associated with the query logging configuration.", + "title": "ResourceId", "type": "string" } }, - "required": [ - "FailureRedirectionURL", - "FromEmailAddress", - "SuccessRedirectionURL", - "TemplateContent", - "TemplateName", - "TemplateSubject" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::CustomVerificationEmailTemplate" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "type": "string" }, @@ -347676,12 +315467,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SES::DedicatedIpPool": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "Condition": { @@ -347716,30 +315506,56 @@ "Properties": { "additionalProperties": false, "properties": { - "PoolName": { - "markdownDescription": "The name of the dedicated IP pool that the IP address is associated with.", - "title": "PoolName", + "DelegationRecord": { + "markdownDescription": "DNS queries with delegation records that point to this domain name are forwarded to resolvers on your network.", + "title": "DelegationRecord", "type": "string" }, - "ScalingMode": { - "markdownDescription": "The type of scaling mode.\n\nThe following options are available:\n\n- `STANDARD` - The customer controls which IPs are part of the dedicated IP pool.\n- `MANAGED` - The reputation and number of IPs are automatically managed by Amazon SES .\n\nThe `STANDARD` option is selected by default if no value is specified.\n\n> Updating *ScalingMode* doesn't require a replacement if you're updating its value from `STANDARD` to `MANAGED` . However, updating *ScalingMode* from `MANAGED` to `STANDARD` is not supported.", - "title": "ScalingMode", + "DomainName": { + "markdownDescription": "DNS queries for this domain name are forwarded to the IP addresses that are specified in `TargetIps` . If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).", + "title": "DomainName", + "type": "string" + }, + "Name": { + "markdownDescription": "The name for the Resolver rule, which you specified when you created the Resolver rule.\n\nThe name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.", + "title": "Name", + "type": "string" + }, + "ResolverEndpointId": { + "markdownDescription": "The ID of the endpoint that the rule is associated with.", + "title": "ResolverEndpointId", + "type": "string" + }, + "RuleType": { + "markdownDescription": "When you want to forward DNS queries for specified domain name to resolvers on your network, specify `FORWARD` or `DELEGATE` . If a query matches multiple Resolver rules (example.com and www.example.com), outbound DNS queries are routed using the Resolver rule that contains the most specific domain name (www.example.com).\n\nWhen you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify `SYSTEM` .\n\nFor example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify `FORWARD` for `RuleType` . To then have Resolver process queries for apex.example.com, you create a rule and specify `SYSTEM` for `RuleType` .\n\nCurrently, only Resolver can create rules that have a value of `RECURSIVE` for `RuleType` .", + "title": "RuleType", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An object that defines the tags (keys and values) that you want to associate with the pool.", + "markdownDescription": "Tags help organize and categorize your Resolver rules. Each tag consists of a key and an optional value, both of which you define.", "title": "Tags", "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "markdownDescription": "An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network.", + "title": "TargetIps", + "type": "array" } }, + "required": [ + "RuleType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::DedicatedIpPool" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -347753,11 +315569,43 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::EmailIdentity": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "markdownDescription": "One IPv4 address that you want to forward DNS queries to.", + "title": "Ip", + "type": "string" + }, + "Ipv6": { + "markdownDescription": "One IPv6 address that you want to forward DNS queries to.", + "title": "Ipv6", + "type": "string" + }, + "Port": { + "markdownDescription": "The port at `Ip` that you want to forward DNS queries to.", + "title": "Port", + "type": "string" + }, + "Protocol": { + "markdownDescription": "The protocols for the target address. The protocol you choose needs to be supported by the outbound endpoint of the Resolver rule.", + "title": "Protocol", + "type": "string" + }, + "ServerNameIndication": { + "markdownDescription": "The Server Name Indication of the DoH server that you want to forward queries to. This is only used if the Protocol of the `TargetAddress` is `DoH` .", + "title": "ServerNameIndication", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -347792,53 +315640,31 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationSetAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.ConfigurationSetAttributes", - "markdownDescription": "Used to associate a configuration set with an email identity.", - "title": "ConfigurationSetAttributes" - }, - "DkimAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.DkimAttributes", - "markdownDescription": "An object that contains information about the DKIM attributes for the identity.", - "title": "DkimAttributes" - }, - "DkimSigningAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.DkimSigningAttributes", - "markdownDescription": "If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for [Easy DKIM](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html) .\n\nYou can only specify this object if the email identity is a domain, as opposed to an address.", - "title": "DkimSigningAttributes" - }, - "EmailIdentity": { - "markdownDescription": "The email address or domain to verify.", - "title": "EmailIdentity", + "Name": { + "markdownDescription": "The name of an association between a Resolver rule and a VPC.\n\nThe name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.", + "title": "Name", "type": "string" }, - "FeedbackAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.FeedbackAttributes", - "markdownDescription": "Used to enable or disable feedback forwarding for an identity.", - "title": "FeedbackAttributes" - }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.MailFromAttributes", - "markdownDescription": "Used to enable or disable the custom Mail-From domain configuration for an email identity.", - "title": "MailFromAttributes" + "ResolverRuleId": { + "markdownDescription": "The ID of the Resolver rule that you associated with the VPC that is specified by `VPCId` .", + "title": "ResolverRuleId", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of objects that define the tags (keys and values) to associate with the email identity.", - "title": "Tags", - "type": "array" + "VPCId": { + "markdownDescription": "The ID of the VPC that you associated the Resolver rule with.", + "title": "VPCId", + "type": "string" } }, "required": [ - "EmailIdentity" + "ResolverRuleId", + "VPCId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::EmailIdentity" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -347857,77 +315683,7 @@ ], "type": "object" }, - "AWS::SES::EmailIdentity.ConfigurationSetAttributes": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "markdownDescription": "The configuration set to associate with an email identity.", - "title": "ConfigurationSetName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::EmailIdentity.DkimAttributes": { - "additionalProperties": false, - "properties": { - "SigningEnabled": { - "markdownDescription": "Sets the DKIM signing configuration for the identity.\n\nWhen you set this value `true` , then the messages that are sent from the identity are signed using DKIM. If you set this value to `false` , your messages are sent without DKIM signing.", - "title": "SigningEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SES::EmailIdentity.DkimSigningAttributes": { - "additionalProperties": false, - "properties": { - "DomainSigningPrivateKey": { - "markdownDescription": "[Bring Your Own DKIM] A private key that's used to generate a DKIM signature.\n\nThe private key must use 1024 or 2048-bit RSA encryption, and must be encoded using base64 encoding.\n\n> Rather than embedding sensitive information directly in your CFN templates, we recommend you use dynamic parameters in the stack template to reference sensitive information that is stored and managed outside of CFN, such as in the AWS Systems Manager Parameter Store or AWS Secrets Manager.\n> \n> For more information, see the [Do not embed credentials in your templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html#creds) best practice.", - "title": "DomainSigningPrivateKey", - "type": "string" - }, - "DomainSigningSelector": { - "markdownDescription": "[Bring Your Own DKIM] A string that's used to identify a public key in the DNS configuration for a domain.", - "title": "DomainSigningSelector", - "type": "string" - }, - "NextSigningKeyLength": { - "markdownDescription": "[Easy DKIM] The key length of the future DKIM key pair to be generated. This can be changed at most once per day.\n\nValid Values: `RSA_1024_BIT | RSA_2048_BIT`", - "title": "NextSigningKeyLength", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::EmailIdentity.FeedbackAttributes": { - "additionalProperties": false, - "properties": { - "EmailForwardingEnabled": { - "markdownDescription": "Sets the feedback forwarding configuration for the identity.\n\nIf the value is `true` , you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the `Return-Path` header of the original email.\n\nYou're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).", - "title": "EmailForwardingEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SES::EmailIdentity.MailFromAttributes": { - "additionalProperties": false, - "properties": { - "BehaviorOnMxFailure": { - "markdownDescription": "The action to take if the required MX record isn't found when you send an email. When you set this value to `USE_DEFAULT_VALUE` , the mail is sent using *amazonses.com* as the MAIL FROM domain. When you set this value to `REJECT_MESSAGE` , the Amazon SES API v2 returns a `MailFromDomainNotVerified` error, and doesn't attempt to deliver the email.\n\nThese behaviors are taken when the custom MAIL FROM domain configuration is in the `Pending` , `Failed` , and `TemporaryFailure` states.\n\nValid Values: `USE_DEFAULT_VALUE | REJECT_MESSAGE`", - "title": "BehaviorOnMxFailure", - "type": "string" - }, - "MailFromDomain": { - "markdownDescription": "The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must meet the following criteria:\n\n- It has to be a subdomain of the verified identity.\n- It can't be used to receive email.\n- It can't be used in a \"From\" address if the MAIL FROM domain is a destination for feedback forwarding emails.", - "title": "MailFromDomain", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::MailManagerAddonInstance": { + "AWS::S3::AccessGrant": { "additionalProperties": false, "properties": { "Condition": { @@ -347962,28 +315718,55 @@ "Properties": { "additionalProperties": false, "properties": { - "AddonSubscriptionId": { - "markdownDescription": "The subscription ID for the instance.", - "title": "AddonSubscriptionId", + "AccessGrantsLocationConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration", + "markdownDescription": "The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access. It contains the `S3SubPrefix` field. The grant scope is the result of appending the subprefix to the location scope of the registered location.", + "title": "AccessGrantsLocationConfiguration" + }, + "AccessGrantsLocationId": { + "markdownDescription": "The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID `default` to the default location `s3://` and assigns an auto-generated ID to other locations that you register.", + "title": "AccessGrantsLocationId", + "type": "string" + }, + "ApplicationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.", + "title": "ApplicationArn", + "type": "string" + }, + "Grantee": { + "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee", + "markdownDescription": "The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to AWS IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.", + "title": "Grantee" + }, + "Permission": { + "markdownDescription": "The type of access that you are granting to your S3 data, which can be set to one of the following values:\n\n- `READ` \u2013 Grant read-only access to the S3 data.\n- `WRITE` \u2013 Grant write-only access to the S3 data.\n- `READWRITE` \u2013 Grant both read and write access to the S3 data.", + "title": "Permission", + "type": "string" + }, + "S3PrefixType": { + "markdownDescription": "The type of `S3SubPrefix` . The only possible value is `Object` . Pass this value if the access grant scope is an object. Do not pass this value if the access grant scope is a bucket or a bucket and a prefix.", + "title": "S3PrefixType", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "The AWS resource tags that you are adding to the access grant. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", "title": "Tags", "type": "array" } }, "required": [ - "AddonSubscriptionId" + "AccessGrantsLocationId", + "Grantee", + "Permission" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerAddonInstance" + "AWS::S3::AccessGrant" ], "type": "string" }, @@ -348002,7 +315785,41 @@ ], "type": "object" }, - "AWS::SES::MailManagerAddonSubscription": { + "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "additionalProperties": false, + "properties": { + "S3SubPrefix": { + "markdownDescription": "The `S3SubPrefix` is appended to the location scope creating the grant scope. Use this field to narrow the scope of the grant to a subset of the location scope. This field is required if the location scope is the default location `s3://` because you cannot create a grant for all of your S3 data in the Region and must narrow the scope. For example, if the location scope is the default location `s3://` , the `S3SubPrefx` can be a `/*` , so the full grant scope path would be `s3:///*` . Or the `S3SubPrefx` can be `/*` , so the full grant scope path would be `s3:///*` .\n\nIf the `S3SubPrefix` includes a prefix, append the wildcard character `*` after the prefix to indicate that you want to include all object key names in the bucket that start with that prefix.", + "title": "S3SubPrefix", + "type": "string" + } + }, + "required": [ + "S3SubPrefix" + ], + "type": "object" + }, + "AWS::S3::AccessGrant.Grantee": { + "additionalProperties": false, + "properties": { + "GranteeIdentifier": { + "markdownDescription": "The unique identifier of the `Grantee` . If the grantee type is `IAM` , the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` . You can obtain this UUID from your AWS IAM Identity Center instance.", + "title": "GranteeIdentifier", + "type": "string" + }, + "GranteeType": { + "markdownDescription": "The type of the grantee to which access has been granted. It can be one of the following values:\n\n- `IAM` - An IAM user or role.\n- `DIRECTORY_USER` - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.\n- `DIRECTORY_GROUP` - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.", + "title": "GranteeType", + "type": "string" + } + }, + "required": [ + "GranteeIdentifier", + "GranteeType" + ], + "type": "object" + }, + "AWS::S3::AccessGrantsInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -348037,28 +315854,25 @@ "Properties": { "additionalProperties": false, "properties": { - "AddonName": { - "markdownDescription": "The name of the Add On to subscribe to. You can only have one subscription for each Add On name.\n\nValid Values: `TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE | VADE_ADVANCED_EMAIL_SECURITY`", - "title": "AddonName", + "IdentityCenterArn": { + "markdownDescription": "If you would like to associate your S3 Access Grants instance with an AWS IAM Identity Center instance, use this field to pass the Amazon Resource Name (ARN) of the AWS IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center.", + "title": "IdentityCenterArn", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "The AWS resource tags that you are adding to the S3 Access Grants instance. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", "title": "Tags", "type": "array" } }, - "required": [ - "AddonName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerAddonSubscription" + "AWS::S3::AccessGrantsInstance" ], "type": "string" }, @@ -348072,12 +315886,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SES::MailManagerAddressList": { + "AWS::S3::AccessGrantsLocation": { "additionalProperties": false, "properties": { "Condition": { @@ -348112,25 +315925,34 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressListName": { - "markdownDescription": "A user-friendly name for the address list.", - "title": "AddressListName", + "IamRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.", + "title": "IamRoleArn", + "type": "string" + }, + "LocationScope": { + "markdownDescription": "The S3 URI path to the location that you are registering. The location scope can be the default S3 location `s3://` , the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the `engineering/` prefix or object key names that start with the `marketing/campaigns/` prefix.", + "title": "LocationScope", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "The AWS resource tags that you are adding to the S3 Access Grants location. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", "title": "Tags", "type": "array" } }, + "required": [ + "IamRoleArn", + "LocationScope" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerAddressList" + "AWS::S3::AccessGrantsLocation" ], "type": "string" }, @@ -348144,11 +315966,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::MailManagerArchive": { + "AWS::S3::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -348183,35 +316006,53 @@ "Properties": { "additionalProperties": false, "properties": { - "ArchiveName": { - "markdownDescription": "A unique name for the new archive.", - "title": "ArchiveName", + "Bucket": { + "markdownDescription": "The name of the bucket associated with this access point.", + "title": "Bucket", "type": "string" }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the KMS key for encrypting emails in the archive.", - "title": "KmsKeyArn", + "BucketAccountId": { + "markdownDescription": "The AWS account ID associated with the S3 bucket associated with this access point.", + "title": "BucketAccountId", "type": "string" }, - "Retention": { - "$ref": "#/definitions/AWS::SES::MailManagerArchive.ArchiveRetention", - "markdownDescription": "The period for retaining emails in the archive before automatic deletion.", - "title": "Retention" + "Name": { + "markdownDescription": "The name of this access point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.", + "title": "Name", + "type": "string" + }, + "Policy": { + "markdownDescription": "The access point policy associated with this access point.", + "title": "Policy", + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration", + "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", + "title": "PublicAccessBlockConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see [Using tags for attribute-based access control (ABAC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac) .", "title": "Tags", "type": "array" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration", + "markdownDescription": "The Virtual Private Cloud (VPC) configuration for this access point, if one exists.", + "title": "VpcConfiguration" } }, + "required": [ + "Bucket" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerArchive" + "AWS::S3::AccessPoint" ], "type": "string" }, @@ -348225,30 +316066,61 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::MailManagerArchive.ArchiveRetention": { + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { "additionalProperties": false, "properties": { - "RetentionPeriod": { - "markdownDescription": "The enum value sets the period for retaining emails in an archive.", - "title": "RetentionPeriod", + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", + "title": "BlockPublicAcls", + "type": "boolean" + }, + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", + "title": "BlockPublicPolicy", + "type": "boolean" + }, + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "title": "IgnorePublicAcls", + "type": "boolean" + }, + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "title": "RestrictPublicBuckets", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "markdownDescription": "If this field is specified, the access point will only allow connections from the specified VPC ID.", + "title": "VpcId", "type": "string" } }, - "required": [ - "RetentionPeriod" - ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint": { + "AWS::S3::Bucket": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, + "Connectors": { + "additionalProperties": { + "$ref": "#/definitions/EmbeddedConnector" + }, + "title": "Connectors", + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -348278,63 +316150,148 @@ "Properties": { "additionalProperties": false, "properties": { - "IngressPointConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.IngressPointConfiguration", - "markdownDescription": "The configuration of the ingress endpoint resource.", - "title": "IngressPointConfiguration" + "AbacStatus": { + "markdownDescription": "The ABAC status of the general purpose bucket. When ABAC is enabled for the general purpose bucket, you can use tags to manage access to the general purpose buckets as well as for cost tracking purposes. When ABAC is disabled for the general purpose buckets, you can only use tags for cost tracking purposes. For more information, see [Using tags with S3 general purpose buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html) .", + "title": "AbacStatus", + "type": "string" }, - "IngressPointName": { - "markdownDescription": "A user friendly name for an ingress endpoint resource.", - "title": "IngressPointName", + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration", + "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .", + "title": "AccelerateConfiguration" + }, + "AccessControl": { + "markdownDescription": "> This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide* . \n\nA canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* .\n\nS3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n\nThe majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html) . For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide* .", + "title": "AccessControl", "type": "string" }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.NetworkConfiguration", - "markdownDescription": "The network type (IPv4-only, Dual-Stack, PrivateLink) of the ingress endpoint resource.", - "title": "NetworkConfiguration" + "AnalyticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + }, + "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", + "title": "AnalyticsConfigurations", + "type": "array" }, - "RuleSetId": { - "markdownDescription": "The identifier of an existing rule set that you attach to an ingress endpoint resource.", - "title": "RuleSetId", + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption", + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .", + "title": "BucketEncryption" + }, + "BucketName": { + "markdownDescription": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) . For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) in the *Amazon S3 User Guide* .\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": "BucketName", "type": "string" }, - "StatusToUpdate": { - "markdownDescription": "The update status of an ingress endpoint.", - "title": "StatusToUpdate", + "BucketNamePrefix": { + "type": "string" + }, + "BucketNamespace": { "type": "string" }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration", + "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .", + "title": "CorsConfiguration" + }, + "IntelligentTieringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" + }, + "markdownDescription": "Defines how Amazon S3 handles Intelligent-Tiering storage.", + "title": "IntelligentTieringConfigurations", + "type": "array" + }, + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "markdownDescription": "Specifies the S3 Inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .", + "title": "InventoryConfigurations", + "type": "array" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration", + "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .", + "title": "LifecycleConfiguration" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration", + "markdownDescription": "Settings that define where logs are stored.", + "title": "LoggingConfiguration" + }, + "MetadataConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataConfiguration", + "markdownDescription": "The S3 Metadata configuration for a general purpose bucket.", + "title": "MetadataConfiguration" + }, + "MetadataTableConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableConfiguration", + "markdownDescription": "The metadata table configuration of an Amazon S3 general purpose bucket.", + "title": "MetadataTableConfiguration" + }, + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) .", + "title": "MetricsConfigurations", + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration", + "markdownDescription": "Configuration that defines how Amazon S3 handles bucket notifications.", + "title": "NotificationConfiguration" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration", + "markdownDescription": "> This operation is not supported for directory buckets. \n\nPlaces an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .\n\n> - The `DefaultRetention` settings require both a mode and a period.\n> - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.\n> - You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html) . > You must URL encode any signed header values that contain spaces. For example, if your header value is `my file.txt` , containing two spaces after `my` , you must URL encode this value to `my%20%20file.txt` .", + "title": "ObjectLockConfiguration" + }, + "ObjectLockEnabled": { + "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", + "title": "ObjectLockEnabled", + "type": "boolean" + }, + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls", + "markdownDescription": "Configuration that defines how Amazon S3 handles Object Ownership rules.", + "title": "OwnershipControls" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration", + "markdownDescription": "Configuration that defines how Amazon S3 handles public access.", + "title": "PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration", + "markdownDescription": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the `VersioningConfiguration` property.\n\nAmazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", + "title": "ReplicationConfiguration" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this S3 bucket.", "title": "Tags", "type": "array" }, - "TlsPolicy": { - "type": "string" - }, - "TrafficPolicyId": { - "markdownDescription": "The identifier of an existing traffic policy that you attach to an ingress endpoint resource.", - "title": "TrafficPolicyId", - "type": "string" + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration", + "markdownDescription": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n\n> When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations ( `PUT` or `DELETE` ) on objects in the bucket.", + "title": "VersioningConfiguration" }, - "Type": { - "markdownDescription": "The type of the ingress endpoint to create.", - "title": "Type", - "type": "string" + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration", + "markdownDescription": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) .", + "title": "WebsiteConfiguration" } }, - "required": [ - "RuleSetId", - "TrafficPolicyId", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerIngressPoint" + "AWS::S3::Bucket" ], "type": "string" }, @@ -348348,1400 +316305,1660 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint.IngressPointConfiguration": { + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { "additionalProperties": false, "properties": { - "SecretArn": { - "markdownDescription": "The SecretsManager::Secret ARN of the ingress endpoint resource.", - "title": "SecretArn", + "DaysAfterInitiation": { + "markdownDescription": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.", + "title": "DaysAfterInitiation", + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "markdownDescription": "Specifies the transfer acceleration status of the bucket.", + "title": "AccelerationStatus", "type": "string" - }, - "SmtpPassword": { - "markdownDescription": "The password of the ingress endpoint resource.", - "title": "SmtpPassword", + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "markdownDescription": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference* .", + "title": "Owner", "type": "string" - }, - "TlsAuthConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.TlsAuthConfiguration" } }, + "required": [ + "Owner" + ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint.NetworkConfiguration": { + "AWS::S3::Bucket.AnalyticsConfiguration": { "additionalProperties": false, "properties": { - "PrivateNetworkConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.PrivateNetworkConfiguration", - "markdownDescription": "Specifies the network configuration for the private ingress point.", - "title": "PrivateNetworkConfiguration" + "Id": { + "markdownDescription": "The ID that identifies the analytics configuration.", + "title": "Id", + "type": "string" }, - "PublicNetworkConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.PublicNetworkConfiguration", - "markdownDescription": "Specifies the network configuration for the public ingress point.", - "title": "PublicNetworkConfiguration" + "Prefix": { + "markdownDescription": "The prefix that an object must have to be included in the analytics results.", + "title": "Prefix", + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis", + "markdownDescription": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.", + "title": "StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "The tags to use when evaluating an analytics filter.\n\nThe analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.", + "title": "TagFilters", + "type": "array" } }, + "required": [ + "Id", + "StorageClassAnalysis" + ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint.PrivateNetworkConfiguration": { + "AWS::S3::Bucket.AnnotationTableConfiguration": { "additionalProperties": false, "properties": { - "VpcEndpointId": { - "markdownDescription": "The identifier of the VPC endpoint to associate with this private ingress point.", - "title": "VpcEndpointId", + "ConfigurationState": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration" + }, + "Role": { + "type": "string" + }, + "TableArn": { + "type": "string" + }, + "TableName": { "type": "string" } }, "required": [ - "VpcEndpointId" + "ConfigurationState" ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint.PublicNetworkConfiguration": { + "AWS::S3::Bucket.BlockedEncryptionTypes": { "additionalProperties": false, "properties": { - "IpType": { - "markdownDescription": "The IP address type for the public ingress point. Valid values are IPV4 and DUAL_STACK.", - "title": "IpType", - "type": "object" + "EncryptionType": { + "items": { + "type": "string" + }, + "markdownDescription": "The object encryption type that you want to block or unblock for an Amazon S3 general purpose bucket.\n\n> Currently, this parameter only supports blocking or unblocking server side encryption with customer-provided keys (SSE-C). For more information about SSE-C, see [Using server-side encryption with customer-provided keys (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html) .", + "title": "EncryptionType", + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "markdownDescription": "Specifies the default server-side-encryption configuration.", + "title": "ServerSideEncryptionConfiguration", + "type": "array" } }, "required": [ - "IpType" + "ServerSideEncryptionConfiguration" ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint.TlsAuthConfiguration": { + "AWS::S3::Bucket.CorsConfiguration": { "additionalProperties": false, "properties": { - "TrustStore": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.TrustStore" + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "markdownDescription": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", + "title": "CorsRules", + "type": "array" } }, "required": [ - "TrustStore" + "CorsRules" ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint.TrustStore": { + "AWS::S3::Bucket.CorsRule": { "additionalProperties": false, "properties": { - "CAContent": { - "type": "string" + "AllowedHeaders": { + "items": { + "type": "string" + }, + "markdownDescription": "Headers that are specified in the `Access-Control-Request-Headers` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", + "title": "AllowedHeaders", + "type": "array" }, - "CrlContent": { + "AllowedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "An HTTP method that you allow the origin to run.\n\n*Allowed values* : `GET` | `PUT` | `HEAD` | `POST` | `DELETE`", + "title": "AllowedMethods", + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more origins you want customers to be able to access the bucket from.", + "title": "AllowedOrigins", + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).", + "title": "ExposedHeaders", + "type": "array" + }, + "Id": { + "markdownDescription": "A unique identifier for this rule. The value must be no more than 255 characters.", + "title": "Id", "type": "string" }, - "KmsKeyArn": { + "MaxAge": { + "markdownDescription": "The time in seconds that your browser is to cache the preflight response for the specified resource.", + "title": "MaxAge", + "type": "number" + } + }, + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "type": "object" + }, + "AWS::S3::Bucket.DataExport": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination", + "markdownDescription": "The place to store the data for an analysis.", + "title": "Destination" + }, + "OutputSchemaVersion": { + "markdownDescription": "The version of the output schema to use when exporting data. Must be `V_1` .", + "title": "OutputSchemaVersion", "type": "string" } }, "required": [ - "CAContent" + "Destination", + "OutputSchemaVersion" ], "type": "object" }, - "AWS::SES::MailManagerRelay": { + "AWS::S3::Bucket.DefaultRetention": { "additionalProperties": false, "properties": { - "Condition": { + "Days": { + "markdownDescription": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", + "title": "Days", + "type": "number" + }, + "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", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Years": { + "markdownDescription": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", + "title": "Years", + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "Indicates whether to replicate delete markers.", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "markdownDescription": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n\n> Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.", + "title": "BucketAccountId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "BucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the bucket to which data is exported.", + "title": "BucketArn", + "type": "string" }, - "Metadata": { - "type": "object" + "Format": { + "markdownDescription": "Specifies the file format used when exporting data to Amazon S3.\n\n*Allowed values* : `CSV` | `ORC` | `Parquet`", + "title": "Format", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authentication": { - "$ref": "#/definitions/AWS::SES::MailManagerRelay.RelayAuthentication", - "markdownDescription": "Authentication for the relay destination server\u2014specify the secretARN where the SMTP credentials are stored.", - "title": "Authentication" - }, - "RelayName": { - "markdownDescription": "The unique relay name.", - "title": "RelayName", - "type": "string" - }, - "ServerName": { - "markdownDescription": "The destination relay server address.", - "title": "ServerName", - "type": "string" - }, - "ServerPort": { - "markdownDescription": "The destination relay server port.", - "title": "ServerPort", - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Authentication", - "ServerName", - "ServerPort" - ], - "type": "object" + "Prefix": { + "markdownDescription": "The prefix to use when exporting data. The prefix is prepended to all results.", + "title": "Prefix", + "type": "string" + } + }, + "required": [ + "BucketArn", + "Format" + ], + "type": "object" + }, + "AWS::S3::Bucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "markdownDescription": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", + "title": "ReplicaKmsKeyID", + "type": "string" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.EventBridgeConfiguration": { + "additionalProperties": false, + "properties": { + "EventBridgeEnabled": { + "markdownDescription": "Enables delivery of events to Amazon EventBridge.", + "title": "EventBridgeEnabled", + "type": "boolean" + } + }, + "required": [ + "EventBridgeEnabled" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", + "title": "Name", + "type": "string" }, - "Type": { - "enum": [ - "AWS::SES::MailManagerRelay" - ], + "Value": { + "markdownDescription": "The value that the filter searches for in object key names.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.IntelligentTieringConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "markdownDescription": "The ID used to identify the S3 Intelligent-Tiering configuration.", + "title": "Id", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Prefix": { + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "title": "Prefix", + "type": "string" + }, + "Status": { + "markdownDescription": "Specifies the status of the configuration.", + "title": "Status", "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "A container for a key-value pair.", + "title": "TagFilters", + "type": "array" + }, + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "markdownDescription": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` .\n\n> You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.", + "title": "Tierings", + "type": "array" } }, "required": [ - "Type", - "Properties" + "Id", + "Status", + "Tierings" ], "type": "object" }, - "AWS::SES::MailManagerRelay.RelayAuthentication": { + "AWS::S3::Bucket.InventoryConfiguration": { "additionalProperties": false, "properties": { - "NoAuthentication": { - "markdownDescription": "Keep an empty structure if the relay destination server does not require SMTP credential authentication.", - "title": "NoAuthentication", - "type": "object" + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination", + "markdownDescription": "Contains information about where to publish the inventory results.", + "title": "Destination" }, - "SecretArn": { - "markdownDescription": "The ARN of the secret created in secrets manager where the relay server's SMTP credentials are stored.", - "title": "SecretArn", + "Enabled": { + "markdownDescription": "Specifies whether the inventory is enabled or disabled. If set to `True` , an inventory list is generated. If set to `False` , no inventory list is generated.", + "title": "Enabled", + "type": "boolean" + }, + "Id": { + "markdownDescription": "The ID used to identify the inventory configuration.", + "title": "Id", + "type": "string" + }, + "IncludedObjectVersions": { + "markdownDescription": "Object versions to include in the inventory list. If set to `All` , the list includes all the object versions, which adds the version-related fields `VersionId` , `IsLatest` , and `DeleteMarker` to the list. If set to `Current` , the list does not contain these version-related fields.", + "title": "IncludedObjectVersions", + "type": "string" + }, + "OptionalFields": { + "items": { + "type": "string" + }, + "markdownDescription": "Contains the optional fields that are included in the inventory results.", + "title": "OptionalFields", + "type": "array" + }, + "Prefix": { + "markdownDescription": "Specifies the inventory filter prefix.", + "title": "Prefix", + "type": "string" + }, + "ScheduleFrequency": { + "markdownDescription": "Specifies the schedule for generating inventory results.", + "title": "ScheduleFrequency", "type": "string" } }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], "type": "object" }, - "AWS::SES::MailManagerRuleSet": { + "AWS::S3::Bucket.InventoryTableConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ConfigurationState": { + "markdownDescription": "The configuration state of the inventory table, indicating whether the inventory table is enabled or disabled.", + "title": "ConfigurationState", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "markdownDescription": "A user-friendly name for the rule set.", - "title": "RuleSetName", - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Rule" - }, - "markdownDescription": "Conditional rules that are evaluated for determining actions on email.", - "title": "Rules", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration", + "markdownDescription": "The encryption configuration for the inventory table.", + "title": "EncryptionConfiguration" }, - "Type": { - "enum": [ - "AWS::SES::MailManagerRuleSet" - ], + "TableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the inventory table.", + "title": "TableArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TableName": { + "markdownDescription": "The name of the inventory table.", + "title": "TableName", "type": "string" } }, "required": [ - "Type", - "Properties" + "ConfigurationState" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.AddHeaderAction": { + "AWS::S3::Bucket.JournalTableConfiguration": { "additionalProperties": false, "properties": { - "HeaderName": { - "markdownDescription": "The name of the header to add to an email. The header must be prefixed with \"X-\". Headers are added regardless of whether the header name pre-existed in the email.", - "title": "HeaderName", + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration", + "markdownDescription": "The encryption configuration for the journal table.", + "title": "EncryptionConfiguration" + }, + "RecordExpiration": { + "$ref": "#/definitions/AWS::S3::Bucket.RecordExpiration", + "markdownDescription": "The journal table record expiration settings for the journal table.", + "title": "RecordExpiration" + }, + "TableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the journal table.", + "title": "TableArn", "type": "string" }, - "HeaderValue": { - "markdownDescription": "The value of the header to add to the email.", - "title": "HeaderValue", + "TableName": { + "markdownDescription": "The name of the journal table.", + "title": "TableName", "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" + "RecordExpiration" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.Analysis": { + "AWS::S3::Bucket.LambdaConfiguration": { "additionalProperties": false, "properties": { - "Analyzer": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Add On.", - "title": "Analyzer", + "Event": { + "markdownDescription": "The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", + "title": "Event", "type": "string" }, - "ResultField": { - "markdownDescription": "The returned value from an Add On.", - "title": "ResultField", + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", + "markdownDescription": "The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a `.jpg` extension invoke the function when they are added to the Amazon S3 bucket.", + "title": "Filter" + }, + "Function": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.", + "title": "Function", "type": "string" } }, "required": [ - "Analyzer", - "ResultField" + "Event", + "Function" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.ArchiveAction": { + "AWS::S3::Bucket.LifecycleConfiguration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified archive has been deleted.", - "title": "ActionFailurePolicy", - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" + }, + "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 bucket.", + "title": "Rules", + "type": "array" }, - "TargetArchive": { - "markdownDescription": "The identifier of the archive to send the email to.", - "title": "TargetArchive", + "TransitionDefaultMinimumObjectSize": { + "markdownDescription": "Indicates which default minimum object size behavior is applied to the lifecycle configuration.\n\n> This parameter applies to general purpose buckets only. It isn't supported for directory bucket lifecycle configurations. \n\n- `all_storage_classes_128K` - Objects smaller than 128 KB will not transition to any storage class by default.\n- `varies_by_storage_class` - Objects smaller than 128 KB will transition to Glacier Flexible Retrieval or Glacier Deep Archive storage classes. By default, all other storage classes will prevent transitions smaller than 128 KB.\n\nTo customize the minimum object size for any transition you can add a filter that specifies a custom `ObjectSizeGreaterThan` or `ObjectSizeLessThan` in the body of your transition rule. Custom filters always take precedence over the default transition behavior.", + "title": "TransitionDefaultMinimumObjectSize", "type": "string" } }, "required": [ - "TargetArchive" + "Rules" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.BounceAction": { + "AWS::S3::Bucket.LoggingConfiguration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "type": "string" - }, - "DiagnosticMessage": { + "DestinationBucketName": { + "markdownDescription": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the `LoggingConfiguration` property is defined.", + "title": "DestinationBucketName", "type": "string" }, - "Message": { + "LogFilePrefix": { + "markdownDescription": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.", + "title": "LogFilePrefix", "type": "string" }, - "RoleArn": { - "type": "string" + "TargetObjectKeyFormat": { + "$ref": "#/definitions/AWS::S3::Bucket.TargetObjectKeyFormat", + "markdownDescription": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.", + "title": "TargetObjectKeyFormat" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.MetadataConfiguration": { + "additionalProperties": false, + "properties": { + "AnnotationTableConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AnnotationTableConfiguration" }, - "Sender": { - "type": "string" + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataDestination", + "markdownDescription": "The destination information for the S3 Metadata configuration.", + "title": "Destination" }, - "SmtpReplyCode": { - "type": "string" + "InventoryTableConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryTableConfiguration", + "markdownDescription": "The inventory table configuration for a metadata configuration.", + "title": "InventoryTableConfiguration" }, - "StatusCode": { - "type": "string" + "JournalTableConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.JournalTableConfiguration", + "markdownDescription": "The journal table configuration for a metadata configuration.", + "title": "JournalTableConfiguration" } }, "required": [ - "DiagnosticMessage", - "RoleArn", - "Sender", - "SmtpReplyCode", - "StatusCode" + "JournalTableConfiguration" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.DeliverToMailboxAction": { + "AWS::S3::Bucket.MetadataDestination": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the mailbox ARN is no longer valid.", - "title": "ActionFailurePolicy", + "TableBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.", + "title": "TableBucketArn", "type": "string" }, - "MailboxArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of a WorkMail organization to deliver the email to.", - "title": "MailboxArn", + "TableBucketType": { + "markdownDescription": "The type of the table bucket where the metadata configuration is stored. The `aws` value indicates an AWS managed table bucket, and the `customer` value indicates a customer-managed table bucket. V2 metadata configurations are stored in AWS managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.", + "title": "TableBucketType", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role to use to execute this action. The role must have access to the workmail:DeliverToMailbox API.", - "title": "RoleArn", + "TableNamespace": { + "markdownDescription": "The namespace in the table bucket where the metadata tables for a metadata configuration are stored.", + "title": "TableNamespace", "type": "string" } }, "required": [ - "MailboxArn", - "RoleArn" + "TableBucketType" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.DeliverToQBusinessAction": { + "AWS::S3::Bucket.MetadataTableConfiguration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified application has been deleted or the role lacks necessary permissions to call the `qbusiness:BatchPutDocument` API.", - "title": "ActionFailurePolicy", - "type": "string" - }, - "ApplicationId": { - "markdownDescription": "The unique identifier of the Amazon Q Business application instance where the email content will be delivered.", - "title": "ApplicationId", + "S3TablesDestination": { + "$ref": "#/definitions/AWS::S3::Bucket.S3TablesDestination", + "markdownDescription": "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", + "title": "S3TablesDestination" + } + }, + "required": [ + "S3TablesDestination" + ], + "type": "object" + }, + "AWS::S3::Bucket.MetadataTableEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "markdownDescription": "If server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN). You must specify a customer-managed KMS key that's located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.", + "title": "KmsKeyArn", "type": "string" }, - "IndexId": { - "markdownDescription": "The identifier of the knowledge base index within the Amazon Q Business application where the email content will be stored and indexed.", - "title": "IndexId", + "SseAlgorithm": { + "markdownDescription": "The encryption type specified for a metadata table. To specify server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS), use the `aws:kms` value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the `AES256` value.", + "title": "SseAlgorithm", "type": "string" + } + }, + "required": [ + "SseAlgorithm" + ], + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue", + "markdownDescription": "A container specifying the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event.", + "title": "EventThreshold" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while delivering to Amazon Q Business. This role must have access to the `qbusiness:BatchPutDocument` API for the given application and index.", - "title": "RoleArn", + "Status": { + "markdownDescription": "Specifies whether the replication metrics are enabled.", + "title": "Status", "type": "string" } }, "required": [ - "ApplicationId", - "IndexId", - "RoleArn" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.InvokeLambdaAction": { + "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { + "AccessPointArn": { + "markdownDescription": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.", + "title": "AccessPointArn", "type": "string" }, - "FunctionArn": { + "Id": { + "markdownDescription": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.", + "title": "Id", "type": "string" }, - "InvocationType": { + "Prefix": { + "markdownDescription": "The prefix that an object must have to be included in the metrics results.", + "title": "Prefix", "type": "string" }, - "RetryTimeMinutes": { - "type": "number" - }, - "RoleArn": { - "type": "string" + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.", + "title": "TagFilters", + "type": "array" } }, "required": [ - "FunctionArn", - "InvocationType", - "RoleArn" + "Id" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RelayAction": { + "AWS::S3::Bucket.NoncurrentVersionExpiration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified relay has been deleted.", - "title": "ActionFailurePolicy", - "type": "string" - }, - "MailFrom": { - "markdownDescription": "This action specifies whether to preserve or replace original mail from address while relaying received emails to a destination server.", - "title": "MailFrom", - "type": "string" + "NewerNoncurrentVersions": { + "markdownDescription": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", + "title": "NewerNoncurrentVersions", + "type": "number" }, - "Relay": { - "markdownDescription": "The identifier of the relay resource to be used when relaying an email.", - "title": "Relay", - "type": "string" + "NoncurrentDays": { + "markdownDescription": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", + "title": "NoncurrentDays", + "type": "number" } }, "required": [ - "Relay" + "NoncurrentDays" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.ReplaceRecipientAction": { + "AWS::S3::Bucket.NoncurrentVersionTransition": { "additionalProperties": false, "properties": { - "ReplaceWith": { - "items": { - "type": "string" - }, - "markdownDescription": "This action specifies the replacement recipient email addresses to insert.", - "title": "ReplaceWith", - "type": "array" + "NewerNoncurrentVersions": { + "markdownDescription": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", + "title": "NewerNoncurrentVersions", + "type": "number" + }, + "StorageClass": { + "markdownDescription": "The class of storage used to store the object.", + "title": "StorageClass", + "type": "string" + }, + "TransitionInDays": { + "markdownDescription": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates How Long an Object Has Been Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", + "title": "TransitionInDays", + "type": "number" } }, + "required": [ + "StorageClass", + "TransitionInDays" + ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.Rule": { + "AWS::S3::Bucket.NotificationConfiguration": { "additionalProperties": false, "properties": { - "Actions": { + "EventBridgeConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EventBridgeConfiguration", + "markdownDescription": "Enables delivery of events to Amazon EventBridge.", + "title": "EventBridgeConfiguration" + }, + "LambdaConfigurations": { "items": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleAction" + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" }, - "markdownDescription": "The list of actions to execute when the conditions match the incoming email, and none of the \"unless conditions\" match.", - "title": "Actions", + "markdownDescription": "Describes the AWS Lambda functions to invoke and the events for which to invoke them.", + "title": "LambdaConfigurations", "type": "array" }, - "Conditions": { + "QueueConfigurations": { "items": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleCondition" + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" }, - "markdownDescription": "The conditions of this rule. All conditions must match the email for the actions to be executed. An empty list of conditions means that all emails match, but are still subject to any \"unless conditions\"", - "title": "Conditions", + "markdownDescription": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", + "title": "QueueConfigurations", "type": "array" }, - "Name": { - "markdownDescription": "The user-friendly name of the rule.", - "title": "Name", - "type": "string" - }, - "Unless": { + "TopicConfigurations": { "items": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleCondition" + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" }, - "markdownDescription": "The \"unless conditions\" of this rule. None of the conditions can match the email for the actions to be executed. If any of these conditions do match the email, then the actions are not executed.", - "title": "Unless", + "markdownDescription": "The topic to which notifications are sent and the events for which notifications are generated.", + "title": "TopicConfigurations", "type": "array" } }, + "type": "object" + }, + "AWS::S3::Bucket.NotificationFilter": { + "additionalProperties": false, + "properties": { + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter", + "markdownDescription": "A container for object key name prefix and suffix filtering rules.", + "title": "S3Key" + } + }, "required": [ - "Actions" + "S3Key" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleAction": { + "AWS::S3::Bucket.ObjectLockConfiguration": { "additionalProperties": false, "properties": { - "AddHeader": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.AddHeaderAction", - "markdownDescription": "This action adds a header. This can be used to add arbitrary email headers.", - "title": "AddHeader" - }, - "Archive": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.ArchiveAction", - "markdownDescription": "This action archives the email. This can be used to deliver an email to an archive.", - "title": "Archive" - }, - "Bounce": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.BounceAction" - }, - "DeliverToMailbox": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.DeliverToMailboxAction", - "markdownDescription": "This action delivers an email to a WorkMail mailbox.", - "title": "DeliverToMailbox" - }, - "DeliverToQBusiness": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.DeliverToQBusinessAction", - "markdownDescription": "This action delivers an email to an Amazon Q Business application for ingestion into its knowledge base.", - "title": "DeliverToQBusiness" - }, - "Drop": { - "markdownDescription": "This action terminates the evaluation of rules in the rule set.", - "title": "Drop", - "type": "object" - }, - "InvokeLambda": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.InvokeLambdaAction" - }, - "PublishToSns": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.SnsAction", - "markdownDescription": "This action publishes the email content to an Amazon SNS topic.", - "title": "PublishToSns" - }, - "Relay": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RelayAction", - "markdownDescription": "This action relays the email to another SMTP server.", - "title": "Relay" - }, - "ReplaceRecipient": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.ReplaceRecipientAction", - "markdownDescription": "The action replaces certain or all recipients with a different set of recipients.", - "title": "ReplaceRecipient" - }, - "Send": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.SendAction", - "markdownDescription": "This action sends the email to the internet.", - "title": "Send" + "ObjectLockEnabled": { + "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", + "title": "ObjectLockEnabled", + "type": "string" }, - "WriteToS3": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.S3Action", - "markdownDescription": "This action writes the MIME content of the email to an S3 bucket.", - "title": "WriteToS3" + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule", + "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply `ObjectLockConfiguration` to a bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", + "title": "Rule" } }, "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleBooleanExpression": { + "AWS::S3::Bucket.ObjectLockRule": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleBooleanToEvaluate", - "markdownDescription": "The operand on which to perform a boolean condition operation.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for a boolean condition expression.", - "title": "Operator", - "type": "string" + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention", + "markdownDescription": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", + "title": "DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "markdownDescription": "Specifies the container element for Object Ownership rules.", + "title": "Rules", + "type": "array" } }, "required": [ - "Evaluate", - "Operator" + "Rules" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleBooleanToEvaluate": { + "AWS::S3::Bucket.OwnershipControlsRule": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", - "markdownDescription": "The Add On ARN and its returned value to evaluate in a boolean condition expression.", - "title": "Analysis" - }, - "Attribute": { - "markdownDescription": "The boolean type representing the allowed attribute types for an email.", - "title": "Attribute", + "ObjectOwnership": { + "markdownDescription": "Specifies an object ownership rule.", + "title": "ObjectOwnership", "type": "string" - }, - "IsInAddressList": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIsInAddressList", - "markdownDescription": "The structure representing the address lists and address list attribute that will be used in evaluation of boolean expression.", - "title": "IsInAddressList" } }, "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleCondition": { + "AWS::S3::Bucket.PartitionedPrefix": { "additionalProperties": false, "properties": { - "BooleanExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleBooleanExpression", - "markdownDescription": "The condition applies to a boolean expression passed in this field.", - "title": "BooleanExpression" - }, - "DmarcExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleDmarcExpression", - "markdownDescription": "The condition applies to a DMARC policy expression passed in this field.", - "title": "DmarcExpression" - }, - "IpExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIpExpression", - "markdownDescription": "The condition applies to an IP address expression passed in this field.", - "title": "IpExpression" - }, - "NumberExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleNumberExpression", - "markdownDescription": "The condition applies to a number expression passed in this field.", - "title": "NumberExpression" - }, - "StringExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleStringExpression", - "markdownDescription": "The condition applies to a string expression passed in this field.", - "title": "StringExpression" - }, - "VerdictExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleVerdictExpression", - "markdownDescription": "The condition applies to a verdict expression passed in this field.", - "title": "VerdictExpression" + "PartitionDateSource": { + "markdownDescription": "Specifies the partition date source for the partitioned prefix. `PartitionDateSource` can be `EventTime` or `DeliveryTime` .\n\nFor `DeliveryTime` , the time in the log file names corresponds to the delivery time for the log files.\n\nFor `EventTime` , The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.", + "title": "PartitionDateSource", + "type": "string" } }, "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleDmarcExpression": { + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { "additionalProperties": false, "properties": { - "Operator": { - "markdownDescription": "The operator to apply to the DMARC policy of the incoming email.", - "title": "Operator", - "type": "string" + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", + "title": "BlockPublicAcls", + "type": "boolean" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The values to use for the given DMARC policy operator. For the operator EQUALS, if multiple values are given, they are evaluated as an OR. That is, if any of the given values match, the condition is deemed to match. For the operator NOT_EQUALS, if multiple values are given, they are evaluated as an AND. That is, only if the email's DMARC policy is not equal to any of the given values, then the condition is deemed to match.", - "title": "Values", - "type": "array" + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", + "title": "BlockPublicPolicy", + "type": "boolean" + }, + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "title": "IgnorePublicAcls", + "type": "boolean" + }, + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "title": "RestrictPublicBuckets", + "type": "boolean" } }, - "required": [ - "Operator", - "Values" - ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleIpExpression": { + "AWS::S3::Bucket.QueueConfiguration": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIpToEvaluate", - "markdownDescription": "The IP address to evaluate in this condition.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The operator to evaluate the IP address.", - "title": "Operator", + "Event": { + "markdownDescription": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", + "title": "Event", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The IP CIDR blocks in format \"x.y.z.w/n\" (eg 10.0.0.0/8) to match with the email's IP address. For the operator CIDR_MATCHES, if multiple values are given, they are evaluated as an OR. That is, if the IP address is contained within any of the given CIDR ranges, the condition is deemed to match. For NOT_CIDR_MATCHES, if multiple CIDR ranges are given, the condition is deemed to match if the IP address is not contained in any of the given CIDR ranges.", - "title": "Values", - "type": "array" + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", + "markdownDescription": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .", + "title": "Filter" + }, + "Queue": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.", + "title": "Queue", + "type": "string" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "Event", + "Queue" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleIpToEvaluate": { + "AWS::S3::Bucket.RecordExpiration": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "The attribute of the email to evaluate.", - "title": "Attribute", + "Days": { + "markdownDescription": "If you enable journal table record expiration, you can set the number of days to retain your journal table records. Journal table records must be retained for a minimum of 7 days. To set this value, specify any whole number from `7` to `2147483647` . For example, to retain your journal table records for one year, set this value to `365` .", + "title": "Days", + "type": "number" + }, + "Expiration": { + "markdownDescription": "Specifies whether journal table record expiration is enabled or disabled.", + "title": "Expiration", "type": "string" } }, "required": [ - "Attribute" + "Expiration" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleIsInAddressList": { + "AWS::S3::Bucket.RedirectAllRequestsTo": { "additionalProperties": false, "properties": { - "AddressLists": { - "items": { - "type": "string" - }, - "markdownDescription": "The address lists that will be used for evaluation.", - "title": "AddressLists", - "type": "array" + "HostName": { + "markdownDescription": "Name of the host where requests are redirected.", + "title": "HostName", + "type": "string" }, - "Attribute": { - "markdownDescription": "The email attribute that needs to be evaluated against the address list.", - "title": "Attribute", + "Protocol": { + "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "title": "Protocol", "type": "string" } }, "required": [ - "AddressLists", - "Attribute" + "HostName" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleNumberExpression": { + "AWS::S3::Bucket.RedirectRule": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleNumberToEvaluate", - "markdownDescription": "The number to evaluate in a numeric condition expression.", - "title": "Evaluate" + "HostName": { + "markdownDescription": "The host name to use in the redirect request.", + "title": "HostName", + "type": "string" }, - "Operator": { - "markdownDescription": "The operator for a numeric condition expression.", - "title": "Operator", + "HttpRedirectCode": { + "markdownDescription": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", + "title": "HttpRedirectCode", "type": "string" }, - "Value": { - "markdownDescription": "The value to evaluate in a numeric condition expression.", - "title": "Value", - "type": "number" + "Protocol": { + "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "title": "Protocol", + "type": "string" + }, + "ReplaceKeyPrefixWith": { + "markdownDescription": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix `docs/` (objects in the `docs/` folder) to `documents/` , you can set a condition block with `KeyPrefixEquals` set to `docs/` and in the Redirect set `ReplaceKeyPrefixWith` to `/documents` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "ReplaceKeyPrefixWith", + "type": "string" + }, + "ReplaceKeyWith": { + "markdownDescription": "The specific object key to use in the redirect request. For example, redirect request to `error.html` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyPrefixWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "ReplaceKeyWith", + "type": "string" } }, - "required": [ - "Evaluate", - "Operator", - "Value" - ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleNumberToEvaluate": { + "AWS::S3::Bucket.ReplicaModifications": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "An email attribute that is used as the number to evaluate.", - "title": "Attribute", + "Status": { + "markdownDescription": "Specifies whether Amazon S3 replicates modifications on replicas.\n\n*Allowed values* : `Enabled` | `Disabled`", + "title": "Status", "type": "string" } }, "required": [ - "Attribute" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleStringExpression": { + "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleStringToEvaluate", - "markdownDescription": "The string to evaluate in a string condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for a string condition expression.", - "title": "Operator", + "Role": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide* .", + "title": "Role", "type": "string" }, - "Values": { + "Rules": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" }, - "markdownDescription": "The string(s) to be evaluated in a string condition expression. For all operators, except for NOT_EQUALS, if multiple values are given, the values are processed as an OR. That is, if any of the values match the email's string using the given operator, the condition is deemed to match. However, for NOT_EQUALS, the condition is only deemed to match if none of the given strings match the email's string.", - "title": "Values", + "markdownDescription": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.", + "title": "Rules", "type": "array" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "Role", + "Rules" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleStringToEvaluate": { + "AWS::S3::Bucket.ReplicationDestination": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", - "markdownDescription": "The Add On ARN and its returned value to evaluate in a string condition expression.", - "title": "Analysis" + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation", + "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", + "title": "AccessControlTranslation" }, - "Attribute": { - "markdownDescription": "The email attribute to evaluate in a string condition expression.", - "title": "Attribute", + "Account": { + "markdownDescription": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS account that owns the destination bucket by specifying the `AccessControlTranslation` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide* .\n\nIf you specify the `AccessControlTranslation` property, the `Account` property is required.", + "title": "Account", "type": "string" }, - "ClientCertificateAttribute": { + "Bucket": { + "markdownDescription": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.", + "title": "Bucket", "type": "string" }, - "MimeHeaderAttribute": { - "markdownDescription": "The email MIME X-Header attribute to evaluate in a string condition expression.", - "title": "MimeHeaderAttribute", + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration", + "markdownDescription": "Specifies encryption-related information.", + "title": "EncryptionConfiguration" + }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics", + "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.", + "title": "Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime", + "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a `Metrics` block.", + "title": "ReplicationTime" + }, + "StorageClass": { + "markdownDescription": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.\n\nFor valid values, see the `StorageClass` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference* .\n\n`FSX_OPENZFS` is not an accepted value when replicating objects.", + "title": "StorageClass", "type": "string" } }, + "required": [ + "Bucket" + ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleVerdictExpression": { + "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleVerdictToEvaluate", - "markdownDescription": "The verdict to evaluate in a verdict condition expression.", - "title": "Evaluate" + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication", + "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a `Filter` in your replication configuration, you must also include a `DeleteMarkerReplication` element. If your `Filter` includes a `Tag` element, the `DeleteMarkerReplication` `Status` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) .\n\nFor more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) .\n\n> If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) .", + "title": "DeleteMarkerReplication" }, - "Operator": { - "markdownDescription": "The matching operator for a verdict condition expression.", - "title": "Operator", + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination", + "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", + "title": "Destination" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter", + "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A `Filter` must specify exactly one `Prefix` , `TagFilter` , or an `And` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n\n> V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.", + "title": "Filter" + }, + "Id": { + "markdownDescription": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".", + "title": "Id", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The values to match with the email's verdict using the given operator. For the EQUALS operator, if multiple values are given, the condition is deemed to match if any of the given verdicts match that of the email. For the NOT_EQUALS operator, if multiple values are given, the condition is deemed to match of none of the given verdicts match the verdict of the email.", - "title": "Values", - "type": "array" + "Prefix": { + "markdownDescription": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "Prefix", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.\n\nFor more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide* .", + "title": "Priority", + "type": "number" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria", + "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", + "title": "SourceSelectionCriteria" + }, + "Status": { + "markdownDescription": "Specifies whether the rule is enabled.", + "title": "Status", + "type": "string" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "Destination", + "Status" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleVerdictToEvaluate": { + "AWS::S3::Bucket.ReplicationRuleAndOperator": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", - "markdownDescription": "The Add On ARN and its returned value to evaluate in a verdict condition expression.", - "title": "Analysis" - }, - "Attribute": { - "markdownDescription": "The email verdict attribute to evaluate in a string verdict expression.", - "title": "Attribute", + "Prefix": { + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "title": "Prefix", "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "An array of tags containing key and value pairs.", + "title": "TagFilters", + "type": "array" } }, "type": "object" }, - "AWS::SES::MailManagerRuleSet.S3Action": { + "AWS::S3::Bucket.ReplicationRuleFilter": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified the bucket has been deleted.", - "title": "ActionFailurePolicy", - "type": "string" + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator", + "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:\n\n- If you specify both a `Prefix` and a `TagFilter` , wrap these filters in an `And` tag.\n- If you specify a filter based on multiple tags, wrap the `TagFilter` elements in an `And` tag.", + "title": "And" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while writing to S3. This role must have access to the s3:PutObject, kms:Encrypt, and kms:GenerateDataKey APIs for the given bucket.", - "title": "RoleArn", + "Prefix": { + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "Prefix", "type": "string" }, - "S3Bucket": { - "markdownDescription": "The bucket name of the S3 bucket to write to.", - "title": "S3Bucket", + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter", + "markdownDescription": "A container for specifying a tag key and value.\n\nThe rule applies only to objects that have the tag in their tag set.", + "title": "TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "Specifies whether the replication time is enabled.", + "title": "Status", "type": "string" }, - "S3Prefix": { - "markdownDescription": "The S3 prefix to use for the write to the s3 bucket.", - "title": "S3Prefix", - "type": "string" + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue", + "markdownDescription": "A container specifying the time by which replication should be complete for all objects and operations on objects.", + "title": "Time" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "markdownDescription": "Contains an integer specifying time in minutes.\n\nValid value: 15", + "title": "Minutes", + "type": "number" + } + }, + "required": [ + "Minutes" + ], + "type": "object" + }, + "AWS::S3::Bucket.RoutingRule": { + "additionalProperties": false, + "properties": { + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule", + "markdownDescription": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", + "title": "RedirectRule" }, - "S3SseKmsKeyId": { - "markdownDescription": "The KMS Key ID to use to encrypt the message in S3.", - "title": "S3SseKmsKeyId", - "type": "string" + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition", + "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the `/docs` folder, redirect to the `/documents` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", + "title": "RoutingRuleCondition" } }, "required": [ - "RoleArn", - "S3Bucket" + "RedirectRule" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.SendAction": { + "AWS::S3::Bucket.RoutingRuleCondition": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the caller does not have the permissions to call the sendRawEmail API.", - "title": "ActionFailurePolicy", + "HttpErrorCodeReturnedEquals": { + "markdownDescription": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n\nRequired when parent element `Condition` is specified and sibling `KeyPrefixEquals` is not specified. If both are specified, then both must be true for the redirect to be applied.", + "title": "HttpErrorCodeReturnedEquals", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role to use for this action. This role must have access to the ses:SendRawEmail API.", - "title": "RoleArn", + "KeyPrefixEquals": { + "markdownDescription": "The object key name prefix when the redirect is applied. For example, to redirect requests for `ExamplePage.html` , the key prefix will be `ExamplePage.html` . To redirect request for all pages with the prefix `docs/` , the key prefix will be `docs/` , which identifies all objects in the docs/ folder.\n\nRequired when the parent element `Condition` is specified and sibling `HttpErrorCodeReturnedEquals` is not specified. If both conditions are specified, both must be true for the redirect to be applied.", + "title": "KeyPrefixEquals", "type": "string" } }, - "required": [ - "RoleArn" - ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.SnsAction": { + "AWS::S3::Bucket.Rule": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, specified SNS topic has been deleted or the role lacks necessary permissions to call the `sns:Publish` API.", - "title": "ActionFailurePolicy", + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload", + "markdownDescription": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.", + "title": "AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "markdownDescription": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "title": "ExpirationDate", "type": "string" }, - "Encoding": { - "markdownDescription": "The encoding to use for the email within the Amazon SNS notification. The default value is `UTF-8` . Use `BASE64` if you need to preserve all special characters, especially when the original message uses a different encoding format.", - "title": "Encoding", + "ExpirationInDays": { + "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "title": "ExpirationInDays", + "type": "number" + }, + "ExpiredObjectDeleteMarker": { + "markdownDescription": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with `ExpirationInDays` , `ExpirationDate` , or `TagFilters` .", + "title": "ExpiredObjectDeleteMarker", + "type": "boolean" + }, + "Id": { + "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.", + "title": "Id", "type": "string" }, - "PayloadType": { - "markdownDescription": "The expected payload type within the Amazon SNS notification. `CONTENT` attempts to publish the full email content with 20KB of headers content. `HEADERS` extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is `CONTENT` .", - "title": "PayloadType", + "NoncurrentVersionExpiration": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionExpiration", + "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.", + "title": "NoncurrentVersionExpiration" + }, + "NoncurrentVersionExpirationInDays": { + "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.", + "title": "NoncurrentVersionExpirationInDays", + "type": "number" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition", + "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransitions` property.", + "title": "NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "markdownDescription": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransition` property.", + "title": "NoncurrentVersionTransitions", + "type": "array" + }, + "ObjectSizeGreaterThan": { + "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", + "title": "ObjectSizeGreaterThan", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while writing to Amazon SNS. This role must have access to the `sns:Publish` API for the given topic.", - "title": "RoleArn", + "ObjectSizeLessThan": { + "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", + "title": "ObjectSizeLessThan", "type": "string" }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.", - "title": "TopicArn", + "Prefix": { + "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "Prefix", + "type": "string" + }, + "Status": { + "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", + "title": "Status", "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "Tags to use to identify a subset of objects to which the lifecycle rule applies.", + "title": "TagFilters", + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition", + "markdownDescription": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transitions` property.", + "title": "Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "markdownDescription": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transition` property.", + "title": "Transitions", + "type": "array" } }, "required": [ - "RoleArn", - "TopicArn" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy": { + "AWS::S3::Bucket.S3KeyFilter": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "markdownDescription": "Default action instructs the tra\ufb03c policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements", - "title": "DefaultAction", - "type": "string" - }, - "MaxMessageSizeBytes": { - "markdownDescription": "The maximum message size in bytes of email which is allowed in by this traffic policy\u2014anything larger will be blocked.", - "title": "MaxMessageSizeBytes", - "type": "number" - }, - "PolicyStatements": { - "items": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.PolicyStatement" - }, - "markdownDescription": "Conditional statements for filtering email traffic.", - "title": "PolicyStatements", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" - }, - "TrafficPolicyName": { - "markdownDescription": "The name of the policy.\n\nThe policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.", - "title": "TrafficPolicyName", - "type": "string" - } + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" }, - "required": [ - "DefaultAction", - "PolicyStatements" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::MailManagerTrafficPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "markdownDescription": "A list of containers for the key-value pair that defines the criteria for the filter rule.", + "title": "Rules", + "type": "array" } }, "required": [ - "Type", - "Properties" + "Rules" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressAnalysis": { + "AWS::S3::Bucket.S3TablesDestination": { "additionalProperties": false, "properties": { - "Analyzer": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Add On.", - "title": "Analyzer", + "TableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", + "title": "TableArn", "type": "string" }, - "ResultField": { - "markdownDescription": "The returned value from an Add On.", - "title": "ResultField", + "TableBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket.", + "title": "TableBucketArn", + "type": "string" + }, + "TableName": { + "markdownDescription": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", + "title": "TableName", + "type": "string" + }, + "TableNamespace": { + "markdownDescription": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always `aws_s3_metadata` .", + "title": "TableNamespace", "type": "string" } }, "required": [ - "Analyzer", - "ResultField" + "TableBucketArn", + "TableName" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressBooleanExpression": { + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressBooleanToEvaluate", - "markdownDescription": "The operand on which to perform a boolean condition operation.", - "title": "Evaluate" + "KMSMasterKeyID": { + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption.\n\n> - *General purpose buckets* - This parameter is allowed if and only if `SSEAlgorithm` is set to `aws:kms` or `aws:kms:dsse` .\n> - *Directory buckets* - This parameter is allowed if and only if `SSEAlgorithm` is set to `aws:kms` . \n\nYou can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key Alias: `alias/alias-name`\n\nIf you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy) .\n\n> - *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then AWS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.\n> - *Directory buckets* - When you specify an [AWS customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported. > Amazon S3 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": "KMSMasterKeyID", + "type": "string" }, - "Operator": { - "markdownDescription": "The matching operator for a boolean condition expression.", - "title": "Operator", + "SSEAlgorithm": { + "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n> For directory buckets, there are only two supported values for server-side encryption: `AES256` and `aws:kms` .", + "title": "SSEAlgorithm", "type": "string" } }, "required": [ - "Evaluate", - "Operator" + "SSEAlgorithm" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressBooleanToEvaluate": { + "AWS::S3::Bucket.ServerSideEncryptionRule": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressAnalysis", - "markdownDescription": "The structure type for a boolean condition stating the Add On ARN and its returned value.", - "title": "Analysis" + "BlockedEncryptionTypes": { + "$ref": "#/definitions/AWS::S3::Bucket.BlockedEncryptionTypes", + "markdownDescription": "A bucket-level setting for Amazon S3 general purpose buckets used to prevent the upload of new objects encrypted with the specified server-side encryption type. For example, blocking an encryption type will block `PutObject` , `CopyObject` , `PostObject` , multipart upload, and replication requests to the bucket for objects with the specified encryption type. However, you can continue to read and list any pre-existing objects already encrypted with the specified encryption type. For more information, see [Blocking or unblocking SSE-C for a general purpose bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html) .\n\n> Currently, this parameter only supports blocking or unblocking server-side encryption with customer-provided keys (SSE-C). For more information about SSE-C, see [Using server-side encryption with customer-provided keys (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html) .", + "title": "BlockedEncryptionTypes" }, - "IsInAddressList": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIsInAddressList", - "markdownDescription": "The structure type for a boolean condition that provides the address lists to evaluate incoming traffic on.", - "title": "IsInAddressList" + "BucketKeyEnabled": { + "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the `BucketKeyEnabled` element to `true` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n\nFor more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide* .", + "title": "BucketKeyEnabled", + "type": "boolean" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault", + "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + "title": "ServerSideEncryptionByDefault" } }, "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIpToEvaluate": { + "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "An enum type representing the allowed attribute types for an IP condition.", - "title": "Attribute", - "type": "string" + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications", + "markdownDescription": "A filter that you can specify for selection for modifications on replicas.", + "title": "ReplicaModifications" + }, + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects", + "markdownDescription": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", + "title": "SseKmsEncryptedObjects" } }, - "required": [ - "Attribute" - ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIpv4Expression": { + "AWS::S3::Bucket.SseKmsEncryptedObjects": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpToEvaluate", - "markdownDescription": "The left hand side argument of an IP condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for an IP condition expression.", - "title": "Operator", + "Status": { + "markdownDescription": "Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service.", + "title": "Status", "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The right hand side argument of an IP condition expression.", - "title": "Values", - "type": "array" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIpv6Expression": { + "AWS::S3::Bucket.StorageClassAnalysis": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv6ToEvaluate", - "markdownDescription": "The left hand side argument of an IPv6 condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for an IPv6 condition expression.", - "title": "Operator", - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The right hand side argument of an IPv6 condition expression.", - "title": "Values", - "type": "array" + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport", + "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", + "title": "DataExport" } }, - "required": [ - "Evaluate", - "Operator", - "Values" - ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIpv6ToEvaluate": { + "AWS::S3::Bucket.TagFilter": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "An enum type representing the allowed attribute types for an IPv6 condition.", - "title": "Attribute", + "Key": { + "markdownDescription": "The tag key.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The tag value.", + "title": "Value", "type": "string" } }, "required": [ - "Attribute" + "Key", + "Value" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIsInAddressList": { + "AWS::S3::Bucket.TargetObjectKeyFormat": { "additionalProperties": false, "properties": { - "AddressLists": { - "items": { - "type": "string" - }, - "markdownDescription": "The address lists that will be used for evaluation.", - "title": "AddressLists", - "type": "array" + "PartitionedPrefix": { + "$ref": "#/definitions/AWS::S3::Bucket.PartitionedPrefix", + "markdownDescription": "Partitioned S3 key for log objects.", + "title": "PartitionedPrefix" }, - "Attribute": { - "markdownDescription": "The email attribute that needs to be evaluated against the address list.", - "title": "Attribute", - "type": "string" + "SimplePrefix": { + "markdownDescription": "To use the simple format for S3 keys for log objects. To specify SimplePrefix format, set SimplePrefix to {}.", + "title": "SimplePrefix", + "type": "object" } }, - "required": [ - "AddressLists", - "Attribute" - ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressStringExpression": { + "AWS::S3::Bucket.Tiering": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressStringToEvaluate", - "markdownDescription": "The left hand side argument of a string condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "", - "title": "Operator", + "AccessTier": { + "markdownDescription": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.", + "title": "AccessTier", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The right hand side argument of a string condition expression.", - "title": "Values", - "type": "array" + "Days": { + "markdownDescription": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", + "title": "Days", + "type": "number" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "AccessTier", + "Days" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressStringToEvaluate": { + "AWS::S3::Bucket.TopicConfiguration": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressAnalysis", - "markdownDescription": "The structure type for a string condition stating the Add On ARN and its returned value.", - "title": "Analysis" + "Event": { + "markdownDescription": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", + "title": "Event", + "type": "string" }, - "Attribute": { - "markdownDescription": "The enum type representing the allowed attribute types for a string condition.", - "title": "Attribute", + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", + "markdownDescription": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket.", + "title": "Filter" + }, + "Topic": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", + "title": "Topic", "type": "string" } }, + "required": [ + "Event", + "Topic" + ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolExpression": { + "AWS::S3::Bucket.Transition": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolToEvaluate", - "markdownDescription": "The left hand side argument of a TLS condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for a TLS condition expression.", - "title": "Operator", + "StorageClass": { + "markdownDescription": "The storage class to which you want the object to transition.", + "title": "StorageClass", "type": "string" }, - "Value": { - "markdownDescription": "The right hand side argument of a TLS condition expression.", - "title": "Value", + "TransitionDate": { + "markdownDescription": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.", + "title": "TransitionDate", "type": "string" + }, + "TransitionInDays": { + "markdownDescription": "Indicates the number of days after creation when objects are transitioned to the specified storage class. If the specified storage class is `INTELLIGENT_TIERING` , `GLACIER_IR` , `GLACIER` , or `DEEP_ARCHIVE` , valid values are `0` or positive integers. If the specified storage class is `STANDARD_IA` or `ONEZONE_IA` , valid values are positive integers greater than `30` . Be aware that some storage classes have a minimum storage duration and that you're charged for transitioning objects before their minimum storage duration. For more information, see [Constraints and considerations for transitions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html#lifecycle-configuration-constraints) in the *Amazon S3 User Guide* .", + "title": "TransitionInDays", + "type": "number" } }, "required": [ - "Evaluate", - "Operator", - "Value" + "StorageClass" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolToEvaluate": { + "AWS::S3::Bucket.VersioningConfiguration": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "The enum type representing the allowed attribute types for the TLS condition.", - "title": "Attribute", + "Status": { + "markdownDescription": "The versioning state of the bucket.", + "title": "Status", "type": "string" } }, "required": [ - "Attribute" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.PolicyCondition": { + "AWS::S3::Bucket.WebsiteConfiguration": { "additionalProperties": false, "properties": { - "BooleanExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressBooleanExpression", - "markdownDescription": "This represents a boolean type condition matching on the incoming mail. It performs the boolean operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "BooleanExpression" - }, - "IpExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv4Expression", - "markdownDescription": "This represents an IP based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "IpExpression" + "ErrorDocument": { + "markdownDescription": "The name of the error document for the website.", + "title": "ErrorDocument", + "type": "string" }, - "Ipv6Expression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv6Expression", - "markdownDescription": "This represents an IPv6 based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "Ipv6Expression" + "IndexDocument": { + "markdownDescription": "The name of the index document for the website.", + "title": "IndexDocument", + "type": "string" }, - "StringExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressStringExpression", - "markdownDescription": "This represents a string based condition matching on the incoming mail. It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "StringExpression" + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo", + "markdownDescription": "The redirect behavior for every request to this bucket's website endpoint.\n\n> If you specify this property, you can't specify any other property.", + "title": "RedirectAllRequestsTo" }, - "TlsExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolExpression", - "markdownDescription": "This represents a TLS based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "TlsExpression" + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + }, + "markdownDescription": "Rules that define when a redirect is applied and the redirect behavior.", + "title": "RoutingRules", + "type": "array" } }, "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.PolicyStatement": { + "AWS::S3::BucketPolicy": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.", - "title": "Action", + "Condition": { "type": "string" }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.PolicyCondition" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket to which the policy applies.", + "title": "Bucket", + "type": "string" + }, + "PolicyDocument": { + "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", + "title": "PolicyDocument", + "type": "object" + } }, - "markdownDescription": "The list of conditions to apply to incoming messages for filtering email traffic.", - "title": "Conditions", - "type": "array" + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Action", - "Conditions" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::MultiRegionEndpoint": { + "AWS::S3::MultiRegionAccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -349776,34 +317993,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Details": { - "$ref": "#/definitions/AWS::SES::MultiRegionEndpoint.Details", - "markdownDescription": "Contains details of a multi-region endpoint (global-endpoint) being created.", - "title": "Details" - }, - "EndpointName": { - "markdownDescription": "The name of the multi-region endpoint (global-endpoint).", - "title": "EndpointName", + "Name": { + "markdownDescription": "The name of the Multi-Region Access Point.", + "title": "Name", "type": "string" }, - "Tags": { + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration", + "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Multi-Region Access Point. You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", + "title": "PublicAccessBlockConfiguration" + }, + "Regions": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.Region" }, - "markdownDescription": "An array of objects that define the tags (keys and values) to associate with the multi-region endpoint (global-endpoint).", - "title": "Tags", + "markdownDescription": "A collection of the Regions and buckets associated with the Multi-Region Access Point.", + "title": "Regions", "type": "array" } }, "required": [ - "Details", - "EndpointName" + "Regions" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MultiRegionEndpoint" + "AWS::S3::MultiRegionAccessPoint" ], "type": "string" }, @@ -349822,38 +318038,52 @@ ], "type": "object" }, - "AWS::SES::MultiRegionEndpoint.Details": { + "AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration": { "additionalProperties": false, "properties": { - "RouteDetails": { - "items": { - "$ref": "#/definitions/AWS::SES::MultiRegionEndpoint.RouteDetailsItems" - }, - "markdownDescription": "A list of route configuration details. Must contain exactly one route configuration.", - "title": "RouteDetails", - "type": "array" + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", + "title": "BlockPublicAcls", + "type": "boolean" + }, + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", + "title": "BlockPublicPolicy", + "type": "boolean" + }, + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "title": "IgnorePublicAcls", + "type": "boolean" + }, + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "title": "RestrictPublicBuckets", + "type": "boolean" } }, - "required": [ - "RouteDetails" - ], "type": "object" }, - "AWS::SES::MultiRegionEndpoint.RouteDetailsItems": { + "AWS::S3::MultiRegionAccessPoint.Region": { "additionalProperties": false, "properties": { - "Region": { - "markdownDescription": "The name of an AWS-Region to be a secondary region for the multi-region endpoint (global-endpoint).", - "title": "Region", + "Bucket": { + "markdownDescription": "The name of the associated bucket for the Region.", + "title": "Bucket", + "type": "string" + }, + "BucketAccountId": { + "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket that's associated with this Multi-Region Access Point.", + "title": "BucketAccountId", "type": "string" } }, "required": [ - "Region" + "Bucket" ], "type": "object" }, - "AWS::SES::ReceiptFilter": { + "AWS::S3::MultiRegionAccessPointPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -349888,20 +318118,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter", - "markdownDescription": "A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it.", - "title": "Filter" + "MrapName": { + "markdownDescription": "The name of the Multi-Region Access Point.", + "title": "MrapName", + "type": "string" + }, + "Policy": { + "markdownDescription": "The access policy associated with the Multi-Region Access Point.", + "title": "Policy", + "type": "object" } }, "required": [ - "Filter" + "MrapName", + "Policy" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptFilter" + "AWS::S3::MultiRegionAccessPointPolicy" ], "type": "string" }, @@ -349920,46 +318156,21 @@ ], "type": "object" }, - "AWS::SES::ReceiptFilter.Filter": { - "additionalProperties": false, - "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter", - "markdownDescription": "A structure that provides the IP addresses to block or allow, and whether to block or allow incoming mail from them.", - "title": "IpFilter" - }, - "Name": { - "markdownDescription": "The name of the IP address filter. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Start and end with a letter or number.\n- Contain 64 characters or fewer.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "IpFilter" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.IpFilter": { + "AWS::S3::MultiRegionAccessPointPolicy.PolicyStatus": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "A single IP address or a range of IP addresses to block or allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example of a single email address is 10.0.0.1. An example of a range of IP addresses is 10.0.0.1/24. For more information about CIDR notation, see [RFC 2317](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc2317) .", - "title": "Cidr", - "type": "string" - }, - "Policy": { - "markdownDescription": "Indicates whether to block or allow incoming mail from the specified IP addresses.", - "title": "Policy", + "IsPublic": { + "markdownDescription": "The policy status for this bucket. `TRUE` indicates that this bucket is public. `FALSE` indicates that the bucket is not public.", + "title": "IsPublic", "type": "string" } }, "required": [ - "Cidr", - "Policy" + "IsPublic" ], "type": "object" }, - "AWS::SES::ReceiptRule": { + "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { "Condition": { @@ -349994,31 +318205,28 @@ "Properties": { "additionalProperties": false, "properties": { - "After": { - "markdownDescription": "The name of an existing rule after which the new rule is placed. If this parameter is null, the new rule is inserted at the beginning of the rule list.", - "title": "After", - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule", - "markdownDescription": "A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.", - "title": "Rule" + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration", + "markdownDescription": "This resource contains the details Amazon S3 Storage Lens configuration.", + "title": "StorageLensConfiguration" }, - "RuleSetName": { - "markdownDescription": "The name of the rule set where the receipt rule is added.", - "title": "RuleSetName", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A set of tags (key\u2013value pairs) to associate with the Storage Lens configuration.", + "title": "Tags", + "type": "array" } }, "required": [ - "Rule", - "RuleSetName" + "StorageLensConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptRule" + "AWS::S3::StorageLens" ], "type": "string" }, @@ -350037,444 +318245,465 @@ ], "type": "object" }, - "AWS::SES::ReceiptRule.Action": { + "AWS::S3::StorageLens.AccountLevel": { "additionalProperties": false, "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction", - "markdownDescription": "Adds a header to the received email.", - "title": "AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction", - "markdownDescription": "Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).", - "title": "BounceAction" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics", + "markdownDescription": "This property contains the details of account-level activity metrics for S3 Storage Lens.", + "title": "ActivityMetrics" }, - "ConnectAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.ConnectAction", - "markdownDescription": "The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.", - "title": "ConnectAction" + "AdvancedCostOptimizationMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedCostOptimizationMetrics", + "markdownDescription": "This property contains the details of account-level advanced cost optimization metrics for S3 Storage Lens.", + "title": "AdvancedCostOptimizationMetrics" }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction", - "markdownDescription": "Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.", - "title": "LambdaAction" + "AdvancedDataProtectionMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedDataProtectionMetrics", + "markdownDescription": "This property contains the details of account-level advanced data protection metrics for S3 Storage Lens.", + "title": "AdvancedDataProtectionMetrics" }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action", - "markdownDescription": "Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon SNS.", - "title": "S3Action" + "AdvancedPerformanceMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedPerformanceMetrics", + "markdownDescription": "This property contains the account-level details for S3 Storage Lens advanced performance metrics.", + "title": "AdvancedPerformanceMetrics" }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction", - "markdownDescription": "Publishes the email content within a notification to Amazon SNS.", - "title": "SNSAction" + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel", + "markdownDescription": "This property contains the details of the account-level bucket-level configurations for Amazon S3 Storage Lens. To enable bucket-level configurations, make sure to also set the same metrics at the account level.", + "title": "BucketLevel" }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction", - "markdownDescription": "Terminates the evaluation of the receipt rule set and optionally publishes a notification to Amazon SNS.", - "title": "StopAction" + "DetailedStatusCodesMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.DetailedStatusCodesMetrics", + "markdownDescription": "This property contains the details of account-level detailed status code metrics for S3 Storage Lens.", + "title": "DetailedStatusCodesMetrics" }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction", - "markdownDescription": "Calls Amazon WorkMail and, optionally, publishes a notification to Amazon SNS.", - "title": "WorkmailAction" + "StorageLensGroupLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensGroupLevel", + "markdownDescription": "This property determines the scope of Storage Lens group data that is displayed in the Storage Lens dashboard.", + "title": "StorageLensGroupLevel" } }, + "required": [ + "BucketLevel" + ], "type": "object" }, - "AWS::SES::ReceiptRule.AddHeaderAction": { + "AWS::S3::StorageLens.ActivityMetrics": { "additionalProperties": false, "properties": { - "HeaderName": { - "markdownDescription": "The name of the header to add to the incoming message. The name must contain at least one character, and can contain up to 50 characters. It consists of alphanumeric ( `a\u2013z, A\u2013Z, 0\u20139` ) characters and dashes.", - "title": "HeaderName", - "type": "string" - }, - "HeaderValue": { - "markdownDescription": "The content to include in the header. This value can contain up to 2048 characters. It can't contain newline ( `\\n` ) or carriage return ( `\\r` ) characters.", - "title": "HeaderValue", + "IsEnabled": { + "markdownDescription": "A property that indicates whether the activity metrics is enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AdvancedCostOptimizationMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "Indicates whether advanced cost optimization metrics are enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AdvancedDataProtectionMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "Indicates whether advanced data protection metrics are enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AdvancedPerformanceMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "This property indicates whether the advanced performance metrics are enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AwsOrg": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "This resource contains the ARN of the AWS Organization.", + "title": "Arn", "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" + "Arn" ], "type": "object" }, - "AWS::SES::ReceiptRule.BounceAction": { + "AWS::S3::StorageLens.BucketLevel": { "additionalProperties": false, "properties": { - "Message": { - "markdownDescription": "Human-readable text to include in the bounce message.", - "title": "Message", - "type": "string" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics", + "markdownDescription": "A property for bucket-level activity metrics for S3 Storage Lens.", + "title": "ActivityMetrics" }, - "Sender": { - "markdownDescription": "The email address of the sender of the bounced email. This is the address from which the bounce message is sent.", - "title": "Sender", - "type": "string" + "AdvancedCostOptimizationMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedCostOptimizationMetrics", + "markdownDescription": "A property for bucket-level advanced cost optimization metrics for S3 Storage Lens.", + "title": "AdvancedCostOptimizationMetrics" }, - "SmtpReplyCode": { - "markdownDescription": "The SMTP reply code, as defined by [RFC 5321](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5321) .", - "title": "SmtpReplyCode", - "type": "string" + "AdvancedDataProtectionMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedDataProtectionMetrics", + "markdownDescription": "A property for bucket-level advanced data protection metrics for S3 Storage Lens.", + "title": "AdvancedDataProtectionMetrics" }, - "StatusCode": { - "markdownDescription": "The SMTP enhanced status code, as defined by [RFC 3463](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc3463) .", - "title": "StatusCode", - "type": "string" + "AdvancedPerformanceMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedPerformanceMetrics", + "markdownDescription": "A property for bucket-level advanced performance metrics for S3 Storage Lens.", + "title": "AdvancedPerformanceMetrics" }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", - "type": "string" + "DetailedStatusCodesMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.DetailedStatusCodesMetrics", + "markdownDescription": "A property for bucket-level detailed status code metrics for S3 Storage Lens.", + "title": "DetailedStatusCodesMetrics" + }, + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel", + "markdownDescription": "A property for bucket-level prefix-level storage metrics for S3 Storage Lens.", + "title": "PrefixLevel" } }, - "required": [ - "Message", - "Sender", - "SmtpReplyCode" - ], "type": "object" }, - "AWS::SES::ReceiptRule.ConnectAction": { + "AWS::S3::StorageLens.BucketsAndRegions": { "additionalProperties": false, "properties": { - "IAMRoleARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used by Amazon Simple Email Service while starting email contacts to the Amazon Connect instance. This role should have permission to invoke `connect:StartEmailContact` for the given Amazon Connect instance.", - "title": "IAMRoleARN", - "type": "string" + "Buckets": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains the details of the buckets for the Amazon S3 Storage Lens configuration. This should be the bucket Amazon Resource Name(ARN). For valid values, see [Buckets ARN format here](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_Include.html#API_control_Include_Contents) in the *Amazon S3 API Reference* .", + "title": "Buckets", + "type": "array" }, - "InstanceARN": { - "markdownDescription": "The Amazon Resource Name (ARN) for the Amazon Connect instance that Amazon SES integrates with for starting email contacts.\n\nFor more information about Amazon Connect instances, see the [Amazon Connect Administrator Guide](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-instances.html)", - "title": "InstanceARN", - "type": "string" + "Regions": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains the details of the Regions for the S3 Storage Lens configuration.", + "title": "Regions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.CloudWatchMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "This property identifies whether the CloudWatch publishing option for S3 Storage Lens is enabled.", + "title": "IsEnabled", + "type": "boolean" } }, "required": [ - "IAMRoleARN", - "InstanceARN" + "IsEnabled" ], "type": "object" }, - "AWS::SES::ReceiptRule.LambdaAction": { + "AWS::S3::StorageLens.DataExport": { "additionalProperties": false, "properties": { - "FunctionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is `arn:aws:lambda:us-west-2:account-id:function:MyFunction` . For more information about AWS Lambda, see the [AWS Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) .", - "title": "FunctionArn", - "type": "string" + "CloudWatchMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.CloudWatchMetrics", + "markdownDescription": "This property enables the Amazon CloudWatch publishing option for S3 Storage Lens metrics.", + "title": "CloudWatchMetrics" }, - "InvocationType": { - "markdownDescription": "The invocation type of the AWS Lambda function. An invocation type of `RequestResponse` means that the execution of the function immediately results in a response, and a value of `Event` means that the function is invoked asynchronously. The default value is `Event` . For information about AWS Lambda invocation types, see the [AWS Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) .\n\n> There is a 30-second timeout on `RequestResponse` invocations. You should use `Event` invocation in most cases. Use `RequestResponse` only to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.", - "title": "InvocationType", - "type": "string" + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination", + "markdownDescription": "This property contains the details of the bucket where the S3 Storage Lens metrics export will be placed.", + "title": "S3BucketDestination" }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is executed. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", - "type": "string" + "StorageLensTableDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensTableDestination", + "markdownDescription": "This property contains the details of the S3 table bucket where the S3 Storage Lens default metrics report will be placed. This property enables you to store your Storage Lens metrics in read-only S3 Tables.", + "title": "StorageLensTableDestination" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DetailedStatusCodesMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "Indicates whether detailed status code metrics are enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.Encryption": { + "additionalProperties": false, + "properties": { + "SSEKMS": { + "$ref": "#/definitions/AWS::S3::StorageLens.SSEKMS", + "markdownDescription": "Specifies the use of AWS Key Management Service keys (SSE-KMS) to encrypt the S3 Storage Lens metrics export file.", + "title": "SSEKMS" + }, + "SSES3": { + "markdownDescription": "Specifies the use of an Amazon S3-managed key (SSE-S3) to encrypt the S3 Storage Lens metrics export file.", + "title": "SSES3", + "type": "object" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevel": { + "additionalProperties": false, + "properties": { + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics", + "markdownDescription": "A property for the prefix-level storage metrics for Amazon S3 Storage Lens.", + "title": "StorageMetrics" } }, "required": [ - "FunctionArn" + "StorageMetrics" ], "type": "object" }, - "AWS::SES::ReceiptRule.Rule": { + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" - }, - "markdownDescription": "An ordered list of actions to perform on messages that match at least one of the recipient email addresses or domains specified in the receipt rule.", - "title": "Actions", - "type": "array" - }, - "Enabled": { - "markdownDescription": "If `true` , the receipt rule is active. The default value is `false` .", - "title": "Enabled", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the receipt rule. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), dashes (-), or periods (.).\n- Start and end with a letter or number.\n- Contain 64 characters or fewer.", - "title": "Name", - "type": "string" - }, - "Recipients": { - "items": { - "type": "string" - }, - "markdownDescription": "The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule matches all recipients on all verified domains.", - "title": "Recipients", - "type": "array" - }, - "ScanEnabled": { - "markdownDescription": "If `true` , then messages that this receipt rule applies to are scanned for spam and viruses. The default value is `false` .", - "title": "ScanEnabled", + "IsEnabled": { + "markdownDescription": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.", + "title": "IsEnabled", "type": "boolean" }, - "TlsPolicy": { - "markdownDescription": "Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to `Require` , Amazon SES bounces emails that are not received over TLS. The default is `Optional` .\n\nValid Values: `Require | Optional`", - "title": "TlsPolicy", - "type": "string" + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria", + "markdownDescription": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.", + "title": "SelectionCriteria" } }, "type": "object" }, - "AWS::SES::ReceiptRule.S3Action": { + "AWS::S3::StorageLens.S3BucketDestination": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket for incoming email.", - "title": "BucketName", + "AccountId": { + "markdownDescription": "This property contains the details of the AWS account ID of the S3 Storage Lens export bucket destination.", + "title": "AccountId", "type": "string" }, - "IamRoleArn": { - "markdownDescription": "The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic. This role should have access to the following APIs:\n\n- `s3:PutObject` , `kms:Encrypt` and `kms:GenerateDataKey` for the given Amazon S3 bucket.\n- `kms:GenerateDataKey` for the given AWS KMS customer managed key.\n- `sns:Publish` for the given Amazon SNS topic.\n\n> If an IAM role ARN is provided, the role (and only the role) is used to access all the given resources (Amazon S3 bucket, AWS KMS customer managed key and Amazon SNS topic). Therefore, setting up individual resource access permissions is not required.", - "title": "IamRoleArn", + "Arn": { + "markdownDescription": "This property contains the details of the ARN of the bucket destination of the S3 Storage Lens export.", + "title": "Arn", "type": "string" }, - "KmsKeyArn": { - "markdownDescription": "The customer managed key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the AWS managed key or a customer managed key that you created in AWS KMS as follows:\n\n- To use the AWS managed key, provide an ARN in the form of `arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses` . For example, if your AWS account ID is 123456789012 and you want to use the AWS managed key in the US West (Oregon) Region, the ARN of the AWS managed key would be `arn:aws:kms:us-west-2:123456789012:alias/aws/ses` . If you use the AWS managed key, you don't need to perform any extra steps to give Amazon SES permission to use the key.\n- To use a customer managed key that you created in AWS KMS, provide the ARN of the customer managed key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the [Amazon SES Developer Guide](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-permissions.html) .\n\nFor more information about key policies, see the [AWS KMS Developer Guide](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) . If you do not specify an AWS KMS key, Amazon SES does not encrypt your emails.\n\n> Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the [AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java/) and [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby/) only. For more information about client-side encryption using AWS KMS managed keys, see the [Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html) .", - "title": "KmsKeyArn", + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption", + "markdownDescription": "This property contains the details of the encryption of the bucket destination of the Amazon S3 Storage Lens metrics export.", + "title": "Encryption" + }, + "Format": { + "markdownDescription": "This property contains the details of the format of the S3 Storage Lens export bucket destination.", + "title": "Format", "type": "string" }, - "ObjectKeyPrefix": { - "markdownDescription": "The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory name that enables you to store similar data under the same directory in a bucket.", - "title": "ObjectKeyPrefix", + "OutputSchemaVersion": { + "markdownDescription": "This property contains the details of the output schema version of the S3 Storage Lens export bucket destination.", + "title": "OutputSchemaVersion", "type": "string" }, - "TopicArn": { - "markdownDescription": "The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", + "Prefix": { + "markdownDescription": "This property contains the details of the prefix of the bucket destination of the S3 Storage Lens export .", + "title": "Prefix", "type": "string" } }, "required": [ - "BucketName" + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" ], "type": "object" }, - "AWS::SES::ReceiptRule.SNSAction": { - "additionalProperties": false, - "properties": { - "Encoding": { - "markdownDescription": "The encoding to use for the email within the Amazon SNS notification. The default value is `UTF-8` . Use `BASE64` if you need to preserve all special characters, especially when the original message uses a different encoding format.", - "title": "Encoding", - "type": "string" - }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.", - "title": "TopicArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.StopAction": { + "AWS::S3::StorageLens.SSEKMS": { "additionalProperties": false, "properties": { - "Scope": { - "markdownDescription": "The scope of the StopAction. The only acceptable value is `RuleSet` .", - "title": "Scope", - "type": "string" - }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is taken. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) Amazon SNS operation.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", + "KeyId": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the customer managed AWS key to use for encrypting the S3 Storage Lens metrics export file. Amazon S3 only supports symmetric encryption keys. For more information, see [Special-purpose keys](https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KeyId", "type": "string" } }, "required": [ - "Scope" + "KeyId" ], "type": "object" }, - "AWS::SES::ReceiptRule.WorkmailAction": { + "AWS::S3::StorageLens.SelectionCriteria": { "additionalProperties": false, "properties": { - "OrganizationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon WorkMail organization. Amazon WorkMail ARNs use the following format:\n\n`arn:aws:workmail:::organization/`\n\nYou can find the ID of your organization by using the [ListOrganizations](https://docs.aws.amazon.com/workmail/latest/APIReference/API_ListOrganizations.html) operation in Amazon WorkMail. Amazon WorkMail organization IDs begin with \" `m-` \", followed by a string of alphanumeric characters.\n\nFor information about Amazon WorkMail organizations, see the [Amazon WorkMail Administrator Guide](https://docs.aws.amazon.com/workmail/latest/adminguide/organizations_overview.html) .", - "title": "OrganizationArn", + "Delimiter": { + "markdownDescription": "This property contains the details of the S3 Storage Lens delimiter being used.", + "title": "Delimiter", "type": "string" }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the WorkMail action is called. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", - "type": "string" + "MaxDepth": { + "markdownDescription": "This property contains the details of the max depth that S3 Storage Lens will collect metrics up to.", + "title": "MaxDepth", + "type": "number" + }, + "MinStorageBytesPercentage": { + "markdownDescription": "This property contains the details of the minimum storage bytes percentage threshold that S3 Storage Lens will collect metrics up to.", + "title": "MinStorageBytesPercentage", + "type": "number" } }, - "required": [ - "OrganizationArn" - ], "type": "object" }, - "AWS::SES::ReceiptRuleSet": { + "AWS::S3::StorageLens.StorageLensConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel", + "markdownDescription": "This property contains the details of the account-level metrics for Amazon S3 Storage Lens configuration.", + "title": "AccountLevel" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg", + "markdownDescription": "This property contains the details of the AWS Organization for the S3 Storage Lens configuration.", + "title": "AwsOrg" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport", + "markdownDescription": "This property contains the details of this S3 Storage Lens configuration's metrics export.", + "title": "DataExport" }, - "Metadata": { - "type": "object" + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions", + "markdownDescription": "This property contains the details of the bucket and or Regions excluded for Amazon S3 Storage Lens configuration.", + "title": "Exclude" }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "markdownDescription": "The name of the receipt rule set to make active. Setting this value to null disables all email receiving.", - "title": "RuleSetName", - "type": "string" - } - }, - "type": "object" + "ExpandedPrefixesDataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensExpandedPrefixesDataExport", + "markdownDescription": "This property configures your S3 Storage Lens expanded prefixes metrics report.", + "title": "ExpandedPrefixesDataExport" }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRuleSet" - ], + "Id": { + "markdownDescription": "This property contains the details of the ID of the S3 Storage Lens configuration.", + "title": "Id", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions", + "markdownDescription": "This property contains the details of the bucket and or Regions included for Amazon S3 Storage Lens configuration.", + "title": "Include" + }, + "IsEnabled": { + "markdownDescription": "This property contains the details of whether the Amazon S3 Storage Lens configuration is enabled.", + "title": "IsEnabled", + "type": "boolean" + }, + "PrefixDelimiter": { + "markdownDescription": "", + "title": "PrefixDelimiter", + "type": "string" + }, + "StorageLensArn": { + "markdownDescription": "This property contains the details of the ARN of the S3 Storage Lens configuration. This property is read-only.", + "title": "StorageLensArn", "type": "string" } }, "required": [ - "Type" + "AccountLevel", + "Id", + "IsEnabled" ], "type": "object" }, - "AWS::SES::Template": { + "AWS::S3::StorageLens.StorageLensExpandedPrefixesDataExport": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination", + "markdownDescription": "This property specifies the general purpose bucket where the S3 Storage Lens Expanded Prefixes metrics export files are located. At least one export destination must be specified.", + "title": "S3BucketDestination" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template", - "markdownDescription": "The content of the email, composed of a subject line and either an HTML part or a text-only part.", - "title": "Template" - } + "StorageLensTableDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensTableDestination", + "markdownDescription": "This property configures S3 Storage Lens Expanded Prefixes metrics report to read-only S3 table buckets.", + "title": "StorageLensTableDestination" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensGroupLevel": { + "additionalProperties": false, + "properties": { + "StorageLensGroupSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensGroupSelectionCriteria", + "markdownDescription": "This property indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group aggregation. If this value is left null, then all Storage Lens groups are selected.", + "title": "StorageLensGroupSelectionCriteria" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensGroupSelectionCriteria": { + "additionalProperties": false, + "properties": { + "Exclude": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::Template" - ], - "type": "string" + "markdownDescription": "This property indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.", + "title": "Exclude", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Include": { + "items": { + "type": "string" + }, + "markdownDescription": "This property indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.", + "title": "Include", + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::SES::Template.Template": { + "AWS::S3::StorageLens.StorageLensTableDestination": { "additionalProperties": false, "properties": { - "HtmlPart": { - "markdownDescription": "The HTML body of the email.", - "title": "HtmlPart", - "type": "string" - }, - "SubjectPart": { - "markdownDescription": "The subject line of the email.", - "title": "SubjectPart", - "type": "string" - }, - "TemplateName": { - "markdownDescription": "The name of the template. You will refer to this name when you send email using the `SendEmail` or `SendBulkEmail` operations.", - "title": "TemplateName", - "type": "string" + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption", + "markdownDescription": "This resource configures your data encryption settings for Storage Lens metrics in read-only S3 table buckets.", + "title": "Encryption" }, - "TextPart": { - "markdownDescription": "The email body that is visible to recipients whose email clients do not display HTML content.", - "title": "TextPart", - "type": "string" + "IsEnabled": { + "markdownDescription": "This property indicates whether the export to read-only S3 table buckets is enabled for your S3 Storage Lens configuration. When set to true, Storage Lens reports are automatically exported to tables in addition to other configured destinations.", + "title": "IsEnabled", + "type": "boolean" } }, "required": [ - "SubjectPart" + "IsEnabled" ], "type": "object" }, - "AWS::SES::Tenant": { + "AWS::S3::StorageLensGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -350509,36 +318738,34 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceAssociations": { - "items": { - "$ref": "#/definitions/AWS::SES::Tenant.ResourceAssociation" - }, - "markdownDescription": "The list of resources to associate with the tenant.", - "title": "ResourceAssociations", - "type": "array" + "Filter": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter", + "markdownDescription": "This property contains the criteria for the Storage Lens group data that is displayed", + "title": "Filter" + }, + "Name": { + "markdownDescription": "This property contains the Storage Lens group name.", + "title": "Name", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of objects that define the tags (keys and values) associated with the tenant.", + "markdownDescription": "This property contains the AWS resource tags that you're adding to your Storage Lens group. This parameter is optional.", "title": "Tags", "type": "array" - }, - "TenantName": { - "markdownDescription": "The name of a tenant. The name can contain up to 64 alphanumeric characters, including letters, numbers, hyphens (-) and underscores (_) only.", - "title": "TenantName", - "type": "string" } }, "required": [ - "TenantName" + "Filter", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::Tenant" + "AWS::S3::StorageLensGroup" ], "type": "string" }, @@ -350557,111 +318784,169 @@ ], "type": "object" }, - "AWS::SES::Tenant.ResourceAssociation": { + "AWS::S3::StorageLensGroup.And": { "additionalProperties": false, "properties": { - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource associated with the tenant.", - "title": "ResourceArn", - "type": "string" + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", + "title": "MatchAnyPrefix", + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", + "title": "MatchAnySuffix", + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "This property contains the list of object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", + "title": "MatchAnyTag", + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", + "markdownDescription": "This property contains `DaysGreaterThan` and `DaysLessThan` properties to define the object age range (minimum and maximum number of days).", + "title": "MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", + "markdownDescription": "This property contains `BytesGreaterThan` and `BytesLessThan` to define the object size range (minimum and maximum number of Bytes).", + "title": "MatchObjectSize" } }, - "required": [ - "ResourceArn" - ], "type": "object" }, - "AWS::SES::VdmAttributes": { + "AWS::S3::StorageLensGroup.Filter": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "And": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.And", + "markdownDescription": "This property contains the `And` logical operator, which allows multiple filter conditions to be joined for more complex comparisons of Storage Lens group data. Objects must match all of the listed filter conditions that are joined by the `And` logical operator. Only one of each filter condition is allowed.", + "title": "And" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", + "title": "MatchAnyPrefix", + "type": "array" }, - "Metadata": { - "type": "object" + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", + "title": "MatchAnySuffix", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardAttributes": { - "$ref": "#/definitions/AWS::SES::VdmAttributes.DashboardAttributes", - "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Dashboard.", - "title": "DashboardAttributes" - }, - "GuardianAttributes": { - "$ref": "#/definitions/AWS::SES::VdmAttributes.GuardianAttributes", - "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Guardian.", - "title": "GuardianAttributes" - } + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" }, - "type": "object" + "markdownDescription": "This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", + "title": "MatchAnyTag", + "type": "array" }, - "Type": { - "enum": [ - "AWS::SES::VdmAttributes" - ], - "type": "string" + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", + "markdownDescription": "This property contains `DaysGreaterThan` and `DaysLessThan` to define the object age range (minimum and maximum number of days).", + "title": "MatchObjectAge" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", + "markdownDescription": "This property contains `BytesGreaterThan` and `BytesLessThan` to define the object size range (minimum and maximum number of Bytes).", + "title": "MatchObjectSize" + }, + "Or": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or", + "markdownDescription": "This property contains the `Or` logical operator, which allows multiple filter conditions to be joined. Objects can match any of the listed filter conditions, which are joined by the `Or` logical operator. Only one of each filter condition is allowed.", + "title": "Or" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::SES::VdmAttributes.DashboardAttributes": { + "AWS::S3::StorageLensGroup.MatchObjectAge": { "additionalProperties": false, "properties": { - "EngagementMetrics": { - "markdownDescription": "Specifies the status of your VDM engagement metrics collection. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables engagement metrics for your account.\n- `DISABLED` \u2013 Amazon SES disables engagement metrics for your account.", - "title": "EngagementMetrics", - "type": "string" + "DaysGreaterThan": { + "markdownDescription": "This property indicates the minimum object age in days.", + "title": "DaysGreaterThan", + "type": "number" + }, + "DaysLessThan": { + "markdownDescription": "This property indicates the maximum object age in days.", + "title": "DaysLessThan", + "type": "number" } }, "type": "object" }, - "AWS::SES::VdmAttributes.GuardianAttributes": { + "AWS::S3::StorageLensGroup.MatchObjectSize": { "additionalProperties": false, "properties": { - "OptimizedSharedDelivery": { - "markdownDescription": "Specifies the status of your VDM optimized shared delivery. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables optimized shared delivery for your account.\n- `DISABLED` \u2013 Amazon SES disables optimized shared delivery for your account.", - "title": "OptimizedSharedDelivery", - "type": "string" + "BytesGreaterThan": { + "markdownDescription": "This property specifies the minimum object size in bytes. The value must be a positive number, greater than 0 and less than 5 TB.", + "title": "BytesGreaterThan", + "type": "number" + }, + "BytesLessThan": { + "markdownDescription": "This property specifies the maximum object size in bytes. The value must be a positive number, greater than the minimum object size and less than 5 TB.", + "title": "BytesLessThan", + "type": "number" } }, "type": "object" }, - "AWS::SMSVOICE::ConfigurationSet": { + "AWS::S3::StorageLensGroup.Or": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", + "title": "MatchAnyPrefix", + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains the list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", + "title": "MatchAnySuffix", + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", + "title": "MatchAnyTag", + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", + "markdownDescription": "This property filters objects that match the specified object age range.", + "title": "MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", + "markdownDescription": "This property contains the `BytesGreaterThan` and `BytesLessThan` values to define the object size range (minimum and maximum number of Bytes).", + "title": "MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3Express::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -350696,48 +318981,58 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationSetName": { - "markdownDescription": "The name of the ConfigurationSet.", - "title": "ConfigurationSetName", + "Bucket": { + "markdownDescription": "The name of the bucket that you want to associate the access point with.", + "title": "Bucket", "type": "string" }, - "DefaultSenderId": { - "markdownDescription": "The default sender ID used by the ConfigurationSet.", - "title": "DefaultSenderId", + "BucketAccountId": { + "markdownDescription": "The AWS account ID that owns the bucket associated with this access point.", + "title": "BucketAccountId", "type": "string" }, - "EventDestinations": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.EventDestination" - }, - "markdownDescription": "An array of EventDestination objects that describe any events to log and where to log them.", - "title": "EventDestinations", - "type": "array" + "Name": { + "markdownDescription": "An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix `--xa-s3` . For example, accesspointname--zoneID--xa-s3.", + "title": "Name", + "type": "string" }, - "MessageFeedbackEnabled": { - "markdownDescription": "Set to true to enable feedback for the message.", - "title": "MessageFeedbackEnabled", - "type": "boolean" + "Policy": { + "markdownDescription": "The access point policy associated with the specified access point.", + "title": "Policy", + "type": "object" }, - "ProtectConfigurationId": { - "markdownDescription": "The unique identifier for the protect configuration.", - "title": "ProtectConfigurationId", - "type": "string" + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3Express::AccessPoint.PublicAccessBlockConfiguration", + "markdownDescription": "Public access is blocked by default to access points for directory buckets.", + "title": "PublicAccessBlockConfiguration" + }, + "Scope": { + "$ref": "#/definitions/AWS::S3Express::AccessPoint.Scope", + "markdownDescription": "You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.\n\nFor more information, see [Manage the scope of your access points for directory buckets.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets-manage-scope.html)", + "title": "Scope" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key and value pair tags that's associated with the new configuration set.", + "markdownDescription": "An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see [Using tags for attribute-based access control (ABAC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac) .", "title": "Tags", "type": "array" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Express::AccessPoint.VpcConfiguration", + "markdownDescription": "If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).", + "title": "VpcConfiguration" } }, + "required": [ + "Bucket" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::ConfigurationSet" + "AWS::S3Express::AccessPoint" ], "type": "string" }, @@ -350751,109 +319046,71 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SMSVOICE::ConfigurationSet.CloudWatchLogsDestination": { + "AWS::S3Express::AccessPoint.PublicAccessBlockConfiguration": { "additionalProperties": false, "properties": { - "IamRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management role that is able to write event data to an Amazon CloudWatch destination.", - "title": "IamRoleArn", - "type": "string" + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", + "title": "BlockPublicAcls", + "type": "boolean" }, - "LogGroupArn": { - "markdownDescription": "The name of the Amazon CloudWatch log group that you want to record events in.", - "title": "LogGroupArn", - "type": "string" + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", + "title": "BlockPublicPolicy", + "type": "boolean" + }, + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "title": "IgnorePublicAcls", + "type": "boolean" + }, + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "title": "RestrictPublicBuckets", + "type": "boolean" } }, - "required": [ - "IamRoleArn", - "LogGroupArn" - ], "type": "object" }, - "AWS::SMSVOICE::ConfigurationSet.EventDestination": { + "AWS::S3Express::AccessPoint.Scope": { "additionalProperties": false, "properties": { - "CloudWatchLogsDestination": { - "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.CloudWatchLogsDestination", - "markdownDescription": "An object that contains information about an event destination that sends logging events to Amazon CloudWatch logs.", - "title": "CloudWatchLogsDestination" - }, - "Enabled": { - "markdownDescription": "When set to true events will be logged.", - "title": "Enabled", - "type": "boolean" - }, - "EventDestinationName": { - "markdownDescription": "The name of the EventDestination.", - "title": "EventDestinationName", - "type": "string" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.KinesisFirehoseDestination", - "markdownDescription": "An object that contains information about an event destination for logging to Amazon Data Firehose.", - "title": "KinesisFirehoseDestination" - }, - "MatchingEventTypes": { + "Permissions": { "items": { "type": "string" }, - "markdownDescription": "An array of event types that determine which events to log.\n\n> The `TEXT_SENT` event type is not supported.", - "title": "MatchingEventTypes", + "markdownDescription": "You can include one or more API operations as permissions.", + "title": "Permissions", "type": "array" }, - "SnsDestination": { - "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.SnsDestination", - "markdownDescription": "An object that contains information about an event destination that sends logging events to Amazon SNS.", - "title": "SnsDestination" - } - }, - "required": [ - "Enabled", - "EventDestinationName", - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::SMSVOICE::ConfigurationSet.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the delivery stream.", - "title": "DeliveryStreamArn", - "type": "string" - }, - "IamRoleArn": { - "markdownDescription": "The ARN of an AWS Identity and Access Management role that is able to write event data to an Amazon Data Firehose destination.", - "title": "IamRoleArn", - "type": "string" + "Prefixes": { + "items": { + "type": "string" + }, + "markdownDescription": "You can specify any amount of prefixes, but the total length of characters of all prefixes must be less than 256 bytes in size.", + "title": "Prefixes", + "type": "array" } }, - "required": [ - "DeliveryStreamArn", - "IamRoleArn" - ], "type": "object" }, - "AWS::SMSVOICE::ConfigurationSet.SnsDestination": { + "AWS::S3Express::AccessPoint.VpcConfiguration": { "additionalProperties": false, "properties": { - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to.", - "title": "TopicArn", + "VpcId": { + "markdownDescription": "If this field is specified, this access point will only allow connections from the specified VPC ID.", + "title": "VpcId", "type": "string" } }, - "required": [ - "TopicArn" - ], "type": "object" }, - "AWS::SMSVOICE::OptOutList": { + "AWS::S3Express::BucketPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -350888,25 +319145,26 @@ "Properties": { "additionalProperties": false, "properties": { - "OptOutListName": { - "markdownDescription": "The name of the OptOutList.", - "title": "OptOutListName", + "Bucket": { + "markdownDescription": "The name of the S3 directory bucket to which the policy applies.", + "title": "Bucket", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of tags (key and value pairs) to associate with the new OptOutList.", - "title": "Tags", - "type": "array" + "PolicyDocument": { + "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Policies and Permissions in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", + "title": "PolicyDocument", + "type": "object" } }, + "required": [ + "Bucket", + "PolicyDocument" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::OptOutList" + "AWS::S3Express::BucketPolicy" ], "type": "string" }, @@ -350920,11 +319178,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber": { + "AWS::S3Express::DirectoryBucket": { "additionalProperties": false, "properties": { "Condition": { @@ -350959,77 +319218,61 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtectionEnabled": { - "markdownDescription": "By default this is set to false. When set to true the phone number can't be deleted.", - "title": "DeletionProtectionEnabled", - "type": "boolean" + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.BucketEncryption", + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* .", + "title": "BucketEncryption" }, - "IsoCountryCode": { - "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", - "title": "IsoCountryCode", + "BucketName": { + "markdownDescription": "A name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Zone (Availability Zone or Local Zone). The bucket name must also follow the format `*bucket_base_name* -- *zone_id* --x-s3` (for example, `*bucket_base_name* -- *usw2-az1* --x-s3` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see [Directory bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) in the *Amazon S3 User Guide* .\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": "BucketName", "type": "string" }, - "MandatoryKeywords": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeywords", - "markdownDescription": "Creates or updates a `MandatoryKeyword` configuration on an origination phone number 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" + "DataRedundancy": { + "markdownDescription": "The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.", + "title": "DataRedundancy", + "type": "string" }, - "NumberCapabilities": { + "InventoryConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.InventoryConfiguration" }, - "markdownDescription": "Indicates if the phone number will be used for text messages, voice messages, or both.", - "title": "NumberCapabilities", "type": "array" }, - "NumberType": { - "markdownDescription": "The type of phone number to request.\n\n> The `ShortCode` number type is not supported in AWS CloudFormation .", - "title": "NumberType", - "type": "string" + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.LifecycleConfiguration", + "markdownDescription": "Container for lifecycle rules. You can add as many as 1000 rules.\n\nFor more information see, [Creating and managing a lifecycle configuration for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-lifecycle.html ) in the *Amazon S3 User Guide* .", + "title": "LifecycleConfiguration" }, - "OptOutListName": { - "markdownDescription": "The name of the OptOutList associated with the phone number.", - "title": "OptOutListName", + "LocationName": { + "markdownDescription": "The name of the location where the bucket will be created.\n\nFor directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is `usw2-az1` .", + "title": "LocationName", "type": "string" }, - "OptionalKeywords": { + "MetricsConfigurations": { "items": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.OptionalKeyword" + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.MetricsConfiguration" }, - "markdownDescription": "A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging responds with a customizable message. Optional keywords are differentiated from mandatory keywords. 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" }, - "SelfManagedOptOutsEnabled": { - "markdownDescription": "When set to false and 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 request. For more information see [Self-managed opt-outs](https://docs.aws.amazon.com/sms-voice/latest/userguide/opt-out-list-self-managed.html)", - "title": "SelfManagedOptOutsEnabled", - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tags (key and value pairs) to associate with the requested phone number.", + "markdownDescription": "An array of tags that you can apply to the S3 directory bucket. Tags are key-value pairs of metadata used to categorize and organize your buckets, track costs, and control access. For more information, see [Using tags with directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html) .", "title": "Tags", "type": "array" - }, - "TwoWay": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.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": [ - "IsoCountryCode", - "MandatoryKeywords", - "NumberCapabilities", - "NumberType" + "DataRedundancy", + "LocationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::PhoneNumber" + "AWS::S3Express::DirectoryBucket" ], "type": "string" }, @@ -351048,91 +319291,211 @@ ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber.MandatoryKeyword": { + "AWS::S3Express::DirectoryBucket.AbortIncompleteMultipartUpload": { "additionalProperties": false, "properties": { - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", + "DaysAfterInitiation": { + "markdownDescription": "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", + "title": "DaysAfterInitiation", + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.ServerSideEncryptionRule" + }, + "markdownDescription": "Specifies the default server-side-encryption configuration.", + "title": "ServerSideEncryptionConfiguration", + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "type": "string" + }, + "BucketArn": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Prefix": { "type": "string" } }, "required": [ - "Message" + "BucketArn", + "Format" ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber.MandatoryKeywords": { + "AWS::S3Express::DirectoryBucket.InventoryConfiguration": { "additionalProperties": false, "properties": { - "HELP": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeyword", - "markdownDescription": "Specifies the `HELP` keyword that customers use to obtain customer support for this phone number. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", - "title": "HELP" + "Destination": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.Destination" + }, + "Enabled": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "IncludedObjectVersions": { + "type": "string" + }, + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "ScheduleFrequency": { + "type": "string" + } + }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.Rule" + }, + "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 Express bucket.", + "title": "Rules", + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket.MetricsConfiguration": { + "additionalProperties": false, + "properties": { + "AccessPointArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.AbortIncompleteMultipartUpload", + "markdownDescription": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", + "title": "AbortIncompleteMultipartUpload" + }, + "ExpirationInDays": { + "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "title": "ExpirationInDays", + "type": "number" + }, + "Id": { + "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.", + "title": "Id", + "type": "string" + }, + "ObjectSizeGreaterThan": { + "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", + "title": "ObjectSizeGreaterThan", + "type": "string" + }, + "ObjectSizeLessThan": { + "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", + "title": "ObjectSizeLessThan", + "type": "string" }, - "STOP": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeyword", - "markdownDescription": "Specifies the `STOP` keyword that customers use to opt out of receiving messages from this phone number. 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" + "Prefix": { + "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "Prefix", + "type": "string" + }, + "Status": { + "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", + "title": "Status", + "type": "string" } }, "required": [ - "HELP", - "STOP" + "Status" ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber.OptionalKeyword": { + "AWS::S3Express::DirectoryBucket.ServerSideEncryptionByDefault": { "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", + "KMSMasterKeyID": { + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. This parameter is allowed only if `SSEAlgorithm` is set to `aws:kms` .\n\nYou can specify this parameter with the key ID or the Amazon Resource Name (ARN) of the KMS key. You can\u2019t use the key alias of the KMS key.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n\nIf you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html#s3-express-bucket-encryption-update-bucket-policy) .\n\n> Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket for the lifetime of the bucket. [AWS managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) ( `aws/s3` ) isn't supported. Also, after you specify a customer managed key for SSE-KMS and upload objects with this configuration, you can't override the customer managed key for your SSE-KMS configuration. To use a new customer manager key for your data, we recommend copying your existing objects to a new directory bucket with a new customer managed key. > Amazon S3 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": "KMSMasterKeyID", "type": "string" }, - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", + "SSEAlgorithm": { + "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n> For directory buckets, there are only two supported values for server-side encryption: `AES256` and `aws:kms` .", + "title": "SSEAlgorithm", "type": "string" } }, "required": [ - "Action", - "Keyword", - "Message" + "SSEAlgorithm" ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber.TwoWay": { + "AWS::S3Express::DirectoryBucket.ServerSideEncryptionRule": { "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", + "BucketKeyEnabled": { + "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. S3 Bucket Keys are always enabled for `GET` and `PUT` operations on a directory bucket and can\u2019t be disabled. It's only allowed to set the `BucketKeyEnabled` element to `true` .\n\nS3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) , [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) , [the Copy operation in Batch Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops) , or [the import jobs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job) . In this case, Amazon S3 makes a call to AWS KMS every time a copy request is made for a KMS-encrypted object.\n\nFor more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-UsingKMSEncryption.html#s3-express-sse-kms-bucket-keys) in the *Amazon S3 User Guide* .", + "title": "BucketKeyEnabled", "type": "boolean" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.ServerSideEncryptionByDefault", + "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + "title": "ServerSideEncryptionByDefault" } }, - "required": [ - "Enabled" - ], "type": "object" }, - "AWS::SMSVOICE::Pool": { + "AWS::S3Files::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -351167,70 +319530,33 @@ "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", + "ClientToken": { "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" + "FileSystemId": { + "type": "string" }, - "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" + "PosixUser": { + "$ref": "#/definitions/AWS::S3Files::AccessPoint.PosixUser" }, - "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" + "RootDirectory": { + "$ref": "#/definitions/AWS::S3Files::AccessPoint.RootDirectory" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::S3Files::AccessPoint.AccessPointTag" }, - "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" + "FileSystemId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::Pool" + "AWS::S3Files::AccessPoint" ], "type": "string" }, @@ -351249,91 +319575,73 @@ ], "type": "object" }, - "AWS::SMSVOICE::Pool.MandatoryKeyword": { + "AWS::S3Files::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", + "Key": { + "type": "string" + }, + "Value": { "type": "string" } }, - "required": [ - "Message" - ], "type": "object" }, - "AWS::SMSVOICE::Pool.MandatoryKeywords": { + "AWS::S3Files::AccessPoint.CreationPermissions": { "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" + "OwnerGid": { + "type": "string" }, - "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" + "OwnerUid": { + "type": "string" + }, + "Permissions": { + "type": "string" } }, "required": [ - "HELP", - "STOP" + "OwnerGid", + "OwnerUid", + "Permissions" ], "type": "object" }, - "AWS::SMSVOICE::Pool.OptionalKeyword": { + "AWS::S3Files::AccessPoint.PosixUser": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "The action to perform when the keyword is used.", - "title": "Action", + "Gid": { "type": "string" }, - "Keyword": { - "markdownDescription": "The new keyword to add.", - "title": "Keyword", - "type": "string" + "SecondaryGids": { + "items": { + "type": "string" + }, + "type": "array" }, - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", + "Uid": { "type": "string" } }, "required": [ - "Action", - "Keyword", - "Message" + "Gid", + "Uid" ], "type": "object" }, - "AWS::SMSVOICE::Pool.TwoWay": { + "AWS::S3Files::AccessPoint.RootDirectory": { "additionalProperties": false, "properties": { - "ChannelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", - "title": "ChannelArn", - "type": "string" + "CreationPermissions": { + "$ref": "#/definitions/AWS::S3Files::AccessPoint.CreationPermissions" }, - "ChannelRole": { - "markdownDescription": "An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.", - "title": "ChannelRole", + "Path": { "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::S3Files::FileSystem": { "additionalProperties": false, "properties": { "Condition": { @@ -351368,30 +319676,43 @@ "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", + "AcceptBucketWarning": { "type": "boolean" }, + "Bucket": { + "type": "string" + }, + "ClientToken": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SynchronizationConfiguration": { + "$ref": "#/definitions/AWS::S3Files::FileSystem.SynchronizationConfiguration" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key and value pair tags that are associated with the resource.", - "title": "Tags", "type": "array" } }, + "required": [ + "Bucket", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::ProtectConfiguration" + "AWS::S3Files::FileSystem" ], "type": "string" }, @@ -351405,61 +319726,69 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SMSVOICE::ProtectConfiguration.CountryRule": { + "AWS::S3Files::FileSystem.ExpirationDataRule": { "additionalProperties": false, "properties": { - "CountryCode": { - "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", - "title": "CountryCode", + "DaysAfterLastAccess": { + "type": "number" + } + }, + "required": [ + "DaysAfterLastAccess" + ], + "type": "object" + }, + "AWS::S3Files::FileSystem.ImportDataRule": { + "additionalProperties": false, + "properties": { + "Prefix": { "type": "string" }, - "ProtectStatus": { - "markdownDescription": "The types of protection that can be used.", - "title": "ProtectStatus", + "SizeLessThan": { + "type": "number" + }, + "Trigger": { "type": "string" } }, "required": [ - "CountryCode", - "ProtectStatus" + "Prefix", + "SizeLessThan", + "Trigger" ], "type": "object" }, - "AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet": { + "AWS::S3Files::FileSystem.SynchronizationConfiguration": { "additionalProperties": false, "properties": { - "MMS": { + "ExpirationDataRules": { "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + "$ref": "#/definitions/AWS::S3Files::FileSystem.ExpirationDataRule" }, - "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": { + "ImportDataRules": { "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + "$ref": "#/definitions/AWS::S3Files::FileSystem.ImportDataRule" }, - "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" + "LatestVersionNumber": { + "type": "number" } }, + "required": [ + "ExpirationDataRules", + "ImportDataRules" + ], "type": "object" }, - "AWS::SMSVOICE::Registration": { + "AWS::S3Files::FileSystemPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -351494,24 +319823,22 @@ "Properties": { "additionalProperties": false, "properties": { - "RegistrationType": { + "FileSystemId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Policy": { + "type": "object" } }, "required": [ - "RegistrationType" + "FileSystemId", + "Policy" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::Registration" + "AWS::S3Files::FileSystemPolicy" ], "type": "string" }, @@ -351530,7 +319857,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::ResourcePolicy": { + "AWS::S3Files::MountTarget": { "additionalProperties": false, "properties": { "Condition": { @@ -351565,26 +319892,37 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "The JSON formatted resource-based policy to attach.", - "title": "PolicyDocument", - "type": "object" + "FileSystemId": { + "type": "string" }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the End User Messaging resource attached to the resource-based policy.", - "title": "ResourceArn", + "IpAddressType": { + "type": "string" + }, + "Ipv4Address": { + "type": "string" + }, + "Ipv6Address": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { "type": "string" } }, "required": [ - "PolicyDocument", - "ResourceArn" + "FileSystemId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::ResourcePolicy" + "AWS::S3Files::MountTarget" ], "type": "string" }, @@ -351603,7 +319941,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::SenderId": { + "AWS::S3ObjectLambda::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -351638,39 +319976,25 @@ "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", + "Name": { + "markdownDescription": "The name of this access point.", + "title": "Name", "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" + "ObjectLambdaConfiguration": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration", + "markdownDescription": "A configuration used when creating an Object Lambda Access Point.", + "title": "ObjectLambdaConfiguration" } }, "required": [ - "IsoCountryCode", - "SenderId" + "ObjectLambdaConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::SenderId" + "AWS::S3ObjectLambda::AccessPoint" ], "type": "string" }, @@ -351689,7 +320013,144 @@ ], "type": "object" }, - "AWS::SNS::Subscription": { + "AWS::S3ObjectLambda::AccessPoint.Alias": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "The status of the Object Lambda Access Point alias. If the status is `PROVISIONING` , the Object Lambda Access Point is provisioning the alias and the alias is not ready for use yet. If the status is `READY` , the Object Lambda Access Point alias is successfully provisioned and ready for use.", + "title": "Status", + "type": "string" + }, + "Value": { + "markdownDescription": "The alias value of the Object Lambda Access Point.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.AwsLambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "markdownDescription": "", + "title": "FunctionArn", + "type": "string" + }, + "FunctionPayload": { + "markdownDescription": "", + "title": "FunctionPayload", + "type": "string" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.ContentTransformation": { + "additionalProperties": false, + "properties": { + "AwsLambda": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.AwsLambda", + "markdownDescription": "", + "title": "AwsLambda" + } + }, + "required": [ + "AwsLambda" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedFeatures": { + "items": { + "type": "string" + }, + "markdownDescription": "A container for allowed features. Valid inputs are `GetObject-Range` , `GetObject-PartNumber` , `HeadObject-Range` , and `HeadObject-PartNumber` .", + "title": "AllowedFeatures", + "type": "array" + }, + "CloudWatchMetricsEnabled": { + "markdownDescription": "A container for whether the CloudWatch metrics configuration is enabled.", + "title": "CloudWatchMetricsEnabled", + "type": "boolean" + }, + "SupportingAccessPoint": { + "markdownDescription": "Standard access point associated with the Object Lambda Access Point.", + "title": "SupportingAccessPoint", + "type": "string" + }, + "TransformationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" + }, + "markdownDescription": "A container for transformation configurations for an Object Lambda Access Point.", + "title": "TransformationConfigurations", + "type": "array" + } + }, + "required": [ + "SupportingAccessPoint", + "TransformationConfigurations" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to `TRUE` causes the following behavior:\n\n- `PutBucketAcl` and `PutObjectAcl` calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.\n\nThis property is not supported for Amazon S3 on Outposts.", + "title": "BlockPublicAcls", + "type": "boolean" + }, + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.\n\nThis property is not supported for Amazon S3 on Outposts.", + "title": "BlockPublicPolicy", + "type": "boolean" + }, + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.\n\nThis property is not supported for Amazon S3 on Outposts.", + "title": "IgnorePublicAcls", + "type": "boolean" + }, + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to `TRUE` restricts access to buckets with public policies to only AWS service principals and authorized users within this account.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.\n\nThis property is not supported for Amazon S3 on Outposts.", + "title": "RestrictPublicBuckets", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "markdownDescription": "A container for the action of an Object Lambda Access Point configuration. Valid inputs are `GetObject` , `HeadObject` , `ListObject` , and `ListObjectV2` .", + "title": "Actions", + "type": "array" + }, + "ContentTransformation": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ContentTransformation", + "markdownDescription": "A container for the content transformation of an Object Lambda Access Point configuration. Can include the FunctionArn and FunctionPayload. For more information, see [AwsLambdaTransformation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AwsLambdaTransformation.html) in the *Amazon S3 API Reference* .", + "title": "ContentTransformation" + } + }, + "required": [ + "Actions", + "ContentTransformation" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPointPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -351724,71 +320185,26 @@ "Properties": { "additionalProperties": false, "properties": { - "DeliveryPolicy": { - "markdownDescription": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message delivery retries](https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html) in the *Amazon Developer Guide* .", - "title": "DeliveryPolicy", - "type": "object" - }, - "Endpoint": { - "markdownDescription": "The subscription's endpoint. The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", - "title": "Endpoint", - "type": "string" - }, - "FilterPolicy": { - "markdownDescription": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message filtering](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) in the *Amazon Developer Guide* .", - "title": "FilterPolicy", - "type": "object" - }, - "FilterPolicyScope": { - "markdownDescription": "This attribute lets you choose the filtering scope by using one of the following string value types:\n\n- `MessageAttributes` (default) - The filter is applied on the message attributes.\n- `MessageBody` - The filter is applied on the message body.\n\n> `Null` is not a valid value for `FilterPolicyScope` . To delete a filter policy, delete the `FilterPolicy` property but keep `FilterPolicyScope` property as is.", - "title": "FilterPolicyScope", - "type": "string" - }, - "Protocol": { - "markdownDescription": "The subscription's protocol. For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", - "title": "Protocol", - "type": "string" - }, - "RawMessageDelivery": { - "markdownDescription": "When set to `true` , enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* .", - "title": "RawMessageDelivery", - "type": "boolean" - }, - "RedrivePolicy": { - "markdownDescription": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.\n\nFor more information about the redrive policy and dead-letter queues, see [Amazon SQS dead-letter queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) in the *Amazon SQS Developer Guide* .", - "title": "RedrivePolicy", - "type": "object" - }, - "Region": { - "markdownDescription": "For cross-region subscriptions, the region in which the topic resides.\n\nIf no region is specified, CloudFormation uses the region of the caller as the default.\n\nIf you perform an update operation that only updates the `Region` property of a `AWS::SNS::Subscription` resource, that operation will fail unless you are either:\n\n- Updating the `Region` from `NULL` to the caller region.\n- Updating the `Region` from the caller region to `NULL` .", - "title": "Region", + "ObjectLambdaAccessPoint": { + "markdownDescription": "An access point with an attached AWS Lambda function used to access transformed data from an Amazon S3 bucket.", + "title": "ObjectLambdaAccessPoint", "type": "string" }, - "ReplayPolicy": { - "markdownDescription": "Specifies whether Amazon resends the notification to the subscription when a message's attribute changes.", - "title": "ReplayPolicy", + "PolicyDocument": { + "markdownDescription": "Object Lambda Access Point resource policy document.", + "title": "PolicyDocument", "type": "object" - }, - "SubscriptionRoleArn": { - "markdownDescription": "This property applies only to Amazon Data Firehose delivery stream subscriptions. Specify the ARN of the IAM role that has the following:\n\n- Permission to write to the Amazon Data Firehose delivery stream\n- Amazon listed as a trusted entity\n\nSpecifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see [Fanout to Amazon Data Firehose delivery streams](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html) in the *Amazon Developer Guide.*", - "title": "SubscriptionRoleArn", - "type": "string" - }, - "TopicArn": { - "markdownDescription": "The ARN of the topic to subscribe to.", - "title": "TopicArn", - "type": "string" } }, "required": [ - "Protocol", - "TopicArn" + "ObjectLambdaAccessPoint", + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::Subscription" + "AWS::S3ObjectLambda::AccessPointPolicy" ], "type": "string" }, @@ -351807,19 +320223,12 @@ ], "type": "object" }, - "AWS::SNS::Topic": { + "AWS::S3Outposts::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, - "Connectors": { - "additionalProperties": { - "$ref": "#/definitions/EmbeddedConnector" - }, - "title": "Connectors", - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -351849,86 +320258,37 @@ "Properties": { "additionalProperties": false, "properties": { - "ArchivePolicy": { - "markdownDescription": "The `ArchivePolicy` determines the number of days Amazon retains messages in FIFO topics. You can set a retention period ranging from 1 to 365 days. This property is only applicable to FIFO topics; attempting to use it with standard topics will result in a creation failure.", - "title": "ArchivePolicy", - "type": "object" - }, - "ContentBasedDeduplication": { - "markdownDescription": "`ContentBasedDeduplication` enables deduplication of messages based on their content for FIFO topics. By default, this property is set to false. If you create a FIFO topic with `ContentBasedDeduplication` set to false, you must provide a `MessageDeduplicationId` for each `Publish` action. When set to true, Amazon automatically generates a `MessageDeduplicationId` using a SHA-256 hash of the message body (excluding message attributes). You can optionally override this generated value by specifying a `MessageDeduplicationId` in the `Publish` action. Note that this property only applies to FIFO topics; using it with standard topics will cause the creation to fail.", - "title": "ContentBasedDeduplication", - "type": "boolean" - }, - "DataProtectionPolicy": { - "markdownDescription": "The body of the policy document you want to use for this topic.\n\nYou can only add one policy per topic.\n\nThe policy must be in JSON string format.\n\nLength Constraints: Maximum length of 30,720.", - "title": "DataProtectionPolicy", - "type": "object" - }, - "DeliveryStatusLogging": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.LoggingConfig" - }, - "markdownDescription": "The `DeliveryStatusLogging` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:\n\n- HTTP\n- Amazon Kinesis Data Firehose\n- AWS Lambda\n- Platform application endpoint\n- Amazon Simple Queue Service\n\nOnce configured, log entries are sent to Amazon CloudWatch Logs.", - "title": "DeliveryStatusLogging", - "type": "array" - }, - "DisplayName": { - "markdownDescription": "The display name to use for an Amazon topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.", - "title": "DisplayName", - "type": "string" - }, - "FifoThroughputScope": { - "markdownDescription": "Specifies the throughput quota and deduplication behavior to apply for the FIFO topic. Valid values are `Topic` or `MessageGroup` .", - "title": "FifoThroughputScope", - "type": "string" - }, - "FifoTopic": { - "markdownDescription": "Set to true to create a FIFO topic.", - "title": "FifoTopic", - "type": "boolean" - }, - "KmsMasterKeyId": { - "markdownDescription": "The ID of an AWS managed customer master key (CMK) for Amazon or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms) . For more examples, see `[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)` in the *AWS Key Management Service API Reference* .\n\nThis property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html) .", - "title": "KmsMasterKeyId", + "Bucket": { + "markdownDescription": "The Amazon Resource Name (ARN) of the S3 on Outposts bucket that is associated with this access point.", + "title": "Bucket", "type": "string" }, - "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", + "Name": { + "markdownDescription": "The name of this access point.", + "title": "Name", "type": "string" }, - "Subscription": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" - }, - "markdownDescription": "The Amazon subscriptions (endpoints) for this topic.\n\n> If you specify the `Subscription` property in the `AWS::SNS::Topic` resource and it creates an associated subscription resource, the associated subscription is not deleted when the `AWS::SNS::Topic` resource is deleted.", - "title": "Subscription", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The list of tags to add to a new topic.\n\n> To be able to tag a topic on creation, you must have the `sns:CreateTopic` and `sns:TagResource` permissions.", - "title": "Tags", - "type": "array" - }, - "TopicName": { - "markdownDescription": "The name of the topic you want to create. Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with `.fifo` .\n\nIf you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the topic 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 can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "TopicName", - "type": "string" + "Policy": { + "markdownDescription": "The access point policy associated with this access point.", + "title": "Policy", + "type": "object" }, - "TracingConfig": { - "markdownDescription": "Tracing mode of an Amazon topic. By default `TracingConfig` is set to `PassThrough` , and the topic passes through the tracing header it receives from an Amazon publisher to its subscriptions. If set to `Active` , Amazon will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.", - "title": "TracingConfig", - "type": "string" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration", + "markdownDescription": "The virtual private cloud (VPC) configuration for this access point, if one exists.", + "title": "VpcConfiguration" } }, + "required": [ + "Bucket", + "Name", + "VpcConfiguration" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::Topic" + "AWS::S3Outposts::AccessPoint" ], "type": "string" }, @@ -351942,60 +320302,23 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SNS::Topic.LoggingConfig": { - "additionalProperties": false, - "properties": { - "FailureFeedbackRoleArn": { - "markdownDescription": "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.", - "title": "FailureFeedbackRoleArn", - "type": "string" - }, - "Protocol": { - "markdownDescription": "Indicates one of the supported protocols for the Amazon SNS topic.\n\n> At least one of the other three `LoggingConfig` properties is recommend along with `Protocol` .", - "title": "Protocol", - "type": "string" - }, - "SuccessFeedbackRoleArn": { - "markdownDescription": "The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.", - "title": "SuccessFeedbackRoleArn", - "type": "string" - }, - "SuccessFeedbackSampleRate": { - "markdownDescription": "The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.", - "title": "SuccessFeedbackSampleRate", - "type": "string" - } - }, - "required": [ - "Protocol" + "Type", + "Properties" ], "type": "object" }, - "AWS::SNS::Topic.Subscription": { + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { "additionalProperties": false, "properties": { - "Endpoint": { - "markdownDescription": "The endpoint that receives notifications from the Amazon topic. The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", - "title": "Endpoint", - "type": "string" - }, - "Protocol": { - "markdownDescription": "The subscription's protocol. For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", - "title": "Protocol", + "VpcId": { + "markdownDescription": "", + "title": "VpcId", "type": "string" } }, - "required": [ - "Endpoint", - "Protocol" - ], "type": "object" }, - "AWS::SNS::TopicInlinePolicy": { + "AWS::S3Outposts::Bucket": { "additionalProperties": false, "properties": { "Condition": { @@ -352030,26 +320353,39 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "A policy document that contains permissions to add to the specified Amazon topic.", - "title": "PolicyDocument", - "type": "object" + "BucketName": { + "markdownDescription": "A name for the S3 on Outposts bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) . For more information, see [Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules) .\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": "BucketName", + "type": "string" }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the topic to which you want to add the policy.", - "title": "TopicArn", + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration", + "markdownDescription": "Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an existing lifecycle configuration. Outposts buckets only support lifecycle configurations that delete/expire objects after a certain period of time and abort incomplete multipart uploads.", + "title": "LifecycleConfiguration" + }, + "OutpostId": { + "markdownDescription": "The ID of the Outpost of the specified bucket.", + "title": "OutpostId", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Sets the tags for an S3 on Outposts bucket. For more information, see [Using Amazon S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) .\n\nUse tags to organize your AWS bill to reflect your own cost structure. To do this, sign up to get your AWS account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see [Cost allocation and tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) .\n\n> Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites the old value. For more information, see [Using cost allocation and bucket tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html) . \n\nTo use this resource, you must have permissions to perform the `s3-outposts:PutBucketTagging` . The S3 on Outposts bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see [Permissions Related to Bucket Subresource Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) and [Managing access permissions to your Amazon S3 resources](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) .", + "title": "Tags", + "type": "array" } }, "required": [ - "PolicyDocument", - "TopicArn" + "BucketName", + "OutpostId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::TopicInlinePolicy" + "AWS::S3Outposts::Bucket" ], "type": "string" }, @@ -352068,95 +320404,145 @@ ], "type": "object" }, - "AWS::SNS::TopicPolicy": { + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "DaysAfterInitiation": { + "markdownDescription": "Specifies the number of days after initiation that Amazon S3 on Outposts aborts an incomplete multipart upload.", + "title": "DaysAfterInitiation", + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Filter": { + "additionalProperties": false, + "properties": { + "AndOperator": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterAndOperator", + "markdownDescription": "", + "title": "AndOperator" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Prefix": { + "markdownDescription": "", + "title": "Prefix", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Tag": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterTag", + "markdownDescription": "", + "title": "Tag" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket.FilterAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "markdownDescription": "", + "title": "Prefix", + "type": "string" }, - "Metadata": { - "type": "object" + "Tags": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterTag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Tags" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.FilterTag": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "", + "title": "Key", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "markdownDescription": "A policy document that contains permissions to add to the specified SNS topics.", - "title": "PolicyDocument", - "type": "object" - }, - "Topics": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)` resource.", - "title": "Topics", - "type": "array" - } + "Value": { + "markdownDescription": "", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" }, - "required": [ - "PolicyDocument", - "Topics" - ], - "type": "object" + "markdownDescription": "The container for the lifecycle configuration rules for the objects stored in the S3 on Outposts bucket.", + "title": "Rules", + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload", + "markdownDescription": "The container for the abort incomplete multipart upload rule.", + "title": "AbortIncompleteMultipartUpload" }, - "Type": { - "enum": [ - "AWS::SNS::TopicPolicy" - ], + "ExpirationDate": { + "markdownDescription": "Specifies the expiration for the lifecycle of the object by specifying an expiry date.", + "title": "ExpirationDate", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ExpirationInDays": { + "markdownDescription": "Specifies the expiration for the lifecycle of the object in the form of days that the object has been in the S3 on Outposts bucket.", + "title": "ExpirationInDays", + "type": "number" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Filter", + "markdownDescription": "The container for the filter of the lifecycle rule.", + "title": "Filter" + }, + "Id": { + "markdownDescription": "", + "title": "Id", + "type": "string" + }, + "Status": { + "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", + "title": "Status", "type": "string" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::SQS::Queue": { + "AWS::S3Outposts::BucketPolicy": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, - "Connectors": { - "additionalProperties": { - "$ref": "#/definitions/EmbeddedConnector" - }, - "title": "Connectors", - "type": "object" - }, "DeletionPolicy": { "enum": [ "Delete", @@ -352186,95 +320572,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ContentBasedDeduplication": { - "markdownDescription": "For first-in-first-out (FIFO) queues, specifies whether to enable content-based deduplication. During the deduplication interval, Amazon SQS treats messages that are sent with identical content as duplicates and delivers only one copy of the message. For more information, see the `ContentBasedDeduplication` attribute for the `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)` action in the *Amazon SQS API Reference* .", - "title": "ContentBasedDeduplication", - "type": "boolean" - }, - "DeduplicationScope": { - "markdownDescription": "For high throughput for FIFO queues, specifies whether message deduplication occurs at the message group or queue level. Valid values are `messageGroup` and `queue` .\n\nTo enable high throughput for a FIFO queue, set this attribute to `messageGroup` *and* set the `FifoThroughputLimit` attribute to `perMessageGroupId` . If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Amazon SQS Developer Guide* .", - "title": "DeduplicationScope", - "type": "string" - }, - "DelaySeconds": { - "markdownDescription": "The time in seconds for which the delivery of all messages in the queue is delayed. You can specify an integer value of `0` to `900` (15 minutes). The default value is `0` .", - "title": "DelaySeconds", - "type": "number" - }, - "FifoQueue": { - "markdownDescription": "If set to true, creates a FIFO queue. If you don't specify this property, Amazon SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Amazon SQS Developer Guide* .", - "title": "FifoQueue", - "type": "boolean" - }, - "FifoThroughputLimit": { - "markdownDescription": "For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are `perQueue` and `perMessageGroupId` .\n\nTo enable high throughput for a FIFO queue, set this attribute to `perMessageGroupId` *and* set the `DeduplicationScope` attribute to `messageGroup` . If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Amazon SQS Developer Guide* .", - "title": "FifoThroughputLimit", - "type": "string" - }, - "KmsDataKeyReusePeriodSeconds": { - "markdownDescription": "The length of time in seconds for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes).\n\n> A shorter time period provides better security, but results in more calls to AWS , which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Amazon SQS Developer Guide* .", - "title": "KmsDataKeyReusePeriodSeconds", - "type": "number" - }, - "KmsMasterKeyId": { - "markdownDescription": "The ID of an AWS Key Management Service (KMS) for Amazon SQS , or a custom KMS. To use the AWS managed KMS for Amazon SQS , specify a (default) alias ARN, alias name (for example `alias/aws/sqs` ), key ARN, or key ID. For more information, see the following:\n\n- [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Amazon SQS Developer Guide*\n- [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *Amazon SQS API Reference*\n- [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *AWS Key Management Service API Reference*\n- The Key Management Service (KMS) section of the [Security best practices for AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *AWS Key Management Service Developer Guide*", - "title": "KmsMasterKeyId", - "type": "string" - }, - "MaximumMessageSize": { - "markdownDescription": "The limit of how many bytes that a message can contain before Amazon SQS rejects it. You can specify an integer from 1,024 bytes (1 KiB) to 1,048,576 bytes (1 MiB).\nDefault: 1,048,576 bytes (1 MiB).", - "title": "MaximumMessageSize", - "type": "number" - }, - "MessageRetentionPeriod": { - "markdownDescription": "The number of seconds that Amazon SQS retains a message. You can specify an integer value from `60` seconds (1 minute) to `1,209,600` seconds (14 days). The default value is `345,600` seconds (4 days).", - "title": "MessageRetentionPeriod", - "type": "number" - }, - "QueueName": { - "markdownDescription": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the `.fifo` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Amazon SQS Developer Guide* .\n\nIf you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *CloudFormation User Guide* .\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 must replace the resource, specify a new name.", - "title": "QueueName", - "type": "string" - }, - "ReceiveMessageWaitTimeSeconds": { - "markdownDescription": "Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Amazon SQS Developer Guide* .", - "title": "ReceiveMessageWaitTimeSeconds", - "type": "number" - }, - "RedriveAllowPolicy": { - "markdownDescription": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n\n- `redrivePermission` : The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n\n- `allowAll` : (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n- `denyAll` : No source queues can specify this queue as the dead-letter queue.\n- `byQueue` : Only queues specified by the `sourceQueueArns` parameter can specify this queue as the dead-letter queue.\n- `sourceQueueArns` : The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the `redrivePermission` parameter is set to `byQueue` . You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the `redrivePermission` parameter to `allowAll` .", - "title": "RedriveAllowPolicy", - "type": "object" - }, - "RedrivePolicy": { - "markdownDescription": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n\n- `deadLetterTargetArn` : The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of `maxReceiveCount` is exceeded.\n- `maxReceiveCount` : The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the `ReceiveCount` for a message exceeds the `maxReceiveCount` for a queue, Amazon SQS moves the message to the dead-letter-queue.\n\n> The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. \n\n*JSON*\n\n`{ \"deadLetterTargetArn\" : *String* , \"maxReceiveCount\" : *Integer* }`\n\n*YAML*\n\n`deadLetterTargetArn : *String*`\n\n`maxReceiveCount : *Integer*`", - "title": "RedrivePolicy", - "type": "object" - }, - "SqsManagedSseEnabled": { - "markdownDescription": "Enables server-side queue encryption using SQS owned encryption keys. Only one server-side encryption option is supported per queue (for example, [SSE-KMS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html) or [SSE-SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html) ). When `SqsManagedSseEnabled` is not defined, `SSE-SQS` encryption is enabled by default.", - "title": "SqsManagedSseEnabled", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags that you attach to this queue. For more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) in the *CloudFormation User Guide* .", - "title": "Tags", - "type": "array" + "Bucket": { + "markdownDescription": "The name of the Amazon S3 Outposts bucket to which the policy applies.", + "title": "Bucket", + "type": "string" }, - "VisibilityTimeout": { - "markdownDescription": "The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue.\n\nValues must be from 0 to 43,200 seconds (12 hours). If you don't specify a value, AWS CloudFormation uses the default value of 30 seconds.\n\nFor more information about Amazon SQS queue visibility timeouts, see [Visibility timeout](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) in the *Amazon SQS Developer Guide* .", - "title": "VisibilityTimeout", - "type": "number" + "PolicyDocument": { + "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html) .", + "title": "PolicyDocument", + "type": "object" } }, + "required": [ + "Bucket", + "PolicyDocument" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::Queue" + "AWS::S3Outposts::BucketPolicy" ], "type": "string" }, @@ -352288,11 +320605,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SQS::QueueInlinePolicy": { + "AWS::S3Outposts::Endpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -352327,26 +320645,47 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see [Using custom policies with the Amazon SQS access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Amazon SQS Developer Guide* .", - "title": "PolicyDocument", - "type": "object" + "AccessType": { + "markdownDescription": "The container for the type of connectivity used to access the Amazon S3 on Outposts endpoint. To use the Amazon VPC , choose `Private` . To use the endpoint with an on-premises network, choose `CustomerOwnedIp` . If you choose `CustomerOwnedIp` , you must also provide the customer-owned IP address pool (CoIP pool).\n\n> `Private` is the default access type value.", + "title": "AccessType", + "type": "string" }, - "Queue": { - "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html)` resource.", - "title": "Queue", + "CustomerOwnedIpv4Pool": { + "markdownDescription": "The ID of the customer-owned IPv4 address pool (CoIP pool) for the endpoint. IP addresses are allocated from this pool for the endpoint.", + "title": "CustomerOwnedIpv4Pool", + "type": "string" + }, + "FailedReason": { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint.FailedReason", + "markdownDescription": "The failure reason, if any, for a create or delete endpoint operation.", + "title": "FailedReason" + }, + "OutpostId": { + "markdownDescription": "The ID of the Outpost.", + "title": "OutpostId", + "type": "string" + }, + "SecurityGroupId": { + "markdownDescription": "The ID of the security group used for the endpoint.", + "title": "SecurityGroupId", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet used for the endpoint.", + "title": "SubnetId", "type": "string" } }, "required": [ - "PolicyDocument", - "Queue" + "OutpostId", + "SecurityGroupId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::QueueInlinePolicy" + "AWS::S3Outposts::Endpoint" ], "type": "string" }, @@ -352365,7 +320704,37 @@ ], "type": "object" }, - "AWS::SQS::QueuePolicy": { + "AWS::S3Outposts::Endpoint.FailedReason": { + "additionalProperties": false, + "properties": { + "ErrorCode": { + "markdownDescription": "The failure code, if any, for a create or delete endpoint operation.", + "title": "ErrorCode", + "type": "string" + }, + "Message": { + "markdownDescription": "Additional error details describing the endpoint failure and recommended action.", + "title": "Message", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Endpoint.NetworkInterface": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "markdownDescription": "The ID for the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + } + }, + "required": [ + "NetworkInterfaceId" + ], + "type": "object" + }, + "AWS::S3Tables::Namespace": { "additionalProperties": false, "properties": { "Condition": { @@ -352400,29 +320769,26 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see [Using custom policies with the Amazon SQS access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Amazon SQS Developer Guide* .", - "title": "PolicyDocument", - "type": "object" + "Namespace": { + "markdownDescription": "The name of the namespace.", + "title": "Namespace", + "type": "string" }, - "Queues": { - "items": { - "type": "string" - }, - "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)` resource.", - "title": "Queues", - "type": "array" + "TableBucketARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket to create the namespace in.", + "title": "TableBucketARN", + "type": "string" } }, "required": [ - "PolicyDocument", - "Queues" + "Namespace", + "TableBucketARN" ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::QueuePolicy" + "AWS::S3Tables::Namespace" ], "type": "string" }, @@ -352441,7 +320807,7 @@ ], "type": "object" }, - "AWS::SSM::Association": { + "AWS::S3Tables::Table": { "additionalProperties": false, "properties": { "Condition": { @@ -352476,115 +320842,71 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplyOnlyAtCronInterval": { - "markdownDescription": "By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter is not supported for rate expressions.", - "title": "ApplyOnlyAtCronInterval", - "type": "boolean" - }, - "AssociationDispatchAssumeRole": { - "type": "string" - }, - "AssociationName": { - "markdownDescription": "Specify a descriptive name for the association.", - "title": "AssociationName", - "type": "string" - }, - "AutomationTargetParameterName": { - "markdownDescription": "Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in AWS Systems Manager .", - "title": "AutomationTargetParameterName", - "type": "string" - }, - "CalendarNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations only run when that Change Calendar is open. For more information, see [AWS Systems Manager Change Calendar](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar) in the *AWS Systems Manager User Guide* .", - "title": "CalendarNames", - "type": "array" - }, - "ComplianceSeverity": { - "markdownDescription": "The severity level that is assigned to the association.", - "title": "ComplianceSeverity", - "type": "string" - }, - "DocumentVersion": { - "markdownDescription": "The version of the SSM document to associate with the target.\n\n> Note the following important information.\n> \n> - State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the `default` version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to `default` .\n> - `DocumentVersion` is not valid for documents owned by AWS , such as `AWS-RunPatchBaseline` or `AWS-UpdateSSMAgent` . If you specify `DocumentVersion` for an AWS document, the system returns the following error: \"Error occurred during operation 'CreateAssociation'.\" (RequestToken: , HandlerErrorCode: GeneralServiceException).", - "title": "DocumentVersion", - "type": "string" - }, - "InstanceId": { - "markdownDescription": "> `InstanceId` has been deprecated. To specify an instance ID for an association, use the `Targets` parameter. If you use the parameter `InstanceId` , you cannot use the parameters `AssociationName` , `DocumentVersion` , `MaxErrors` , `MaxConcurrency` , `OutputLocation` , or `ScheduleExpression` . To use these parameters, you must use the `Targets` parameter.\n> \n> Note that in some examples later in this page, `InstanceIds` is used as the tag-key name in a `Targets` filter. `InstanceId` is not used as a parameter. \n\nThe ID of the instance that the SSM document is associated with. You must specify the `InstanceId` or `Targets` property.", - "title": "InstanceId", - "type": "string" + "Compaction": { + "$ref": "#/definitions/AWS::S3Tables::Table.Compaction", + "markdownDescription": "Contains details about the compaction settings for an Iceberg table.", + "title": "Compaction" }, - "MaxConcurrency": { - "markdownDescription": "The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.\n\nIf a new managed node starts and attempts to run an association while Systems Manager is running `MaxConcurrency` associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for `MaxConcurrency` .", - "title": "MaxConcurrency", - "type": "string" + "IcebergMetadata": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergMetadata", + "markdownDescription": "Contains details about the metadata for an Iceberg table.", + "title": "IcebergMetadata" }, - "MaxErrors": { - "markdownDescription": "The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set `MaxError` to 10%, then the system stops sending the request when the sixth error is received.\n\nExecutions that are already running an association when `MaxErrors` is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set `MaxConcurrency` to 1 so that executions proceed one at a time.", - "title": "MaxErrors", + "Namespace": { + "markdownDescription": "The name of the namespace.", + "title": "Namespace", "type": "string" }, - "Name": { - "markdownDescription": "The name of the SSM document that contains the configuration information for the instance. You can specify `Command` or `Automation` documents. The documents can be AWS -predefined documents, documents you created, or a document that is shared with you from another account. For SSM documents that are shared with you from other AWS accounts , you must specify the complete SSM document ARN, in the following format:\n\n`arn:partition:ssm:region:account-id:document/document-name`\n\nFor example: `arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document`\n\nFor AWS -predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, `AWS -ApplyPatchBaseline` or `My-Document` .", - "title": "Name", + "OpenTableFormat": { + "markdownDescription": "The format of the table.", + "title": "OpenTableFormat", "type": "string" }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation", - "markdownDescription": "An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.", - "title": "OutputLocation" + "SnapshotManagement": { + "$ref": "#/definitions/AWS::S3Tables::Table.SnapshotManagement", + "markdownDescription": "Contains details about the Iceberg snapshot management settings for the table.", + "title": "SnapshotManagement" }, - "Parameters": { - "markdownDescription": "The parameters for the runtime configuration of the document.", - "title": "Parameters", - "type": "object" + "StorageClassConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::Table.StorageClassConfiguration", + "markdownDescription": "The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.", + "title": "StorageClassConfiguration" }, - "ScheduleExpression": { - "markdownDescription": "A cron expression that specifies a schedule when the association runs. The schedule runs in Coordinated Universal Time (UTC).", - "title": "ScheduleExpression", + "TableBucketARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket to create the table in.", + "title": "TableBucketARN", "type": "string" }, - "ScheduleOffset": { - "markdownDescription": "Number of days to wait after the scheduled day to run an association.", - "title": "ScheduleOffset", - "type": "number" - }, - "SyncCompliance": { - "markdownDescription": "The mode for generating association compliance. You can specify `AUTO` or `MANUAL` . In `AUTO` mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is `COMPLIANT` . If the association execution doesn't run successfully, the association is `NON-COMPLIANT` .\n\nIn `MANUAL` mode, you must specify the `AssociationId` as a parameter for the `PutComplianceItems` API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the `PutComplianceItems` API action.\n\nBy default, all associations use `AUTO` mode.", - "title": "SyncCompliance", + "TableName": { + "markdownDescription": "The name for the table.", + "title": "TableName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "", + "title": "Tags", "type": "array" }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" - }, - "markdownDescription": "The targets for the association. You must specify the `InstanceId` or `Targets` property. You can target all instances in an AWS account by specifying t he `InstanceIds` key with a value of `*` .\n\nSupported formats include the following.\n\n- `Key=InstanceIds,Values=,,`\n- `Key=tag-key,Values=,`\n\nTo view a JSON and a YAML example that targets all instances, see \"Create an association for all managed instances in an AWS account \" on the Examples page.", - "title": "Targets", - "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "markdownDescription": "The number of seconds the service should wait for the association status to show \"Success\" before proceeding with the stack execution. If the association status doesn't show \"Success\" after the specified number of seconds, then stack creation fails.\n\n> When you specify a value for the `WaitForSuccessTimeoutSeconds` , [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) for your CloudFormation stack\u2019s configuration might yield inaccurate results. If drift detection is important in your scenario, we recommend that you don\u2019t include `WaitForSuccessTimeoutSeconds` in your template.", - "title": "WaitForSuccessTimeoutSeconds", - "type": "number" + "WithoutMetadata": { + "markdownDescription": "Indicates that you don't want to specify a schema for the table. This property is mutually exclusive to `IcebergMetadata` , and its only possible value is `Yes` .", + "title": "WithoutMetadata", + "type": "string" } }, "required": [ - "Name" + "Namespace", + "OpenTableFormat", + "TableBucketARN", + "TableName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Association" + "AWS::S3Tables::Table" ], "type": "string" }, @@ -352603,62 +320925,267 @@ ], "type": "object" }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { + "AWS::S3Tables::Table.Compaction": { "additionalProperties": false, "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation", - "markdownDescription": "`S3OutputLocation` is a property of the [InstanceAssociationOutputLocation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html) property that specifies an Amazon S3 bucket where you want to store the results of this request.", - "title": "S3Location" + "Status": { + "markdownDescription": "The status of the maintenance configuration.", + "title": "Status", + "type": "string" + }, + "TargetFileSizeMB": { + "markdownDescription": "The target file size for the table in MB.", + "title": "TargetFileSizeMB", + "type": "number" } }, "type": "object" }, - "AWS::SSM::Association.S3OutputLocation": { + "AWS::S3Tables::Table.IcebergMetadata": { "additionalProperties": false, "properties": { - "OutputS3BucketName": { - "markdownDescription": "The name of the S3 bucket.", - "title": "OutputS3BucketName", + "IcebergPartitionSpec": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergPartitionSpec" + }, + "IcebergSchema": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSchema", + "markdownDescription": "The schema for an Iceberg table.", + "title": "IcebergSchema" + }, + "IcebergSchemaV2": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSchemaV2" + }, + "IcebergSortOrder": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSortOrder" + }, + "TableProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::S3Tables::Table.IcebergPartitionField": { + "additionalProperties": false, + "properties": { + "FieldId": { + "type": "number" + }, + "Name": { "type": "string" }, - "OutputS3KeyPrefix": { - "markdownDescription": "The S3 bucket subfolder.", - "title": "OutputS3KeyPrefix", + "SourceId": { + "type": "number" + }, + "Transform": { "type": "string" + } + }, + "required": [ + "Name", + "SourceId", + "Transform" + ], + "type": "object" + }, + "AWS::S3Tables::Table.IcebergPartitionSpec": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergPartitionField" + }, + "type": "array" }, - "OutputS3Region": { - "markdownDescription": "The AWS Region of the S3 bucket.", - "title": "OutputS3Region", + "SpecId": { + "type": "number" + } + }, + "required": [ + "Fields" + ], + "type": "object" + }, + "AWS::S3Tables::Table.IcebergSchema": { + "additionalProperties": false, + "properties": { + "SchemaFieldList": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::Table.SchemaField" + }, + "markdownDescription": "The schema fields for the table", + "title": "SchemaFieldList", + "type": "array" + } + }, + "required": [ + "SchemaFieldList" + ], + "type": "object" + }, + "AWS::S3Tables::Table.IcebergSchemaV2": { + "additionalProperties": false, + "properties": { + "IdentifierFieldIds": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SchemaId": { + "type": "number" + }, + "SchemaV2FieldList": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::Table.SchemaV2Field" + }, + "type": "array" + }, + "SchemaV2FieldType": { "type": "string" } }, + "required": [ + "SchemaV2FieldList", + "SchemaV2FieldType" + ], "type": "object" }, - "AWS::SSM::Association.Target": { + "AWS::S3Tables::Table.IcebergSortField": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "User-defined criteria for sending commands that target managed nodes that meet the criteria.", - "title": "Key", + "Direction": { "type": "string" }, - "Values": { + "NullOrder": { + "type": "string" + }, + "SourceId": { + "type": "number" + }, + "Transform": { + "type": "string" + } + }, + "required": [ + "Direction", + "NullOrder", + "SourceId", + "Transform" + ], + "type": "object" + }, + "AWS::S3Tables::Table.IcebergSortOrder": { + "additionalProperties": false, + "properties": { + "Fields": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSortField" }, - "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` .\n\nDepending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.", - "title": "Values", "type": "array" + }, + "OrderId": { + "type": "number" } }, "required": [ - "Key", - "Values" + "Fields" + ], + "type": "object" + }, + "AWS::S3Tables::Table.SchemaField": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the field.", + "title": "Name", + "type": "string" + }, + "Required": { + "markdownDescription": "A Boolean value that specifies whether values are required for each row in this field. By default, this is `false` and null values are allowed in the field. If this is `true` the field does not allow null values.", + "title": "Required", + "type": "boolean" + }, + "Type": { + "markdownDescription": "The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the [Apache Iceberg documentation](https://docs.aws.amazon.com/https://iceberg.apache.org/spec/#primitive-types) .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::S3Tables::Table.SchemaV2Field": { + "additionalProperties": false, + "properties": { + "Doc": { + "type": "string" + }, + "Id": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "type": "object" + } + }, + "required": [ + "Id", + "Name", + "Required", + "Type" ], "type": "object" }, - "AWS::SSM::AutomationExecution": { + "AWS::S3Tables::Table.SnapshotManagement": { + "additionalProperties": false, + "properties": { + "MaxSnapshotAgeHours": { + "markdownDescription": "The maximum age of a snapshot before it can be expired.", + "title": "MaxSnapshotAgeHours", + "type": "number" + }, + "MinSnapshotsToKeep": { + "markdownDescription": "The minimum number of snapshots to keep.", + "title": "MinSnapshotsToKeep", + "type": "number" + }, + "Status": { + "markdownDescription": "The status of the maintenance configuration.", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Tables::Table.StorageClassConfiguration": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "markdownDescription": "The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.", + "title": "StorageClass", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Tables::TableBucket": { "additionalProperties": false, "properties": { "Condition": { @@ -352693,24 +321220,51 @@ "Properties": { "additionalProperties": false, "properties": { - "DocumentName": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.EncryptionConfiguration", + "markdownDescription": "Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.", + "title": "EncryptionConfiguration" + }, + "MetricsConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.MetricsConfiguration", + "markdownDescription": "", + "title": "MetricsConfiguration" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationConfiguration" + }, + "StorageClassConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.StorageClassConfiguration", + "markdownDescription": "The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.", + "title": "StorageClassConfiguration" + }, + "TableBucketName": { + "markdownDescription": "The name for the table bucket.", + "title": "TableBucketName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "", + "title": "Tags", "type": "array" + }, + "UnreferencedFileRemoval": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.UnreferencedFileRemoval", + "markdownDescription": "The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the [*Amazon S3 User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html) .", + "title": "UnreferencedFileRemoval" } }, "required": [ - "DocumentName" + "TableBucketName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::AutomationExecution" + "AWS::S3Tables::TableBucket" ], "type": "string" }, @@ -352729,7 +321283,112 @@ ], "type": "object" }, - "AWS::SSM::CloudConnector": { + "AWS::S3Tables::TableBucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when `sseAlgorithm` is set to `aws:kms` .", + "title": "KMSKeyArn", + "type": "string" + }, + "SSEAlgorithm": { + "markdownDescription": "The server-side encryption algorithm to use. Valid values are `AES256` for S3-managed encryption keys, or `aws:kms` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see [Permissions requirements for S3 Tables SSE-KMS encryption](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html) .", + "title": "SSEAlgorithm", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Tables::TableBucket.MetricsConfiguration": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Tables::TableBucket.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Role": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationRule" + }, + "type": "array" + } + }, + "required": [ + "Role", + "Rules" + ], + "type": "object" + }, + "AWS::S3Tables::TableBucket.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "DestinationTableBucketARN": { + "type": "string" + } + }, + "required": [ + "DestinationTableBucketARN" + ], + "type": "object" + }, + "AWS::S3Tables::TableBucket.ReplicationRule": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationDestination" + }, + "type": "array" + } + }, + "required": [ + "Destinations" + ], + "type": "object" + }, + "AWS::S3Tables::TableBucket.StorageClassConfiguration": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "markdownDescription": "The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.", + "title": "StorageClass", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Tables::TableBucket.UnreferencedFileRemoval": { + "additionalProperties": false, + "properties": { + "NoncurrentDays": { + "markdownDescription": "The number of days an object can be noncurrent before Amazon S3 deletes it.", + "title": "NoncurrentDays", + "type": "number" + }, + "Status": { + "markdownDescription": "The status of the unreferenced file removal configuration for your table bucket.", + "title": "Status", + "type": "string" + }, + "UnreferencedDays": { + "markdownDescription": "The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.", + "title": "UnreferencedDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3Tables::TableBucketPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -352764,39 +321423,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigConnectorArn": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::SSM::CloudConnector.CloudConnectorConfiguration" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" + "ResourcePolicy": { + "markdownDescription": "The bucket policy JSON for the table bucket.", + "title": "ResourcePolicy", + "type": "object" }, - "RoleArn": { + "TableBucketARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket.", + "title": "TableBucketARN", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "ConfigConnectorArn", - "Configuration", - "DisplayName", - "RoleArn" + "ResourcePolicy", + "TableBucketARN" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::CloudConnector" + "AWS::S3Tables::TableBucketPolicy" ], "type": "string" }, @@ -352815,74 +321461,80 @@ ], "type": "object" }, - "AWS::SSM::CloudConnector.AzureConfiguration": { + "AWS::S3Tables::TablePolicy": { "additionalProperties": false, "properties": { - "ApplicationDisplayName": { + "Condition": { "type": "string" }, - "ApplicationId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Targets": { - "$ref": "#/definitions/AWS::SSM::CloudConnector.ConfigurationTargets" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "TenantDisplayName": { - "type": "string" + "Metadata": { + "type": "object" }, - "TenantId": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "TenantId" - ], - "type": "object" - }, - "AWS::SSM::CloudConnector.AzureSubscription": { - "additionalProperties": false, - "properties": { - "DisplayName": { + "Properties": { + "additionalProperties": false, + "properties": { + "ResourcePolicy": { + "markdownDescription": "The `JSON` that defines the policy.", + "title": "ResourcePolicy", + "type": "object" + }, + "TableARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table.", + "title": "TableARN", + "type": "string" + } + }, + "required": [ + "ResourcePolicy", + "TableARN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Tables::TablePolicy" + ], "type": "string" }, - "Id": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Id" - ], - "type": "object" - }, - "AWS::SSM::CloudConnector.CloudConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "AzureConfiguration": { - "$ref": "#/definitions/AWS::SSM::CloudConnector.AzureConfiguration" - } - }, - "required": [ - "AzureConfiguration" - ], - "type": "object" - }, - "AWS::SSM::CloudConnector.ConfigurationTargets": { - "additionalProperties": false, - "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::SSM::CloudConnector.AzureSubscription" - }, - "type": "array" - } - }, - "required": [ - "Subscriptions" + "Type", + "Properties" ], "type": "object" }, - "AWS::SSM::Document": { + "AWS::S3Vectors::Index": { "additionalProperties": false, "properties": { "Condition": { @@ -352917,74 +321569,63 @@ "Properties": { "additionalProperties": false, "properties": { - "Attachments": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" - }, - "markdownDescription": "A list of key-value pairs that describe attachments to a version of a document.", - "title": "Attachments", - "type": "array" + "DataType": { + "markdownDescription": "The data type of the vectors to be inserted into the vector index. Currently, only `float32` is supported, which represents 32-bit floating-point numbers.", + "title": "DataType", + "type": "string" }, - "Content": { - "markdownDescription": "The content for the new SSM document in JSON or YAML. For more information about the schemas for SSM document content, see [SSM document schema features and examples](https://docs.aws.amazon.com/systems-manager/latest/userguide/document-schemas-features.html) in the *AWS Systems Manager User Guide* .\n\n> This parameter also supports `String` data types.", - "title": "Content", - "type": "object" + "Dimension": { + "markdownDescription": "The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions.\n\nThe dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.", + "title": "Dimension", + "type": "number" }, - "DocumentFormat": { - "markdownDescription": "Specify the document format for the request. `JSON` is the default format.", - "title": "DocumentFormat", + "DistanceMetric": { + "markdownDescription": "The distance metric to be used for similarity search. Valid values are:\n\n- `cosine` - Measures the cosine of the angle between two vectors.\n- `euclidean` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.", + "title": "DistanceMetric", "type": "string" }, - "DocumentType": { - "markdownDescription": "The type of document to create.", - "title": "DocumentType", - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3Vectors::Index.EncryptionConfiguration", + "markdownDescription": "The encryption configuration for a vector index. By default, if you don't specify, all new vectors in the vector index will use the encryption configuration of the vector bucket.", + "title": "EncryptionConfiguration" }, - "Name": { - "markdownDescription": "A name for the SSM document.\n\n> You can't use the following strings as document name prefixes. These are reserved by AWS for use as document name prefixes:\n> \n> - `aws`\n> - `amazon`\n> - `amzn`\n> - `AWSEC2`\n> - `AWSConfigRemediation`\n> - `AWSSupport`", - "title": "Name", + "IndexName": { + "markdownDescription": "The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket.\n\nIf you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name.\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": "IndexName", "type": "string" }, - "Requires": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" - }, - "markdownDescription": "A list of SSM documents required by a document. This parameter is used exclusively by AWS AppConfig . When a user creates an AWS AppConfig configuration in an SSM document, the user must also specify a required document for validation purposes. In this case, an `ApplicationConfiguration` document requires an `ApplicationConfigurationSchema` document for validation purposes. For more information, see [What is AWS AppConfig ?](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) in the *AWS AppConfig User Guide* .", - "title": "Requires", - "type": "array" + "MetadataConfiguration": { + "$ref": "#/definitions/AWS::S3Vectors::Index.MetadataConfiguration", + "markdownDescription": "The metadata configuration for the vector index.", + "title": "MetadataConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "AWS CloudFormation resource tags to apply to the document. Use tags to help you identify and categorize resources.", - "title": "Tags", "type": "array" }, - "TargetType": { - "markdownDescription": "Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: `/AWS::EC2::Instance` . If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see [AWS resource and property types reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) in the *AWS CloudFormation User Guide* .", - "title": "TargetType", - "type": "string" - }, - "UpdateMethod": { - "markdownDescription": "If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced. `Replace` is the default method. If you specify `NewVersion` for the `UpdateMethod` parameter, and the `Name` of the document does not match an existing resource, a new document is created. When you specify `NewVersion` , the default version of the document is changed to the newly created version.", - "title": "UpdateMethod", + "VectorBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.", + "title": "VectorBucketArn", "type": "string" }, - "VersionName": { - "markdownDescription": "An optional field specifying the version of the artifact you are creating with the document. For example, `Release12.1` . This value is unique across all versions of a document, and can't be changed.", - "title": "VersionName", + "VectorBucketName": { + "markdownDescription": "The name of the vector bucket that contains the vector index.", + "title": "VectorBucketName", "type": "string" } }, "required": [ - "Content" + "DataType", + "Dimension", + "DistanceMetric" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Document" + "AWS::S3Vectors::Index" ], "type": "string" }, @@ -353003,47 +321644,127 @@ ], "type": "object" }, - "AWS::SSM::Document.AttachmentsSource": { + "AWS::S3Vectors::Index.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key of a key-value pair that identifies the location of an attachment to a document.", - "title": "Key", + "KmsKeyArn": { + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the encryption configuration. This parameter is allowed if and only if `sseType` is set to `aws:kms` .\n\nTo specify the KMS key, you must use the format of the KMS key Amazon Resource Name (ARN).\n\nFor example, specify Key ARN in the following format: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`", + "title": "KmsKeyArn", "type": "string" }, - "Name": { - "markdownDescription": "The name of the document attachment file.", - "title": "Name", + "SseType": { + "markdownDescription": "The server-side encryption type to use for the encryption configuration of the vector bucket. By default, if you don't specify, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically `AES256` .", + "title": "SseType", "type": "string" - }, - "Values": { + } + }, + "type": "object" + }, + "AWS::S3Vectors::Index.MetadataConfiguration": { + "additionalProperties": false, + "properties": { + "NonFilterableMetadataKeys": { "items": { "type": "string" }, - "markdownDescription": "The value of a key-value pair that identifies the location of an attachment to a document. The format for *Value* depends on the type of key you specify.\n\n- For the key *SourceUrl* , the value is an S3 bucket location. For example:\n\n`\"Values\": [ \"s3://amzn-s3-demo-bucket/my-prefix\" ]`\n- For the key *S3FileUrl* , the value is a file in an S3 bucket. For example:\n\n`\"Values\": [ \"s3://amzn-s3-demo-bucket/my-prefix/my-file.py\" ]`\n- For the key *AttachmentReference* , the value is constructed from the name of another SSM document in your account, a version number of that document, and a file attached to that document version that you want to reuse. For example:\n\n`\"Values\": [ \"MyOtherDocument/3/my-other-file.py\" ]`\n\nHowever, if the SSM document is shared with you from another account, the full SSM document ARN must be specified instead of the document name only. For example:\n\n`\"Values\": [ \"arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py\" ]`", - "title": "Values", + "markdownDescription": "Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval. Unlike default metadata keys, these keys can't be used as query filters. Non-filterable metadata keys can be retrieved but can't be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors.\n\nYou can specify 1 to 10 non-filterable metadata keys. Each key must be 1 to 63 characters long.", + "title": "NonFilterableMetadataKeys", "type": "array" } }, "type": "object" }, - "AWS::SSM::Document.DocumentRequires": { + "AWS::S3Vectors::VectorBucket": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the required SSM document. The name can be an Amazon Resource Name (ARN).", - "title": "Name", + "Condition": { "type": "string" }, - "Version": { - "markdownDescription": "The document version required by the current document.", - "title": "Version", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::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::SSM::MaintenanceWindow": { + "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": { @@ -353078,77 +321799,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowUnassociatedTargets": { - "markdownDescription": "Enables a maintenance window task to run on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the maintenance window.", - "title": "AllowUnassociatedTargets", - "type": "boolean" - }, - "Cutoff": { - "markdownDescription": "The number of hours before the end of the maintenance window that AWS Systems Manager stops scheduling new tasks for execution.", - "title": "Cutoff", - "type": "number" - }, - "Description": { - "markdownDescription": "A description of the maintenance window.", - "title": "Description", - "type": "string" - }, - "Duration": { - "markdownDescription": "The duration of the maintenance window in hours.", - "title": "Duration", - "type": "number" - }, - "EndDate": { - "markdownDescription": "The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive.", - "title": "EndDate", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the maintenance window.", - "title": "Name", - "type": "string" - }, - "Schedule": { - "markdownDescription": "The schedule of the maintenance window in the form of a cron or rate expression.", - "title": "Schedule", - "type": "string" - }, - "ScheduleOffset": { - "markdownDescription": "The number of days to wait to run a maintenance window after the scheduled cron expression date and time.", - "title": "ScheduleOffset", - "type": "number" + "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" }, - "ScheduleTimezone": { - "markdownDescription": "The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format.", - "title": "ScheduleTimezone", + "VectorBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.", + "title": "VectorBucketArn", "type": "string" }, - "StartDate": { - "markdownDescription": "The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. `StartDate` allows you to delay activation of the maintenance window until the specified future date.", - "title": "StartDate", + "VectorBucketName": { + "markdownDescription": "The name of the S3 vector bucket to which the policy applies.", + "title": "VectorBucketName", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a maintenance window to identify the type of tasks it will run, the types of targets, and the environment it will run in.", - "title": "Tags", - "type": "array" } - }, - "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" + }, + "required": [ + "Policy" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindow" + "AWS::S3Vectors::VectorBucketPolicy" ], "type": "string" }, @@ -353167,7 +321841,7 @@ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget": { + "AWS::SDB::Domain": { "additionalProperties": false, "properties": { "Condition": { @@ -353203,49 +321877,16 @@ "additionalProperties": false, "properties": { "Description": { - "markdownDescription": "A description for the target.", + "markdownDescription": "Information about the SimpleDB domain.", "title": "Description", "type": "string" - }, - "Name": { - "markdownDescription": "The name for the maintenance window target.", - "title": "Name", - "type": "string" - }, - "OwnerInformation": { - "markdownDescription": "A user-provided value that will be included in any Amazon CloudWatch Events events that are raised while running tasks for these targets in this maintenance window.", - "title": "OwnerInformation", - "type": "string" - }, - "ResourceType": { - "markdownDescription": "The type of target that is being registered with the maintenance window.", - "title": "ResourceType", - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" - }, - "markdownDescription": "The targets to register with the maintenance window. In other words, the instances to run commands on when the maintenance window runs.\n\nYou must specify targets by using the `WindowTargetIds` parameter.", - "title": "Targets", - "type": "array" - }, - "WindowId": { - "markdownDescription": "The ID of the maintenance window to register the target with.", - "title": "WindowId", - "type": "string" } }, - "required": [ - "ResourceType", - "Targets", - "WindowId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTarget" + "AWS::SDB::Domain" ], "type": "string" }, @@ -353259,35 +321900,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "User-defined criteria for sending commands that target managed nodes that meet the criteria.", - "title": "Key", - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` .\n\nDepending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.", - "title": "Values", - "type": "array" - } - }, - "required": [ - "Key", - "Values" + "Type" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask": { + "AWS::SES::ConfigurationSet": { "additionalProperties": false, "properties": { "Condition": { @@ -353322,91 +321939,58 @@ "Properties": { "additionalProperties": false, "properties": { - "CutoffBehavior": { - "markdownDescription": "The specification for whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached.", - "title": "CutoffBehavior", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the task.", - "title": "Description", - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo", - "markdownDescription": "> `LoggingInfo` has been deprecated. To specify an Amazon S3 bucket to contain logs for Run Command tasks, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` options in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [AWS ::SSM::MaintenanceWindowTask MaintenanceWindowRunCommandParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html) . \n\nInformation about an Amazon S3 bucket to write Run Command task-level logs to.", - "title": "LoggingInfo" - }, - "MaxConcurrency": { - "markdownDescription": "The maximum number of targets this task can be run for, in parallel.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases.\n> \n> For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task.", - "title": "MaxConcurrency", - "type": "string" + "ArchivingOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.ArchivingOptions" }, - "MaxErrors": { - "markdownDescription": "The maximum number of errors allowed before this task stops being scheduled.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases.\n> \n> For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task.", - "title": "MaxErrors", - "type": "string" + "DeliveryOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.DeliveryOptions", + "markdownDescription": "Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).", + "title": "DeliveryOptions" }, "Name": { - "markdownDescription": "The task name.", + "markdownDescription": "The name of the configuration set. The name must meet the following requirements:\n\n- Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Contain 64 characters or fewer.", "title": "Name", "type": "string" }, - "Priority": { - "markdownDescription": "The priority of the task in the maintenance window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.", - "title": "Priority", - "type": "number" + "ReputationOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.ReputationOptions", + "markdownDescription": "An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.", + "title": "ReputationOptions" }, - "ServiceRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` .\n\nHowever, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* .", - "title": "ServiceRoleArn", - "type": "string" + "SendingOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.SendingOptions", + "markdownDescription": "An object that defines whether or not Amazon SES can send email that you send using the configuration set.", + "title": "SendingOptions" }, - "Targets": { + "SuppressionOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.SuppressionOptions", + "markdownDescription": "An object that contains information about the suppression list preferences for your account.", + "title": "SuppressionOptions" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The targets, either instances or window target IDs.\n\n- Specify instances using `Key=InstanceIds,Values= *instanceid1* , *instanceid2*` .\n- Specify window target IDs using `Key=WindowTargetIds,Values= *window-target-id-1* , *window-target-id-2*` .", - "title": "Targets", + "markdownDescription": "An array of objects that define the tags (keys and values) that are associated with the configuration set.", + "title": "Tags", "type": "array" }, - "TaskArn": { - "markdownDescription": "The resource that the task uses during execution.\n\nFor `RUN_COMMAND` and `AUTOMATION` task types, `TaskArn` is the SSM document name or Amazon Resource Name (ARN).\n\nFor `LAMBDA` tasks, `TaskArn` is the function name or ARN.\n\nFor `STEP_FUNCTIONS` tasks, `TaskArn` is the state machine ARN.", - "title": "TaskArn", - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters", - "markdownDescription": "The parameters to pass to the task when it runs. Populate only the fields that match the task type. All other fields should be empty.\n\n> When you update a maintenance window task that has options specified in `TaskInvocationParameters` , you must provide again all the `TaskInvocationParameters` values that you want to retain. The values you do not specify again are removed. For example, suppose that when you registered a Run Command task, you specified `TaskInvocationParameters` values for `Comment` , `NotificationConfig` , and `OutputS3BucketName` . If you update the maintenance window task and specify only a different `OutputS3BucketName` value, the values for `Comment` and `NotificationConfig` are removed.", - "title": "TaskInvocationParameters" - }, - "TaskParameters": { - "markdownDescription": "> `TaskParameters` has been deprecated. To specify parameters to pass to a task when it runs, instead use the `Parameters` option in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [MaintenanceWindowTaskInvocationParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_MaintenanceWindowTaskInvocationParameters.html) . \n\nThe parameters to pass to the task when it runs.", - "title": "TaskParameters", - "type": "object" - }, - "TaskType": { - "markdownDescription": "The type of task. Valid values: `RUN_COMMAND` , `AUTOMATION` , `LAMBDA` , `STEP_FUNCTIONS` .", - "title": "TaskType", - "type": "string" + "TrackingOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.TrackingOptions", + "markdownDescription": "An object that defines the open and click tracking options for emails that you send using the configuration set.", + "title": "TrackingOptions" }, - "WindowId": { - "markdownDescription": "The ID of the maintenance window where the task is registered.", - "title": "WindowId", - "type": "string" + "VdmOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.VdmOptions", + "markdownDescription": "The Virtual Deliverability Manager (VDM) options that apply to the configuration set.", + "title": "VdmOptions" } }, - "required": [ - "Priority", - "TaskArn", - "TaskType", - "WindowId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTask" + "AWS::SES::ConfigurationSet" ], "type": "string" }, @@ -353420,243 +322004,179 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { + "AWS::SES::ConfigurationSet.ArchivingOptions": { "additionalProperties": false, "properties": { - "CloudWatchLogGroupName": { - "markdownDescription": "The name of the CloudWatch Logs log group where you want to send command output. If you don't specify a group name, AWS Systems Manager automatically creates a log group for you. The log group uses the following naming format:\n\n`aws/ssm/ *SystemsManagerDocumentName*`", - "title": "CloudWatchLogGroupName", + "ArchiveArn": { "type": "string" - }, - "CloudWatchOutputEnabled": { - "markdownDescription": "Enables Systems Manager to send command output to CloudWatch Logs.", - "title": "CloudWatchOutputEnabled", - "type": "boolean" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "AWS::SES::ConfigurationSet.ConditionThreshold": { "additionalProperties": false, "properties": { - "Region": { - "markdownDescription": "The AWS Region where the S3 bucket is located.", - "title": "Region", - "type": "string" - }, - "S3Bucket": { - "markdownDescription": "The name of an S3 bucket where execution logs are stored.", - "title": "S3Bucket", + "ConditionThresholdEnabled": { "type": "string" }, - "S3Prefix": { - "markdownDescription": "The Amazon S3 bucket subfolder.", - "title": "S3Prefix", - "type": "string" + "OverallConfidenceThreshold": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.OverallConfidenceThreshold" } }, "required": [ - "Region", - "S3Bucket" + "ConditionThresholdEnabled" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "AWS::SES::ConfigurationSet.DashboardOptions": { "additionalProperties": false, "properties": { - "DocumentVersion": { - "markdownDescription": "The version of an Automation runbook to use during task execution.", - "title": "DocumentVersion", + "EngagementMetrics": { + "markdownDescription": "Specifies the status of your VDM engagement metrics collection. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables engagement metrics for the configuration set.\n- `DISABLED` \u2013 Amazon SES disables engagement metrics for the configuration set.", + "title": "EngagementMetrics", "type": "string" - }, - "Parameters": { - "markdownDescription": "The parameters for the `AUTOMATION` type task.", - "title": "Parameters", - "type": "object" } }, + "required": [ + "EngagementMetrics" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "AWS::SES::ConfigurationSet.DeliveryOptions": { "additionalProperties": false, "properties": { - "ClientContext": { - "markdownDescription": "Client-specific information to pass to the AWS Lambda function that you're invoking. You can then use the `context` variable to process the client information in your AWS Lambda function.", - "title": "ClientContext", - "type": "string" + "MaxDeliverySeconds": { + "markdownDescription": "The name of the configuration set used when sent through a configuration set with archiving enabled.", + "title": "MaxDeliverySeconds", + "type": "number" }, - "Payload": { - "markdownDescription": "JSON to provide to your AWS Lambda function as input.\n\n> Although `Type` is listed as \"String\" for this property, the payload content must be formatted as a Base64-encoded binary data object. \n\n*Length Constraint:* 4096", - "title": "Payload", + "SendingPoolName": { + "markdownDescription": "The name of the dedicated IP pool to associate with the configuration set.", + "title": "SendingPoolName", "type": "string" }, - "Qualifier": { - "markdownDescription": "An AWS Lambda function version or alias name. If you specify a function version, the action uses the qualified function Amazon Resource Name (ARN) to invoke a specific Lambda function. If you specify an alias name, the action uses the alias ARN to invoke the Lambda function version that the alias points to.", - "title": "Qualifier", + "TlsPolicy": { + "markdownDescription": "Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is `REQUIRE` , messages are only delivered if a TLS connection can be established. If the value is `OPTIONAL` , messages can be delivered in plain text if a TLS connection can't be established.\n\nValid Values: `REQUIRE | OPTIONAL`", + "title": "TlsPolicy", "type": "string" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "AWS::SES::ConfigurationSet.GuardianOptions": { "additionalProperties": false, "properties": { - "CloudWatchOutputConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig", - "markdownDescription": "Configuration options for sending command output to Amazon CloudWatch Logs.", - "title": "CloudWatchOutputConfig" - }, - "Comment": { - "markdownDescription": "Information about the command or commands to run.", - "title": "Comment", - "type": "string" - }, - "DocumentHash": { - "markdownDescription": "The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.", - "title": "DocumentHash", - "type": "string" - }, - "DocumentHashType": { - "markdownDescription": "The SHA-256 or SHA-1 hash type. SHA-1 hashes are deprecated.", - "title": "DocumentHashType", - "type": "string" - }, - "DocumentVersion": { - "markdownDescription": "The AWS Systems Manager document (SSM document) version to use in the request. You can specify `$DEFAULT` , `$LATEST` , or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:\n\n`--document-version \"\\$DEFAULT\"`\n\n`--document-version \"\\$LATEST\"`\n\n`--document-version \"3\"`", - "title": "DocumentVersion", - "type": "string" - }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig", - "markdownDescription": "Configurations for sending notifications about command status changes on a per-managed node basis.", - "title": "NotificationConfig" - }, - "OutputS3BucketName": { - "markdownDescription": "The name of the Amazon Simple Storage Service (Amazon S3) bucket.", - "title": "OutputS3BucketName", - "type": "string" - }, - "OutputS3KeyPrefix": { - "markdownDescription": "The S3 bucket subfolder.", - "title": "OutputS3KeyPrefix", - "type": "string" - }, - "Parameters": { - "markdownDescription": "The parameters for the `RUN_COMMAND` task execution.\n\nThe supported parameters are the same as those for the `SendCommand` API call. For more information, see [SendCommand](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) in the *AWS Systems Manager API Reference* .", - "title": "Parameters", - "type": "object" - }, - "ServiceRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` .\n\nHowever, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* .", - "title": "ServiceRoleArn", + "OptimizedSharedDelivery": { + "markdownDescription": "Specifies the status of your VDM optimized shared delivery. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables optimized shared delivery for the configuration set.\n- `DISABLED` \u2013 Amazon SES disables optimized shared delivery for the configuration set.", + "title": "OptimizedSharedDelivery", "type": "string" - }, - "TimeoutSeconds": { - "markdownDescription": "If this time is reached and the command hasn't already started running, it doesn't run.", - "title": "TimeoutSeconds", - "type": "number" } }, + "required": [ + "OptimizedSharedDelivery" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "AWS::SES::ConfigurationSet.OverallConfidenceThreshold": { "additionalProperties": false, "properties": { - "Input": { - "markdownDescription": "The inputs for the `STEP_FUNCTIONS` task.", - "title": "Input", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the `STEP_FUNCTIONS` task.", - "title": "Name", + "ConfidenceVerdictThreshold": { "type": "string" } }, + "required": [ + "ConfidenceVerdictThreshold" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "AWS::SES::ConfigurationSet.ReputationOptions": { "additionalProperties": false, "properties": { - "NotificationArn": { - "markdownDescription": "An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. Run Command pushes notifications about command status changes to this topic.", - "title": "NotificationArn", - "type": "string" - }, - "NotificationEvents": { + "ReputationMetricsEnabled": { + "markdownDescription": "If `true` , tracking of reputation metrics is enabled for the configuration set. If `false` , tracking of reputation metrics is disabled for the configuration set.", + "title": "ReputationMetricsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSet.SendingOptions": { + "additionalProperties": false, + "properties": { + "SendingEnabled": { + "markdownDescription": "If `true` , email sending is enabled for the configuration set. If `false` , email sending is disabled for the configuration set.", + "title": "SendingEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSet.SuppressionOptions": { + "additionalProperties": false, + "properties": { + "SuppressedReasons": { "items": { "type": "string" }, - "markdownDescription": "The different events that you can receive notifications for. These events include the following: `All` (events), `InProgress` , `Success` , `TimedOut` , `Cancelled` , `Failed` . To learn more about these events, see [Configuring Amazon SNS Notifications for AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html) in the *AWS Systems Manager User Guide* .", - "title": "NotificationEvents", + "markdownDescription": "A list that contains the reasons that email addresses are automatically added to the suppression list for your account. This list can contain any or all of the following:\n\n- `COMPLAINT` \u2013 Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint.\n- `BOUNCE` \u2013 Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce.", + "title": "SuppressedReasons", "type": "array" }, - "NotificationType": { - "markdownDescription": "The notification type.\n\n- `Command` : Receive notification when the status of a command changes.\n- `Invocation` : For commands sent to multiple instances, receive notification on a per-instance basis when the status of a command changes.", - "title": "NotificationType", - "type": "string" + "ValidationOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.ValidationOptions" } }, - "required": [ - "NotificationArn" - ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.Target": { + "AWS::SES::ConfigurationSet.TrackingOptions": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "User-defined criteria for sending commands that target instances that meet the criteria. `Key` can be `InstanceIds` or `WindowTargetIds` . For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* .", - "title": "Key", + "CustomRedirectDomain": { + "markdownDescription": "The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.", + "title": "CustomRedirectDomain", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specify `InstanceIds` , you can specify `i-1234567890abcdef0,i-9876543210abcdef0` to run a command on two EC2 instances. For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* .", - "title": "Values", - "type": "array" + "HttpsPolicy": { + "markdownDescription": "The name of the configuration set used when sent through a configuration set with archiving enabled.", + "title": "HttpsPolicy", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSet.ValidationOptions": { + "additionalProperties": false, + "properties": { + "ConditionThreshold": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.ConditionThreshold" } }, "required": [ - "Key", - "Values" + "ConditionThreshold" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "AWS::SES::ConfigurationSet.VdmOptions": { "additionalProperties": false, "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters", - "markdownDescription": "The parameters for an `AUTOMATION` task type.", - "title": "MaintenanceWindowAutomationParameters" - }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters", - "markdownDescription": "The parameters for a `LAMBDA` task type.", - "title": "MaintenanceWindowLambdaParameters" - }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters", - "markdownDescription": "The parameters for a `RUN_COMMAND` task type.", - "title": "MaintenanceWindowRunCommandParameters" + "DashboardOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.DashboardOptions", + "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Dashboard.", + "title": "DashboardOptions" }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters", - "markdownDescription": "The parameters for a `STEP_FUNCTIONS` task type.", - "title": "MaintenanceWindowStepFunctionsParameters" + "GuardianOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.GuardianOptions", + "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Guardian.", + "title": "GuardianOptions" } }, "type": "object" }, - "AWS::SSM::ManagedInstance": { + "AWS::SES::ConfigurationSetEventDestination": { "additionalProperties": false, "properties": { "Condition": { @@ -353691,18 +322211,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/AWS::SSM::ManagedInstance.TagsItems" - }, - "type": "array" + "ConfigurationSetName": { + "markdownDescription": "The name of the configuration set that contains the event destination.", + "title": "ConfigurationSetName", + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination", + "markdownDescription": "An object that defines the event destination.", + "title": "EventDestination" } }, + "required": [ + "ConfigurationSetName", + "EventDestination" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::ManagedInstance" + "AWS::SES::ConfigurationSetEventDestination" ], "type": "string" }, @@ -353716,27 +322244,147 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SSM::ManagedInstance.TagsItems": { + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { "additionalProperties": false, "properties": { - "Key": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "markdownDescription": "An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch.", + "title": "DimensionConfigurations", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "markdownDescription": "The default value of the dimension that is published to Amazon CloudWatch if you don't provide the value of the dimension when you send an email. This value has to meet the following criteria:\n\n- Can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-), at signs (@), and periods (.).\n- It can contain no more than 256 characters.", + "title": "DefaultDimensionValue", "type": "string" }, - "Value": { + "DimensionName": { + "markdownDescription": "The name of an Amazon CloudWatch dimension associated with an email sending metric. The name has to meet the following criteria:\n\n- It can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-).\n- It can contain no more than 256 characters.", + "title": "DimensionName", + "type": "string" + }, + "DimensionValueSource": { + "markdownDescription": "The location where the Amazon SES API v2 finds the value of a dimension to publish to Amazon CloudWatch. To use the message tags that you specify using an `X-SES-MESSAGE-TAGS` header or a parameter to the `SendEmail` or `SendRawEmail` API, choose `messageTag` . To use your own email headers, choose `emailHeader` . To use link tags, choose `linkTag` .", + "title": "DimensionValueSource", "type": "string" } }, "required": [ - "Key", - "Value" + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.EventBridgeDestination": { + "additionalProperties": false, + "properties": { + "EventBusArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported.", + "title": "EventBusArn", + "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination", + "markdownDescription": "An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.", + "title": "CloudWatchDestination" + }, + "Enabled": { + "markdownDescription": "If `true` , the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this `EventDestinationDefinition` .\n\nIf `false` , the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.", + "title": "Enabled", + "type": "boolean" + }, + "EventBridgeDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventBridgeDestination", + "markdownDescription": "An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to send notifications when certain email events occur.", + "title": "EventBridgeDestination" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination", + "markdownDescription": "An object that contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.", + "title": "KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The types of events that Amazon SES sends to the specified event destinations.\n\n- `SEND` - The send request was successful and SES will attempt to deliver the message to the recipient\u2019s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.)\n- `REJECT` - SES accepted the email, but determined that it contained a virus and didn\u2019t attempt to deliver it to the recipient\u2019s mail server.\n- `BOUNCE` - ( *Hard bounce* ) The recipient's mail server permanently rejected the email. ( *Soft bounces* are only included when SES fails to deliver the email after retrying for a period of time.)\n- `COMPLAINT` - The email was successfully delivered to the recipient\u2019s mail server, but the recipient marked it as spam.\n- `DELIVERY` - SES successfully delivered the email to the recipient's mail server.\n- `OPEN` - The recipient received the message and opened it in their email client.\n- `CLICK` - The recipient clicked one or more links in the email.\n- `RENDERING_FAILURE` - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the [`SendEmail`](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html) or [`SendBulkEmail`](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendBulkEmail.html) API operations.)\n- `DELIVERY_DELAY` - The email couldn't be delivered to the recipient\u2019s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.\n- `SUBSCRIPTION` - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an *unsubscribe* link as part of your [subscription management](https://docs.aws.amazon.com/ses/latest/dg/sending-email-subscription-management.html) .", + "title": "MatchingEventTypes", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the event destination. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Contain 64 characters or fewer.", + "title": "Name", + "type": "string" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.SnsDestination", + "markdownDescription": "An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.", + "title": "SnsDestination" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamARN": { + "markdownDescription": "The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to.", + "title": "DeliveryStreamARN", + "type": "string" + }, + "IAMRoleARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that the Amazon SES API v2 uses to send email events to the Amazon Kinesis Data Firehose stream.", + "title": "IAMRoleARN", + "type": "string" + } + }, + "required": [ + "DeliveryStreamARN", + "IAMRoleARN" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.SnsDestination": { + "additionalProperties": false, + "properties": { + "TopicARN": { + "markdownDescription": "The ARN of the Amazon SNS topic for email sending events. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) Amazon SNS operation.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicARN", + "type": "string" + } + }, + "required": [ + "TopicARN" ], "type": "object" }, - "AWS::SSM::OpsItem": { + "AWS::SES::ContactList": { "additionalProperties": false, "properties": { "Condition": { @@ -353771,41 +322419,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Category": { + "ContactListName": { + "markdownDescription": "The name of the contact list.", + "title": "ContactListName", "type": "string" }, "Description": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Severity": { - "type": "string" - }, - "Source": { + "markdownDescription": "A description of what the contact list is about.", + "title": "Description", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags associated with a contact list.", + "title": "Tags", "type": "array" }, - "Title": { - "type": "string" + "Topics": { + "items": { + "$ref": "#/definitions/AWS::SES::ContactList.Topic" + }, + "markdownDescription": "An interest group, theme, or label within a list. A contact list can have multiple topics.", + "title": "Topics", + "type": "array" } }, - "required": [ - "Description", - "Source", - "Title" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::OpsItem" + "AWS::SES::ContactList" ], "type": "string" }, @@ -353819,12 +322464,42 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::Parameter": { + "AWS::SES::ContactList.Topic": { + "additionalProperties": false, + "properties": { + "DefaultSubscriptionStatus": { + "markdownDescription": "The default subscription status to be applied to a contact if the contact has not noted their preference for subscribing to a topic.", + "title": "DefaultSubscriptionStatus", + "type": "string" + }, + "Description": { + "markdownDescription": "A description of what the topic is about, which the contact will see.", + "title": "Description", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The name of the topic the contact will see.", + "title": "DisplayName", + "type": "string" + }, + "TopicName": { + "markdownDescription": "The name of the topic.", + "title": "TopicName", + "type": "string" + } + }, + "required": [ + "DefaultSubscriptionStatus", + "DisplayName", + "TopicName" + ], + "type": "object" + }, + "AWS::SES::CustomVerificationEmailTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -353859,67 +322534,44 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedPattern": { - "markdownDescription": "A regular expression used to validate the parameter value. For example, for `String` types with values restricted to numbers, you can specify the following: `AllowedPattern=^\\d+$`", - "title": "AllowedPattern", - "type": "string" - }, - "DataType": { - "markdownDescription": "The data type of the parameter, such as `text` or `aws:ec2:image` . The default is `text` .", - "title": "DataType", - "type": "string" - }, - "Description": { - "markdownDescription": "Information about the parameter.", - "title": "Description", + "FailureRedirectionURL": { "type": "string" }, - "Name": { - "markdownDescription": "The name of the parameter.\n\n> The reported maximum length of 2048 characters for a parameter name includes 1037 characters that are reserved for internal use by Systems Manager . The maximum length for a parameter name that you specify is 1011 characters.\n> \n> This count of 1011 characters includes the characters in the ARN that precede the name you specify. This ARN length will vary depending on your partition and Region. For example, the following 45 characters count toward the 1011 character maximum for a parameter created in the US East (Ohio) Region: `arn:aws:ssm:us-east-2:111122223333:parameter/` .", - "title": "Name", + "FromEmailAddress": { "type": "string" }, - "Policies": { - "markdownDescription": "Information about the policies assigned to a parameter.\n\n[Assigning parameter policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) in the *AWS Systems Manager User Guide* .", - "title": "Policies", + "SuccessRedirectionURL": { "type": "string" }, "Tags": { - "additionalProperties": true, - "markdownDescription": "Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, - "title": "Tags", - "type": "object" + "type": "array" }, - "Tier": { - "markdownDescription": "The parameter tier.", - "title": "Tier", + "TemplateContent": { "type": "string" }, - "Type": { - "markdownDescription": "The type of parameter.\n\n> Parameters of type `SecureString` are not supported by AWS CloudFormation .", - "title": "Type", + "TemplateName": { "type": "string" }, - "Value": { - "markdownDescription": "The parameter value.\n\n> If type is `StringList` , the system returns a comma-separated string with no spaces between commas in the `Value` field.", - "title": "Value", + "TemplateSubject": { "type": "string" } }, "required": [ - "Type", - "Value" + "FailureRedirectionURL", + "FromEmailAddress", + "SuccessRedirectionURL", + "TemplateContent", + "TemplateName", + "TemplateSubject" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Parameter" + "AWS::SES::CustomVerificationEmailTemplate" ], "type": "string" }, @@ -353938,7 +322590,7 @@ ], "type": "object" }, - "AWS::SSM::PatchBaseline": { + "AWS::SES::DedicatedIpPool": { "additionalProperties": false, "properties": { "Condition": { @@ -353973,105 +322625,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup", - "markdownDescription": "A set of rules used to include patches in the baseline.", - "title": "ApprovalRules" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of explicitly approved patches for the baseline.\n\nFor information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* .", - "title": "ApprovedPatches", - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { - "markdownDescription": "Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is `UNSPECIFIED` .", - "title": "ApprovedPatchesComplianceLevel", - "type": "string" - }, - "ApprovedPatchesEnableNonSecurity": { - "markdownDescription": "Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is `false` . Applies to Linux managed nodes only.", - "title": "ApprovedPatchesEnableNonSecurity", - "type": "boolean" - }, - "AvailableSecurityUpdatesComplianceStatus": { - "markdownDescription": "Indicates the status you want to assign to security patches that are available but not approved because they don't meet the installation criteria specified in the patch baseline.\n\nExample scenario: Security patches that you might want installed can be skipped if you have specified a long period to wait after a patch is released before installation. If an update to the patch is released during your specified waiting period, the waiting period for installing the patch starts over. If the waiting period is too long, multiple versions of the patch could be released but never installed.\n\nSupported for Windows Server managed nodes only.", - "title": "AvailableSecurityUpdatesComplianceStatus", - "type": "string" - }, - "DefaultBaseline": { - "markdownDescription": "Indicates whether this is the default baseline. AWS Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.", - "title": "DefaultBaseline", - "type": "boolean" - }, - "Description": { - "markdownDescription": "A description of the patch baseline.", - "title": "Description", - "type": "string" - }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup", - "markdownDescription": "A set of global filters used to include patches in the baseline.\n\n> The `GlobalFilters` parameter can be configured only by using the AWS CLI or an AWS SDK. It can't be configured from the Patch Manager console, and its value isn't displayed in the console.", - "title": "GlobalFilters" - }, - "Name": { - "markdownDescription": "The name of the patch baseline.", - "title": "Name", - "type": "string" - }, - "OperatingSystem": { - "markdownDescription": "Defines the operating system the patch baseline applies to. The default value is `WINDOWS` .", - "title": "OperatingSystem", + "PoolName": { + "markdownDescription": "The name of the dedicated IP pool that the IP address is associated with.", + "title": "PoolName", "type": "string" }, - "PatchGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "The name of the patch group to be registered with the patch baseline.", - "title": "PatchGroups", - "type": "array" - }, - "RejectedPatches": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of explicitly rejected patches for the baseline.\n\nFor information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* .", - "title": "RejectedPatches", - "type": "array" - }, - "RejectedPatchesAction": { - "markdownDescription": "The action for Patch Manager to take on patches included in the `RejectedPackages` list.\n\n- **ALLOW_AS_DEPENDENCY** - *Linux and macOS* : A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as `INSTALLED_OTHER` . This is the default action if no option is specified.\n\n*Windows Server* : Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as `INSTALLED_OTHER` . Any package not already installed on the node is skipped. This is the default action if no option is specified.\n- **BLOCK** - *All OSs* : Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances.\n\nState value assignment for patch compliance:\n\n- If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as `INSTALLED_REJECTED` .\n- If an update attempts to install a dependency package that is now rejected by the baseline, when previous versions of the package were not rejected, the package being updated is reported as `MISSING` for `SCAN` operations and as `FAILED` for `INSTALL` operations.", - "title": "RejectedPatchesAction", + "ScalingMode": { + "markdownDescription": "The type of scaling mode.\n\nThe following options are available:\n\n- `STANDARD` - The customer controls which IPs are part of the dedicated IP pool.\n- `MANAGED` - The reputation and number of IPs are automatically managed by Amazon SES .\n\nThe `STANDARD` option is selected by default if no value is specified.\n\n> Updating *ScalingMode* doesn't require a replacement if you're updating its value from `STANDARD` to `MANAGED` . However, updating *ScalingMode* from `MANAGED` to `STANDARD` is not supported.", + "title": "ScalingMode", "type": "string" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "markdownDescription": "Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.", - "title": "Sources", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to.", + "markdownDescription": "An object that defines the tags (keys and values) that you want to associate with the pool.", "title": "Tags", "type": "array" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::PatchBaseline" + "AWS::SES::DedicatedIpPool" ], "type": "string" }, @@ -354085,114 +322662,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The key for the filter.\n\nFor information about valid keys, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", - "title": "Key", - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The value for the filter key.\n\nFor information about valid values for each key based on operating system type, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", - "title": "Values", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { - "additionalProperties": false, - "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "markdownDescription": "The set of patch filters that make up the group.", - "title": "PatchFilters", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchSource": { - "additionalProperties": false, - "properties": { - "Configuration": { - "markdownDescription": "The value of the repo configuration.\n\n*Example for yum repositories*\n\n`[main]`\n\n`name=MyCustomRepository`\n\n`baseurl=https://my-custom-repository`\n\n`enabled=1`\n\nFor information about other options available for your yum repository configuration, see [dnf.conf(5)](https://docs.aws.amazon.com/https://man7.org/linux/man-pages/man5/dnf.conf.5.html) on the *man7.org* website.\n\n*Examples for Ubuntu Server and Debian Server*\n\n`deb http://security.ubuntu.com/ubuntu jammy main`\n\n`deb https://site.example.com/debian distribution component1 component2 component3`\n\nRepo information for Ubuntu Server repositories must be specifed in a single line. For more examples and information, see [jammy (5) sources.list.5.gz](https://docs.aws.amazon.com/https://manpages.ubuntu.com/manpages/jammy/man5/sources.list.5.html) on the *Ubuntu Server Manuals* website and [sources.list format](https://docs.aws.amazon.com/https://wiki.debian.org/SourcesList#sources.list_format) on the *Debian Wiki* .", - "title": "Configuration", - "type": "string" - }, - "Name": { - "markdownDescription": "The name specified to identify the patch source.", - "title": "Name", - "type": "string" - }, - "Products": { - "items": { - "type": "string" - }, - "markdownDescription": "The specific operating system versions a patch repository applies to, such as \"Ubuntu16.04\", \"RedhatEnterpriseLinux7.2\" or \"Suse12.7\". For lists of supported product values, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", - "title": "Products", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.Rule": { - "additionalProperties": false, - "properties": { - "ApproveAfterDays": { - "markdownDescription": "The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. For example, a value of `7` means that patches are approved seven days after they are released.\n\nPatch Manager evaluates patch release dates using Coordinated Universal Time (UTC). If the day represented by `7` is `2025-11-16` , patches released between `2025-11-16T00:00:00Z` and `2025-11-16T23:59:59Z` will be included in the approval.\n\nThis parameter is marked as `Required: No` , but your request must include a value for either `ApproveAfterDays` or `ApproveUntilDate` .\n\nNot supported for Debian Server or Ubuntu Server.\n\n> Use caution when setting this value for Windows Server patch baselines. Because patch updates that are replaced by later updates are removed, setting too broad a value for this parameter can result in crucial patches not being installed. For more information, see the *Windows Server* tab in the topic [How security patches are selected](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-selecting-patches.html) in the *AWS Systems Manager User Guide* .", - "title": "ApproveAfterDays", - "type": "number" - }, - "ApproveUntilDate": { - "markdownDescription": "The cutoff date for auto approval of released patches. Any patches released on or before this date are installed automatically.\n\nEnter dates in the format `YYYY-MM-DD` . For example, `2025-11-16` .\n\nPatch Manager evaluates patch release dates using Coordinated Universal Time (UTC). If you enter the date `2025-11-16` , patches released between `2025-11-16T00:00:00Z` and `2025-11-16T23:59:59Z` will be included in the approval.\n\nThis parameter is marked as `Required: No` , but your request must include a value for either `ApproveUntilDate` or `ApproveAfterDays` .\n\nNot supported for Debian Server or Ubuntu Server.\n\n> Use caution when setting this value for Windows Server patch baselines. Because patch updates that are replaced by later updates are removed, setting too broad a value for this parameter can result in crucial patches not being installed. For more information, see the *Windows Server* tab in the topic [How security patches are selected](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-selecting-patches.html) in the *AWS Systems Manager User Guide* .", - "title": "ApproveUntilDate", - "type": "string" - }, - "ComplianceLevel": { - "markdownDescription": "A compliance severity level for all approved patches in a patch baseline. Valid compliance severity levels include the following: `UNSPECIFIED` , `CRITICAL` , `HIGH` , `MEDIUM` , `LOW` , and `INFORMATIONAL` .", - "title": "ComplianceLevel", - "type": "string" - }, - "EnableNonSecurity": { - "markdownDescription": "For managed nodes identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is `false` . Applies to Linux managed nodes only.", - "title": "EnableNonSecurity", - "type": "boolean" - }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup", - "markdownDescription": "The patch filter group that defines the criteria for the rule.", - "title": "PatchFilterGroup" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.RuleGroup": { - "additionalProperties": false, - "properties": { - "PatchRules": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" - }, - "markdownDescription": "The rules that make up the rule group.", - "title": "PatchRules", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::ResourceDataSync": { + "AWS::SES::EmailIdentity": { "additionalProperties": false, "properties": { "Condition": { @@ -354227,60 +322701,53 @@ "Properties": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The name of the S3 bucket where the aggregated data is stored.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "An Amazon S3 prefix for the bucket.", - "title": "BucketPrefix", - "type": "string" - }, - "BucketRegion": { - "markdownDescription": "The AWS Region with the S3 bucket targeted by the resource data sync.", - "title": "BucketRegion", - "type": "string" + "ConfigurationSetAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.ConfigurationSetAttributes", + "markdownDescription": "Used to associate a configuration set with an email identity.", + "title": "ConfigurationSetAttributes" }, - "KMSKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an encryption key for a destination in Amazon S3 . You can use a KMS key to encrypt inventory data in Amazon S3 . You must specify a key that exist in the same AWS Region as the destination Amazon S3 bucket.", - "title": "KMSKeyArn", - "type": "string" + "DkimAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.DkimAttributes", + "markdownDescription": "An object that contains information about the DKIM attributes for the identity.", + "title": "DkimAttributes" }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination", - "markdownDescription": "Configuration information for the target S3 bucket.", - "title": "S3Destination" + "DkimSigningAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.DkimSigningAttributes", + "markdownDescription": "If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for [Easy DKIM](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html) .\n\nYou can only specify this object if the email identity is a domain, as opposed to an address.", + "title": "DkimSigningAttributes" }, - "SyncFormat": { - "markdownDescription": "A supported sync format. The following format is currently supported: JsonSerDe", - "title": "SyncFormat", + "EmailIdentity": { + "markdownDescription": "The email address or domain to verify.", + "title": "EmailIdentity", "type": "string" }, - "SyncName": { - "markdownDescription": "A name for the resource data sync.", - "title": "SyncName", - "type": "string" + "FeedbackAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.FeedbackAttributes", + "markdownDescription": "Used to enable or disable feedback forwarding for an identity.", + "title": "FeedbackAttributes" }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource", - "markdownDescription": "Information about the source where the data was synchronized.", - "title": "SyncSource" + "MailFromAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.MailFromAttributes", + "markdownDescription": "Used to enable or disable the custom Mail-From domain configuration for an email identity.", + "title": "MailFromAttributes" }, - "SyncType": { - "markdownDescription": "The type of resource data sync. If `SyncType` is `SyncToDestination` , then the resource data sync synchronizes data to an S3 bucket. If the `SyncType` is `SyncFromSource` then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions .", - "title": "SyncType", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of objects that define the tags (keys and values) to associate with the email identity.", + "title": "Tags", + "type": "array" } }, "required": [ - "SyncName" + "EmailIdentity" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::ResourceDataSync" + "AWS::SES::EmailIdentity" ], "type": "string" }, @@ -354299,98 +322766,77 @@ ], "type": "object" }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { + "AWS::SES::EmailIdentity.ConfigurationSetAttributes": { "additionalProperties": false, "properties": { - "OrganizationSourceType": { - "markdownDescription": "If an AWS organization is present, this is either `OrganizationalUnits` or `EntireOrganization` . For `OrganizationalUnits` , the data is aggregated from a set of organization units. For `EntireOrganization` , the data is aggregated from the entire AWS organization.", - "title": "OrganizationSourceType", + "ConfigurationSetName": { + "markdownDescription": "The configuration set to associate with an email identity.", + "title": "ConfigurationSetName", "type": "string" - }, - "OrganizationalUnits": { - "items": { - "type": "string" - }, - "markdownDescription": "The AWS Organizations organization units included in the sync.", - "title": "OrganizationalUnits", - "type": "array" } }, - "required": [ - "OrganizationSourceType" - ], "type": "object" }, - "AWS::SSM::ResourceDataSync.S3Destination": { + "AWS::SES::EmailIdentity.DkimAttributes": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The name of the S3 bucket where the aggregated data is stored.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "An Amazon S3 prefix for the bucket.", - "title": "BucketPrefix", - "type": "string" - }, - "BucketRegion": { - "markdownDescription": "The AWS Region with the S3 bucket targeted by the resource data sync.", - "title": "BucketRegion", + "SigningEnabled": { + "markdownDescription": "Sets the DKIM signing configuration for the identity.\n\nWhen you set this value `true` , then the messages that are sent from the identity are signed using DKIM. If you set this value to `false` , your messages are sent without DKIM signing.", + "title": "SigningEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SES::EmailIdentity.DkimSigningAttributes": { + "additionalProperties": false, + "properties": { + "DomainSigningPrivateKey": { + "markdownDescription": "[Bring Your Own DKIM] A private key that's used to generate a DKIM signature.\n\nThe private key must use 1024 or 2048-bit RSA encryption, and must be encoded using base64 encoding.\n\n> Rather than embedding sensitive information directly in your CFN templates, we recommend you use dynamic parameters in the stack template to reference sensitive information that is stored and managed outside of CFN, such as in the AWS Systems Manager Parameter Store or AWS Secrets Manager.\n> \n> For more information, see the [Do not embed credentials in your templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html#creds) best practice.", + "title": "DomainSigningPrivateKey", "type": "string" }, - "KMSKeyArn": { - "markdownDescription": "The ARN of an encryption key for a destination in Amazon S3. Must belong to the same Region as the destination S3 bucket.", - "title": "KMSKeyArn", + "DomainSigningSelector": { + "markdownDescription": "[Bring Your Own DKIM] A string that's used to identify a public key in the DNS configuration for a domain.", + "title": "DomainSigningSelector", "type": "string" }, - "SyncFormat": { - "markdownDescription": "A supported sync format. The following format is currently supported: JsonSerDe", - "title": "SyncFormat", + "NextSigningKeyLength": { + "markdownDescription": "[Easy DKIM] The key length of the future DKIM key pair to be generated. This can be changed at most once per day.\n\nValid Values: `RSA_1024_BIT | RSA_2048_BIT`", + "title": "NextSigningKeyLength", "type": "string" } }, - "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" - ], "type": "object" }, - "AWS::SSM::ResourceDataSync.SyncSource": { + "AWS::SES::EmailIdentity.FeedbackAttributes": { "additionalProperties": false, "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource", - "markdownDescription": "Information about the AwsOrganizationsSource resource data sync source. A sync source of this type can synchronize data from AWS Organizations .", - "title": "AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "markdownDescription": "Whether to automatically synchronize and aggregate data from new AWS Regions when those Regions come online.", - "title": "IncludeFutureRegions", + "EmailForwardingEnabled": { + "markdownDescription": "Sets the feedback forwarding configuration for the identity.\n\nIf the value is `true` , you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the `Return-Path` header of the original email.\n\nYou're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).", + "title": "EmailForwardingEnabled", "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SES::EmailIdentity.MailFromAttributes": { + "additionalProperties": false, + "properties": { + "BehaviorOnMxFailure": { + "markdownDescription": "The action to take if the required MX record isn't found when you send an email. When you set this value to `USE_DEFAULT_VALUE` , the mail is sent using *amazonses.com* as the MAIL FROM domain. When you set this value to `REJECT_MESSAGE` , the Amazon SES API v2 returns a `MailFromDomainNotVerified` error, and doesn't attempt to deliver the email.\n\nThese behaviors are taken when the custom MAIL FROM domain configuration is in the `Pending` , `Failed` , and `TemporaryFailure` states.\n\nValid Values: `USE_DEFAULT_VALUE | REJECT_MESSAGE`", + "title": "BehaviorOnMxFailure", + "type": "string" }, - "SourceRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The `SyncSource` AWS Regions included in the resource data sync.", - "title": "SourceRegions", - "type": "array" - }, - "SourceType": { - "markdownDescription": "The type of data source for the resource data sync. `SourceType` is either `AwsOrganizations` (if an organization is present in AWS Organizations ) or `SingleAccountMultiRegions` .", - "title": "SourceType", + "MailFromDomain": { + "markdownDescription": "The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must meet the following criteria:\n\n- It has to be a subdomain of the verified identity.\n- It can't be used to receive email.\n- It can't be used in a \"From\" address if the MAIL FROM domain is a destination for feedback forwarding emails.", + "title": "MailFromDomain", "type": "string" } }, - "required": [ - "SourceRegions", - "SourceType" - ], "type": "object" }, - "AWS::SSM::ResourcePolicy": { + "AWS::SES::MailManagerAddonInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -354425,26 +322871,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Policy": { - "markdownDescription": "A policy you want to associate with a resource.", - "title": "Policy", - "type": "object" - }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource to which you want to attach a policy.", - "title": "ResourceArn", + "AddonSubscriptionId": { + "markdownDescription": "The subscription ID for the instance.", + "title": "AddonSubscriptionId", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" } }, "required": [ - "Policy", - "ResourceArn" + "AddonSubscriptionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::ResourcePolicy" + "AWS::SES::MailManagerAddonInstance" ], "type": "string" }, @@ -354463,7 +322911,7 @@ ], "type": "object" }, - "AWS::SSM::ServiceSetting": { + "AWS::SES::MailManagerAddonSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -354498,22 +322946,28 @@ "Properties": { "additionalProperties": false, "properties": { - "SettingId": { + "AddonName": { + "markdownDescription": "The name of the Add On to subscribe to. You can only have one subscription for each Add On name.\n\nValid Values: `TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE | VADE_ADVANCED_EMAIL_SECURITY`", + "title": "AddonName", "type": "string" }, - "SettingValue": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" } }, "required": [ - "SettingId", - "SettingValue" + "AddonName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::ServiceSetting" + "AWS::SES::MailManagerAddonSubscription" ], "type": "string" }, @@ -354532,7 +322986,7 @@ ], "type": "object" }, - "AWS::SSM::Session": { + "AWS::SES::MailManagerAddressList": { "additionalProperties": false, "properties": { "Condition": { @@ -354567,18 +323021,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Reason": { + "AddressListName": { + "markdownDescription": "A user-friendly name for the address list.", + "title": "AddressListName", "type": "string" }, - "Target": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Session" + "AWS::SES::MailManagerAddressList" ], "type": "string" }, @@ -354596,7 +323057,7 @@ ], "type": "object" }, - "AWS::SSMContacts::Contact": { + "AWS::SES::MailManagerArchive": { "additionalProperties": false, "properties": { "Condition": { @@ -354631,48 +323092,35 @@ "Properties": { "additionalProperties": false, "properties": { - "Alias": { - "markdownDescription": "The unique and identifiable alias of the contact or escalation plan.", - "title": "Alias", + "ArchiveName": { + "markdownDescription": "A unique name for the new archive.", + "title": "ArchiveName", "type": "string" }, - "DisplayName": { - "markdownDescription": "The full name of the contact or escalation plan.", - "title": "DisplayName", + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the KMS key for encrypting emails in the archive.", + "title": "KmsKeyArn", "type": "string" }, - "Plan": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" - }, - "markdownDescription": "A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts.", - "title": "Plan", - "type": "array" + "Retention": { + "$ref": "#/definitions/AWS::SES::MailManagerArchive.ArchiveRetention", + "markdownDescription": "The period for retaining emails in the archive before automatic deletion.", + "title": "Retention" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" - }, - "Type": { - "markdownDescription": "The type of contact.\n\n- `PERSONAL` : A single, individual contact.\n- `ESCALATION` : An escalation plan.\n- `ONCALL_SCHEDULE` : An on-call schedule.", - "title": "Type", - "type": "string" } }, - "required": [ - "Alias", - "DisplayName", - "Type" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSMContacts::Contact" + "AWS::SES::MailManagerArchive" ], "type": "string" }, @@ -354686,95 +323134,25 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.ChannelTargetInfo": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact channel.", - "title": "ChannelId", - "type": "string" - }, - "RetryIntervalInMinutes": { - "markdownDescription": "The number of minutes to wait before retrying to send engagement if the engagement initially failed.", - "title": "RetryIntervalInMinutes", - "type": "number" - } - }, - "required": [ - "ChannelId", - "RetryIntervalInMinutes" + "Type" ], "type": "object" }, - "AWS::SSMContacts::Contact.ContactTargetInfo": { + "AWS::SES::MailManagerArchive.ArchiveRetention": { "additionalProperties": false, "properties": { - "ContactId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", - "title": "ContactId", + "RetentionPeriod": { + "markdownDescription": "The enum value sets the period for retaining emails in an archive.", + "title": "RetentionPeriod", "type": "string" - }, - "IsEssential": { - "markdownDescription": "A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.", - "title": "IsEssential", - "type": "boolean" } }, "required": [ - "ContactId", - "IsEssential" + "RetentionPeriod" ], "type": "object" }, - "AWS::SSMContacts::Contact.Stage": { - "additionalProperties": false, - "properties": { - "DurationInMinutes": { - "markdownDescription": "The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.", - "title": "DurationInMinutes", - "type": "number" - }, - "RotationIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.", - "title": "RotationIds", - "type": "array" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" - }, - "markdownDescription": "The contacts or contact methods that the escalation plan or engagement plan is engaging.", - "title": "Targets", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSMContacts::Contact.Targets": { - "additionalProperties": false, - "properties": { - "ChannelTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo", - "markdownDescription": "Information about the contact channel that Incident Manager engages.", - "title": "ChannelTargetInfo" - }, - "ContactTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo", - "markdownDescription": "The contact that Incident Manager is engaging during an incident.", - "title": "ContactTargetInfo" - } - }, - "type": "object" - }, - "AWS::SSMContacts::ContactChannel": { + "AWS::SES::MailManagerIngressPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -354809,43 +323187,63 @@ "Properties": { "additionalProperties": false, "properties": { - "ChannelAddress": { - "markdownDescription": "The details that Incident Manager uses when trying to engage the contact channel.", - "title": "ChannelAddress", + "IngressPointConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.IngressPointConfiguration", + "markdownDescription": "The configuration of the ingress endpoint resource.", + "title": "IngressPointConfiguration" + }, + "IngressPointName": { + "markdownDescription": "A user friendly name for an ingress endpoint resource.", + "title": "IngressPointName", "type": "string" }, - "ChannelName": { - "markdownDescription": "The name of the contact channel.", - "title": "ChannelName", + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.NetworkConfiguration", + "markdownDescription": "The network type (IPv4-only, Dual-Stack, PrivateLink) of the ingress endpoint resource.", + "title": "NetworkConfiguration" + }, + "RuleSetId": { + "markdownDescription": "The identifier of an existing rule set that you attach to an ingress endpoint resource.", + "title": "RuleSetId", "type": "string" }, - "ChannelType": { - "markdownDescription": "The type of the contact channel. Incident Manager supports three contact methods:\n\n- SMS\n- VOICE\n- EMAIL", - "title": "ChannelType", + "StatusToUpdate": { + "markdownDescription": "The update status of an ingress endpoint.", + "title": "StatusToUpdate", "type": "string" }, - "ContactId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact you are adding the contact channel to.", - "title": "ContactId", + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" + }, + "TlsPolicy": { "type": "string" }, - "DeferActivation": { - "markdownDescription": "If you want to activate the channel at a later time, you can choose to defer activation. Incident Manager can't engage your contact channel until it has been activated.", - "title": "DeferActivation", - "type": "boolean" + "TrafficPolicyId": { + "markdownDescription": "The identifier of an existing traffic policy that you attach to an ingress endpoint resource.", + "title": "TrafficPolicyId", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of the ingress endpoint to create.", + "title": "Type", + "type": "string" } }, "required": [ - "ChannelAddress", - "ChannelName", - "ChannelType", - "ContactId" + "RuleSetId", + "TrafficPolicyId", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSMContacts::ContactChannel" + "AWS::SES::MailManagerIngressPoint" ], "type": "string" }, @@ -354864,168 +323262,100 @@ ], "type": "object" }, - "AWS::SSMContacts::Plan": { + "AWS::SES::MailManagerIngressPoint.IngressPointConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "SecretArn": { + "markdownDescription": "The SecretsManager::Secret ARN of the ingress endpoint resource.", + "title": "SecretArn", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SmtpPassword": { + "markdownDescription": "The password of the ingress endpoint resource.", + "title": "SmtpPassword", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", - "title": "ContactId", - "type": "string" - }, - "RotationIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.", - "title": "RotationIds", - "type": "array" - }, - "Stages": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Plan.Stage" - }, - "markdownDescription": "A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods.", - "title": "Stages", - "type": "array" - } - }, - "required": [ - "ContactId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::Plan" - ], - "type": "string" + "TlsAuthConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.TlsAuthConfiguration" + } + }, + "type": "object" + }, + "AWS::SES::MailManagerIngressPoint.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "PrivateNetworkConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.PrivateNetworkConfiguration", + "markdownDescription": "Specifies the network configuration for the private ingress point.", + "title": "PrivateNetworkConfiguration" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PublicNetworkConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.PublicNetworkConfiguration", + "markdownDescription": "Specifies the network configuration for the public ingress point.", + "title": "PublicNetworkConfiguration" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SSMContacts::Plan.ChannelTargetInfo": { + "AWS::SES::MailManagerIngressPoint.PrivateNetworkConfiguration": { "additionalProperties": false, "properties": { - "ChannelId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact channel.", - "title": "ChannelId", + "VpcEndpointId": { + "markdownDescription": "The identifier of the VPC endpoint to associate with this private ingress point.", + "title": "VpcEndpointId", "type": "string" - }, - "RetryIntervalInMinutes": { - "markdownDescription": "The number of minutes to wait before retrying to send engagement if the engagement initially failed.", - "title": "RetryIntervalInMinutes", - "type": "number" } }, "required": [ - "ChannelId", - "RetryIntervalInMinutes" + "VpcEndpointId" ], "type": "object" }, - "AWS::SSMContacts::Plan.ContactTargetInfo": { + "AWS::SES::MailManagerIngressPoint.PublicNetworkConfiguration": { "additionalProperties": false, "properties": { - "ContactId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", - "title": "ContactId", - "type": "string" - }, - "IsEssential": { - "markdownDescription": "A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.", - "title": "IsEssential", - "type": "boolean" + "IpType": { + "markdownDescription": "The IP address type for the public ingress point. Valid values are IPV4 and DUAL_STACK.", + "title": "IpType", + "type": "object" } }, "required": [ - "ContactId", - "IsEssential" + "IpType" ], "type": "object" }, - "AWS::SSMContacts::Plan.Stage": { + "AWS::SES::MailManagerIngressPoint.TlsAuthConfiguration": { "additionalProperties": false, "properties": { - "DurationInMinutes": { - "markdownDescription": "The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.", - "title": "DurationInMinutes", - "type": "number" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Plan.Targets" - }, - "markdownDescription": "The contacts or contact methods that the escalation plan or engagement plan is engaging.", - "title": "Targets", - "type": "array" + "TrustStore": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.TrustStore" } }, "required": [ - "DurationInMinutes" + "TrustStore" ], "type": "object" }, - "AWS::SSMContacts::Plan.Targets": { + "AWS::SES::MailManagerIngressPoint.TrustStore": { "additionalProperties": false, "properties": { - "ChannelTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Plan.ChannelTargetInfo", - "markdownDescription": "Information about the contact channel that Incident Manager engages.", - "title": "ChannelTargetInfo" + "CAContent": { + "type": "string" }, - "ContactTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Plan.ContactTargetInfo", - "markdownDescription": "Information about the contact that Incident Manager engages.", - "title": "ContactTargetInfo" + "CrlContent": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" } }, + "required": [ + "CAContent" + ], "type": "object" }, - "AWS::SSMContacts::Rotation": { + "AWS::SES::MailManagerRelay": { "additionalProperties": false, "properties": { "Condition": { @@ -355060,55 +323390,45 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the contacts to add to the rotation.\n\n> Only the `PERSONAL` contact type is supported. The contact types `ESCALATION` and `ONCALL_SCHEDULE` are not supported for this operation. \n\nThe order in which you list the contacts is their shift order in the rotation schedule.", - "title": "ContactIds", - "type": "array" + "Authentication": { + "$ref": "#/definitions/AWS::SES::MailManagerRelay.RelayAuthentication", + "markdownDescription": "Authentication for the relay destination server\u2014specify the secretARN where the SMTP credentials are stored.", + "title": "Authentication" }, - "Name": { - "markdownDescription": "The name for the rotation.", - "title": "Name", + "RelayName": { + "markdownDescription": "The unique relay name.", + "title": "RelayName", "type": "string" }, - "Recurrence": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.RecurrenceSettings", - "markdownDescription": "Information about the rule that specifies when shift team members rotate.", - "title": "Recurrence" - }, - "StartTime": { - "markdownDescription": "The date and time the rotation goes into effect.", - "title": "StartTime", + "ServerName": { + "markdownDescription": "The destination relay server address.", + "title": "ServerName", "type": "string" }, + "ServerPort": { + "markdownDescription": "The destination relay server port.", + "title": "ServerPort", + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Optional metadata to assign to the rotation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For more information, see [Tagging Incident Manager resources](https://docs.aws.amazon.com/incident-manager/latest/userguide/tagging.html) in the *Incident Manager User Guide* .", + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" - }, - "TimeZoneId": { - "markdownDescription": "The time zone to base the rotation\u2019s activity on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the [Time Zone Database](https://docs.aws.amazon.com/https://www.iana.org/time-zones) on the IANA website.\n\n> Designators for time zones that don\u2019t support Daylight Savings Time rules, such as Pacific Standard Time (PST), are not supported.", - "title": "TimeZoneId", - "type": "string" } }, "required": [ - "ContactIds", - "Name", - "Recurrence", - "StartTime", - "TimeZoneId" + "Authentication", + "ServerName", + "ServerPort" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSMContacts::Rotation" + "AWS::SES::MailManagerRelay" ], "type": "string" }, @@ -355127,142 +323447,23 @@ ], "type": "object" }, - "AWS::SSMContacts::Rotation.CoverageTime": { - "additionalProperties": false, - "properties": { - "EndTime": { - "markdownDescription": "Information about when an on-call rotation shift ends.", - "title": "EndTime", - "type": "string" - }, - "StartTime": { - "markdownDescription": "Information about when an on-call rotation shift begins.", - "title": "StartTime", - "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::SSMContacts::Rotation.MonthlySetting": { - "additionalProperties": false, - "properties": { - "DayOfMonth": { - "markdownDescription": "The day of the month when monthly recurring on-call rotations begin.", - "title": "DayOfMonth", - "type": "number" - }, - "HandOffTime": { - "markdownDescription": "The time of day when a monthly recurring on-call shift rotation begins.", - "title": "HandOffTime", - "type": "string" - } - }, - "required": [ - "DayOfMonth", - "HandOffTime" - ], - "type": "object" - }, - "AWS::SSMContacts::Rotation.RecurrenceSettings": { - "additionalProperties": false, - "properties": { - "DailySettings": { - "items": { - "type": "string" - }, - "markdownDescription": "Information about on-call rotations that recur daily.", - "title": "DailySettings", - "type": "array" - }, - "MonthlySettings": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.MonthlySetting" - }, - "markdownDescription": "Information about on-call rotations that recur monthly.", - "title": "MonthlySettings", - "type": "array" - }, - "NumberOfOnCalls": { - "markdownDescription": "The number of contacts, or shift team members designated to be on call concurrently during a shift. For example, in an on-call schedule that contains ten contacts, a value of `2` designates that two of them are on call at any given time.", - "title": "NumberOfOnCalls", - "type": "number" - }, - "RecurrenceMultiplier": { - "markdownDescription": "The number of days, weeks, or months a single rotation lasts.", - "title": "RecurrenceMultiplier", - "type": "number" - }, - "ShiftCoverages": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.ShiftCoverage" - }, - "markdownDescription": "Information about the days of the week included in on-call rotation coverage.", - "title": "ShiftCoverages", - "type": "array" - }, - "WeeklySettings": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.WeeklySetting" - }, - "markdownDescription": "Information about on-call rotations that recur weekly.", - "title": "WeeklySettings", - "type": "array" - } - }, - "required": [ - "NumberOfOnCalls", - "RecurrenceMultiplier" - ], - "type": "object" - }, - "AWS::SSMContacts::Rotation.ShiftCoverage": { - "additionalProperties": false, - "properties": { - "CoverageTimes": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.CoverageTime" - }, - "markdownDescription": "The start and end times of the shift.", - "title": "CoverageTimes", - "type": "array" - }, - "DayOfWeek": { - "markdownDescription": "A list of days on which the schedule is active.", - "title": "DayOfWeek", - "type": "string" - } - }, - "required": [ - "CoverageTimes", - "DayOfWeek" - ], - "type": "object" - }, - "AWS::SSMContacts::Rotation.WeeklySetting": { + "AWS::SES::MailManagerRelay.RelayAuthentication": { "additionalProperties": false, "properties": { - "DayOfWeek": { - "markdownDescription": "The day of the week when weekly recurring on-call shift rotations begins.", - "title": "DayOfWeek", - "type": "string" + "NoAuthentication": { + "markdownDescription": "Keep an empty structure if the relay destination server does not require SMTP credential authentication.", + "title": "NoAuthentication", + "type": "object" }, - "HandOffTime": { - "markdownDescription": "The time of day when a weekly recurring on-call shift rotation begins.", - "title": "HandOffTime", + "SecretArn": { + "markdownDescription": "The ARN of the secret created in secrets manager where the relay server's SMTP credentials are stored.", + "title": "SecretArn", "type": "string" } }, - "required": [ - "DayOfWeek", - "HandOffTime" - ], "type": "object" }, - "AWS::SSMGuiConnect::Preferences": { + "AWS::SES::MailManagerRuleSet": { "additionalProperties": false, "properties": { "Condition": { @@ -355297,17 +323498,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ConnectionRecordingPreferences": { - "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.ConnectionRecordingPreferences", - "markdownDescription": "The set of preferences used for recording RDP connections in the requesting AWS account and AWS Region . This includes details such as which S3 bucket recordings are stored in.", - "title": "ConnectionRecordingPreferences" + "RuleSetName": { + "markdownDescription": "A user-friendly name for the rule set.", + "title": "RuleSetName", + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Rule" + }, + "markdownDescription": "Conditional rules that are evaluated for determining actions on email.", + "title": "Rules", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" } }, + "required": [ + "Rules" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SSMGuiConnect::Preferences" + "AWS::SES::MailManagerRuleSet" ], "type": "string" }, @@ -355321,800 +323541,718 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SSMGuiConnect::Preferences.ConnectionRecordingPreferences": { + "AWS::SES::MailManagerRuleSet.AddHeaderAction": { "additionalProperties": false, "properties": { - "KMSKeyArn": { - "markdownDescription": "The ARN of a AWS key that is used to encrypt data while it is being processed by the service. This key must exist in the same AWS Region as the node you start an RDP connection to.", - "title": "KMSKeyArn", + "HeaderName": { + "markdownDescription": "The name of the header to add to an email. The header must be prefixed with \"X-\". Headers are added regardless of whether the header name pre-existed in the email.", + "title": "HeaderName", "type": "string" }, - "RecordingDestinations": { - "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.RecordingDestinations", - "markdownDescription": "Determines where recordings of RDP connections are stored.", - "title": "RecordingDestinations" + "HeaderValue": { + "markdownDescription": "The value of the header to add to the email.", + "title": "HeaderValue", + "type": "string" } }, "required": [ - "KMSKeyArn", - "RecordingDestinations" + "HeaderName", + "HeaderValue" ], "type": "object" }, - "AWS::SSMGuiConnect::Preferences.RecordingDestinations": { + "AWS::SES::MailManagerRuleSet.Analysis": { "additionalProperties": false, "properties": { - "S3Buckets": { - "items": { - "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.S3Bucket" - }, - "markdownDescription": "The S3 bucket where RDP connection recordings are stored.", - "title": "S3Buckets", - "type": "array" + "Analyzer": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Add On.", + "title": "Analyzer", + "type": "string" + }, + "ResultField": { + "markdownDescription": "The returned value from an Add On.", + "title": "ResultField", + "type": "string" } }, "required": [ - "S3Buckets" + "Analyzer", + "ResultField" ], "type": "object" }, - "AWS::SSMGuiConnect::Preferences.S3Bucket": { + "AWS::SES::MailManagerRuleSet.ArchiveAction": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The name of the S3 bucket where RDP connection recordings are stored.", - "title": "BucketName", + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified archive has been deleted.", + "title": "ActionFailurePolicy", "type": "string" }, - "BucketOwner": { - "markdownDescription": "The AWS account number that owns the S3 bucket.", - "title": "BucketOwner", + "TargetArchive": { + "markdownDescription": "The identifier of the archive to send the email to.", + "title": "TargetArchive", "type": "string" } }, "required": [ - "BucketName", - "BucketOwner" + "TargetArchive" ], "type": "object" }, - "AWS::SSMIncidents::ReplicationSet": { + "AWS::SES::MailManagerRuleSet.BounceAction": { "additionalProperties": false, "properties": { - "Condition": { + "ActionFailurePolicy": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DiagnosticMessage": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Message": { + "type": "string" }, - "Metadata": { - "type": "object" + "RoleArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtected": { - "markdownDescription": "Determines if the replication set deletion protection is enabled or not. If deletion protection is enabled, you can't delete the last Region in the replication set.", - "title": "DeletionProtected", - "type": "boolean" - }, - "Regions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" - }, - "markdownDescription": "Specifies the Regions of the replication set.", - "title": "Regions", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags to add to the replication set.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Regions" - ], - "type": "object" + "Sender": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ReplicationSet" - ], + "SmtpReplyCode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StatusCode": { "type": "string" } }, "required": [ - "Type", - "Properties" + "DiagnosticMessage", + "RoleArn", + "Sender", + "SmtpReplyCode", + "StatusCode" ], "type": "object" }, - "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { + "AWS::SES::MailManagerRuleSet.DeliverToMailboxAction": { "additionalProperties": false, "properties": { - "SseKmsKeyId": { - "markdownDescription": "The AWS Key Management Service key ID to use to encrypt your replication set.", - "title": "SseKmsKeyId", + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the mailbox ARN is no longer valid.", + "title": "ActionFailurePolicy", + "type": "string" + }, + "MailboxArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of a WorkMail organization to deliver the email to.", + "title": "MailboxArn", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role to use to execute this action. The role must have access to the workmail:DeliverToMailbox API.", + "title": "RoleArn", "type": "string" } }, "required": [ - "SseKmsKeyId" + "MailboxArn", + "RoleArn" ], "type": "object" }, - "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { + "AWS::SES::MailManagerRuleSet.DeliverToQBusinessAction": { "additionalProperties": false, "properties": { - "RegionConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration", - "markdownDescription": "Specifies the Region configuration.", - "title": "RegionConfiguration" + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified application has been deleted or the role lacks necessary permissions to call the `qbusiness:BatchPutDocument` API.", + "title": "ActionFailurePolicy", + "type": "string" }, - "RegionName": { - "markdownDescription": "Specifies the region name to add to the replication set.", - "title": "RegionName", + "ApplicationId": { + "markdownDescription": "The unique identifier of the Amazon Q Business application instance where the email content will be delivered.", + "title": "ApplicationId", + "type": "string" + }, + "IndexId": { + "markdownDescription": "The identifier of the knowledge base index within the Amazon Q Business application where the email content will be stored and indexed.", + "title": "IndexId", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while delivering to Amazon Q Business. This role must have access to the `qbusiness:BatchPutDocument` API for the given application and index.", + "title": "RoleArn", "type": "string" } }, + "required": [ + "ApplicationId", + "IndexId", + "RoleArn" + ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan": { + "AWS::SES::MailManagerRuleSet.InvokeLambdaAction": { "additionalProperties": false, "properties": { - "Condition": { + "ActionFailurePolicy": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FunctionArn": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "InvocationType": { + "type": "string" }, - "Metadata": { - "type": "object" + "RetryTimeMinutes": { + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" - }, - "markdownDescription": "The actions that the response plan starts at the beginning of an incident.", - "title": "Actions", - "type": "array" - }, - "ChatChannel": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel", - "markdownDescription": "The chat channel used for collaboration during an incident.", - "title": "ChatChannel" - }, - "DisplayName": { - "markdownDescription": "The human readable name of the response plan.", - "title": "DisplayName", - "type": "string" - }, - "Engagements": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) for the contacts and escalation plans that the response plan engages during an incident.", - "title": "Engagements", - "type": "array" - }, - "IncidentTemplate": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate", - "markdownDescription": "Details used to create an incident when using this response plan.", - "title": "IncidentTemplate" - }, - "Integrations": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Integration" - }, - "markdownDescription": "Information about third-party services integrated into the response plan.", - "title": "Integrations", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the response plan.", - "title": "Name", - "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" - } + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "InvocationType", + "RoleArn" + ], + "type": "object" + }, + "AWS::SES::MailManagerRuleSet.RelayAction": { + "additionalProperties": false, + "properties": { + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified relay has been deleted.", + "title": "ActionFailurePolicy", + "type": "string" + }, + "MailFrom": { + "markdownDescription": "This action specifies whether to preserve or replace original mail from address while relaying received emails to a destination server.", + "title": "MailFrom", + "type": "string" + }, + "Relay": { + "markdownDescription": "The identifier of the relay resource to be used when relaying an email.", + "title": "Relay", + "type": "string" + } + }, + "required": [ + "Relay" + ], + "type": "object" + }, + "AWS::SES::MailManagerRuleSet.ReplaceRecipientAction": { + "additionalProperties": false, + "properties": { + "ReplaceWith": { + "items": { + "type": "string" }, - "required": [ - "IncidentTemplate", - "Name" - ], - "type": "object" + "markdownDescription": "This action specifies the replacement recipient email addresses to insert.", + "title": "ReplaceWith", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SES::MailManagerRuleSet.Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleAction" + }, + "markdownDescription": "The list of actions to execute when the conditions match the incoming email, and none of the \"unless conditions\" match.", + "title": "Actions", + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleCondition" + }, + "markdownDescription": "The conditions of this rule. All conditions must match the email for the actions to be executed. An empty list of conditions means that all emails match, but are still subject to any \"unless conditions\"", + "title": "Conditions", + "type": "array" }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ResponsePlan" - ], + "Name": { + "markdownDescription": "The user-friendly name of the rule.", + "title": "Name", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Unless": { + "items": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleCondition" + }, + "markdownDescription": "The \"unless conditions\" of this rule. None of the conditions can match the email for the actions to be executed. If any of these conditions do match the email, then the actions are not executed.", + "title": "Unless", + "type": "array" } }, "required": [ - "Type", - "Properties" + "Actions" ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.Action": { + "AWS::SES::MailManagerRuleSet.RuleAction": { "additionalProperties": false, "properties": { - "SsmAutomation": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation", - "markdownDescription": "Details about the Systems Manager automation document that will be used as a runbook during an incident.", - "title": "SsmAutomation" + "AddHeader": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.AddHeaderAction", + "markdownDescription": "This action adds a header. This can be used to add arbitrary email headers.", + "title": "AddHeader" + }, + "Archive": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.ArchiveAction", + "markdownDescription": "This action archives the email. This can be used to deliver an email to an archive.", + "title": "Archive" + }, + "Bounce": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.BounceAction" + }, + "DeliverToMailbox": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.DeliverToMailboxAction", + "markdownDescription": "This action delivers an email to a WorkMail mailbox.", + "title": "DeliverToMailbox" + }, + "DeliverToQBusiness": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.DeliverToQBusinessAction", + "markdownDescription": "This action delivers an email to an Amazon Q Business application for ingestion into its knowledge base.", + "title": "DeliverToQBusiness" + }, + "Drop": { + "markdownDescription": "This action terminates the evaluation of rules in the rule set.", + "title": "Drop", + "type": "object" + }, + "InvokeLambda": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.InvokeLambdaAction" + }, + "PublishToSns": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.SnsAction", + "markdownDescription": "This action publishes the email content to an Amazon SNS topic.", + "title": "PublishToSns" + }, + "Relay": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RelayAction", + "markdownDescription": "This action relays the email to another SMTP server.", + "title": "Relay" + }, + "ReplaceRecipient": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.ReplaceRecipientAction", + "markdownDescription": "The action replaces certain or all recipients with a different set of recipients.", + "title": "ReplaceRecipient" + }, + "Send": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.SendAction", + "markdownDescription": "This action sends the email to the internet.", + "title": "Send" + }, + "WriteToS3": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.S3Action", + "markdownDescription": "This action writes the MIME content of the email to an S3 bucket.", + "title": "WriteToS3" } }, "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.ChatChannel": { + "AWS::SES::MailManagerRuleSet.RuleBooleanExpression": { "additionalProperties": false, "properties": { - "ChatbotSns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon targets that uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel by using the Amazon topics", - "title": "ChatbotSns", - "type": "array" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleBooleanToEvaluate", + "markdownDescription": "The operand on which to perform a boolean condition operation.", + "title": "Evaluate" + }, + "Operator": { + "markdownDescription": "The matching operator for a boolean condition expression.", + "title": "Operator", + "type": "string" } }, + "required": [ + "Evaluate", + "Operator" + ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.DynamicSsmParameter": { + "AWS::SES::MailManagerRuleSet.RuleBooleanToEvaluate": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key parameter to use when running the Systems Manager Automation runbook.", - "title": "Key", + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", + "markdownDescription": "The Add On ARN and its returned value to evaluate in a boolean condition expression.", + "title": "Analysis" + }, + "Attribute": { + "markdownDescription": "The boolean type representing the allowed attribute types for an email.", + "title": "Attribute", "type": "string" }, - "Value": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.DynamicSsmParameterValue", - "markdownDescription": "The dynamic parameter value.", - "title": "Value" + "IsInAddressList": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIsInAddressList", + "markdownDescription": "The structure representing the address lists and address list attribute that will be used in evaluation of boolean expression.", + "title": "IsInAddressList" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.DynamicSsmParameterValue": { + "AWS::SES::MailManagerRuleSet.RuleCondition": { "additionalProperties": false, "properties": { - "Variable": { - "markdownDescription": "Variable dynamic parameters. A parameter value is determined when an incident is created.", - "title": "Variable", - "type": "string" + "BooleanExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleBooleanExpression", + "markdownDescription": "The condition applies to a boolean expression passed in this field.", + "title": "BooleanExpression" + }, + "DmarcExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleDmarcExpression", + "markdownDescription": "The condition applies to a DMARC policy expression passed in this field.", + "title": "DmarcExpression" + }, + "IpExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIpExpression", + "markdownDescription": "The condition applies to an IP address expression passed in this field.", + "title": "IpExpression" + }, + "NumberExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleNumberExpression", + "markdownDescription": "The condition applies to a number expression passed in this field.", + "title": "NumberExpression" + }, + "StringExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleStringExpression", + "markdownDescription": "The condition applies to a string expression passed in this field.", + "title": "StringExpression" + }, + "VerdictExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleVerdictExpression", + "markdownDescription": "The condition applies to a verdict expression passed in this field.", + "title": "VerdictExpression" } }, "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { + "AWS::SES::MailManagerRuleSet.RuleDmarcExpression": { "additionalProperties": false, "properties": { - "DedupeString": { - "markdownDescription": "Used to create only one incident record for an incident.", - "title": "DedupeString", + "Operator": { + "markdownDescription": "The operator to apply to the DMARC policy of the incoming email.", + "title": "Operator", "type": "string" }, - "Impact": { - "markdownDescription": "Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan.\n\n**Possible impacts:** - `1` - Critical impact, this typically relates to full application failure that impacts many to all customers.\n- `2` - High impact, partial application failure with impact to many customers.\n- `3` - Medium impact, the application is providing reduced service to customers.\n- `4` - Low impact, customer might aren't impacted by the problem yet.\n- `5` - No impact, customers aren't currently impacted but urgent action is needed to avoid impact.", - "title": "Impact", - "type": "number" - }, - "IncidentTags": { + "Values": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "Tags to assign to the template. When the `StartIncident` API action is called, Incident Manager assigns the tags specified in the template to the incident.", - "title": "IncidentTags", + "markdownDescription": "The values to use for the given DMARC policy operator. For the operator EQUALS, if multiple values are given, they are evaluated as an OR. That is, if any of the given values match, the condition is deemed to match. For the operator NOT_EQUALS, if multiple values are given, they are evaluated as an AND. That is, only if the email's DMARC policy is not equal to any of the given values, then the condition is deemed to match.", + "title": "Values", "type": "array" + } + }, + "required": [ + "Operator", + "Values" + ], + "type": "object" + }, + "AWS::SES::MailManagerRuleSet.RuleIpExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIpToEvaluate", + "markdownDescription": "The IP address to evaluate in this condition.", + "title": "Evaluate" }, - "NotificationTargets": { + "Operator": { + "markdownDescription": "The operator to evaluate the IP address.", + "title": "Operator", + "type": "string" + }, + "Values": { "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" + "type": "string" }, - "markdownDescription": "The Amazon Simple Notification Service ( Amazon ) targets that uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel using the Amazon topics.", - "title": "NotificationTargets", + "markdownDescription": "The IP CIDR blocks in format \"x.y.z.w/n\" (eg 10.0.0.0/8) to match with the email's IP address. For the operator CIDR_MATCHES, if multiple values are given, they are evaluated as an OR. That is, if the IP address is contained within any of the given CIDR ranges, the condition is deemed to match. For NOT_CIDR_MATCHES, if multiple CIDR ranges are given, the condition is deemed to match if the IP address is not contained in any of the given CIDR ranges.", + "title": "Values", "type": "array" - }, - "Summary": { - "markdownDescription": "The summary describes what has happened during the incident.", - "title": "Summary", - "type": "string" - }, - "Title": { - "markdownDescription": "The title of the incident is a brief and easily recognizable.", - "title": "Title", - "type": "string" } }, "required": [ - "Impact", - "Title" + "Evaluate", + "Operator", + "Values" ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.Integration": { + "AWS::SES::MailManagerRuleSet.RuleIpToEvaluate": { "additionalProperties": false, "properties": { - "PagerDutyConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.PagerDutyConfiguration", - "markdownDescription": "Information about the PagerDuty service where the response plan creates an incident.", - "title": "PagerDutyConfiguration" + "Attribute": { + "markdownDescription": "The attribute of the email to evaluate.", + "title": "Attribute", + "type": "string" } }, "required": [ - "PagerDutyConfiguration" + "Attribute" ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { + "AWS::SES::MailManagerRuleSet.RuleIsInAddressList": { "additionalProperties": false, "properties": { - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon topic.", - "title": "SnsTopicArn", + "AddressLists": { + "items": { + "type": "string" + }, + "markdownDescription": "The address lists that will be used for evaluation.", + "title": "AddressLists", + "type": "array" + }, + "Attribute": { + "markdownDescription": "The email attribute that needs to be evaluated against the address list.", + "title": "Attribute", "type": "string" } }, + "required": [ + "AddressLists", + "Attribute" + ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.PagerDutyConfiguration": { + "AWS::SES::MailManagerRuleSet.RuleNumberExpression": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the PagerDuty configuration.", - "title": "Name", - "type": "string" - }, - "PagerDutyIncidentConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.PagerDutyIncidentConfiguration", - "markdownDescription": "Details about the PagerDuty service associated with the configuration.", - "title": "PagerDutyIncidentConfiguration" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleNumberToEvaluate", + "markdownDescription": "The number to evaluate in a numeric condition expression.", + "title": "Evaluate" }, - "SecretId": { - "markdownDescription": "The ID of the AWS Secrets Manager secret that stores your PagerDuty key, either a General Access REST API Key or User Token REST API Key, and other user credentials.", - "title": "SecretId", + "Operator": { + "markdownDescription": "The operator for a numeric condition expression.", + "title": "Operator", "type": "string" + }, + "Value": { + "markdownDescription": "The value to evaluate in a numeric condition expression.", + "title": "Value", + "type": "number" } }, "required": [ - "Name", - "PagerDutyIncidentConfiguration", - "SecretId" + "Evaluate", + "Operator", + "Value" ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.PagerDutyIncidentConfiguration": { + "AWS::SES::MailManagerRuleSet.RuleNumberToEvaluate": { "additionalProperties": false, "properties": { - "ServiceId": { - "markdownDescription": "The ID of the PagerDuty service that the response plan associates with an incident when it launches.", - "title": "ServiceId", + "Attribute": { + "markdownDescription": "An email attribute that is used as the number to evaluate.", + "title": "Attribute", "type": "string" } }, "required": [ - "ServiceId" + "Attribute" ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { + "AWS::SES::MailManagerRuleSet.RuleStringExpression": { "additionalProperties": false, "properties": { - "DocumentName": { - "markdownDescription": "The automation document's name.", - "title": "DocumentName", - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleStringToEvaluate", + "markdownDescription": "The string to evaluate in a string condition expression.", + "title": "Evaluate" }, - "DocumentVersion": { - "markdownDescription": "The version of the runbook to use when running.", - "title": "DocumentVersion", + "Operator": { + "markdownDescription": "The matching operator for a string condition expression.", + "title": "Operator", "type": "string" }, - "DynamicParameters": { + "Values": { "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.DynamicSsmParameter" + "type": "string" }, - "markdownDescription": "The key-value pairs to resolve dynamic parameter values when processing a Systems Manager Automation runbook.", - "title": "DynamicParameters", + "markdownDescription": "The string(s) to be evaluated in a string condition expression. For all operators, except for NOT_EQUALS, if multiple values are given, the values are processed as an OR. That is, if any of the values match the email's string using the given operator, the condition is deemed to match. However, for NOT_EQUALS, the condition is only deemed to match if none of the given strings match the email's string.", + "title": "Values", "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "AWS::SES::MailManagerRuleSet.RuleStringToEvaluate": { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", + "markdownDescription": "The Add On ARN and its returned value to evaluate in a string condition expression.", + "title": "Analysis" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" - }, - "markdownDescription": "The key-value pair parameters to use when running the runbook.", - "title": "Parameters", - "type": "array" + "Attribute": { + "markdownDescription": "The email attribute to evaluate in a string condition expression.", + "title": "Attribute", + "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that the automation document will assume when running commands.", - "title": "RoleArn", + "ClientCertificateAttribute": { "type": "string" }, - "TargetAccount": { - "markdownDescription": "The account that the automation document will be run in. This can be in either the management account or an application account.", - "title": "TargetAccount", + "MimeHeaderAttribute": { + "markdownDescription": "The email MIME X-Header attribute to evaluate in a string condition expression.", + "title": "MimeHeaderAttribute", "type": "string" } }, - "required": [ - "DocumentName", - "RoleArn" - ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.SsmParameter": { + "AWS::SES::MailManagerRuleSet.RuleVerdictExpression": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key parameter to use when running the Automation runbook.", - "title": "Key", + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleVerdictToEvaluate", + "markdownDescription": "The verdict to evaluate in a verdict condition expression.", + "title": "Evaluate" + }, + "Operator": { + "markdownDescription": "The matching operator for a verdict condition expression.", + "title": "Operator", "type": "string" }, "Values": { "items": { "type": "string" }, - "markdownDescription": "The value parameter to use when running the Automation runbook.", + "markdownDescription": "The values to match with the email's verdict using the given operator. For the EQUALS operator, if multiple values are given, the condition is deemed to match if any of the given verdicts match that of the email. For the NOT_EQUALS operator, if multiple values are given, the condition is deemed to match of none of the given verdicts match the verdict of the email.", "title": "Values", "type": "array" } }, "required": [ - "Key", + "Evaluate", + "Operator", "Values" ], "type": "object" }, - "AWS::SSMQuickSetup::ConfigurationManager": { + "AWS::SES::MailManagerRuleSet.RuleVerdictToEvaluate": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SSMQuickSetup::ConfigurationManager.ConfigurationDefinition" - }, - "markdownDescription": "The definition of the Quick Setup configuration that the configuration manager deploys.", - "title": "ConfigurationDefinitions", - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the configuration.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the configuration", - "title": "Name", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Key-value pairs of metadata to assign to the configuration manager.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "ConfigurationDefinitions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMQuickSetup::ConfigurationManager" - ], - "type": "string" + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", + "markdownDescription": "The Add On ARN and its returned value to evaluate in a verdict condition expression.", + "title": "Analysis" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { + "markdownDescription": "The email verdict attribute to evaluate in a string verdict expression.", + "title": "Attribute", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SSMQuickSetup::ConfigurationManager.ConfigurationDefinition": { + "AWS::SES::MailManagerRuleSet.S3Action": { "additionalProperties": false, "properties": { - "LocalDeploymentAdministrationRoleArn": { - "markdownDescription": "The ARN of the IAM role used to administrate local configuration deployments.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only for organizational deployments of types other than `AWSQuickSetupType-PatchPolicy` . A value must be provided when you are running an organizational deployment for a patch policy or running any type of deployment for a single account.", - "title": "LocalDeploymentAdministrationRoleArn", + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified the bucket has been deleted.", + "title": "ActionFailurePolicy", "type": "string" }, - "LocalDeploymentExecutionRoleName": { - "markdownDescription": "The name of the IAM role used to deploy local configurations.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only for organizational deployments of types other than `AWSQuickSetupType-PatchPolicy` . A value must be provided when you are running an organizational deployment for a patch policy or running any type of deployment for a single account.", - "title": "LocalDeploymentExecutionRoleName", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while writing to S3. This role must have access to the s3:PutObject, kms:Encrypt, and kms:GenerateDataKey APIs for the given bucket.", + "title": "RoleArn", "type": "string" }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "The parameters for the configuration definition type. Parameters for configuration definitions vary based the configuration type. The following lists outline the parameters for each configuration type.\n\n- **AWS Config Recording (Type: AWS QuickSetupType-CFGRecording)** - - `RecordAllResources`\n\n- Description: (Optional) A boolean value that determines whether all supported resources are recorded. The default value is \" `true` \".\n- `ResourceTypesToRecord`\n\n- Description: (Optional) A comma separated list of resource types you want to record.\n- `RecordGlobalResourceTypes`\n\n- Description: (Optional) A boolean value that determines whether global resources are recorded with all resource configurations. The default value is \" `false` \".\n- `GlobalResourceTypesRegion`\n\n- Description: (Optional) Determines the AWS Region where global resources are recorded.\n- `UseCustomBucket`\n\n- Description: (Optional) A boolean value that determines whether a custom Amazon S3 bucket is used for delivery. The default value is \" `false` \".\n- `DeliveryBucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver configuration snapshots and configuration history files to.\n- `DeliveryBucketPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `NotificationOptions`\n\n- Description: (Optional) Determines the notification configuration for the recorder. The valid values are `NoStreaming` , `UseExistingTopic` , and `CreateTopic` . The default value is `NoStreaming` .\n- `CustomDeliveryTopicAccountId`\n\n- Description: (Optional) The ID of the AWS account where the Amazon SNS topic you want to use for notifications resides. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `CustomDeliveryTopicName`\n\n- Description: (Optional) The name of the Amazon SNS topic you want to use for notifications. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(7 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Change Manager (Type: AWS QuickSetupType-SSMChangeMgr)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `JobFunction`\n\n- Description: (Required) The name for the Change Manager job function.\n- `PermissionType`\n\n- Description: (Optional) Specifies whether you want to use default administrator permissions for the job function role, or provide a custom IAM policy. The valid values are `CustomPermissions` and `AdminPermissions` . The default value for the parameter is `CustomerPermissions` .\n- `CustomPermissions`\n\n- Description: (Optional) A JSON string containing the IAM policy you want your job function to use. You must provide a value for this parameter if you specify `CustomPermissions` for the `PermissionType` parameter.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Conformance Packs (Type: AWS QuickSetupType-CFGCPacks)** - - `DelegatedAccountId`\n\n- Description: (Optional) The ID of the delegated administrator account. This parameter is required for Organization deployments.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `none` \".\n- `CPackNames`\n\n- Description: (Required) A comma separated list of AWS Config conformance packs.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Default Host Management Configuration (Type: AWS QuickSetupType-DHMC)** - - `UpdateSsmAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **DevOps\u00a0Guru (Type: AWS QuickSetupType-DevOpsGuru)** - - `AnalyseAllResources`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru analyzes all CloudFormation stacks in the account. The default value is \" `false` \".\n- `EnableSnsNotifications`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru sends notifications when an insight is created. The default value is \" `true` \".\n- `EnableSsmOpsItems`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru creates an OpsCenter OpsItem when an insight is created. The default value is \" `true` \".\n- `EnableDriftRemediation`\n\n- Description: (Optional) A boolean value that determines whether a drift remediation schedule is used. The default value is \" `false` \".\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Distributor (Type: AWS QuickSetupType-Distributor)** - - `PackagesToInstall`\n\n- Description: (Required) A comma separated list of packages you want to install on the target instances. The valid values are `AWSEFSTools` , `AWSCWAgent` , and `AWSEC2LaunchAgent` .\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `rate(30 days)` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Host Management (Type: AWS QuickSetupType-SSMHostMgmt)** - - `UpdateSsmAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `UpdateEc2LaunchAgent`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `false` \".\n- `CollectInventory`\n\n- Description: (Optional) A boolean value that determines whether instance metadata is collected on the target instances every 30 minutes. The default value is \" `true` \".\n- `ScanInstances`\n\n- Description: (Optional) A boolean value that determines whether the target instances are scanned daily for available patches. The default value is \" `true` \".\n- `InstallCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is installed on the target instances. The default value is \" `false` \".\n- `UpdateCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is updated on the target instances every month. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Optional) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Optional) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Optional) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **OpsCenter (Type: AWS QuickSetupType-SSMOpsCenter)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Patch Policy (Type: AWS QuickSetupType-PatchPolicy)** - - `PatchPolicyName`\n\n- Description: (Required) A name for the patch policy. The value you provide is applied to target Amazon EC2 instances as a tag.\n- `SelectedPatchBaselines`\n\n- Description: (Required) An array of JSON objects containing the information for the patch baselines to include in your patch policy.\n- `PatchBaselineUseDefault`\n\n- Description: (Optional) A value that determines whether the selected patch baselines are all AWS provided. Supported values are `default` and `custom` .\n- `PatchBaselineRegion`\n\n- Description: (Required) The AWS Region where the patch baseline exist.\n- `ConfigurationOptionsPatchOperation`\n\n- Description: (Optional) Determines whether target instances scan for available patches, or scan and install available patches. The valid values are `Scan` and `ScanAndInstall` . The default value for the parameter is `Scan` .\n- `ConfigurationOptionsScanValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances scan for available patches.\n- `ConfigurationOptionsInstallValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances install available patches.\n- `ConfigurationOptionsScanNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `ConfigurationOptionsInstallNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `RebootOption`\n\n- Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` .\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `OutputLogEnableS3`\n\n- Description: (Optional) A boolean value that determines whether command output logs are sent to Amazon S3.\n- `OutputS3Location`\n\n- Description: (Optional) Information about the Amazon S3 bucket where you want to store the output details of the request.\n\n- `OutputBucketRegion`\n\n- Description: (Optional) The AWS Region where the Amazon S3 bucket you want to deliver command output to is located.\n- `OutputS3BucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want to deliver command output to.\n- `OutputS3KeyPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Explorer (Type: AWS QuickSetupType-ResourceExplorer)** - - `SelectedAggregatorRegion`\n\n- Description: (Required) The AWS Region where you want to create the aggregator index.\n- `ReplaceExistingAggregator`\n\n- Description: (Required) A boolean value that determines whether to demote an existing aggregator if it is in a Region that differs from the value you specify for the `SelectedAggregatorRegion` .\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Scheduler (Type: AWS QuickSetupType-Scheduler)** - - `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target.\n- `ICalendarString`\n\n- Description: (Required) An iCalendar formatted string containing the schedule you want Change Manager to use.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "Type": { - "markdownDescription": "The type of the Quick Setup configuration.", - "title": "Type", + "S3Bucket": { + "markdownDescription": "The bucket name of the S3 bucket to write to.", + "title": "S3Bucket", "type": "string" }, - "TypeVersion": { - "markdownDescription": "The version of the Quick Setup type used.", - "title": "TypeVersion", + "S3Prefix": { + "markdownDescription": "The S3 prefix to use for the write to the s3 bucket.", + "title": "S3Prefix", "type": "string" }, - "id": { - "markdownDescription": "The ID of the configuration definition.", - "title": "id", + "S3SseKmsKeyId": { + "markdownDescription": "The KMS Key ID to use to encrypt the message in S3.", + "title": "S3SseKmsKeyId", "type": "string" } }, "required": [ - "Parameters", - "Type" + "RoleArn", + "S3Bucket" ], "type": "object" }, - "AWS::SSMQuickSetup::ConfigurationManager.StatusSummary": { + "AWS::SES::MailManagerRuleSet.SendAction": { "additionalProperties": false, "properties": { - "LastUpdatedAt": { - "markdownDescription": "The datetime stamp when the status was last updated.", - "title": "LastUpdatedAt", - "type": "string" - }, - "Status": { - "markdownDescription": "The current status.", - "title": "Status", - "type": "string" - }, - "StatusDetails": { - "additionalProperties": true, - "markdownDescription": "Details about the status.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "StatusDetails", - "type": "object" - }, - "StatusMessage": { - "markdownDescription": "When applicable, returns an informational message relevant to the current status and status type of the status summary object. We don't recommend implementing parsing logic around this value since the messages returned can vary in format.", - "title": "StatusMessage", + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the caller does not have the permissions to call the sendRawEmail API.", + "title": "ActionFailurePolicy", "type": "string" }, - "StatusType": { - "markdownDescription": "The type of a status summary.", - "title": "StatusType", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role to use for this action. This role must have access to the ses:SendRawEmail API.", + "title": "RoleArn", "type": "string" } }, "required": [ - "LastUpdatedAt", - "StatusType" + "RoleArn" ], "type": "object" }, - "AWS::SSMQuickSetup::LifecycleAutomation": { + "AWS::SES::MailManagerRuleSet.SnsAction": { "additionalProperties": false, "properties": { - "Condition": { + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, specified SNS topic has been deleted or the role lacks necessary permissions to call the `sns:Publish` API.", + "title": "ActionFailurePolicy", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Encoding": { + "markdownDescription": "The encoding to use for the email within the Amazon SNS notification. The default value is `UTF-8` . Use `BASE64` if you need to preserve all special characters, especially when the original message uses a different encoding format.", + "title": "Encoding", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomationDocument": { - "markdownDescription": "The name of the SSM Automation document to execute in response to CloudFormation lifecycle events (CREATE, UPDATE, DELETE).", - "title": "AutomationDocument", - "type": "string" - }, - "AutomationParameters": { - "markdownDescription": "A map of key-value parameters passed to the Automation document during execution. Each parameter name maps to a list of values, even for single values. Parameters can include configuration-specific values for your automation workflow.", - "title": "AutomationParameters", - "type": "object" - }, - "ResourceKey": { - "markdownDescription": "A unique identifier used for generating the SSM Association name. This ensures uniqueness when multiple lifecycle automation resources exist in the same stack.", - "title": "ResourceKey", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags applied to the underlying SSM Association created by this resource. Tags help identify and organize automation executions.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "AutomationDocument", - "AutomationParameters", - "ResourceKey" - ], - "type": "object" + "PayloadType": { + "markdownDescription": "The expected payload type within the Amazon SNS notification. `CONTENT` attempts to publish the full email content with 20KB of headers content. `HEADERS` extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is `CONTENT` .", + "title": "PayloadType", + "type": "string" }, - "Type": { - "enum": [ - "AWS::SSMQuickSetup::LifecycleAutomation" - ], + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while writing to Amazon SNS. This role must have access to the `sns:Publish` API for the given topic.", + "title": "RoleArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.", + "title": "TopicArn", "type": "string" } }, "required": [ - "Type", - "Properties" + "RoleArn", + "TopicArn" ], "type": "object" }, - "AWS::SSO::Application": { + "AWS::SES::MailManagerTrafficPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -356149,55 +324287,47 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationProviderArn": { - "markdownDescription": "The ARN of the application provider for this application.", - "title": "ApplicationProviderArn", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the application.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The ARN of the instance of IAM Identity Center that is configured with this application.", - "title": "InstanceArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the application.", - "title": "Name", + "DefaultAction": { + "markdownDescription": "Default action instructs the tra\ufb03c policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements", + "title": "DefaultAction", "type": "string" }, - "PortalOptions": { - "$ref": "#/definitions/AWS::SSO::Application.PortalOptionsConfiguration", - "markdownDescription": "A structure that describes the options for the access portal associated with this application.", - "title": "PortalOptions" + "MaxMessageSizeBytes": { + "markdownDescription": "The maximum message size in bytes of email which is allowed in by this traffic policy\u2014anything larger will be blocked.", + "title": "MaxMessageSizeBytes", + "type": "number" }, - "Status": { - "markdownDescription": "The current status of the application in this instance of IAM Identity Center.", - "title": "Status", - "type": "string" + "PolicyStatements": { + "items": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.PolicyStatement" + }, + "markdownDescription": "Conditional statements for filtering email traffic.", + "title": "PolicyStatements", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies tags to be attached to the application.", + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" + }, + "TrafficPolicyName": { + "markdownDescription": "The name of the policy.\n\nThe policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.", + "title": "TrafficPolicyName", + "type": "string" } }, "required": [ - "ApplicationProviderArn", - "InstanceArn", - "Name" + "DefaultAction", + "PolicyStatements" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::Application" + "AWS::SES::MailManagerTrafficPolicy" ], "type": "string" }, @@ -356216,500 +324346,311 @@ ], "type": "object" }, - "AWS::SSO::Application.PortalOptionsConfiguration": { + "AWS::SES::MailManagerTrafficPolicy.IngressAnalysis": { "additionalProperties": false, "properties": { - "SignInOptions": { - "$ref": "#/definitions/AWS::SSO::Application.SignInOptions", - "markdownDescription": "A structure that describes the sign-in options for the access portal.", - "title": "SignInOptions" + "Analyzer": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Add On.", + "title": "Analyzer", + "type": "string" }, - "Visibility": { - "markdownDescription": "Indicates whether this application is visible in the access portal.", - "title": "Visibility", + "ResultField": { + "markdownDescription": "The returned value from an Add On.", + "title": "ResultField", "type": "string" } }, + "required": [ + "Analyzer", + "ResultField" + ], "type": "object" }, - "AWS::SSO::Application.SignInOptions": { + "AWS::SES::MailManagerTrafficPolicy.IngressBooleanExpression": { "additionalProperties": false, "properties": { - "ApplicationUrl": { - "markdownDescription": "The URL that accepts authentication requests for an application. This is a required parameter if the `Origin` parameter is `APPLICATION` .", - "title": "ApplicationUrl", - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressBooleanToEvaluate", + "markdownDescription": "The operand on which to perform a boolean condition operation.", + "title": "Evaluate" }, - "Origin": { - "markdownDescription": "This determines how IAM Identity Center navigates the user to the target application. It can be one of the following values:\n\n- `APPLICATION` : IAM Identity Center redirects the customer to the configured `ApplicationUrl` .\n- `IDENTITY_CENTER` : IAM Identity Center uses SAML identity-provider initiated authentication to sign the customer directly into a SAML-based application.", - "title": "Origin", + "Operator": { + "markdownDescription": "The matching operator for a boolean condition expression.", + "title": "Operator", "type": "string" } }, "required": [ - "Origin" + "Evaluate", + "Operator" ], "type": "object" }, - "AWS::SSO::ApplicationAssignment": { + "AWS::SES::MailManagerTrafficPolicy.IngressBooleanToEvaluate": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationArn": { - "markdownDescription": "The ARN of the application that has principals assigned.", - "title": "ApplicationArn", - "type": "string" - }, - "PrincipalId": { - "markdownDescription": "The unique identifier of the principal assigned to the application.", - "title": "PrincipalId", - "type": "string" - }, - "PrincipalType": { - "markdownDescription": "The type of the principal assigned to the application.", - "title": "PrincipalType", - "type": "string" - } - }, - "required": [ - "ApplicationArn", - "PrincipalId", - "PrincipalType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::ApplicationAssignment" - ], - "type": "string" + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressAnalysis", + "markdownDescription": "The structure type for a boolean condition stating the Add On ARN and its returned value.", + "title": "Analysis" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "IsInAddressList": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIsInAddressList", + "markdownDescription": "The structure type for a boolean condition that provides the address lists to evaluate incoming traffic on.", + "title": "IsInAddressList" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SSO::ApplicationProvider": { + "AWS::SES::MailManagerTrafficPolicy.IngressIpToEvaluate": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::SSO::ApplicationProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { + "markdownDescription": "An enum type representing the allowed attribute types for an IP condition.", + "title": "Attribute", "type": "string" } }, "required": [ - "Type" + "Attribute" ], "type": "object" }, - "AWS::SSO::ApplicationProvider.DisplayData": { + "AWS::SES::MailManagerTrafficPolicy.IngressIpv4Expression": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpToEvaluate", + "markdownDescription": "The left hand side argument of an IP condition expression.", + "title": "Evaluate" }, - "DisplayName": { + "Operator": { + "markdownDescription": "The matching operator for an IP condition expression.", + "title": "Operator", "type": "string" }, - "IconUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSO::ApplicationProvider.ResourceServerConfig": { - "additionalProperties": false, - "properties": { - "Scopes": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SSO::ApplicationProvider.ResourceServerScopeDetails" - } + "Values": { + "items": { + "type": "string" }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::SSO::ApplicationProvider.ResourceServerScopeDetails": { - "additionalProperties": false, - "properties": { - "DetailedTitle": { - "type": "string" - }, - "LongDescription": { - "type": "string" + "markdownDescription": "The right hand side argument of an IP condition expression.", + "title": "Values", + "type": "array" } }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], "type": "object" }, - "AWS::SSO::Assignment": { + "AWS::SES::MailManagerTrafficPolicy.IngressIpv6Expression": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv6ToEvaluate", + "markdownDescription": "The left hand side argument of an IPv6 condition expression.", + "title": "Evaluate" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Operator": { + "markdownDescription": "The matching operator for an IPv6 condition expression.", + "title": "Operator", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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 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" - }, - "PermissionSetArn": { - "markdownDescription": "The ARN of the permission set.", - "title": "PermissionSetArn", - "type": "string" - }, - "PrincipalId": { - "markdownDescription": "An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the [IAM Identity Center Identity Store API Reference](https://docs.aws.amazon.com//singlesignon/latest/IdentityStoreAPIReference/welcome.html) .", - "title": "PrincipalId", - "type": "string" - }, - "PrincipalType": { - "markdownDescription": "The entity type for which the assignment will be created.", - "title": "PrincipalType", - "type": "string" - }, - "TargetId": { - "markdownDescription": "TargetID is an AWS account identifier, (For example, 123456789012).", - "title": "TargetId", - "type": "string" - }, - "TargetType": { - "markdownDescription": "The entity type for which the assignment will be created.", - "title": "TargetType", - "type": "string" - } + "Values": { + "items": { + "type": "string" }, - "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::Assignment" - ], + "markdownDescription": "The right hand side argument of an IPv6 condition expression.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "AWS::SES::MailManagerTrafficPolicy.IngressIpv6ToEvaluate": { + "additionalProperties": false, + "properties": { + "Attribute": { + "markdownDescription": "An enum type representing the allowed attribute types for an IPv6 condition.", + "title": "Attribute", "type": "string" + } + }, + "required": [ + "Attribute" + ], + "type": "object" + }, + "AWS::SES::MailManagerTrafficPolicy.IngressIsInAddressList": { + "additionalProperties": false, + "properties": { + "AddressLists": { + "items": { + "type": "string" + }, + "markdownDescription": "The address lists that will be used for evaluation.", + "title": "AddressLists", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { + "markdownDescription": "The email attribute that needs to be evaluated against the address list.", + "title": "Attribute", "type": "string" } }, "required": [ - "Type", - "Properties" + "AddressLists", + "Attribute" ], "type": "object" }, - "AWS::SSO::Instance": { + "AWS::SES::MailManagerTrafficPolicy.IngressStringExpression": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressStringToEvaluate", + "markdownDescription": "The left hand side argument of a string condition expression.", + "title": "Evaluate" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Operator": { + "markdownDescription": "", + "title": "Operator", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { - "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" - } + "Values": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "markdownDescription": "The right hand side argument of a string condition expression.", + "title": "Values", + "type": "array" } }, "required": [ - "Type" + "Evaluate", + "Operator", + "Values" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "AWS::SES::MailManagerTrafficPolicy.IngressStringToEvaluate": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressAnalysis", + "markdownDescription": "The structure type for a string condition stating the Add On ARN and its returned value.", + "title": "Analysis" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { + "markdownDescription": "The enum type representing the allowed attribute types for a string condition.", + "title": "Attribute", "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolToEvaluate", + "markdownDescription": "The left hand side argument of a TLS condition expression.", + "title": "Evaluate" }, - "DependsOn": { - "anyOf": [ - { - "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" - ], + "Operator": { + "markdownDescription": "The matching operator for a TLS condition expression.", + "title": "Operator", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { + "markdownDescription": "The right hand side argument of a TLS condition expression.", + "title": "Value", "type": "string" } }, "required": [ - "Type", - "Properties" + "Evaluate", + "Operator", + "Value" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolToEvaluate": { "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", + "Attribute": { + "markdownDescription": "The enum type representing the allowed attribute types for the TLS condition.", + "title": "Attribute", "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" + "Attribute" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "AWS::SES::MailManagerTrafficPolicy.PolicyCondition": { "additionalProperties": false, "properties": { - "Source": { + "BooleanExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressBooleanExpression", + "markdownDescription": "This represents a boolean type condition matching on the incoming mail. It performs the boolean operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "BooleanExpression" + }, + "IpExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv4Expression", + "markdownDescription": "This represents an IP based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "IpExpression" + }, + "Ipv6Expression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv6Expression", + "markdownDescription": "This represents an IPv6 based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "Ipv6Expression" + }, + "StringExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressStringExpression", + "markdownDescription": "This represents a string based condition matching on the incoming mail. It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "StringExpression" + }, + "TlsExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolExpression", + "markdownDescription": "This represents a TLS based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "TlsExpression" + } + }, + "type": "object" + }, + "AWS::SES::MailManagerTrafficPolicy.PolicyStatement": { + "additionalProperties": false, + "properties": { + "Action": { + "markdownDescription": "The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.", + "title": "Action", + "type": "string" + }, + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.PolicyCondition" }, - "markdownDescription": "The identity source to use when mapping a specified attribute to .", - "title": "Source", + "markdownDescription": "The list of conditions to apply to incoming messages for filtering email traffic.", + "title": "Conditions", "type": "array" } }, "required": [ - "Source" + "Action", + "Conditions" ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SES::MultiRegionEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -356744,75 +324685,34 @@ "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" + "Details": { + "$ref": "#/definitions/AWS::SES::MultiRegionEndpoint.Details", + "markdownDescription": "Contains details of a multi-region endpoint (global-endpoint) being created.", + "title": "Details" }, - "SessionDuration": { - "markdownDescription": "The length of time that the application user sessions are valid for in the ISO-8601 standard.", - "title": "SessionDuration", + "EndpointName": { + "markdownDescription": "The name of the multi-region endpoint (global-endpoint).", + "title": "EndpointName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to attach to the new `PermissionSet` .", + "markdownDescription": "An array of objects that define the tags (keys and values) to associate with the multi-region endpoint (global-endpoint).", "title": "Tags", "type": "array" } }, "required": [ - "InstanceArn", - "Name" + "Details", + "EndpointName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::PermissionSet" + "AWS::SES::MultiRegionEndpoint" ], "type": "string" }, @@ -356831,42 +324731,38 @@ ], "type": "object" }, - "AWS::SSO::PermissionSet.CustomerManagedPolicyReference": { + "AWS::SES::MultiRegionEndpoint.Details": { "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" + "RouteDetails": { + "items": { + "$ref": "#/definitions/AWS::SES::MultiRegionEndpoint.RouteDetailsItems" + }, + "markdownDescription": "A list of route configuration details. Must contain exactly one route configuration.", + "title": "RouteDetails", + "type": "array" } }, "required": [ - "Name" + "RouteDetails" ], "type": "object" }, - "AWS::SSO::PermissionSet.PermissionsBoundary": { + "AWS::SES::MultiRegionEndpoint.RouteDetailsItems": { "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", + "Region": { + "markdownDescription": "The name of an AWS-Region to be a secondary region for the multi-region endpoint (global-endpoint).", + "title": "Region", "type": "string" } }, + "required": [ + "Region" + ], "type": "object" }, - "AWS::SageMaker::Action": { + "AWS::SES::ReceiptFilter": { "additionalProperties": false, "properties": { "Condition": { @@ -356901,50 +324797,20 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionName": { - "type": "string" - }, - "ActionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MetadataProperties": { - "$ref": "#/definitions/AWS::SageMaker::Action.MetadataProperties" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Source": { - "$ref": "#/definitions/AWS::SageMaker::Action.ActionSource" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter", + "markdownDescription": "A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it.", + "title": "Filter" } }, "required": [ - "ActionName", - "ActionType", - "Source" + "Filter" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Action" + "AWS::SES::ReceiptFilter" ], "type": "string" }, @@ -356963,43 +324829,46 @@ ], "type": "object" }, - "AWS::SageMaker::Action.ActionSource": { + "AWS::SES::ReceiptFilter.Filter": { "additionalProperties": false, "properties": { - "SourceId": { - "type": "string" - }, - "SourceType": { - "type": "string" + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter", + "markdownDescription": "A structure that provides the IP addresses to block or allow, and whether to block or allow incoming mail from them.", + "title": "IpFilter" }, - "SourceUri": { + "Name": { + "markdownDescription": "The name of the IP address filter. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Start and end with a letter or number.\n- Contain 64 characters or fewer.", + "title": "Name", "type": "string" } }, "required": [ - "SourceUri" + "IpFilter" ], "type": "object" }, - "AWS::SageMaker::Action.MetadataProperties": { + "AWS::SES::ReceiptFilter.IpFilter": { "additionalProperties": false, "properties": { - "CommitId": { - "type": "string" - }, - "GeneratedBy": { - "type": "string" - }, - "ProjectId": { + "Cidr": { + "markdownDescription": "A single IP address or a range of IP addresses to block or allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example of a single email address is 10.0.0.1. An example of a range of IP addresses is 10.0.0.1/24. For more information about CIDR notation, see [RFC 2317](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc2317) .", + "title": "Cidr", "type": "string" }, - "Repository": { + "Policy": { + "markdownDescription": "Indicates whether to block or allow incoming mail from the specified IP addresses.", + "title": "Policy", "type": "string" } }, + "required": [ + "Cidr", + "Policy" + ], "type": "object" }, - "AWS::SageMaker::Algorithm": { + "AWS::SES::ReceiptRule": { "additionalProperties": false, "properties": { "Condition": { @@ -357034,37 +324903,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AlgorithmDescription": { - "type": "string" - }, - "AlgorithmName": { + "After": { + "markdownDescription": "The name of an existing rule after which the new rule is placed. If this parameter is null, the new rule is inserted at the beginning of the rule list.", + "title": "After", "type": "string" }, - "CertifyForMarketplace": { - "type": "boolean" - }, - "InferenceSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.InferenceSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule", + "markdownDescription": "A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.", + "title": "Rule" }, - "TrainingSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.TrainingSpecification" + "RuleSetName": { + "markdownDescription": "The name of the rule set where the receipt rule is added.", + "title": "RuleSetName", + "type": "string" } }, "required": [ - "AlgorithmName", - "TrainingSpecification" + "Rule", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Algorithm" + "AWS::SES::ReceiptRule" ], "type": "string" }, @@ -357083,313 +324946,283 @@ ], "type": "object" }, - "AWS::SageMaker::Algorithm.CategoricalParameterRangeSpecification": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Values" - ], - "type": "object" - }, - "AWS::SageMaker::Algorithm.ChannelSpecification": { + "AWS::SES::ReceiptRule.Action": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction", + "markdownDescription": "Adds a header to the received email.", + "title": "AddHeaderAction" }, - "IsRequired": { - "type": "boolean" + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction", + "markdownDescription": "Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).", + "title": "BounceAction" }, - "Name": { - "type": "string" + "ConnectAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.ConnectAction", + "markdownDescription": "The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.", + "title": "ConnectAction" }, - "SupportedCompressionTypes": { - "items": { - "type": "string" - }, - "type": "array" + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction", + "markdownDescription": "Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.", + "title": "LambdaAction" }, - "SupportedContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action", + "markdownDescription": "Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon SNS.", + "title": "S3Action" }, - "SupportedInputModes": { - "items": { - "type": "string" - }, - "type": "array" + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction", + "markdownDescription": "Publishes the email content within a notification to Amazon SNS.", + "title": "SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction", + "markdownDescription": "Terminates the evaluation of the receipt rule set and optionally publishes a notification to Amazon SNS.", + "title": "StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction", + "markdownDescription": "Calls Amazon WorkMail and, optionally, publishes a notification to Amazon SNS.", + "title": "WorkmailAction" } }, - "required": [ - "Name", - "SupportedContentTypes", - "SupportedInputModes" - ], "type": "object" }, - "AWS::SageMaker::Algorithm.ContinuousParameterRangeSpecification": { + "AWS::SES::ReceiptRule.AddHeaderAction": { "additionalProperties": false, "properties": { - "MaxValue": { + "HeaderName": { + "markdownDescription": "The name of the header to add to the incoming message. The name must contain at least one character, and can contain up to 50 characters. It consists of alphanumeric ( `a\u2013z, A\u2013Z, 0\u20139` ) characters and dashes.", + "title": "HeaderName", "type": "string" }, - "MinValue": { + "HeaderValue": { + "markdownDescription": "The content to include in the header. This value can contain up to 2048 characters. It can't contain newline ( `\\n` ) or carriage return ( `\\r` ) characters.", + "title": "HeaderValue", "type": "string" } }, "required": [ - "MaxValue", - "MinValue" + "HeaderName", + "HeaderValue" ], "type": "object" }, - "AWS::SageMaker::Algorithm.HyperParameterSpecification": { + "AWS::SES::ReceiptRule.BounceAction": { "additionalProperties": false, "properties": { - "DefaultValue": { + "Message": { + "markdownDescription": "Human-readable text to include in the bounce message.", + "title": "Message", "type": "string" }, - "Description": { + "Sender": { + "markdownDescription": "The email address of the sender of the bounced email. This is the address from which the bounce message is sent.", + "title": "Sender", "type": "string" }, - "IsRequired": { - "type": "boolean" - }, - "IsTunable": { - "type": "boolean" + "SmtpReplyCode": { + "markdownDescription": "The SMTP reply code, as defined by [RFC 5321](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5321) .", + "title": "SmtpReplyCode", + "type": "string" }, - "Name": { + "StatusCode": { + "markdownDescription": "The SMTP enhanced status code, as defined by [RFC 3463](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc3463) .", + "title": "StatusCode", "type": "string" }, - "Range": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ParameterRange" + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", + "type": "string" + } + }, + "required": [ + "Message", + "Sender", + "SmtpReplyCode" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.ConnectAction": { + "additionalProperties": false, + "properties": { + "IAMRoleARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used by Amazon Simple Email Service while starting email contacts to the Amazon Connect instance. This role should have permission to invoke `connect:StartEmailContact` for the given Amazon Connect instance.", + "title": "IAMRoleARN", + "type": "string" }, - "Type": { + "InstanceARN": { + "markdownDescription": "The Amazon Resource Name (ARN) for the Amazon Connect instance that Amazon SES integrates with for starting email contacts.\n\nFor more information about Amazon Connect instances, see the [Amazon Connect Administrator Guide](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-instances.html)", + "title": "InstanceARN", "type": "string" } }, "required": [ - "Name", - "Type" + "IAMRoleARN", + "InstanceARN" ], "type": "object" }, - "AWS::SageMaker::Algorithm.HyperParameterTuningJobObjective": { + "AWS::SES::ReceiptRule.LambdaAction": { "additionalProperties": false, "properties": { - "MetricName": { + "FunctionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is `arn:aws:lambda:us-west-2:account-id:function:MyFunction` . For more information about AWS Lambda, see the [AWS Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) .", + "title": "FunctionArn", "type": "string" }, - "Type": { + "InvocationType": { + "markdownDescription": "The invocation type of the AWS Lambda function. An invocation type of `RequestResponse` means that the execution of the function immediately results in a response, and a value of `Event` means that the function is invoked asynchronously. The default value is `Event` . For information about AWS Lambda invocation types, see the [AWS Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) .\n\n> There is a 30-second timeout on `RequestResponse` invocations. You should use `Event` invocation in most cases. Use `RequestResponse` only to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.", + "title": "InvocationType", + "type": "string" + }, + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is executed. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", "type": "string" } }, "required": [ - "MetricName", - "Type" + "FunctionArn" ], "type": "object" }, - "AWS::SageMaker::Algorithm.InferenceSpecification": { + "AWS::SES::ReceiptRule.Rule": { "additionalProperties": false, "properties": { - "Containers": { + "Actions": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ModelPackageContainerDefinition" + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" }, + "markdownDescription": "An ordered list of actions to perform on messages that match at least one of the recipient email addresses or domains specified in the receipt rule.", + "title": "Actions", "type": "array" }, - "SupportedContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "Enabled": { + "markdownDescription": "If `true` , the receipt rule is active. The default value is `false` .", + "title": "Enabled", + "type": "boolean" }, - "SupportedRealtimeInferenceInstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" + "Name": { + "markdownDescription": "The name of the receipt rule. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), dashes (-), or periods (.).\n- Start and end with a letter or number.\n- Contain 64 characters or fewer.", + "title": "Name", + "type": "string" }, - "SupportedResponseMIMETypes": { + "Recipients": { "items": { "type": "string" }, + "markdownDescription": "The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule matches all recipients on all verified domains.", + "title": "Recipients", "type": "array" }, - "SupportedTransformInstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" + "ScanEnabled": { + "markdownDescription": "If `true` , then messages that this receipt rule applies to are scanned for spam and viruses. The default value is `false` .", + "title": "ScanEnabled", + "type": "boolean" + }, + "TlsPolicy": { + "markdownDescription": "Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to `Require` , Amazon SES bounces emails that are not received over TLS. The default is `Optional` .\n\nValid Values: `Require | Optional`", + "title": "TlsPolicy", + "type": "string" } }, - "required": [ - "Containers" - ], "type": "object" }, - "AWS::SageMaker::Algorithm.IntegerParameterRangeSpecification": { + "AWS::SES::ReceiptRule.S3Action": { "additionalProperties": false, "properties": { - "MaxValue": { + "BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket for incoming email.", + "title": "BucketName", "type": "string" }, - "MinValue": { + "IamRoleArn": { + "markdownDescription": "The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic. This role should have access to the following APIs:\n\n- `s3:PutObject` , `kms:Encrypt` and `kms:GenerateDataKey` for the given Amazon S3 bucket.\n- `kms:GenerateDataKey` for the given AWS KMS customer managed key.\n- `sns:Publish` for the given Amazon SNS topic.\n\n> If an IAM role ARN is provided, the role (and only the role) is used to access all the given resources (Amazon S3 bucket, AWS KMS customer managed key and Amazon SNS topic). Therefore, setting up individual resource access permissions is not required.", + "title": "IamRoleArn", "type": "string" - } - }, - "required": [ - "MaxValue", - "MinValue" - ], - "type": "object" - }, - "AWS::SageMaker::Algorithm.MetricDefinition": { - "additionalProperties": false, - "properties": { - "Name": { + }, + "KmsKeyArn": { + "markdownDescription": "The customer managed key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the AWS managed key or a customer managed key that you created in AWS KMS as follows:\n\n- To use the AWS managed key, provide an ARN in the form of `arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses` . For example, if your AWS account ID is 123456789012 and you want to use the AWS managed key in the US West (Oregon) Region, the ARN of the AWS managed key would be `arn:aws:kms:us-west-2:123456789012:alias/aws/ses` . If you use the AWS managed key, you don't need to perform any extra steps to give Amazon SES permission to use the key.\n- To use a customer managed key that you created in AWS KMS, provide the ARN of the customer managed key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the [Amazon SES Developer Guide](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-permissions.html) .\n\nFor more information about key policies, see the [AWS KMS Developer Guide](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) . If you do not specify an AWS KMS key, Amazon SES does not encrypt your emails.\n\n> Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the [AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java/) and [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby/) only. For more information about client-side encryption using AWS KMS managed keys, see the [Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html) .", + "title": "KmsKeyArn", "type": "string" }, - "Regex": { + "ObjectKeyPrefix": { + "markdownDescription": "The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory name that enables you to store similar data under the same directory in a bucket.", + "title": "ObjectKeyPrefix", + "type": "string" + }, + "TopicArn": { + "markdownDescription": "The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", "type": "string" } }, "required": [ - "Name", - "Regex" + "BucketName" ], "type": "object" }, - "AWS::SageMaker::Algorithm.ModelInput": { + "AWS::SES::ReceiptRule.SNSAction": { "additionalProperties": false, "properties": { - "DataInputConfig": { + "Encoding": { + "markdownDescription": "The encoding to use for the email within the Amazon SNS notification. The default value is `UTF-8` . Use `BASE64` if you need to preserve all special characters, especially when the original message uses a different encoding format.", + "title": "Encoding", + "type": "string" + }, + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.", + "title": "TopicArn", "type": "string" } }, - "required": [ - "DataInputConfig" - ], "type": "object" }, - "AWS::SageMaker::Algorithm.ModelPackageContainerDefinition": { + "AWS::SES::ReceiptRule.StopAction": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Framework": { - "type": "string" - }, - "FrameworkVersion": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "ImageDigest": { + "Scope": { + "markdownDescription": "The scope of the StopAction. The only acceptable value is `RuleSet` .", + "title": "Scope", "type": "string" }, - "IsCheckpoint": { - "type": "boolean" - }, - "ModelInput": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ModelInput" - }, - "NearestModelName": { + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is taken. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) Amazon SNS operation.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", "type": "string" } }, "required": [ - "Image" + "Scope" ], "type": "object" }, - "AWS::SageMaker::Algorithm.ParameterRange": { - "additionalProperties": false, - "properties": { - "CategoricalParameterRangeSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.CategoricalParameterRangeSpecification" - }, - "ContinuousParameterRangeSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ContinuousParameterRangeSpecification" - }, - "IntegerParameterRangeSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.IntegerParameterRangeSpecification" - } - }, - "type": "object" - }, - "AWS::SageMaker::Algorithm.TrainingSpecification": { + "AWS::SES::ReceiptRule.WorkmailAction": { "additionalProperties": false, "properties": { - "MetricDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.MetricDefinition" - }, - "type": "array" - }, - "SupportedHyperParameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.HyperParameterSpecification" - }, - "type": "array" - }, - "SupportedTrainingInstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SupportedTuningJobObjectiveMetrics": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.HyperParameterTuningJobObjective" - }, - "type": "array" - }, - "SupportsDistributedTraining": { - "type": "boolean" - }, - "TrainingChannels": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ChannelSpecification" - }, - "type": "array" - }, - "TrainingImage": { + "OrganizationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon WorkMail organization. Amazon WorkMail ARNs use the following format:\n\n`arn:aws:workmail:::organization/`\n\nYou can find the ID of your organization by using the [ListOrganizations](https://docs.aws.amazon.com/workmail/latest/APIReference/API_ListOrganizations.html) operation in Amazon WorkMail. Amazon WorkMail organization IDs begin with \" `m-` \", followed by a string of alphanumeric characters.\n\nFor information about Amazon WorkMail organizations, see the [Amazon WorkMail Administrator Guide](https://docs.aws.amazon.com/workmail/latest/adminguide/organizations_overview.html) .", + "title": "OrganizationArn", "type": "string" }, - "TrainingImageDigest": { + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the WorkMail action is called. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", "type": "string" } }, "required": [ - "SupportedTrainingInstanceTypes", - "TrainingChannels", - "TrainingImage" + "OrganizationArn" ], "type": "object" }, - "AWS::SageMaker::App": { + "AWS::SES::ReceiptRuleSet": { "additionalProperties": false, "properties": { "Condition": { @@ -357424,56 +325257,17 @@ "Properties": { "additionalProperties": false, "properties": { - "AppName": { - "markdownDescription": "The name of the app.", - "title": "AppName", - "type": "string" - }, - "AppType": { - "markdownDescription": "The type of app.", - "title": "AppType", - "type": "string" - }, - "DomainId": { - "markdownDescription": "The domain ID.", - "title": "DomainId", - "type": "string" - }, - "RecoveryMode": { - "markdownDescription": "", - "title": "RecoveryMode", - "type": "boolean" - }, - "ResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec", - "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", - "title": "ResourceSpec" - }, - "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" - }, - "UserProfileName": { - "markdownDescription": "The user profile name.", - "title": "UserProfileName", + "RuleSetName": { + "markdownDescription": "The name of the receipt rule set to make active. Setting this value to null disables all email receiving.", + "title": "RuleSetName", "type": "string" } }, - "required": [ - "AppName", - "AppType", - "DomainId", - "UserProfileName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::App" + "AWS::SES::ReceiptRuleSet" ], "type": "string" }, @@ -357487,38 +325281,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::App.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", - "title": "InstanceType", - "type": "string" - }, - "LifecycleConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", - "title": "LifecycleConfigArn", - "type": "string" - }, - "SageMakerImageArn": { - "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", - "title": "SageMakerImageArn", - "type": "string" - }, - "SageMakerImageVersionArn": { - "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", - "title": "SageMakerImageVersionArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig": { + "AWS::SES::Template": { "additionalProperties": false, "properties": { "Condition": { @@ -357553,196 +325320,70 @@ "Properties": { "additionalProperties": false, "properties": { - "AppImageConfigName": { - "markdownDescription": "The name of the AppImageConfig. Must be unique to your account.", - "title": "AppImageConfigName", - "type": "string" - }, - "CodeEditorAppImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.CodeEditorAppImageConfig", - "markdownDescription": "The configuration for the file system and the runtime, such as the environment variables and entry point.", - "title": "CodeEditorAppImageConfig" - }, - "JupyterLabAppImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.JupyterLabAppImageConfig", - "markdownDescription": "The configuration for the file system and the runtime, such as the environment variables and entry point.", - "title": "JupyterLabAppImageConfig" - }, - "KernelGatewayImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig", - "markdownDescription": "The configuration for the file system and kernels in the SageMaker AI image.", - "title": "KernelGatewayImageConfig" - }, "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": [ - "AppImageConfigName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::AppImageConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.CodeEditorAppImageConfig": { - "additionalProperties": false, - "properties": { - "ContainerConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.ContainerConfig", - "markdownDescription": "", - "title": "ContainerConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.ContainerConfig": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "The arguments for the container when you're running the application.", - "title": "ContainerArguments", - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "markdownDescription": "The entrypoint used to run the application in the container.", - "title": "ContainerEntrypoint", - "type": "array" - }, - "ContainerEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.CustomImageContainerEnvironmentVariable" - }, - "markdownDescription": "The environment variables to set in the container", - "title": "ContainerEnvironmentVariables", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.CustomImageContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The key that identifies a container environment variable.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of the container environment variable.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "DefaultGid": { - "markdownDescription": "The default POSIX group ID (GID). If not specified, defaults to `100` .", - "title": "DefaultGid", - "type": "number" - }, - "DefaultUid": { - "markdownDescription": "The default POSIX user ID (UID). If not specified, defaults to `1000` .", - "title": "DefaultUid", - "type": "number" - }, - "MountPath": { - "markdownDescription": "The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to */home/sagemaker-user* .", - "title": "MountPath", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.JupyterLabAppImageConfig": { - "additionalProperties": false, - "properties": { - "ContainerConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.ContainerConfig", - "markdownDescription": "The configuration used to run the application image container.", - "title": "ContainerConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { - "additionalProperties": false, - "properties": { - "FileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig", - "markdownDescription": "The Amazon Elastic File System storage configuration for a SageMaker AI image.", - "title": "FileSystemConfig" - }, - "KernelSpecs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template", + "markdownDescription": "The content of the email, composed of a subject line and either an HTML part or a text-only part.", + "title": "Template" + } }, - "markdownDescription": "The specification of the Jupyter kernels in the image.", - "title": "KernelSpecs", - "type": "array" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "KernelSpecs" + "Type" ], "type": "object" }, - "AWS::SageMaker::AppImageConfig.KernelSpec": { + "AWS::SES::Template.Template": { "additionalProperties": false, "properties": { - "DisplayName": { - "markdownDescription": "The display name of the kernel.", - "title": "DisplayName", + "HtmlPart": { + "markdownDescription": "The HTML body of the email.", + "title": "HtmlPart", "type": "string" }, - "Name": { - "markdownDescription": "The name of the Jupyter kernel in the image. This value is case sensitive.", - "title": "Name", + "SubjectPart": { + "markdownDescription": "The subject line of the email.", + "title": "SubjectPart", + "type": "string" + }, + "TemplateName": { + "markdownDescription": "The name of the template. You will refer to this name when you send email using the `SendEmail` or `SendBulkEmail` operations.", + "title": "TemplateName", + "type": "string" + }, + "TextPart": { + "markdownDescription": "The email body that is visible to recipients whose email clients do not display HTML content.", + "title": "TextPart", "type": "string" } }, "required": [ - "Name" + "SubjectPart" ], "type": "object" }, - "AWS::SageMaker::Artifact": { + "AWS::SES::Tenant": { "additionalProperties": false, "properties": { "Condition": { @@ -357777,43 +325418,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ArtifactName": { - "type": "string" - }, - "ArtifactType": { - "type": "string" - }, - "MetadataProperties": { - "$ref": "#/definitions/AWS::SageMaker::Artifact.MetadataProperties" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "ResourceAssociations": { + "items": { + "$ref": "#/definitions/AWS::SES::Tenant.ResourceAssociation" }, - "type": "object" - }, - "Source": { - "$ref": "#/definitions/AWS::SageMaker::Artifact.ArtifactSource" + "markdownDescription": "The list of resources to associate with the tenant.", + "title": "ResourceAssociations", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "An array of objects that define the tags (keys and values) associated with the tenant.", + "title": "Tags", "type": "array" + }, + "TenantName": { + "markdownDescription": "The name of a tenant. The name can contain up to 64 alphanumeric characters, including letters, numbers, hyphens (-) and underscores (_) only.", + "title": "TenantName", + "type": "string" } }, "required": [ - "ArtifactType", - "Source" + "TenantName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Artifact" + "AWS::SES::Tenant" ], "type": "string" }, @@ -357832,59 +325466,111 @@ ], "type": "object" }, - "AWS::SageMaker::Artifact.ArtifactSource": { + "AWS::SES::Tenant.ResourceAssociation": { "additionalProperties": false, "properties": { - "SourceTypes": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Artifact.ArtifactSourceType" - }, - "type": "array" - }, - "SourceUri": { + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource associated with the tenant.", + "title": "ResourceArn", "type": "string" } }, "required": [ - "SourceUri" + "ResourceArn" ], "type": "object" }, - "AWS::SageMaker::Artifact.ArtifactSourceType": { + "AWS::SES::VdmAttributes": { "additionalProperties": false, "properties": { - "SourceIdType": { + "Condition": { "type": "string" }, - "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": { + "DashboardAttributes": { + "$ref": "#/definitions/AWS::SES::VdmAttributes.DashboardAttributes", + "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Dashboard.", + "title": "DashboardAttributes" + }, + "GuardianAttributes": { + "$ref": "#/definitions/AWS::SES::VdmAttributes.GuardianAttributes", + "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Guardian.", + "title": "GuardianAttributes" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::VdmAttributes" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SourceIdType", - "Value" + "Type" ], "type": "object" }, - "AWS::SageMaker::Artifact.MetadataProperties": { + "AWS::SES::VdmAttributes.DashboardAttributes": { "additionalProperties": false, "properties": { - "CommitId": { - "type": "string" - }, - "GeneratedBy": { - "type": "string" - }, - "ProjectId": { + "EngagementMetrics": { + "markdownDescription": "Specifies the status of your VDM engagement metrics collection. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables engagement metrics for your account.\n- `DISABLED` \u2013 Amazon SES disables engagement metrics for your account.", + "title": "EngagementMetrics", "type": "string" - }, - "Repository": { + } + }, + "type": "object" + }, + "AWS::SES::VdmAttributes.GuardianAttributes": { + "additionalProperties": false, + "properties": { + "OptimizedSharedDelivery": { + "markdownDescription": "Specifies the status of your VDM optimized shared delivery. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables optimized shared delivery for your account.\n- `DISABLED` \u2013 Amazon SES disables optimized shared delivery for your account.", + "title": "OptimizedSharedDelivery", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::AutoMLJob": { + "AWS::SMSVOICE::ConfigurationSet": { "additionalProperties": false, "properties": { "Condition": { @@ -357919,34 +325605,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMLJobConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobConfig" - }, - "AutoMLJobObjective": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobObjective" + "ConfigurationSetName": { + "markdownDescription": "The name of the ConfigurationSet.", + "title": "ConfigurationSetName", + "type": "string" }, - "GenerateCandidateDefinitionsOnly": { - "type": "boolean" + "DefaultSenderId": { + "markdownDescription": "The default sender ID used by the ConfigurationSet.", + "title": "DefaultSenderId", + "type": "string" }, - "InputDataConfig": { + "EventDestinations": { "items": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLChannel" + "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.EventDestination" }, + "markdownDescription": "An array of EventDestination objects that describe any events to log and where to log them.", + "title": "EventDestinations", "type": "array" }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig" - }, - "ProblemType": { - "type": "string" + "MessageFeedbackEnabled": { + "markdownDescription": "Set to true to enable feedback for the message.", + "title": "MessageFeedbackEnabled", + "type": "boolean" }, - "RoleArn": { + "ProtectConfigurationId": { + "markdownDescription": "The unique identifier for the protect configuration.", + "title": "ProtectConfigurationId", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "An array of key and value pair tags that's associated with the new configuration set.", + "title": "Tags", "type": "array" } }, @@ -357954,7 +325646,7 @@ }, "Type": { "enum": [ - "AWS::SageMaker::AutoMLJob" + "AWS::SMSVOICE::ConfigurationSet" ], "type": "string" }, @@ -357972,198 +325664,176 @@ ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLAlgorithmConfig": { - "additionalProperties": false, - "properties": { - "AutoMLAlgorithms": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AutoMLAlgorithms" - ], - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLCandidateGenerationConfig": { - "additionalProperties": false, - "properties": { - "AlgorithmsConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLAlgorithmConfig" - }, - "type": "array" - }, - "FeatureSpecificationS3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLChannel": { + "AWS::SMSVOICE::ConfigurationSet.CloudWatchLogsDestination": { "additionalProperties": false, "properties": { - "ChannelType": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "ContentType": { + "IamRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management role that is able to write event data to an Amazon CloudWatch destination.", + "title": "IamRoleArn", "type": "string" }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSource" - }, - "TargetAttributeName": { + "LogGroupArn": { + "markdownDescription": "The name of the Amazon CloudWatch log group that you want to record events in.", + "title": "LogGroupArn", "type": "string" } }, "required": [ - "TargetAttributeName" - ], - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLS3DataSource" - } - }, - "required": [ - "S3DataSource" + "IamRoleArn", + "LogGroupArn" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig": { - "additionalProperties": false, - "properties": { - "ValidationFraction": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria": { + "AWS::SMSVOICE::ConfigurationSet.EventDestination": { "additionalProperties": false, "properties": { - "MaxAutoMLJobRuntimeInSeconds": { - "type": "number" - }, - "MaxCandidates": { - "type": "number" + "CloudWatchLogsDestination": { + "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.CloudWatchLogsDestination", + "markdownDescription": "An object that contains information about an event destination that sends logging events to Amazon CloudWatch logs.", + "title": "CloudWatchLogsDestination" }, - "MaxRuntimePerTrainingJobInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLJobConfig": { - "additionalProperties": false, - "properties": { - "CandidateGenerationConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLCandidateGenerationConfig" + "Enabled": { + "markdownDescription": "When set to true events will be logged.", + "title": "Enabled", + "type": "boolean" }, - "CompletionCriteria": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + "EventDestinationName": { + "markdownDescription": "The name of the EventDestination.", + "title": "EventDestinationName", + "type": "string" }, - "DataSplitConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig" + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.KinesisFirehoseDestination", + "markdownDescription": "An object that contains information about an event destination for logging to Amazon Data Firehose.", + "title": "KinesisFirehoseDestination" }, - "Mode": { - "type": "string" + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of event types that determine which events to log.\n\n> The `TEXT_SENT` event type is not supported.", + "title": "MatchingEventTypes", + "type": "array" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLJobObjective": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" + "SnsDestination": { + "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.SnsDestination", + "markdownDescription": "An object that contains information about an event destination that sends logging events to Amazon SNS.", + "title": "SnsDestination" } }, "required": [ - "MetricName" + "Enabled", + "EventDestinationName", + "MatchingEventTypes" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig": { + "AWS::SMSVOICE::ConfigurationSet.KinesisFirehoseDestination": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "DeliveryStreamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the delivery stream.", + "title": "DeliveryStreamArn", "type": "string" }, - "S3OutputPath": { + "IamRoleArn": { + "markdownDescription": "The ARN of an AWS Identity and Access Management role that is able to write event data to an Amazon Data Firehose destination.", + "title": "IamRoleArn", "type": "string" } }, "required": [ - "S3OutputPath" + "DeliveryStreamArn", + "IamRoleArn" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLS3DataSource": { + "AWS::SMSVOICE::ConfigurationSet.SnsDestination": { "additionalProperties": false, "properties": { - "S3DataType": { - "type": "string" - }, - "S3Uri": { + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to.", + "title": "TopicArn", "type": "string" } }, "required": [ - "S3DataType", - "S3Uri" + "TopicArn" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig": { + "AWS::SMSVOICE::OptOutList": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" + "Condition": { + "type": "string" }, - "VolumeKmsKeyId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Subnets": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "OptOutListName": { + "markdownDescription": "The name of the OptOutList.", + "title": "OptOutListName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of tags (key and value pairs) to associate with the new OptOutList.", + "title": "Tags", + "type": "array" + } }, - "type": "array" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SMSVOICE::OptOutList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "Type" ], "type": "object" }, - "AWS::SageMaker::Cluster": { + "AWS::SMSVOICE::PhoneNumber": { "additionalProperties": false, "properties": { "Condition": { @@ -358198,79 +325868,77 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScaling": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterAutoScalingConfig", - "markdownDescription": "", - "title": "AutoScaling" + "DeletionProtectionEnabled": { + "markdownDescription": "By default this is set to false. When set to true the phone number can't be deleted.", + "title": "DeletionProtectionEnabled", + "type": "boolean" }, - "ClusterName": { - "markdownDescription": "The name of the SageMaker HyperPod cluster.", - "title": "ClusterName", + "IsoCountryCode": { + "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", + "title": "IsoCountryCode", "type": "string" }, - "ClusterRole": { - "markdownDescription": "", - "title": "ClusterRole", - "type": "string" + "MandatoryKeywords": { + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeywords", + "markdownDescription": "Creates or updates a `MandatoryKeyword` configuration on an origination phone number 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" }, - "InstanceGroups": { + "NumberCapabilities": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceGroup" + "type": "string" }, - "markdownDescription": "The instance groups of the SageMaker HyperPod cluster. To delete an instance group, remove it from the array.", - "title": "InstanceGroups", + "markdownDescription": "Indicates if the phone number will be used for text messages, voice messages, or both.", + "title": "NumberCapabilities", "type": "array" }, - "NodeProvisioningMode": { - "markdownDescription": "", - "title": "NodeProvisioningMode", + "NumberType": { + "markdownDescription": "The type of phone number to request.\n\n> The `ShortCode` number type is not supported in AWS CloudFormation .", + "title": "NumberType", "type": "string" }, - "NodeRecovery": { - "markdownDescription": "Specifies whether to enable or disable the automatic node recovery feature of SageMaker HyperPod. Available values are `Automatic` for enabling and `None` for disabling.", - "title": "NodeRecovery", + "OptOutListName": { + "markdownDescription": "The name of the OptOutList associated with the phone number.", + "title": "OptOutListName", "type": "string" }, - "Orchestrator": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.Orchestrator", - "markdownDescription": "The orchestrator type for the SageMaker HyperPod cluster. Currently, `'eks'` is the only available option.", - "title": "Orchestrator" - }, - "RestrictedInstanceGroups": { + "OptionalKeywords": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterRestrictedInstanceGroup" + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.OptionalKeyword" }, - "markdownDescription": "", - "title": "RestrictedInstanceGroups", + "markdownDescription": "A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging responds with a customizable message. Optional keywords are differentiated from mandatory keywords. 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" }, - "RestrictedInstanceGroupsConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.RestrictedInstanceGroupsConfig" + "SelfManagedOptOutsEnabled": { + "markdownDescription": "When set to false and 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 request. For more information see [Self-managed opt-outs](https://docs.aws.amazon.com/sms-voice/latest/userguide/opt-out-list-self-managed.html)", + "title": "SelfManagedOptOutsEnabled", + "type": "boolean" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A tag object that consists of a key and an optional value, used to manage metadata for SageMaker AWS resources.\n\nYou can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see [AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html) .\n\nFor more information on adding metadata to your AWS resources with tagging, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) . For advice on best practices for managing AWS resources with tagging, see [Tagging Best Practices: Implement an Effective AWS Resource Tagging Strategy](https://docs.aws.amazon.com/https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) .", + "markdownDescription": "An array of tags (key and value pairs) to associate with the requested phone number.", "title": "Tags", "type": "array" }, - "TieredStorageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.TieredStorageConfig", - "markdownDescription": "", - "title": "TieredStorageConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", - "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", - "title": "VpcConfig" + "TwoWay": { + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.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": [ + "IsoCountryCode", + "MandatoryKeywords", + "NumberCapabilities", + "NumberType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Cluster" + "AWS::SMSVOICE::PhoneNumber" ], "type": "string" }, @@ -358284,677 +325952,423 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Cluster.AlarmDetails": { + "AWS::SMSVOICE::PhoneNumber.MandatoryKeyword": { "additionalProperties": false, "properties": { - "AlarmName": { - "markdownDescription": "The name of the alarm.", - "title": "AlarmName", + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", "type": "string" } }, "required": [ - "AlarmName" + "Message" ], "type": "object" }, - "AWS::SageMaker::Cluster.AutoPatchConfig": { + "AWS::SMSVOICE::PhoneNumber.MandatoryKeywords": { "additionalProperties": false, "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.DeploymentConfig" - }, - "PatchSchedule": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.PatchSchedule" + "HELP": { + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeyword", + "markdownDescription": "Specifies the `HELP` keyword that customers use to obtain customer support for this phone number. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", + "title": "HELP" }, - "PatchingStrategy": { - "type": "string" + "STOP": { + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeyword", + "markdownDescription": "Specifies the `STOP` keyword that customers use to opt out of receiving messages from this phone number. 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": [ - "PatchingStrategy" + "HELP", + "STOP" ], "type": "object" }, - "AWS::SageMaker::Cluster.CapacitySizeConfig": { + "AWS::SMSVOICE::PhoneNumber.OptionalKeyword": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "Specifies whether SageMaker should process the update by amount or percentage of instances.", - "title": "Type", + "Action": { + "markdownDescription": "The action to perform when the keyword is used.", + "title": "Action", "type": "string" }, - "Value": { - "markdownDescription": "Specifies the amount or percentage of instances SageMaker updates at a time.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterAutoScalingConfig": { - "additionalProperties": false, - "properties": { - "AutoScalerType": { - "markdownDescription": "The type of autoscaler to use. Currently supported value is `Karpenter` .", - "title": "AutoScalerType", + "Keyword": { + "markdownDescription": "The new keyword to add.", + "title": "Keyword", "type": "string" }, - "Mode": { - "markdownDescription": "Describes whether autoscaling is enabled or disabled for the cluster. Valid values are `Enable` and `Disable` .", - "title": "Mode", + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", "type": "string" } }, "required": [ - "Mode" + "Action", + "Keyword", + "Message" ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterCapacityRequirements": { - "additionalProperties": false, - "properties": { - "OnDemand": { - "markdownDescription": "Configuration options specific to On-Demand instances.", - "title": "OnDemand", - "type": "object" - }, - "Spot": { - "markdownDescription": "Configuration options specific to Spot instances.", - "title": "Spot", - "type": "object" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterEbsVolumeConfig": { - "additionalProperties": false, - "properties": { - "RootVolume": { - "markdownDescription": "Specifies whether the configuration is for the cluster's root or secondary Amazon EBS volume. You can specify two `ClusterEbsVolumeConfig` fields to configure both the root and secondary volumes. Set the value to `True` if you'd like to provide your own customer managed AWS KMS key to encrypt the root volume. When `True` :\n\n- The configuration is applied to the root volume.\n- You can't specify the `VolumeSizeInGB` field. The size of the root volume is determined for you.\n- You must specify a KMS key ID for `VolumeKmsKeyId` to encrypt the root volume with your own KMS key instead of an AWS owned KMS key.\n\nOtherwise, by default, the value is `False` , and the following applies:\n\n- The configuration is applied to the secondary volume, while the root volume is encrypted with an AWS owned key.\n- You must specify the `VolumeSizeInGB` field.\n- You can optionally specify the `VolumeKmsKeyId` to encrypt the secondary volume with your own KMS key instead of an AWS owned KMS key.", - "title": "RootVolume", - "type": "boolean" - }, - "VolumeKmsKeyId": { - "markdownDescription": "The ID of a KMS key to encrypt the Amazon EBS volume.", - "title": "VolumeKmsKeyId", - "type": "string" - }, - "VolumeSizeInGB": { - "markdownDescription": "The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker` .", - "title": "VolumeSizeInGB", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterFsxLustreConfig": { + "AWS::SMSVOICE::PhoneNumber.TwoWay": { "additionalProperties": false, "properties": { - "DnsName": { - "type": "string" - }, - "MountName": { + "ChannelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", + "title": "ChannelArn", "type": "string" }, - "MountPath": { - "type": "string" - } - }, - "required": [ - "DnsName", - "MountName" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterFsxOpenZfsConfig": { - "additionalProperties": false, - "properties": { - "DnsName": { + "ChannelRole": { + "markdownDescription": "An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.", + "title": "ChannelRole", "type": "string" }, - "MountPath": { - "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": [ - "DnsName" + "Enabled" ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterInstanceGroup": { + "AWS::SMSVOICE::Pool": { "additionalProperties": false, "properties": { - "AutoPatchConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.AutoPatchConfig" - }, - "CapacityRequirements": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterCapacityRequirements", - "markdownDescription": "", - "title": "CapacityRequirements" - }, - "CurrentCount": { - "markdownDescription": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.", - "title": "CurrentCount", - "type": "number" - }, - "ExecutionRole": { - "markdownDescription": "The execution role for the instance group to assume.", - "title": "ExecutionRole", - "type": "string" - }, - "ImageId": { - "markdownDescription": "", - "title": "ImageId", - "type": "string" - }, - "InstanceCount": { - "markdownDescription": "The number of instances in an instance group of the SageMaker HyperPod cluster.", - "title": "InstanceCount", - "type": "number" - }, - "InstanceGroupName": { - "markdownDescription": "The name of the instance group of a SageMaker HyperPod cluster.", - "title": "InstanceGroupName", - "type": "string" - }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.InstanceRequirements" - }, - "InstanceStorageConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceStorageConfig" - }, - "markdownDescription": "The configurations of additional storage specified to the instance group where the instance (node) is launched.", - "title": "InstanceStorageConfigs", - "type": "array" - }, - "InstanceType": { - "markdownDescription": "The instance type of the instance group of a SageMaker HyperPod cluster.", - "title": "InstanceType", + "Condition": { "type": "string" }, - "KubernetesConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterKubernetesConfig", - "markdownDescription": "", - "title": "KubernetesConfig" - }, - "LifeCycleConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterLifeCycleConfig", - "markdownDescription": "The lifecycle configuration for a SageMaker HyperPod cluster.", - "title": "LifeCycleConfig" - }, - "MinInstanceCount": { - "markdownDescription": "", - "title": "MinInstanceCount", - "type": "number" - }, - "NetworkInterface": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterNetworkInterface" - }, - "OnStartDeepHealthChecks": { - "items": { - "type": "string" - }, - "markdownDescription": "A flag indicating whether deep health checks should be performed when the HyperPod cluster instance group is created or updated. Deep health checks are comprehensive, invasive tests that validate the health of the underlying hardware and infrastructure components.", - "title": "OnStartDeepHealthChecks", - "type": "array" - }, - "OverrideVpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", - "markdownDescription": "The customized Amazon VPC configuration at the instance group level that overrides the default Amazon VPC configuration of the SageMaker HyperPod cluster.", - "title": "OverrideVpcConfig" - }, - "ScheduledUpdateConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ScheduledUpdateConfig", - "markdownDescription": "", - "title": "ScheduledUpdateConfig" - }, - "SlurmConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterSlurmConfig" - }, - "ThreadsPerCore": { - "markdownDescription": "The number of threads per CPU core you specified under `CreateCluster` .", - "title": "ThreadsPerCore", - "type": "number" - }, - "TrainingPlanArn": { - "markdownDescription": "", - "title": "TrainingPlanArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "ExecutionRole", - "InstanceCount", - "InstanceGroupName" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterInstanceStorageConfig": { - "additionalProperties": false, - "properties": { - "EbsVolumeConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterEbsVolumeConfig", - "markdownDescription": "Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker` .", - "title": "EbsVolumeConfig" - }, - "FsxLustreConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterFsxLustreConfig" }, - "FsxOpenZfsConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterFsxOpenZfsConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterKubernetesConfig": { - "additionalProperties": false, - "properties": { - "Labels": { - "additionalProperties": true, - "markdownDescription": "Key-value pairs of labels to be applied to cluster nodes.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "title": "Labels", - "type": "object" - }, - "Taints": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterKubernetesTaint" - }, - "markdownDescription": "List of taints to be applied to cluster nodes.", - "title": "Taints", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterKubernetesTaint": { - "additionalProperties": false, - "properties": { - "Effect": { - "markdownDescription": "The effect of the taint. Valid values are `NoSchedule` , `PreferNoSchedule` , and `NoExecute` .", - "title": "Effect", - "type": "string" - }, - "Key": { - "markdownDescription": "The key of the taint.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of the taint.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Effect", - "Key" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterLifeCycleConfig": { - "additionalProperties": false, - "properties": { - "OnCreate": { - "markdownDescription": "The file name of the entrypoint script of lifecycle scripts under `SourceS3Uri` . This entrypoint script runs during cluster creation.", - "title": "OnCreate", - "type": "string" - }, - "OnInitComplete": { - "type": "string" - }, - "SourceS3Uri": { - "markdownDescription": "An Amazon S3 bucket path where your lifecycle scripts are stored.\n\n> Make sure that the S3 bucket path starts with `s3://sagemaker-` . The [IAM role for SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) has the managed [`AmazonSageMakerClusterInstanceRolePolicy`](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html) attached, which allows access to S3 buckets with the specific prefix `sagemaker-` .", - "title": "SourceS3Uri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterNetworkInterface": { - "additionalProperties": false, - "properties": { - "InterfaceType": { - "type": "string" - } - }, - "required": [ - "InterfaceType" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterOrchestratorEksConfig": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.", - "title": "ClusterArn", - "type": "string" - } - }, - "required": [ - "ClusterArn" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig": { - "additionalProperties": false, - "properties": { - "SlurmConfigStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterRestrictedInstanceGroup": { - "additionalProperties": false, - "properties": { - "CurrentCount": { - "markdownDescription": "", - "title": "CurrentCount", - "type": "number" - }, - "EnvironmentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.EnvironmentConfig", - "markdownDescription": "", - "title": "EnvironmentConfig" - }, - "ExecutionRole": { - "markdownDescription": "", - "title": "ExecutionRole", - "type": "string" - }, - "InstanceCount": { - "markdownDescription": "", - "title": "InstanceCount", - "type": "number" - }, - "InstanceGroupName": { - "markdownDescription": "", - "title": "InstanceGroupName", - "type": "string" - }, - "InstanceStorageConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceStorageConfig" - }, - "markdownDescription": "", - "title": "InstanceStorageConfigs", - "type": "array" - }, - "InstanceType": { - "markdownDescription": "", - "title": "InstanceType", - "type": "string" - }, - "OnStartDeepHealthChecks": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "OnStartDeepHealthChecks", - "type": "array" - }, - "OverrideVpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", - "markdownDescription": "", - "title": "OverrideVpcConfig" - }, - "ThreadsPerCore": { - "markdownDescription": "", - "title": "ThreadsPerCore", - "type": "number" + ] }, - "TrainingPlanArn": { - "markdownDescription": "", - "title": "TrainingPlanArn", - "type": "string" - } - }, - "required": [ - "ExecutionRole", - "InstanceCount", - "InstanceGroupName", - "InstanceType" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterSlurmConfig": { - "additionalProperties": false, - "properties": { - "NodeType": { - "type": "string" + "Metadata": { + "type": "object" }, - "PartitionNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "NodeType" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.DeploymentConfig": { - "additionalProperties": false, - "properties": { - "AutoRollbackConfiguration": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.AlarmDetails" + "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", + "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" + } }, - "markdownDescription": "Automatic rollback configuration for handling endpoint deployment failures and recovery.", - "title": "AutoRollbackConfiguration", - "type": "array" - }, - "RollingUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.RollingUpdatePolicy", - "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker endpoint.", - "title": "RollingUpdatePolicy" + "required": [ + "MandatoryKeywords", + "OriginationIdentities" + ], + "type": "object" }, - "WaitIntervalInSeconds": { - "markdownDescription": "", - "title": "WaitIntervalInSeconds", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.EnvironmentConfig": { - "additionalProperties": false, - "properties": { - "FSxLustreConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.FSxLustreConfig", - "markdownDescription": "Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.", - "title": "FSxLustreConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.FSxLustreConfig": { - "additionalProperties": false, - "properties": { - "PerUnitStorageThroughput": { - "markdownDescription": "The throughput capacity of the Amazon FSx for Lustre file system, measured in MB/s per TiB of storage.", - "title": "PerUnitStorageThroughput", - "type": "number" + "Type": { + "enum": [ + "AWS::SMSVOICE::Pool" + ], + "type": "string" }, - "SizeInGiB": { - "markdownDescription": "The storage capacity of the Amazon FSx for Lustre file system, specified in gibibytes (GiB).", - "title": "SizeInGiB", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "PerUnitStorageThroughput", - "SizeInGiB" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Cluster.InstanceRequirements": { + "AWS::SMSVOICE::Pool.MandatoryKeyword": { "additionalProperties": false, "properties": { - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", + "type": "string" } }, "required": [ - "InstanceTypes" + "Message" ], "type": "object" }, - "AWS::SageMaker::Cluster.Orchestrator": { + "AWS::SMSVOICE::Pool.MandatoryKeywords": { "additionalProperties": false, "properties": { - "Eks": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterOrchestratorEksConfig", - "markdownDescription": "The configuration of the Amazon EKS orchestrator cluster for the SageMaker HyperPod cluster.", - "title": "Eks" + "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" }, - "Slurm": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.PatchSchedule": { - "additionalProperties": false, - "properties": { - "NextPatchDate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.RestrictedInstanceGroupsConfig": { - "additionalProperties": false, - "properties": { - "SharedEnvironmentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.SharedEnvironmentConfig" + "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": [ - "SharedEnvironmentConfig" + "HELP", + "STOP" ], "type": "object" }, - "AWS::SageMaker::Cluster.RollingUpdatePolicy": { + "AWS::SMSVOICE::Pool.OptionalKeyword": { "additionalProperties": false, "properties": { - "MaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.CapacitySizeConfig", - "markdownDescription": "Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.", - "title": "MaximumBatchSize" + "Action": { + "markdownDescription": "The action to perform when the keyword is used.", + "title": "Action", + "type": "string" }, - "RollbackMaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.CapacitySizeConfig", - "markdownDescription": "Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.", - "title": "RollbackMaximumBatchSize" + "Keyword": { + "markdownDescription": "The new keyword to add.", + "title": "Keyword", + "type": "string" + }, + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", + "type": "string" } }, "required": [ - "MaximumBatchSize" + "Action", + "Keyword", + "Message" ], "type": "object" }, - "AWS::SageMaker::Cluster.ScheduledUpdateConfig": { + "AWS::SMSVOICE::Pool.TwoWay": { "additionalProperties": false, "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.DeploymentConfig", - "markdownDescription": "The configuration to use when updating the AMI versions.", - "title": "DeploymentConfig" + "ChannelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", + "title": "ChannelArn", + "type": "string" }, - "ScheduleExpression": { - "markdownDescription": "A cron expression that specifies the schedule that SageMaker follows when updating the AMI.", - "title": "ScheduleExpression", + "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": [ - "ScheduleExpression" + "Enabled" ], "type": "object" }, - "AWS::SageMaker::Cluster.SharedEnvironmentConfig": { + "AWS::SMSVOICE::ProtectConfiguration": { "additionalProperties": false, "properties": { - "FSxLustreConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.FSxLustreConfig" + "Condition": { + "type": "string" }, - "FSxLustreDeletionPolicy": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": [ - "FSxLustreDeletionPolicy" + "Type" ], "type": "object" }, - "AWS::SageMaker::Cluster.TieredStorageConfig": { + "AWS::SMSVOICE::ProtectConfiguration.CountryRule": { "additionalProperties": false, "properties": { - "InstanceMemoryAllocationPercentage": { - "markdownDescription": "", - "title": "InstanceMemoryAllocationPercentage", - "type": "number" + "CountryCode": { + "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", + "title": "CountryCode", + "type": "string" }, - "Mode": { - "markdownDescription": "", - "title": "Mode", + "ProtectStatus": { + "markdownDescription": "The types of protection that can be used.", + "title": "ProtectStatus", "type": "string" } }, "required": [ - "Mode" + "CountryCode", + "ProtectStatus" ], "type": "object" }, - "AWS::SageMaker::Cluster.VpcConfig": { + "AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "MMS": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" }, - "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", - "title": "SecurityGroupIds", + "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your MMS messages to.", + "title": "MMS", "type": "array" }, - "Subnets": { + "SMS": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" }, - "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", - "title": "Subnets", + "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" } }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], "type": "object" }, - "AWS::SageMaker::CodeRepository": { + "AWS::SMSVOICE::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -358989,33 +326403,26 @@ "Properties": { "additionalProperties": false, "properties": { - "CodeRepositoryName": { - "markdownDescription": "The name of the Git repository.", - "title": "CodeRepositoryName", - "type": "string" - }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig", - "markdownDescription": "Configuration details for the Git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.", - "title": "GitConfig" + "PolicyDocument": { + "markdownDescription": "The JSON formatted resource-based policy to attach.", + "title": "PolicyDocument", + "type": "object" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "List of tags for Code Repository.", - "title": "Tags", - "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": [ - "GitConfig" + "PolicyDocument", + "ResourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::CodeRepository" + "AWS::SMSVOICE::ResourcePolicy" ], "type": "string" }, @@ -359034,31 +326441,7 @@ ], "type": "object" }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "markdownDescription": "The default branch for the Git repository.", - "title": "Branch", - "type": "string" - }, - "RepositoryUrl": { - "markdownDescription": "The URL where the Git repository is located.", - "title": "RepositoryUrl", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository. The secret must have a staging label of `AWSCURRENT` and must be in the following format:\n\n`{\"username\": *UserName* , \"password\": *Password* }`", - "title": "SecretArn", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::Context": { + "AWS::SMSVOICE::SenderId": { "additionalProperties": false, "properties": { "Condition": { @@ -359093,44 +326476,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ContextName": { - "type": "string" + "DeletionProtectionEnabled": { + "markdownDescription": "By default this is set to false. When set to true the sender ID can't be deleted.", + "title": "DeletionProtectionEnabled", + "type": "boolean" }, - "ContextType": { + "IsoCountryCode": { + "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", + "title": "IsoCountryCode", "type": "string" }, - "Description": { + "SenderId": { + "markdownDescription": "The sender ID string to request.", + "title": "SenderId", "type": "string" }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Source": { - "$ref": "#/definitions/AWS::SageMaker::Context.Source" - }, "Tags": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Context.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "An array of tags (key and value pairs) to associate with the sender ID.", + "title": "Tags", "type": "array" } }, "required": [ - "ContextName", - "ContextType", - "Source" + "IsoCountryCode", + "SenderId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Context" + "AWS::SMSVOICE::SenderId" ], "type": "string" }, @@ -359149,46 +326527,137 @@ ], "type": "object" }, - "AWS::SageMaker::Context.Source": { + "AWS::SNS::Subscription": { "additionalProperties": false, "properties": { - "SourceId": { + "Condition": { "type": "string" }, - "SourceType": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SourceUri": { - "type": "string" - } - }, - "required": [ - "SourceUri" - ], - "type": "object" - }, - "AWS::SageMaker::Context.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryPolicy": { + "markdownDescription": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message delivery retries](https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html) in the *Amazon Developer Guide* .", + "title": "DeliveryPolicy", + "type": "object" + }, + "Endpoint": { + "markdownDescription": "The subscription's endpoint. The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", + "title": "Endpoint", + "type": "string" + }, + "FilterPolicy": { + "markdownDescription": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message filtering](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) in the *Amazon Developer Guide* .", + "title": "FilterPolicy", + "type": "object" + }, + "FilterPolicyScope": { + "markdownDescription": "This attribute lets you choose the filtering scope by using one of the following string value types:\n\n- `MessageAttributes` (default) - The filter is applied on the message attributes.\n- `MessageBody` - The filter is applied on the message body.\n\n> `Null` is not a valid value for `FilterPolicyScope` . To delete a filter policy, delete the `FilterPolicy` property but keep `FilterPolicyScope` property as is.", + "title": "FilterPolicyScope", + "type": "string" + }, + "Protocol": { + "markdownDescription": "The subscription's protocol. For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", + "title": "Protocol", + "type": "string" + }, + "RawMessageDelivery": { + "markdownDescription": "When set to `true` , enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* .", + "title": "RawMessageDelivery", + "type": "boolean" + }, + "RedrivePolicy": { + "markdownDescription": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.\n\nFor more information about the redrive policy and dead-letter queues, see [Amazon SQS dead-letter queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) in the *Amazon SQS Developer Guide* .", + "title": "RedrivePolicy", + "type": "object" + }, + "Region": { + "markdownDescription": "For cross-region subscriptions, the region in which the topic resides.\n\nIf no region is specified, CloudFormation uses the region of the caller as the default.\n\nIf you perform an update operation that only updates the `Region` property of a `AWS::SNS::Subscription` resource, that operation will fail unless you are either:\n\n- Updating the `Region` from `NULL` to the caller region.\n- Updating the `Region` from the caller region to `NULL` .", + "title": "Region", + "type": "string" + }, + "ReplayPolicy": { + "markdownDescription": "Specifies whether Amazon resends the notification to the subscription when a message's attribute changes.", + "title": "ReplayPolicy", + "type": "object" + }, + "SubscriptionRoleArn": { + "markdownDescription": "This property applies only to Amazon Data Firehose delivery stream subscriptions. Specify the ARN of the IAM role that has the following:\n\n- Permission to write to the Amazon Data Firehose delivery stream\n- Amazon listed as a trusted entity\n\nSpecifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see [Fanout to Amazon Data Firehose delivery streams](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html) in the *Amazon Developer Guide.*", + "title": "SubscriptionRoleArn", + "type": "string" + }, + "TopicArn": { + "markdownDescription": "The ARN of the topic to subscribe to.", + "title": "TopicArn", + "type": "string" + } + }, + "required": [ + "Protocol", + "TopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::Subscription" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition": { + "AWS::SNS::Topic": { "additionalProperties": false, "properties": { "Condition": { "type": "string" }, + "Connectors": { + "additionalProperties": { + "$ref": "#/definitions/EmbeddedConnector" + }, + "title": "Connectors", + "type": "object" + }, "DeletionPolicy": { "enum": [ "Delete", @@ -359218,77 +326687,86 @@ "Properties": { "additionalProperties": false, "properties": { - "DataQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification", - "markdownDescription": "Specifies the container that runs the monitoring job.", - "title": "DataQualityAppSpecification" + "ArchivePolicy": { + "markdownDescription": "The `ArchivePolicy` determines the number of days Amazon retains messages in FIFO topics. You can set a retention period ranging from 1 to 365 days. This property is only applicable to FIFO topics; attempting to use it with standard topics will result in a creation failure.", + "title": "ArchivePolicy", + "type": "object" }, - "DataQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig", - "markdownDescription": "Configures the constraints and baselines for the monitoring job.", - "title": "DataQualityBaselineConfig" + "ContentBasedDeduplication": { + "markdownDescription": "`ContentBasedDeduplication` enables deduplication of messages based on their content for FIFO topics. By default, this property is set to false. If you create a FIFO topic with `ContentBasedDeduplication` set to false, you must provide a `MessageDeduplicationId` for each `Publish` action. When set to true, Amazon automatically generates a `MessageDeduplicationId` using a SHA-256 hash of the message body (excluding message attributes). You can optionally override this generated value by specifying a `MessageDeduplicationId` in the `Publish` action. Note that this property only applies to FIFO topics; using it with standard topics will cause the creation to fail.", + "title": "ContentBasedDeduplication", + "type": "boolean" }, - "DataQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput", - "markdownDescription": "A list of inputs for the monitoring job. Currently endpoints are supported as monitoring inputs.", - "title": "DataQualityJobInput" + "DataProtectionPolicy": { + "markdownDescription": "The body of the policy document you want to use for this topic.\n\nYou can only add one policy per topic.\n\nThe policy must be in JSON string format.\n\nLength Constraints: Maximum length of 30,720.", + "title": "DataProtectionPolicy", + "type": "object" }, - "DataQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig", - "markdownDescription": "The output configuration for monitoring jobs.", - "title": "DataQualityJobOutputConfig" + "DeliveryStatusLogging": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.LoggingConfig" + }, + "markdownDescription": "The `DeliveryStatusLogging` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:\n\n- HTTP\n- Amazon Kinesis Data Firehose\n- AWS Lambda\n- Platform application endpoint\n- Amazon Simple Queue Service\n\nOnce configured, log entries are sent to Amazon CloudWatch Logs.", + "title": "DeliveryStatusLogging", + "type": "array" }, - "EndpointName": { - "markdownDescription": "", - "title": "EndpointName", + "DisplayName": { + "markdownDescription": "The display name to use for an Amazon topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.", + "title": "DisplayName", "type": "string" }, - "JobDefinitionName": { - "markdownDescription": "The name for the monitoring job definition.", - "title": "JobDefinitionName", + "FifoThroughputScope": { + "markdownDescription": "Specifies the throughput quota and deduplication behavior to apply for the FIFO topic. Valid values are `Topic` or `MessageGroup` .", + "title": "FifoThroughputScope", "type": "string" }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources", - "markdownDescription": "Identifies the resources to deploy for a monitoring job.", - "title": "JobResources" + "FifoTopic": { + "markdownDescription": "Set to true to create a FIFO topic.", + "title": "FifoTopic", + "type": "boolean" }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig", - "markdownDescription": "Specifies networking configuration for the monitoring job.", - "title": "NetworkConfig" + "KmsMasterKeyId": { + "markdownDescription": "The ID of an AWS managed customer master key (CMK) for Amazon or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms) . For more examples, see `[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)` in the *AWS Key Management Service API Reference* .\n\nThis property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html) .", + "title": "KmsMasterKeyId", + "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.", - "title": "RoleArn", + "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", "type": "string" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition", - "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", - "title": "StoppingCondition" + "Subscription": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + }, + "markdownDescription": "The Amazon subscriptions (endpoints) for this topic.\n\n> If you specify the `Subscription` property in the `AWS::SNS::Topic` resource and it creates an associated subscription resource, the associated subscription is not deleted when the `AWS::SNS::Topic` resource is deleted.", + "title": "Subscription", + "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) .", + "markdownDescription": "The list of tags to add to a new topic.\n\n> To be able to tag a topic on creation, you must have the `sns:CreateTopic` and `sns:TagResource` permissions.", "title": "Tags", "type": "array" + }, + "TopicName": { + "markdownDescription": "The name of the topic you want to create. Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with `.fifo` .\n\nIf you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the topic 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 can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "TopicName", + "type": "string" + }, + "TracingConfig": { + "markdownDescription": "Tracing mode of an Amazon topic. By default `TracingConfig` is set to `PassThrough` , and the topic passes through the tracing header it receives from an Amazon publisher to its subscriptions. If set to `Active` , Amazon will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.", + "title": "TracingConfig", + "type": "string" } }, - "required": [ - "DataQualityAppSpecification", - "DataQualityJobInput", - "DataQualityJobOutputConfig", - "JobResources", - "RoleArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::DataQualityJobDefinition" + "AWS::SNS::Topic" ], "type": "string" }, @@ -359302,408 +326780,133 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.BatchTransformInput": { + "AWS::SNS::Topic.LoggingConfig": { "additionalProperties": false, "properties": { - "DataCapturedDestinationS3Uri": { - "markdownDescription": "The Amazon S3 location being used to capture the data.", - "title": "DataCapturedDestinationS3Uri", - "type": "string" - }, - "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DatasetFormat", - "markdownDescription": "The dataset format for your batch transform job.", - "title": "DatasetFormat" - }, - "ExcludeFeaturesAttribute": { - "markdownDescription": "The attributes of the input data to exclude from the analysis.", - "title": "ExcludeFeaturesAttribute", + "FailureFeedbackRoleArn": { + "markdownDescription": "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.", + "title": "FailureFeedbackRoleArn", "type": "string" }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the batch transform data is available to the container.", - "title": "LocalPath", + "Protocol": { + "markdownDescription": "Indicates one of the supported protocols for the Amazon SNS topic.\n\n> At least one of the other three `LoggingConfig` properties is recommend along with `Protocol` .", + "title": "Protocol", "type": "string" }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", + "SuccessFeedbackRoleArn": { + "markdownDescription": "The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.", + "title": "SuccessFeedbackRoleArn", "type": "string" }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", + "SuccessFeedbackSampleRate": { + "markdownDescription": "The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.", + "title": "SuccessFeedbackSampleRate", "type": "string" } }, "required": [ - "DataCapturedDestinationS3Uri", - "DatasetFormat", - "LocalPath" + "Protocol" ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { + "AWS::SNS::Topic.Subscription": { "additionalProperties": false, "properties": { - "InstanceCount": { - "markdownDescription": "The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", - "title": "InstanceCount", - "type": "number" - }, - "InstanceType": { - "markdownDescription": "The ML compute instance type for the processing job.", - "title": "InstanceType", + "Endpoint": { + "markdownDescription": "The endpoint that receives notifications from the Amazon topic. The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", + "title": "Endpoint", "type": "string" }, - "VolumeKmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.", - "title": "VolumeKmsKeyId", + "Protocol": { + "markdownDescription": "The subscription's protocol. For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", + "title": "Protocol", "type": "string" - }, - "VolumeSizeInGB": { - "markdownDescription": "The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.", - "title": "VolumeSizeInGB", - "type": "number" } }, "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" + "Endpoint", + "Protocol" ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { + "AWS::SNS::TopicInlinePolicy": { "additionalProperties": false, "properties": { - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the constraints resource.", - "title": "S3Uri", + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.Csv": { - "additionalProperties": false, - "properties": { - "Header": { - "markdownDescription": "", - "title": "Header", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "The arguments to send to the container that the monitoring job runs.", - "title": "ContainerArguments", - "type": "array" }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "markdownDescription": "The entrypoint for a container used to run a monitoring job.", - "title": "ContainerEntrypoint", - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the container that the monitoring job runs.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "title": "Environment", - "type": "object" - }, - "ImageUri": { - "markdownDescription": "The container image that the data quality monitoring job runs.", - "title": "ImageUri", - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", - "title": "PostAnalyticsProcessorSourceUri", - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", - "title": "RecordPreprocessorSourceUri", - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "markdownDescription": "The name of the job that performs baselining for the data quality monitoring job.", - "title": "BaseliningJobName", - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource", - "markdownDescription": "The constraints resource for a monitoring job.", - "title": "ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource", - "markdownDescription": "Configuration for monitoring constraints and monitoring statistics. These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.", - "title": "StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { - "additionalProperties": false, - "properties": { - "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.BatchTransformInput", - "markdownDescription": "Input object for the batch transform job.", - "title": "BatchTransformInput" - }, - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput", - "markdownDescription": "Input object for the endpoint", - "title": "EndpointInput" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DatasetFormat": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Csv", - "markdownDescription": "", - "title": "Csv" - }, - "Json": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Json", - "markdownDescription": "", - "title": "Json" - }, - "Parquet": { - "markdownDescription": "", - "title": "Parquet", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", - "title": "EndpointName", - "type": "string" - }, - "ExcludeFeaturesAttribute": { - "markdownDescription": "The attributes of the input data to exclude from the analysis.", - "title": "ExcludeFeaturesAttribute", - "type": "string" - }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", - "title": "LocalPath", - "type": "string" - }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", - "type": "string" + ] }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.Json": { - "additionalProperties": false, - "properties": { - "Line": { - "markdownDescription": "", - "title": "Line", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output", - "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", - "title": "S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS ) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.", - "title": "KmsKeyId", - "type": "string" + "Metadata": { + "type": "object" }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "markdownDescription": "A policy document that contains permissions to add to the specified Amazon topic.", + "title": "PolicyDocument", + "type": "object" + }, + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the topic to which you want to add the policy.", + "title": "TopicArn", + "type": "string" + } }, - "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", - "title": "MonitoringOutputs", - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig", - "markdownDescription": "The configuration for the cluster resources used to run the processing job.", - "title": "ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", - "title": "EnableInterContainerTrafficEncryption", - "type": "boolean" - }, - "EnableNetworkIsolation": { - "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", - "title": "EnableNetworkIsolation", - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig", - "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", - "title": "VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", - "title": "LocalPath", - "type": "string" - }, - "S3UploadMode": { - "markdownDescription": "Whether to upload the results of the monitoring job continuously or after the job completes.", - "title": "S3UploadMode", - "type": "string" + "required": [ + "PolicyDocument", + "TopicArn" + ], + "type": "object" }, - "S3Uri": { - "markdownDescription": "A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.", - "title": "S3Uri", - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the statistics resource.", - "title": "S3Uri", + "Type": { + "enum": [ + "AWS::SNS::TopicInlinePolicy" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "markdownDescription": "The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.\n\nFor compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.\n\nFor all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.\n\nThe maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.", - "title": "MaxRuntimeInSeconds", - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", - "title": "SecurityGroupIds", - "type": "array" }, - "Subnets": { - "items": { - "type": "string" - }, - "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", - "title": "Subnets", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Device": { + "AWS::SNS::TopicPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -359738,33 +326941,29 @@ "Properties": { "additionalProperties": false, "properties": { - "Device": { - "$ref": "#/definitions/AWS::SageMaker::Device.Device", - "markdownDescription": "Edge device you want to create.", - "title": "Device" - }, - "DeviceFleetName": { - "markdownDescription": "The name of the fleet the device belongs to.", - "title": "DeviceFleetName", - "type": "string" + "PolicyDocument": { + "markdownDescription": "A policy document that contains permissions to add to the specified SNS topics.", + "title": "PolicyDocument", + "type": "object" }, - "Tags": { + "Topics": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "An array of key-value pairs that contain metadata to help you categorize and organize your devices. Each tag consists of a key and a value, both of which you define.", - "title": "Tags", + "markdownDescription": "The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)` resource.", + "title": "Topics", "type": "array" } }, "required": [ - "DeviceFleetName" + "PolicyDocument", + "Topics" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Device" + "AWS::SNS::TopicPolicy" ], "type": "string" }, @@ -359783,31 +326982,155 @@ ], "type": "object" }, - "AWS::SageMaker::Device.Device": { + "AWS::SQS::Queue": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "Description of the device.", - "title": "Description", + "Condition": { "type": "string" }, - "DeviceName": { - "markdownDescription": "The name of the device.", - "title": "DeviceName", + "Connectors": { + "additionalProperties": { + "$ref": "#/definitions/EmbeddedConnector" + }, + "title": "Connectors", + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IotThingName": { - "markdownDescription": "AWS Internet of Things (IoT) object name.", - "title": "IotThingName", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "markdownDescription": "For first-in-first-out (FIFO) queues, specifies whether to enable content-based deduplication. During the deduplication interval, Amazon SQS treats messages that are sent with identical content as duplicates and delivers only one copy of the message. For more information, see the `ContentBasedDeduplication` attribute for the `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)` action in the *Amazon SQS API Reference* .", + "title": "ContentBasedDeduplication", + "type": "boolean" + }, + "DeduplicationScope": { + "markdownDescription": "For high throughput for FIFO queues, specifies whether message deduplication occurs at the message group or queue level. Valid values are `messageGroup` and `queue` .\n\nTo enable high throughput for a FIFO queue, set this attribute to `messageGroup` *and* set the `FifoThroughputLimit` attribute to `perMessageGroupId` . If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Amazon SQS Developer Guide* .", + "title": "DeduplicationScope", + "type": "string" + }, + "DelaySeconds": { + "markdownDescription": "The time in seconds for which the delivery of all messages in the queue is delayed. You can specify an integer value of `0` to `900` (15 minutes). The default value is `0` .", + "title": "DelaySeconds", + "type": "number" + }, + "FifoQueue": { + "markdownDescription": "If set to true, creates a FIFO queue. If you don't specify this property, Amazon SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Amazon SQS Developer Guide* .", + "title": "FifoQueue", + "type": "boolean" + }, + "FifoThroughputLimit": { + "markdownDescription": "For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are `perQueue` and `perMessageGroupId` .\n\nTo enable high throughput for a FIFO queue, set this attribute to `perMessageGroupId` *and* set the `DeduplicationScope` attribute to `messageGroup` . If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Amazon SQS Developer Guide* .", + "title": "FifoThroughputLimit", + "type": "string" + }, + "KmsDataKeyReusePeriodSeconds": { + "markdownDescription": "The length of time in seconds for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes).\n\n> A shorter time period provides better security, but results in more calls to AWS , which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Amazon SQS Developer Guide* .", + "title": "KmsDataKeyReusePeriodSeconds", + "type": "number" + }, + "KmsMasterKeyId": { + "markdownDescription": "The ID of an AWS Key Management Service (KMS) for Amazon SQS , or a custom KMS. To use the AWS managed KMS for Amazon SQS , specify a (default) alias ARN, alias name (for example `alias/aws/sqs` ), key ARN, or key ID. For more information, see the following:\n\n- [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Amazon SQS Developer Guide*\n- [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *Amazon SQS API Reference*\n- [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *AWS Key Management Service API Reference*\n- The Key Management Service (KMS) section of the [Security best practices for AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *AWS Key Management Service Developer Guide*", + "title": "KmsMasterKeyId", + "type": "string" + }, + "MaximumMessageSize": { + "markdownDescription": "The limit of how many bytes that a message can contain before Amazon SQS rejects it. You can specify an integer from 1,024 bytes (1 KiB) to 1,048,576 bytes (1 MiB).\nDefault: 1,048,576 bytes (1 MiB).", + "title": "MaximumMessageSize", + "type": "number" + }, + "MessageRetentionPeriod": { + "markdownDescription": "The number of seconds that Amazon SQS retains a message. You can specify an integer value from `60` seconds (1 minute) to `1,209,600` seconds (14 days). The default value is `345,600` seconds (4 days).", + "title": "MessageRetentionPeriod", + "type": "number" + }, + "QueueName": { + "markdownDescription": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the `.fifo` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Amazon SQS Developer Guide* .\n\nIf you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *CloudFormation User Guide* .\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 must replace the resource, specify a new name.", + "title": "QueueName", + "type": "string" + }, + "ReceiveMessageWaitTimeSeconds": { + "markdownDescription": "Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Amazon SQS Developer Guide* .", + "title": "ReceiveMessageWaitTimeSeconds", + "type": "number" + }, + "RedriveAllowPolicy": { + "markdownDescription": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n\n- `redrivePermission` : The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n\n- `allowAll` : (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n- `denyAll` : No source queues can specify this queue as the dead-letter queue.\n- `byQueue` : Only queues specified by the `sourceQueueArns` parameter can specify this queue as the dead-letter queue.\n- `sourceQueueArns` : The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the `redrivePermission` parameter is set to `byQueue` . You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the `redrivePermission` parameter to `allowAll` .", + "title": "RedriveAllowPolicy", + "type": "object" + }, + "RedrivePolicy": { + "markdownDescription": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n\n- `deadLetterTargetArn` : The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of `maxReceiveCount` is exceeded.\n- `maxReceiveCount` : The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the `ReceiveCount` for a message exceeds the `maxReceiveCount` for a queue, Amazon SQS moves the message to the dead-letter-queue.\n\n> The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. \n\n*JSON*\n\n`{ \"deadLetterTargetArn\" : *String* , \"maxReceiveCount\" : *Integer* }`\n\n*YAML*\n\n`deadLetterTargetArn : *String*`\n\n`maxReceiveCount : *Integer*`", + "title": "RedrivePolicy", + "type": "object" + }, + "SqsManagedSseEnabled": { + "markdownDescription": "Enables server-side queue encryption using SQS owned encryption keys. Only one server-side encryption option is supported per queue (for example, [SSE-KMS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html) or [SSE-SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html) ). When `SqsManagedSseEnabled` is not defined, `SSE-SQS` encryption is enabled by default.", + "title": "SqsManagedSseEnabled", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags that you attach to this queue. For more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) in the *CloudFormation User Guide* .", + "title": "Tags", + "type": "array" + }, + "VisibilityTimeout": { + "markdownDescription": "The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue.\n\nValues must be from 0 to 43,200 seconds (12 hours). If you don't specify a value, AWS CloudFormation uses the default value of 30 seconds.\n\nFor more information about Amazon SQS queue visibility timeouts, see [Visibility timeout](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) in the *Amazon SQS Developer Guide* .", + "title": "VisibilityTimeout", + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DeviceName" + "Type" ], "type": "object" }, - "AWS::SageMaker::DeviceFleet": { + "AWS::SQS::QueueInlinePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -359842,45 +327165,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the fleet.", - "title": "Description", - "type": "string" - }, - "DeviceFleetName": { - "markdownDescription": "Name of the device fleet.", - "title": "DeviceFleetName", - "type": "string" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig", - "markdownDescription": "The output configuration for storing sample data collected by the fleet.", - "title": "OutputConfig" + "PolicyDocument": { + "markdownDescription": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see [Using custom policies with the Amazon SQS access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Amazon SQS Developer Guide* .", + "title": "PolicyDocument", + "type": "object" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) that has access to AWS Internet of Things (IoT).", - "title": "RoleArn", + "Queue": { + "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html)` resource.", + "title": "Queue", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs that contain metadata to help you categorize and organize your device fleets. Each tag consists of a key and a value, both of which you define.", - "title": "Tags", - "type": "array" } }, "required": [ - "DeviceFleetName", - "OutputConfig", - "RoleArn" + "PolicyDocument", + "Queue" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::DeviceFleet" + "AWS::SQS::QueueInlinePolicy" ], "type": "string" }, @@ -359899,26 +327203,83 @@ ], "type": "object" }, - "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { + "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume after compilation job. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account.", - "title": "KmsKeyId", + "Condition": { "type": "string" }, - "S3OutputLocation": { - "markdownDescription": "The Amazon Simple Storage (S3) bucket URI.", - "title": "S3OutputLocation", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "markdownDescription": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see [Using custom policies with the Amazon SQS access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Amazon SQS Developer Guide* .", + "title": "PolicyDocument", + "type": "object" + }, + "Queues": { + "items": { + "type": "string" + }, + "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)` resource.", + "title": "Queues", + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "S3OutputLocation" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Domain": { + "AWS::SSM::Association": { "additionalProperties": false, "properties": { "Condition": { @@ -359953,86 +327314,115 @@ "Properties": { "additionalProperties": false, "properties": { - "AppNetworkAccessType": { - "markdownDescription": "Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly` .\n\n- `PublicInternetOnly` - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI , which allows direct internet access\n- `VpcOnly` - All Studio traffic is through the specified VPC and subnets\n\n*Valid Values* : `PublicInternetOnly | VpcOnly`", - "title": "AppNetworkAccessType", + "ApplyOnlyAtCronInterval": { + "markdownDescription": "By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter is not supported for rate expressions.", + "title": "ApplyOnlyAtCronInterval", + "type": "boolean" + }, + "AssociationDispatchAssumeRole": { "type": "string" }, - "AppSecurityGroupManagement": { - "markdownDescription": "The entity that creates and manages the required security groups for inter-app communication in `VpcOnly` mode. Required when `CreateDomain.AppNetworkAccessType` is `VpcOnly` and `DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn` is provided. If setting up the domain for use with RStudio, this value must be set to `Service` .\n\n*Allowed Values* : `Service` | `Customer`", - "title": "AppSecurityGroupManagement", + "AssociationName": { + "markdownDescription": "Specify a descriptive name for the association.", + "title": "AssociationName", "type": "string" }, - "AuthMode": { - "markdownDescription": "The mode of authentication that members use to access the Domain.\n\n*Valid Values* : `SSO | IAM`", - "title": "AuthMode", + "AutomationTargetParameterName": { + "markdownDescription": "Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in AWS Systems Manager .", + "title": "AutomationTargetParameterName", "type": "string" }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceSettings", - "markdownDescription": "The default settings for shared spaces that users create in the domain.\n\nSageMaker applies these settings only to shared spaces. It doesn't apply them to private spaces.", - "title": "DefaultSpaceSettings" + "CalendarNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations only run when that Change Calendar is open. For more information, see [AWS Systems Manager Change Calendar](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar) in the *AWS Systems Manager User Guide* .", + "title": "CalendarNames", + "type": "array" }, - "DefaultUserSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings", - "markdownDescription": "The default user settings.", - "title": "DefaultUserSettings" + "ComplianceSeverity": { + "markdownDescription": "The severity level that is assigned to the association.", + "title": "ComplianceSeverity", + "type": "string" }, - "DomainName": { - "markdownDescription": "The domain name.", - "title": "DomainName", + "DocumentVersion": { + "markdownDescription": "The version of the SSM document to associate with the target.\n\n> Note the following important information.\n> \n> - State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the `default` version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to `default` .\n> - `DocumentVersion` is not valid for documents owned by AWS , such as `AWS-RunPatchBaseline` or `AWS-UpdateSSMAgent` . If you specify `DocumentVersion` for an AWS document, the system returns the following error: \"Error occurred during operation 'CreateAssociation'.\" (RequestToken: , HandlerErrorCode: GeneralServiceException).", + "title": "DocumentVersion", "type": "string" }, - "DomainSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DomainSettings", - "markdownDescription": "A collection of settings that apply to the `SageMaker Domain` . These settings are specified through the `CreateDomain` API call.", - "title": "DomainSettings" + "InstanceId": { + "markdownDescription": "> `InstanceId` has been deprecated. To specify an instance ID for an association, use the `Targets` parameter. If you use the parameter `InstanceId` , you cannot use the parameters `AssociationName` , `DocumentVersion` , `MaxErrors` , `MaxConcurrency` , `OutputLocation` , or `ScheduleExpression` . To use these parameters, you must use the `Targets` parameter.\n> \n> Note that in some examples later in this page, `InstanceIds` is used as the tag-key name in a `Targets` filter. `InstanceId` is not used as a parameter. \n\nThe ID of the instance that the SSM document is associated with. You must specify the `InstanceId` or `Targets` property.", + "title": "InstanceId", + "type": "string" }, - "HomeEfsFileSystemCreation": { + "MaxConcurrency": { + "markdownDescription": "The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.\n\nIf a new managed node starts and attempts to run an association while Systems Manager is running `MaxConcurrency` associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for `MaxConcurrency` .", + "title": "MaxConcurrency", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "SageMaker uses AWS KMS to encrypt the EFS volume attached to the Domain with an AWS managed customer master key (CMK) by default. For more control, specify a customer managed CMK.\n\n*Length Constraints* : Maximum length of 2048.\n\n*Pattern* : `.*`", - "title": "KmsKeyId", + "MaxErrors": { + "markdownDescription": "The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set `MaxError` to 10%, then the system stops sending the request when the sixth error is received.\n\nExecutions that are already running an association when `MaxErrors` is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set `MaxConcurrency` to 1 so that executions proceed one at a time.", + "title": "MaxErrors", "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC subnets that Studio uses for communication.\n\n*Length Constraints* : Maximum length of 32.\n\n*Array members* : Minimum number of 1 item. Maximum number of 16 items.\n\n*Pattern* : `[-0-9a-zA-Z]+`", - "title": "SubnetIds", - "type": "array" + "Name": { + "markdownDescription": "The name of the SSM document that contains the configuration information for the instance. You can specify `Command` or `Automation` documents. The documents can be AWS -predefined documents, documents you created, or a document that is shared with you from another account. For SSM documents that are shared with you from other AWS accounts , you must specify the complete SSM document ARN, in the following format:\n\n`arn:partition:ssm:region:account-id:document/document-name`\n\nFor example: `arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document`\n\nFor AWS -predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, `AWS -ApplyPatchBaseline` or `My-Document` .", + "title": "Name", + "type": "string" }, - "TagPropagation": { - "markdownDescription": "", - "title": "TagPropagation", + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation", + "markdownDescription": "An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.", + "title": "OutputLocation" + }, + "Parameters": { + "markdownDescription": "The parameters for the runtime configuration of the document.", + "title": "Parameters", + "type": "object" + }, + "ScheduleExpression": { + "markdownDescription": "A cron expression that specifies a schedule when the association runs. The schedule runs in Coordinated Universal Time (UTC).", + "title": "ScheduleExpression", + "type": "string" + }, + "ScheduleOffset": { + "markdownDescription": "Number of days to wait after the scheduled day to run an association.", + "title": "ScheduleOffset", + "type": "number" + }, + "SyncCompliance": { + "markdownDescription": "The mode for generating association compliance. You can specify `AUTO` or `MANUAL` . In `AUTO` mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is `COMPLIANT` . If the association execution doesn't run successfully, the association is `NON-COMPLIANT` .\n\nIn `MANUAL` mode, you must specify the `AssociationId` as a parameter for the `PutComplianceItems` API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the `PutComplianceItems` API action.\n\nBy default, all associations use `AUTO` mode.", + "title": "SyncCompliance", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.\n\nTags that you specify for the Domain are also added to all apps that are launched in the Domain.\n\n*Array members* : Minimum number of 0 items. Maximum number of 50 items.", - "title": "Tags", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the Amazon Virtual Private Cloud (Amazon VPC) that Studio uses for communication.\n\n*Length Constraints* : Maximum length of 32.\n\n*Pattern* : `[-0-9a-zA-Z]+`", - "title": "VpcId", - "type": "string" + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "markdownDescription": "The targets for the association. You must specify the `InstanceId` or `Targets` property. You can target all instances in an AWS account by specifying t he `InstanceIds` key with a value of `*` .\n\nSupported formats include the following.\n\n- `Key=InstanceIds,Values=,,`\n- `Key=tag-key,Values=,`\n\nTo view a JSON and a YAML example that targets all instances, see \"Create an association for all managed instances in an AWS account \" on the Examples page.", + "title": "Targets", + "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "markdownDescription": "The number of seconds the service should wait for the association status to show \"Success\" before proceeding with the stack execution. If the association status doesn't show \"Success\" after the specified number of seconds, then stack creation fails.\n\n> When you specify a value for the `WaitForSuccessTimeoutSeconds` , [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) for your CloudFormation stack\u2019s configuration might yield inaccurate results. If drift detection is important in your scenario, we recommend that you don\u2019t include `WaitForSuccessTimeoutSeconds` in your template.", + "title": "WaitForSuccessTimeoutSeconds", + "type": "number" } }, "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Domain" + "AWS::SSM::Association" ], "type": "string" }, @@ -360051,757 +327441,467 @@ ], "type": "object" }, - "AWS::SageMaker::Domain.AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.IdleSettings", - "markdownDescription": "Settings related to idle shutdown of Studio applications.", - "title": "IdleSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "AppLifecycleManagement": { - "$ref": "#/definitions/AWS::SageMaker::Domain.AppLifecycleManagement", - "markdownDescription": "Settings that are used to configure and manage the lifecycle of CodeEditor applications.", - "title": "AppLifecycleManagement" - }, - "BuiltInLifecycleConfigArn": { - "markdownDescription": "The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.", - "title": "BuiltInLifecycleConfigArn", - "type": "string" - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "markdownDescription": "A list of custom SageMaker images that are configured to run as a Code Editor app.", - "title": "CustomImages", - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the Code Editor app.", - "title": "DefaultResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Code Editor application lifecycle configuration.", - "title": "LifecycleConfigArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "markdownDescription": "The URL of the Git repository.", - "title": "RepositoryUrl", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.CustomFileSystemConfig": { + "AWS::SSM::Association.InstanceAssociationOutputLocation": { "additionalProperties": false, "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig", - "markdownDescription": "The settings for a custom Amazon EFS file system.", - "title": "EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.FSxLustreFileSystemConfig", - "markdownDescription": "The settings for a custom Amazon FSx for Lustre file system.", - "title": "FSxLustreFileSystemConfig" - }, - "S3FileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.S3FileSystemConfig", - "markdownDescription": "Configuration settings for a custom Amazon S3 file system.", - "title": "S3FileSystemConfig" + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation", + "markdownDescription": "`S3OutputLocation` is a property of the [InstanceAssociationOutputLocation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html) property that specifies an Amazon S3 bucket where you want to store the results of this request.", + "title": "S3Location" } }, "type": "object" }, - "AWS::SageMaker::Domain.CustomImage": { + "AWS::SSM::Association.S3OutputLocation": { "additionalProperties": false, "properties": { - "AppImageConfigName": { - "markdownDescription": "The name of the AppImageConfig.", - "title": "AppImageConfigName", - "type": "string" - }, - "ImageName": { - "markdownDescription": "The name of the CustomImage. Must be unique to your account.", - "title": "ImageName", + "OutputS3BucketName": { + "markdownDescription": "The name of the S3 bucket.", + "title": "OutputS3BucketName", "type": "string" }, - "ImageVersionNumber": { - "markdownDescription": "The version number of the CustomImage.", - "title": "ImageVersionNumber", - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "markdownDescription": "The POSIX group ID.", - "title": "Gid", - "type": "number" - }, - "Uid": { - "markdownDescription": "The POSIX user ID.", - "title": "Uid", - "type": "number" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "markdownDescription": "The default size of the EBS storage volume for a space.", - "title": "DefaultEbsVolumeSizeInGb", - "type": "number" - }, - "MaximumEbsVolumeSizeInGb": { - "markdownDescription": "The maximum size of the EBS storage volume for a space.", - "title": "MaximumEbsVolumeSizeInGb", - "type": "number" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.DefaultSpaceSettings": { - "additionalProperties": false, - "properties": { - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" - }, - "markdownDescription": "The settings for assigning a custom file system to a domain. Permitted users can access this file system in Amazon SageMaker AI Studio.", - "title": "CustomFileSystemConfigs", - "type": "array" - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig", - "markdownDescription": "", - "title": "CustomPosixUserConfig" - }, - "ExecutionRole": { - "markdownDescription": "The ARN of the execution role for the space.", - "title": "ExecutionRole", + "OutputS3KeyPrefix": { + "markdownDescription": "The S3 bucket subfolder.", + "title": "OutputS3KeyPrefix", "type": "string" }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings", - "markdownDescription": "", - "title": "JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings", - "markdownDescription": "The JupyterServer app settings.", - "title": "JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings", - "markdownDescription": "The KernelGateway app settings.", - "title": "KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "The security group IDs for the Amazon VPC that the space uses for communication.", - "title": "SecurityGroups", - "type": "array" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings", - "markdownDescription": "", - "title": "SpaceStorageSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings", - "markdownDescription": "The default EBS storage settings for a space.", - "title": "DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.DockerSettings": { - "additionalProperties": false, - "properties": { - "EnableDockerAccess": { - "markdownDescription": "Indicates whether the domain can access Docker.", - "title": "EnableDockerAccess", + "OutputS3Region": { + "markdownDescription": "The AWS Region of the S3 bucket.", + "title": "OutputS3Region", "type": "string" - }, - "VpcOnlyTrustedAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of AWS accounts that are trusted when the domain is created in VPC-only mode.", - "title": "VpcOnlyTrustedAccounts", - "type": "array" } }, "type": "object" }, - "AWS::SageMaker::Domain.DomainSettings": { + "AWS::SSM::Association.Target": { "additionalProperties": false, "properties": { - "DockerSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DockerSettings", - "markdownDescription": "A collection of settings that configure the domain's Docker interaction.", - "title": "DockerSettings" - }, - "ExecutionRoleIdentityConfig": { - "markdownDescription": "The configuration for attaching a SageMaker AI user profile name to the execution role as a [sts:SourceIdentity key](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html) .", - "title": "ExecutionRoleIdentityConfig", - "type": "string" - }, - "IpAddressType": { - "markdownDescription": "The IP address type for the domain. Specify `ipv4` for IPv4-only connectivity or `dualstack` for both IPv4 and IPv6 connectivity. When you specify `dualstack` , the subnet must support IPv6 CIDR blocks. If not specified, defaults to `ipv4` .", - "title": "IpAddressType", + "Key": { + "markdownDescription": "User-defined criteria for sending commands that target managed nodes that meet the criteria.", + "title": "Key", "type": "string" }, - "RStudioServerProDomainSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.RStudioServerProDomainSettings", - "markdownDescription": "A collection of settings that configure the `RStudioServerPro` Domain-level app.", - "title": "RStudioServerProDomainSettings" - }, - "SecurityGroupIds": { + "Values": { "items": { "type": "string" }, - "markdownDescription": "The security groups for the Amazon Virtual Private Cloud that the `Domain` uses for communication between Domain-level apps and user apps.", - "title": "SecurityGroupIds", + "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` .\n\nDepending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.", + "title": "Values", "type": "array" - }, - "UnifiedStudioSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.UnifiedStudioSettings", - "markdownDescription": "The settings that apply to an SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.", - "title": "UnifiedStudioSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "markdownDescription": "The ID of your Amazon EFS file system.", - "title": "FileSystemId", - "type": "string" - }, - "FileSystemPath": { - "markdownDescription": "The path to the file system directory that is accessible in Amazon SageMaker AI Studio. Permitted users can access only this directory and below.", - "title": "FileSystemPath", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "markdownDescription": "The globally unique, 17-digit, ID of the file system, assigned by Amazon FSx for Lustre.", - "title": "FileSystemId", - "type": "string" - }, - "FileSystemPath": { - "markdownDescription": "The path to the file system directory that is accessible in Amazon SageMaker Studio. Permitted users can access only this directory and below.", - "title": "FileSystemPath", - "type": "string" } }, "required": [ - "FileSystemId" + "Key", + "Values" ], "type": "object" }, - "AWS::SageMaker::Domain.HiddenSageMakerImage": { - "additionalProperties": false, - "properties": { - "SageMakerImageName": { - "markdownDescription": "The SageMaker image name that you are hiding from the Studio user interface.", - "title": "SageMakerImageName", - "type": "string" - }, - "VersionAliases": { - "items": { - "type": "string" - }, - "markdownDescription": "The version aliases you are hiding from the Studio user interface.", - "title": "VersionAliases", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.IdleSettings": { + "AWS::SSM::Document": { "additionalProperties": false, "properties": { - "IdleTimeoutInMinutes": { - "markdownDescription": "The time that SageMaker waits after the application becomes idle before shutting it down.", - "title": "IdleTimeoutInMinutes", - "type": "number" - }, - "LifecycleManagement": { - "markdownDescription": "Indicates whether idle shutdown is activated for the application type.", - "title": "LifecycleManagement", + "Condition": { "type": "string" }, - "MaxIdleTimeoutInMinutes": { - "markdownDescription": "The maximum value in minutes that custom idle shutdown can be set to by the user.", - "title": "MaxIdleTimeoutInMinutes", - "type": "number" - }, - "MinIdleTimeoutInMinutes": { - "markdownDescription": "The minimum value in minutes that custom idle shutdown can be set to by the user.", - "title": "MinIdleTimeoutInMinutes", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "AppLifecycleManagement": { - "$ref": "#/definitions/AWS::SageMaker::Domain.AppLifecycleManagement", - "markdownDescription": "Indicates whether idle shutdown is activated for JupyterLab applications.", - "title": "AppLifecycleManagement" - }, - "BuiltInLifecycleConfigArn": { - "markdownDescription": "The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.", - "title": "BuiltInLifecycleConfigArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "CodeRepositories": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" - }, - "markdownDescription": "A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.", - "title": "CodeRepositories", - "type": "array" - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "markdownDescription": "A list of custom SageMaker images that are configured to run as a JupyterLab app.", - "title": "CustomImages", - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.", - "title": "DefaultResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the lifecycle configurations attached to the user profile or domain. To remove a lifecycle config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.", - "title": "DefaultResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a KernelGateway app.\n\nThe maximum number of custom images are as follows.\n\n- On a domain level: 200\n- On a space level: 5\n- On a user profile level: 5", - "title": "CustomImages", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.\n\n> The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.", - "title": "DefaultResourceSpec" + "Metadata": { + "type": "object" }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.RSessionAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + "Properties": { + "additionalProperties": false, + "properties": { + "Attachments": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" + }, + "markdownDescription": "A list of key-value pairs that describe attachments to a version of a document.", + "title": "Attachments", + "type": "array" + }, + "Content": { + "markdownDescription": "The content for the new SSM document in JSON or YAML. For more information about the schemas for SSM document content, see [SSM document schema features and examples](https://docs.aws.amazon.com/systems-manager/latest/userguide/document-schemas-features.html) in the *AWS Systems Manager User Guide* .\n\n> This parameter also supports `String` data types.", + "title": "Content", + "type": "object" + }, + "DocumentFormat": { + "markdownDescription": "Specify the document format for the request. `JSON` is the default format.", + "title": "DocumentFormat", + "type": "string" + }, + "DocumentType": { + "markdownDescription": "The type of document to create.", + "title": "DocumentType", + "type": "string" + }, + "Name": { + "markdownDescription": "A name for the SSM document.\n\n> You can't use the following strings as document name prefixes. These are reserved by AWS for use as document name prefixes:\n> \n> - `aws`\n> - `amazon`\n> - `amzn`\n> - `AWSEC2`\n> - `AWSConfigRemediation`\n> - `AWSSupport`", + "title": "Name", + "type": "string" + }, + "Requires": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" + }, + "markdownDescription": "A list of SSM documents required by a document. This parameter is used exclusively by AWS AppConfig . When a user creates an AWS AppConfig configuration in an SSM document, the user must also specify a required document for validation purposes. In this case, an `ApplicationConfiguration` document requires an `ApplicationConfigurationSchema` document for validation purposes. For more information, see [What is AWS AppConfig ?](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) in the *AWS AppConfig User Guide* .", + "title": "Requires", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "AWS CloudFormation resource tags to apply to the document. Use tags to help you identify and categorize resources.", + "title": "Tags", + "type": "array" + }, + "TargetType": { + "markdownDescription": "Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: `/AWS::EC2::Instance` . If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see [AWS resource and property types reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) in the *AWS CloudFormation User Guide* .", + "title": "TargetType", + "type": "string" + }, + "UpdateMethod": { + "markdownDescription": "If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced. `Replace` is the default method. If you specify `NewVersion` for the `UpdateMethod` parameter, and the `Name` of the document does not match an existing resource, a new document is created. When you specify `NewVersion` , the default version of the document is changed to the newly created version.", + "title": "UpdateMethod", + "type": "string" + }, + "VersionName": { + "markdownDescription": "An optional field specifying the version of the artifact you are creating with the document. For example, `Release12.1` . This value is unique across all versions of a document, and can't be changed.", + "title": "VersionName", + "type": "string" + } }, - "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a RSession app.", - "title": "CustomImages", - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", - "title": "DefaultResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "markdownDescription": "Indicates whether the current user has access to the `RStudioServerPro` app.", - "title": "AccessStatus", - "type": "string" - }, - "UserGroup": { - "markdownDescription": "The level of permissions that the user has within the `RStudioServerPro` app. This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.", - "title": "UserGroup", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.RStudioServerProDomainSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "A collection that defines the default `InstanceType` , `SageMakerImageArn` , and `SageMakerImageVersionArn` for the Domain.", - "title": "DefaultResourceSpec" - }, - "DomainExecutionRoleArn": { - "markdownDescription": "The ARN of the execution role for the `RStudioServerPro` Domain-level app.", - "title": "DomainExecutionRoleArn", - "type": "string" + "required": [ + "Content" + ], + "type": "object" }, - "RStudioConnectUrl": { - "markdownDescription": "A URL pointing to an RStudio Connect server.", - "title": "RStudioConnectUrl", + "Type": { + "enum": [ + "AWS::SSM::Document" + ], "type": "string" }, - "RStudioPackageManagerUrl": { - "markdownDescription": "A URL pointing to an RStudio Package Manager server.", - "title": "RStudioPackageManagerUrl", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DomainExecutionRoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Domain.ResourceSpec": { + "AWS::SSM::Document.AttachmentsSource": { "additionalProperties": false, "properties": { - "InstanceType": { - "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", - "title": "InstanceType", - "type": "string" - }, - "LifecycleConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", - "title": "LifecycleConfigArn", - "type": "string" - }, - "SageMakerImageArn": { - "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", - "title": "SageMakerImageArn", + "Key": { + "markdownDescription": "The key of a key-value pair that identifies the location of an attachment to a document.", + "title": "Key", "type": "string" }, - "SageMakerImageVersionArn": { - "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", - "title": "SageMakerImageVersionArn", + "Name": { + "markdownDescription": "The name of the document attachment file.", + "title": "Name", "type": "string" }, - "TrainingPlanArn": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value of a key-value pair that identifies the location of an attachment to a document. The format for *Value* depends on the type of key you specify.\n\n- For the key *SourceUrl* , the value is an S3 bucket location. For example:\n\n`\"Values\": [ \"s3://amzn-s3-demo-bucket/my-prefix\" ]`\n- For the key *S3FileUrl* , the value is a file in an S3 bucket. For example:\n\n`\"Values\": [ \"s3://amzn-s3-demo-bucket/my-prefix/my-file.py\" ]`\n- For the key *AttachmentReference* , the value is constructed from the name of another SSM document in your account, a version number of that document, and a file attached to that document version that you want to reuse. For example:\n\n`\"Values\": [ \"MyOtherDocument/3/my-other-file.py\" ]`\n\nHowever, if the SSM document is shared with you from another account, the full SSM document ARN must be specified instead of the document name only. For example:\n\n`\"Values\": [ \"arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py\" ]`", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::Domain.S3FileSystemConfig": { + "AWS::SSM::Document.DocumentRequires": { "additionalProperties": false, "properties": { - "MountPath": { - "markdownDescription": "The file system path where the Amazon S3 storage location will be mounted within the Amazon SageMaker Studio environment.", - "title": "MountPath", + "Name": { + "markdownDescription": "The name of the required SSM document. The name can be an Amazon Resource Name (ARN).", + "title": "Name", "type": "string" }, - "S3Uri": { - "markdownDescription": "The Amazon S3 URI of the S3 file system configuration.", - "title": "S3Uri", + "Version": { + "markdownDescription": "The document version required by the current document.", + "title": "Version", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::Domain.SharingSettings": { + "AWS::SSM::MaintenanceWindow": { "additionalProperties": false, "properties": { - "NotebookOutputOption": { - "markdownDescription": "Whether to include the notebook cell output when sharing the notebook. The default is `Disabled` .", - "title": "NotebookOutputOption", + "Condition": { "type": "string" }, - "S3KmsKeyId": { - "markdownDescription": "When `NotebookOutputOption` is `Allowed` , the AWS Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.", - "title": "S3KmsKeyId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3OutputPath": { - "markdownDescription": "When `NotebookOutputOption` is `Allowed` , the Amazon S3 bucket used to store the shared notebook snapshots.", - "title": "S3OutputPath", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The [Applications supported in Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-apps.html) that are hidden from the Studio left navigation pane.", - "title": "HiddenAppTypes", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HiddenInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types you are hiding from the Studio user interface.", - "title": "HiddenInstanceTypes", - "type": "array" + "Metadata": { + "type": "object" }, - "HiddenMlTools": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AllowUnassociatedTargets": { + "markdownDescription": "Enables a maintenance window task to run on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the maintenance window.", + "title": "AllowUnassociatedTargets", + "type": "boolean" + }, + "Cutoff": { + "markdownDescription": "The number of hours before the end of the maintenance window that AWS Systems Manager stops scheduling new tasks for execution.", + "title": "Cutoff", + "type": "number" + }, + "Description": { + "markdownDescription": "A description of the maintenance window.", + "title": "Description", + "type": "string" + }, + "Duration": { + "markdownDescription": "The duration of the maintenance window in hours.", + "title": "Duration", + "type": "number" + }, + "EndDate": { + "markdownDescription": "The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive.", + "title": "EndDate", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the maintenance window.", + "title": "Name", + "type": "string" + }, + "Schedule": { + "markdownDescription": "The schedule of the maintenance window in the form of a cron or rate expression.", + "title": "Schedule", + "type": "string" + }, + "ScheduleOffset": { + "markdownDescription": "The number of days to wait to run a maintenance window after the scheduled cron expression date and time.", + "title": "ScheduleOffset", + "type": "number" + }, + "ScheduleTimezone": { + "markdownDescription": "The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format.", + "title": "ScheduleTimezone", + "type": "string" + }, + "StartDate": { + "markdownDescription": "The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. `StartDate` allows you to delay activation of the maintenance window until the specified future date.", + "title": "StartDate", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a maintenance window to identify the type of tasks it will run, the types of targets, and the environment it will run in.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "The machine learning tools that are hidden from the Studio left navigation pane.", - "title": "HiddenMlTools", - "type": "array" + "required": [ + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" + ], + "type": "object" }, - "HiddenSageMakerImageVersionAliases": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.HiddenSageMakerImage" - }, - "markdownDescription": "The version aliases you are hiding from the Studio user interface.", - "title": "HiddenSageMakerImageVersionAliases", - "type": "array" + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::Domain.UnifiedStudioSettings": { + "AWS::SSM::MaintenanceWindowTarget": { "additionalProperties": false, "properties": { - "DomainAccountId": { - "markdownDescription": "The ID of the AWS account that has the Amazon SageMaker Unified Studio domain. The default value, if you don't specify an ID, is the ID of the account that has the Amazon SageMaker AI domain.", - "title": "DomainAccountId", + "Condition": { "type": "string" }, - "DomainId": { - "markdownDescription": "The ID of the Amazon SageMaker Unified Studio domain associated with this domain.", - "title": "DomainId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DomainRegion": { - "markdownDescription": "The AWS Region where the domain is located in Amazon SageMaker Unified Studio. The default value, if you don't specify a Region, is the Region where the Amazon SageMaker AI domain is located.", - "title": "DomainRegion", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "EnvironmentId": { - "markdownDescription": "The ID of the environment that Amazon SageMaker Unified Studio associates with the domain.", - "title": "EnvironmentId", - "type": "string" + "Metadata": { + "type": "object" }, - "ProjectId": { - "markdownDescription": "The ID of the Amazon SageMaker Unified Studio project that corresponds to the domain.", - "title": "ProjectId", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description for the target.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name for the maintenance window target.", + "title": "Name", + "type": "string" + }, + "OwnerInformation": { + "markdownDescription": "A user-provided value that will be included in any Amazon CloudWatch Events events that are raised while running tasks for these targets in this maintenance window.", + "title": "OwnerInformation", + "type": "string" + }, + "ResourceType": { + "markdownDescription": "The type of target that is being registered with the maintenance window.", + "title": "ResourceType", + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + }, + "markdownDescription": "The targets to register with the maintenance window. In other words, the instances to run commands on when the maintenance window runs.\n\nYou must specify targets by using the `WindowTargetIds` parameter.", + "title": "Targets", + "type": "array" + }, + "WindowId": { + "markdownDescription": "The ID of the maintenance window to register the target with.", + "title": "WindowId", + "type": "string" + } + }, + "required": [ + "ResourceType", + "Targets", + "WindowId" + ], + "type": "object" }, - "ProjectS3Path": { - "markdownDescription": "The location where Amazon S3 stores temporary execution data and other artifacts for the project that corresponds to the domain.", - "title": "ProjectS3Path", + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTarget" + ], "type": "string" }, - "StudioWebPortalAccess": { - "markdownDescription": "Sets whether you can access the domain in Amazon SageMaker Studio:\n\n- **ENABLED** - You can access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it in both studio interfaces.\n- **DISABLED** - You can't access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it only in that studio interface.\n\nTo migrate a domain to Amazon SageMaker Unified Studio, you specify the UnifiedStudioSettings data type when you use the UpdateDomain action.", - "title": "StudioWebPortalAccess", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::Domain.UserSettings": { + "AWS::SSM::MaintenanceWindowTarget.Targets": { "additionalProperties": false, "properties": { - "AutoMountHomeEFS": { - "markdownDescription": "Indicates whether auto-mounting of an EFS volume is supported for the user profile. The `DefaultAsDomain` value is only supported for user profiles. Do not use the `DefaultAsDomain` value when setting this parameter for a domain.\n\nSageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.", - "title": "AutoMountHomeEFS", - "type": "string" - }, - "CodeEditorAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings", - "markdownDescription": "The Code Editor application settings.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" - }, - "markdownDescription": "The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker AI Studio.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "CustomFileSystemConfigs", - "type": "array" - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig", - "markdownDescription": "Details about the POSIX identity that is used for file system operations.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "markdownDescription": "The default experience that the user is directed to when accessing the domain. The supported values are:\n\n- `studio::` : Indicates that Studio is the default experience. This value can only be passed if `StudioWebPortal` is set to `ENABLED` .\n- `app:JupyterServer:` : Indicates that Studio Classic is the default experience.", - "title": "DefaultLandingUri", - "type": "string" - }, - "ExecutionRole": { - "markdownDescription": "The execution role for the user.\n\nSageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.", - "title": "ExecutionRole", + "Key": { + "markdownDescription": "User-defined criteria for sending commands that target managed nodes that meet the criteria.", + "title": "Key", "type": "string" }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings", - "markdownDescription": "The settings for the JupyterLab application.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings", - "markdownDescription": "The Jupyter server's app settings.", - "title": "JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings", - "markdownDescription": "The kernel gateway app settings.", - "title": "KernelGatewayAppSettings" - }, - "RSessionAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.RSessionAppSettings", - "markdownDescription": "A collection of settings that configure the `RSessionGateway` app.", - "title": "RSessionAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.RStudioServerProAppSettings", - "markdownDescription": "A collection of settings that configure user interaction with the `RStudioServerPro` app.", - "title": "RStudioServerProAppSettings" - }, - "SecurityGroups": { + "Values": { "items": { "type": "string" }, - "markdownDescription": "The security groups for the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.\n\nOptional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .\n\nRequired when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` , unless specified as part of the `DefaultUserSettings` for the domain.\n\nAmazon SageMaker AI adds a security group to allow NFS traffic from Amazon SageMaker AI Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "SecurityGroups", + "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` .\n\nDepending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.", + "title": "Values", "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings", - "markdownDescription": "Specifies options for sharing Amazon SageMaker AI Studio notebooks.", - "title": "SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings", - "markdownDescription": "The storage settings for a space.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "SpaceStorageSettings" - }, - "StudioWebPortal": { - "markdownDescription": "Whether the user can access Studio. If this value is set to `DISABLED` , the user cannot access Studio, even if that is the default experience for the domain.", - "title": "StudioWebPortal", - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.StudioWebPortalSettings", - "markdownDescription": "Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.", - "title": "StudioWebPortalSettings" } }, "required": [ - "ExecutionRole" + "Key", + "Values" ], "type": "object" }, - "AWS::SageMaker::Endpoint": { + "AWS::SSM::MaintenanceWindowTask": { "additionalProperties": false, "properties": { "Condition": { @@ -360836,51 +327936,91 @@ "Properties": { "additionalProperties": false, "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig", - "markdownDescription": "The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.", - "title": "DeploymentConfig" + "CutoffBehavior": { + "markdownDescription": "The specification for whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached.", + "title": "CutoffBehavior", + "type": "string" }, - "EndpointConfigName": { - "markdownDescription": "The name of the [AWS::SageMaker::EndpointConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html) resource that specifies the configuration for the endpoint. For more information, see [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) .", - "title": "EndpointConfigName", + "Description": { + "markdownDescription": "A description of the task.", + "title": "Description", "type": "string" }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "markdownDescription": "When you are updating endpoint resources with [RetainAllVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-RetainAllVariantProperties) whose value is set to `true` , `ExcludeRetainedVariantProperties` specifies the list of type [VariantProperty](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html) to override with the values provided by `EndpointConfig` . If you don't specify a value for `ExcludeAllVariantProperties` , no variant properties are overridden. Don't use this property when creating new endpoint resources or when `RetainAllVariantProperties` is set to `false` .", - "title": "ExcludeRetainedVariantProperties", - "type": "array" + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo", + "markdownDescription": "> `LoggingInfo` has been deprecated. To specify an Amazon S3 bucket to contain logs for Run Command tasks, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` options in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [AWS ::SSM::MaintenanceWindowTask MaintenanceWindowRunCommandParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html) . \n\nInformation about an Amazon S3 bucket to write Run Command task-level logs to.", + "title": "LoggingInfo" }, - "RetainAllVariantProperties": { - "markdownDescription": "When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set `RetainAllVariantProperties` to `true` . To use the variant properties specified in a new `EndpointConfig` call when updating an endpoint, set `RetainAllVariantProperties` to `false` . Use this property only when updating endpoint resources, not when creating new endpoint resources.", - "title": "RetainAllVariantProperties", - "type": "boolean" + "MaxConcurrency": { + "markdownDescription": "The maximum number of targets this task can be run for, in parallel.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases.\n> \n> For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task.", + "title": "MaxConcurrency", + "type": "string" }, - "RetainDeploymentConfig": { - "markdownDescription": "Specifies whether to reuse the last deployment configuration. The default value is false (the configuration is not reused).", - "title": "RetainDeploymentConfig", - "type": "boolean" + "MaxErrors": { + "markdownDescription": "The maximum number of errors allowed before this task stops being scheduled.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases.\n> \n> For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task.", + "title": "MaxErrors", + "type": "string" }, - "Tags": { + "Name": { + "markdownDescription": "The task name.", + "title": "Name", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority of the task in the maintenance window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.", + "title": "Priority", + "type": "number" + }, + "ServiceRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` .\n\nHowever, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* .", + "title": "ServiceRoleArn", + "type": "string" + }, + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", - "title": "Tags", + "markdownDescription": "The targets, either instances or window target IDs.\n\n- Specify instances using `Key=InstanceIds,Values= *instanceid1* , *instanceid2*` .\n- Specify window target IDs using `Key=WindowTargetIds,Values= *window-target-id-1* , *window-target-id-2*` .", + "title": "Targets", "type": "array" + }, + "TaskArn": { + "markdownDescription": "The resource that the task uses during execution.\n\nFor `RUN_COMMAND` and `AUTOMATION` task types, `TaskArn` is the SSM document name or Amazon Resource Name (ARN).\n\nFor `LAMBDA` tasks, `TaskArn` is the function name or ARN.\n\nFor `STEP_FUNCTIONS` tasks, `TaskArn` is the state machine ARN.", + "title": "TaskArn", + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters", + "markdownDescription": "The parameters to pass to the task when it runs. Populate only the fields that match the task type. All other fields should be empty.\n\n> When you update a maintenance window task that has options specified in `TaskInvocationParameters` , you must provide again all the `TaskInvocationParameters` values that you want to retain. The values you do not specify again are removed. For example, suppose that when you registered a Run Command task, you specified `TaskInvocationParameters` values for `Comment` , `NotificationConfig` , and `OutputS3BucketName` . If you update the maintenance window task and specify only a different `OutputS3BucketName` value, the values for `Comment` and `NotificationConfig` are removed.", + "title": "TaskInvocationParameters" + }, + "TaskParameters": { + "markdownDescription": "> `TaskParameters` has been deprecated. To specify parameters to pass to a task when it runs, instead use the `Parameters` option in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [MaintenanceWindowTaskInvocationParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_MaintenanceWindowTaskInvocationParameters.html) . \n\nThe parameters to pass to the task when it runs.", + "title": "TaskParameters", + "type": "object" + }, + "TaskType": { + "markdownDescription": "The type of task. Valid values: `RUN_COMMAND` , `AUTOMATION` , `LAMBDA` , `STEP_FUNCTIONS` .", + "title": "TaskType", + "type": "string" + }, + "WindowId": { + "markdownDescription": "The ID of the maintenance window where the task is registered.", + "title": "WindowId", + "type": "string" } }, "required": [ - "EndpointConfigName" + "Priority", + "TaskArn", + "TaskType", + "WindowId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Endpoint" + "AWS::SSM::MaintenanceWindowTask" ], "type": "string" }, @@ -360899,173 +328039,238 @@ ], "type": "object" }, - "AWS::SageMaker::Endpoint.Alarm": { + "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { "additionalProperties": false, "properties": { - "AlarmName": { - "markdownDescription": "The name of a CloudWatch alarm in your account.", - "title": "AlarmName", + "CloudWatchLogGroupName": { + "markdownDescription": "The name of the CloudWatch Logs log group where you want to send command output. If you don't specify a group name, AWS Systems Manager automatically creates a log group for you. The log group uses the following naming format:\n\n`aws/ssm/ *SystemsManagerDocumentName*`", + "title": "CloudWatchLogGroupName", "type": "string" + }, + "CloudWatchOutputEnabled": { + "markdownDescription": "Enables Systems Manager to send command output to CloudWatch Logs.", + "title": "CloudWatchOutputEnabled", + "type": "boolean" } }, - "required": [ - "AlarmName" - ], "type": "object" }, - "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" - }, - "markdownDescription": "List of CloudWatch alarms in your account that are configured to monitor metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker rolls back the deployment.", - "title": "Alarms", - "type": "array" + "Region": { + "markdownDescription": "The AWS Region where the S3 bucket is located.", + "title": "Region", + "type": "string" + }, + "S3Bucket": { + "markdownDescription": "The name of an S3 bucket where execution logs are stored.", + "title": "S3Bucket", + "type": "string" + }, + "S3Prefix": { + "markdownDescription": "The Amazon S3 bucket subfolder.", + "title": "S3Prefix", + "type": "string" } }, "required": [ - "Alarms" + "Region", + "S3Bucket" ], "type": "object" }, - "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { "additionalProperties": false, "properties": { - "MaximumExecutionTimeoutInSeconds": { - "markdownDescription": "Maximum execution timeout for the deployment. Note that the timeout value should be larger than the total waiting time specified in `TerminationWaitInSeconds` and `WaitIntervalInSeconds` .", - "title": "MaximumExecutionTimeoutInSeconds", - "type": "number" - }, - "TerminationWaitInSeconds": { - "markdownDescription": "Additional waiting time in seconds after the completion of an endpoint deployment before terminating the old endpoint fleet. Default is 0.", - "title": "TerminationWaitInSeconds", - "type": "number" + "DocumentVersion": { + "markdownDescription": "The version of an Automation runbook to use during task execution.", + "title": "DocumentVersion", + "type": "string" }, - "TrafficRoutingConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig", - "markdownDescription": "Defines the traffic routing strategy to shift traffic from the old fleet to the new fleet during an endpoint deployment.", - "title": "TrafficRoutingConfiguration" + "Parameters": { + "markdownDescription": "The parameters for the `AUTOMATION` type task.", + "title": "Parameters", + "type": "object" } }, - "required": [ - "TrafficRoutingConfiguration" - ], "type": "object" }, - "AWS::SageMaker::Endpoint.CapacitySize": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "Specifies the endpoint capacity type.\n\n- `INSTANCE_COUNT` : The endpoint activates based on the number of instances.\n- `CAPACITY_PERCENT` : The endpoint activates based on the specified percentage of capacity.", - "title": "Type", + "ClientContext": { + "markdownDescription": "Client-specific information to pass to the AWS Lambda function that you're invoking. You can then use the `context` variable to process the client information in your AWS Lambda function.", + "title": "ClientContext", "type": "string" }, - "Value": { - "markdownDescription": "Defines the capacity size, either as a number of instances or a capacity percentage.", - "title": "Value", - "type": "number" + "Payload": { + "markdownDescription": "JSON to provide to your AWS Lambda function as input.\n\n> Although `Type` is listed as \"String\" for this property, the payload content must be formatted as a Base64-encoded binary data object. \n\n*Length Constraint:* 4096", + "title": "Payload", + "type": "string" + }, + "Qualifier": { + "markdownDescription": "An AWS Lambda function version or alias name. If you specify a function version, the action uses the qualified function Amazon Resource Name (ARN) to invoke a specific Lambda function. If you specify an alias name, the action uses the alias ARN to invoke the Lambda function version that the alias points to.", + "title": "Qualifier", + "type": "string" } }, - "required": [ - "Type", - "Value" - ], "type": "object" }, - "AWS::SageMaker::Endpoint.DeploymentConfig": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig", - "markdownDescription": "Automatic rollback configuration for handling endpoint deployment failures and recovery.", - "title": "AutoRollbackConfiguration" + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig", + "markdownDescription": "Configuration options for sending command output to Amazon CloudWatch Logs.", + "title": "CloudWatchOutputConfig" }, - "BlueGreenUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy", - "markdownDescription": "Update policy for a blue/green deployment. If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.", - "title": "BlueGreenUpdatePolicy" + "Comment": { + "markdownDescription": "Information about the command or commands to run.", + "title": "Comment", + "type": "string" }, - "RollingUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.RollingUpdatePolicy", - "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker endpoint.", - "title": "RollingUpdatePolicy" + "DocumentHash": { + "markdownDescription": "The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.", + "title": "DocumentHash", + "type": "string" + }, + "DocumentHashType": { + "markdownDescription": "The SHA-256 or SHA-1 hash type. SHA-1 hashes are deprecated.", + "title": "DocumentHashType", + "type": "string" + }, + "DocumentVersion": { + "markdownDescription": "The AWS Systems Manager document (SSM document) version to use in the request. You can specify `$DEFAULT` , `$LATEST` , or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:\n\n`--document-version \"\\$DEFAULT\"`\n\n`--document-version \"\\$LATEST\"`\n\n`--document-version \"3\"`", + "title": "DocumentVersion", + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig", + "markdownDescription": "Configurations for sending notifications about command status changes on a per-managed node basis.", + "title": "NotificationConfig" + }, + "OutputS3BucketName": { + "markdownDescription": "The name of the Amazon Simple Storage Service (Amazon S3) bucket.", + "title": "OutputS3BucketName", + "type": "string" + }, + "OutputS3KeyPrefix": { + "markdownDescription": "The S3 bucket subfolder.", + "title": "OutputS3KeyPrefix", + "type": "string" + }, + "Parameters": { + "markdownDescription": "The parameters for the `RUN_COMMAND` task execution.\n\nThe supported parameters are the same as those for the `SendCommand` API call. For more information, see [SendCommand](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) in the *AWS Systems Manager API Reference* .", + "title": "Parameters", + "type": "object" + }, + "ServiceRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` .\n\nHowever, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* .", + "title": "ServiceRoleArn", + "type": "string" + }, + "TimeoutSeconds": { + "markdownDescription": "If this time is reached and the command hasn't already started running, it doesn't run.", + "title": "TimeoutSeconds", + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::Endpoint.RollingUpdatePolicy": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { "additionalProperties": false, "properties": { - "MaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", - "markdownDescription": "Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.", - "title": "MaximumBatchSize" + "Input": { + "markdownDescription": "The inputs for the `STEP_FUNCTIONS` task.", + "title": "Input", + "type": "string" }, - "MaximumExecutionTimeoutInSeconds": { - "markdownDescription": "The time limit for the total deployment. Exceeding this limit causes a timeout.", - "title": "MaximumExecutionTimeoutInSeconds", - "type": "number" + "Name": { + "markdownDescription": "The name of the `STEP_FUNCTIONS` task.", + "title": "Name", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "additionalProperties": false, + "properties": { + "NotificationArn": { + "markdownDescription": "An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. Run Command pushes notifications about command status changes to this topic.", + "title": "NotificationArn", + "type": "string" }, - "RollbackMaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", - "markdownDescription": "Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.", - "title": "RollbackMaximumBatchSize" + "NotificationEvents": { + "items": { + "type": "string" + }, + "markdownDescription": "The different events that you can receive notifications for. These events include the following: `All` (events), `InProgress` , `Success` , `TimedOut` , `Cancelled` , `Failed` . To learn more about these events, see [Configuring Amazon SNS Notifications for AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html) in the *AWS Systems Manager User Guide* .", + "title": "NotificationEvents", + "type": "array" }, - "WaitIntervalInSeconds": { - "markdownDescription": "The length of the baking period, during which SageMaker monitors alarms for each batch on the new fleet.", - "title": "WaitIntervalInSeconds", - "type": "number" + "NotificationType": { + "markdownDescription": "The notification type.\n\n- `Command` : Receive notification when the status of a command changes.\n- `Invocation` : For commands sent to multiple instances, receive notification on a per-instance basis when the status of a command changes.", + "title": "NotificationType", + "type": "string" } }, "required": [ - "MaximumBatchSize", - "WaitIntervalInSeconds" + "NotificationArn" ], "type": "object" }, - "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "AWS::SSM::MaintenanceWindowTask.Target": { "additionalProperties": false, "properties": { - "CanarySize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", - "markdownDescription": "Batch size for the first step to turn on traffic on the new endpoint fleet. `Value` must be less than or equal to 50% of the variant's total instance count.", - "title": "CanarySize" - }, - "LinearStepSize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", - "markdownDescription": "Batch size for each step to turn on traffic on the new endpoint fleet. `Value` must be 10-50% of the variant's total instance count.", - "title": "LinearStepSize" - }, - "Type": { - "markdownDescription": "Traffic routing strategy type.\n\n- `ALL_AT_ONCE` : Endpoint traffic shifts to the new fleet in a single step.\n- `CANARY` : Endpoint traffic shifts to the new fleet in two steps. The first step is the canary, which is a small portion of the traffic. The second step is the remainder of the traffic.\n- `LINEAR` : Endpoint traffic shifts to the new fleet in n steps of a configurable size.", - "title": "Type", + "Key": { + "markdownDescription": "User-defined criteria for sending commands that target instances that meet the criteria. `Key` can be `InstanceIds` or `WindowTargetIds` . For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* .", + "title": "Key", "type": "string" }, - "WaitIntervalInSeconds": { - "markdownDescription": "The waiting time (in seconds) between incremental steps to turn on traffic on the new endpoint fleet.", - "title": "WaitIntervalInSeconds", - "type": "number" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specify `InstanceIds` , you can specify `i-1234567890abcdef0,i-9876543210abcdef0` to run a command on two EC2 instances. For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* .", + "title": "Values", + "type": "array" } }, "required": [ - "Type" + "Key", + "Values" ], "type": "object" }, - "AWS::SageMaker::Endpoint.VariantProperty": { + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { "additionalProperties": false, "properties": { - "VariantPropertyType": { - "markdownDescription": "The type of variant property. The supported values are:\n\n- `DesiredInstanceCount` : Overrides the existing variant instance counts using the [InitialInstanceCount](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialInstanceCount) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .\n- `DesiredWeight` : Overrides the existing variant weights using the [InitialVariantWeight](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialVariantWeight) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .\n- `DataCaptureConfig` : (Not currently supported.)", - "title": "VariantPropertyType", - "type": "string" + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters", + "markdownDescription": "The parameters for an `AUTOMATION` task type.", + "title": "MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters", + "markdownDescription": "The parameters for a `LAMBDA` task type.", + "title": "MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters", + "markdownDescription": "The parameters for a `RUN_COMMAND` task type.", + "title": "MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters", + "markdownDescription": "The parameters for a `STEP_FUNCTIONS` task type.", + "title": "MaintenanceWindowStepFunctionsParameters" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig": { + "AWS::SSM::Parameter": { "additionalProperties": false, "properties": { "Condition": { @@ -361100,76 +328305,67 @@ "Properties": { "additionalProperties": false, "properties": { - "AsyncInferenceConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceConfig", - "markdownDescription": "Specifies configuration for how an endpoint performs asynchronous inference.", - "title": "AsyncInferenceConfig" - }, - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig", - "markdownDescription": "Specifies how to capture endpoint data for model monitor. The data capture configuration applies to all production variants hosted at the endpoint.", - "title": "DataCaptureConfig" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "EndpointConfigName": { - "markdownDescription": "The name of the endpoint configuration.", - "title": "EndpointConfigName", + "AllowedPattern": { + "markdownDescription": "A regular expression used to validate the parameter value. For example, for `String` types with values restricted to numbers, you can specify the following: `AllowedPattern=^\\d+$`", + "title": "AllowedPattern", "type": "string" }, - "ExecutionRoleArn": { + "DataType": { + "markdownDescription": "The data type of the parameter, such as `text` or `aws:ec2:image` . The default is `text` .", + "title": "DataType", "type": "string" }, - "ExplainerConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig", - "markdownDescription": "A parameter to activate explainers.", - "title": "ExplainerConfig" - }, - "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`\n\nThe KMS key policy must grant permission to the IAM role that you specify in your `CreateEndpoint` , `UpdateEndpoint` requests. For more information, refer to the AWS Key Management Service section [Using Key Policies in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `KmsKeyId` when using an instance type with local storage. If any of the models that you specify in the `ProductionVariants` parameter use nitro-based instances with local storage, do not specify a value for the `KmsKeyId` parameter. If you specify a value for `KmsKeyId` when using any nitro-based instances with local storage, the call to `CreateEndpointConfig` fails.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .", - "title": "KmsKeyId", + "Description": { + "markdownDescription": "Information about the parameter.", + "title": "Description", "type": "string" }, - "MetricsConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.MetricsConfig" - }, - "ProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "markdownDescription": "A list of `ProductionVariant` objects, one for each model that you want to host at this endpoint.", - "title": "ProductionVariants", - "type": "array" + "Name": { + "markdownDescription": "The name of the parameter.\n\n> The reported maximum length of 2048 characters for a parameter name includes 1037 characters that are reserved for internal use by Systems Manager . The maximum length for a parameter name that you specify is 1011 characters.\n> \n> This count of 1011 characters includes the characters in the ARN that precede the name you specify. This ARN length will vary depending on your partition and Region. For example, the following 45 characters count toward the 1011 character maximum for a parameter created in the US East (Ohio) Region: `arn:aws:ssm:us-east-2:111122223333:parameter/` .", + "title": "Name", + "type": "string" }, - "ShadowProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "markdownDescription": "Array of `ProductionVariant` objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on `ProductionVariants` . If you use this field, you can only specify one variant for `ProductionVariants` and one variant for `ShadowProductionVariants` .", - "title": "ShadowProductionVariants", - "type": "array" + "Policies": { + "markdownDescription": "Information about the policies assigned to a parameter.\n\n[Assigning parameter policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) in the *AWS Systems Manager User Guide* .", + "title": "Policies", + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .", "title": "Tags", - "type": "array" + "type": "object" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" + "Tier": { + "markdownDescription": "The parameter tier.", + "title": "Tier", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of parameter.\n\n> Parameters of type `SecureString` are not supported by AWS CloudFormation .", + "title": "Type", + "type": "string" + }, + "Value": { + "markdownDescription": "The parameter value.\n\n> If type is `StringList` , the system returns a comma-separated string with no spaces between commas in the `Value` field.", + "title": "Value", + "type": "string" } }, "required": [ - "ProductionVariants" + "Type", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::EndpointConfig" + "AWS::SSM::Parameter" ], "type": "string" }, @@ -361188,598 +328384,710 @@ ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.AsyncInferenceClientConfig": { - "additionalProperties": false, - "properties": { - "MaxConcurrentInvocationsPerInstance": { - "markdownDescription": "The maximum number of concurrent requests sent by the SageMaker client to the model container. If no value is provided, SageMaker will choose an optimal value for you.", - "title": "MaxConcurrentInvocationsPerInstance", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.AsyncInferenceConfig": { - "additionalProperties": false, - "properties": { - "ClientConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceClientConfig", - "markdownDescription": "Configures the behavior of the client used by SageMaker to interact with the model container during asynchronous inference.", - "title": "ClientConfig" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceOutputConfig", - "markdownDescription": "Specifies the configuration for asynchronous inference invocation outputs.", - "title": "OutputConfig" - } - }, - "required": [ - "OutputConfig" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig": { + "AWS::SSM::PatchBaseline": { "additionalProperties": false, "properties": { - "ErrorTopic": { - "markdownDescription": "Amazon SNS topic to post a notification to when an inference fails. If no topic is provided, no notification is sent on failure.", - "title": "ErrorTopic", + "Condition": { "type": "string" }, - "IncludeInferenceResponseIn": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon SNS topics where you want the inference response to be included.\n\n> The inference response is included only if the response size is less than or equal to 128 KB.", - "title": "IncludeInferenceResponseIn", - "type": "array" - }, - "SuccessTopic": { - "markdownDescription": "Amazon SNS topic to post a notification to when an inference completes successfully. If no topic is provided, no notification is sent on success.", - "title": "SuccessTopic", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.AsyncInferenceOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.", - "title": "KmsKeyId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig", - "markdownDescription": "Specifies the configuration for notifications of inference results for asynchronous inference.", - "title": "NotificationConfig" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "S3FailurePath": { - "markdownDescription": "The Amazon S3 location to upload failure inference responses to.", - "title": "S3FailurePath", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup", + "markdownDescription": "A set of rules used to include patches in the baseline.", + "title": "ApprovalRules" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of explicitly approved patches for the baseline.\n\nFor information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* .", + "title": "ApprovedPatches", + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { + "markdownDescription": "Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is `UNSPECIFIED` .", + "title": "ApprovedPatchesComplianceLevel", + "type": "string" + }, + "ApprovedPatchesEnableNonSecurity": { + "markdownDescription": "Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is `false` . Applies to Linux managed nodes only.", + "title": "ApprovedPatchesEnableNonSecurity", + "type": "boolean" + }, + "AvailableSecurityUpdatesComplianceStatus": { + "markdownDescription": "Indicates the status you want to assign to security patches that are available but not approved because they don't meet the installation criteria specified in the patch baseline.\n\nExample scenario: Security patches that you might want installed can be skipped if you have specified a long period to wait after a patch is released before installation. If an update to the patch is released during your specified waiting period, the waiting period for installing the patch starts over. If the waiting period is too long, multiple versions of the patch could be released but never installed.\n\nSupported for Windows Server managed nodes only.", + "title": "AvailableSecurityUpdatesComplianceStatus", + "type": "string" + }, + "DefaultBaseline": { + "markdownDescription": "Indicates whether this is the default baseline. AWS Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.", + "title": "DefaultBaseline", + "type": "boolean" + }, + "Description": { + "markdownDescription": "A description of the patch baseline.", + "title": "Description", + "type": "string" + }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup", + "markdownDescription": "A set of global filters used to include patches in the baseline.\n\n> The `GlobalFilters` parameter can be configured only by using the AWS CLI or an AWS SDK. It can't be configured from the Patch Manager console, and its value isn't displayed in the console.", + "title": "GlobalFilters" + }, + "Name": { + "markdownDescription": "The name of the patch baseline.", + "title": "Name", + "type": "string" + }, + "OperatingSystem": { + "markdownDescription": "Defines the operating system the patch baseline applies to. The default value is `WINDOWS` .", + "title": "OperatingSystem", + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The name of the patch group to be registered with the patch baseline.", + "title": "PatchGroups", + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of explicitly rejected patches for the baseline.\n\nFor information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* .", + "title": "RejectedPatches", + "type": "array" + }, + "RejectedPatchesAction": { + "markdownDescription": "The action for Patch Manager to take on patches included in the `RejectedPackages` list.\n\n- **ALLOW_AS_DEPENDENCY** - *Linux and macOS* : A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as `INSTALLED_OTHER` . This is the default action if no option is specified.\n\n*Windows Server* : Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as `INSTALLED_OTHER` . Any package not already installed on the node is skipped. This is the default action if no option is specified.\n- **BLOCK** - *All OSs* : Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances.\n\nState value assignment for patch compliance:\n\n- If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as `INSTALLED_REJECTED` .\n- If an update attempts to install a dependency package that is now rejected by the baseline, when previous versions of the package were not rejected, the package being updated is reported as `MISSING` for `SCAN` operations and as `FAILED` for `INSTALL` operations.", + "title": "RejectedPatchesAction", + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "markdownDescription": "Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.", + "title": "Sources", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::PatchBaseline" + ], "type": "string" }, - "S3OutputPath": { - "markdownDescription": "The Amazon S3 location to upload inference responses to.", - "title": "S3OutputPath", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CapacityReservationConfig": { + "AWS::SSM::PatchBaseline.PatchFilter": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { + "Key": { + "markdownDescription": "The key for the filter.\n\nFor information about valid keys, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", + "title": "Key", "type": "string" }, - "MlReservationArn": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value for the filter key.\n\nFor information about valid values for each key based on operating system type, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "AWS::SSM::PatchBaseline.PatchFilterGroup": { "additionalProperties": false, "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the CSV content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.", - "title": "CsvContentTypes", - "type": "array" - }, - "JsonContentTypes": { + "PatchFilters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" }, - "markdownDescription": "A list of the JSON content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.", - "title": "JsonContentTypes", + "markdownDescription": "The set of patch filters that make up the group.", + "title": "PatchFilters", "type": "array" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { + "AWS::SSM::PatchBaseline.PatchSource": { "additionalProperties": false, "properties": { - "CaptureMode": { - "markdownDescription": "Specifies whether the endpoint captures input data or output data.", - "title": "CaptureMode", + "Configuration": { + "markdownDescription": "The value of the repo configuration.\n\n*Example for yum repositories*\n\n`[main]`\n\n`name=MyCustomRepository`\n\n`baseurl=https://my-custom-repository`\n\n`enabled=1`\n\nFor information about other options available for your yum repository configuration, see [dnf.conf(5)](https://docs.aws.amazon.com/https://man7.org/linux/man-pages/man5/dnf.conf.5.html) on the *man7.org* website.\n\n*Examples for Ubuntu Server and Debian Server*\n\n`deb http://security.ubuntu.com/ubuntu jammy main`\n\n`deb https://site.example.com/debian distribution component1 component2 component3`\n\nRepo information for Ubuntu Server repositories must be specifed in a single line. For more examples and information, see [jammy (5) sources.list.5.gz](https://docs.aws.amazon.com/https://manpages.ubuntu.com/manpages/jammy/man5/sources.list.5.html) on the *Ubuntu Server Manuals* website and [sources.list format](https://docs.aws.amazon.com/https://wiki.debian.org/SourcesList#sources.list_format) on the *Debian Wiki* .", + "title": "Configuration", + "type": "string" + }, + "Name": { + "markdownDescription": "The name specified to identify the patch source.", + "title": "Name", "type": "string" + }, + "Products": { + "items": { + "type": "string" + }, + "markdownDescription": "The specific operating system versions a patch repository applies to, such as \"Ubuntu16.04\", \"RedhatEnterpriseLinux7.2\" or \"Suse12.7\". For lists of supported product values, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", + "title": "Products", + "type": "array" } }, - "required": [ - "CaptureMode" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig": { + "AWS::SSM::PatchBaseline.Rule": { "additionalProperties": false, "properties": { - "EnableExplanations": { - "markdownDescription": "A JMESPath boolean expression used to filter which records to explain. Explanations are activated by default. See [`EnableExplanations`](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-enable) for additional information.", - "title": "EnableExplanations", + "ApproveAfterDays": { + "markdownDescription": "The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. For example, a value of `7` means that patches are approved seven days after they are released.\n\nPatch Manager evaluates patch release dates using Coordinated Universal Time (UTC). If the day represented by `7` is `2025-11-16` , patches released between `2025-11-16T00:00:00Z` and `2025-11-16T23:59:59Z` will be included in the approval.\n\nThis parameter is marked as `Required: No` , but your request must include a value for either `ApproveAfterDays` or `ApproveUntilDate` .\n\nNot supported for Debian Server or Ubuntu Server.\n\n> Use caution when setting this value for Windows Server patch baselines. Because patch updates that are replaced by later updates are removed, setting too broad a value for this parameter can result in crucial patches not being installed. For more information, see the *Windows Server* tab in the topic [How security patches are selected](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-selecting-patches.html) in the *AWS Systems Manager User Guide* .", + "title": "ApproveAfterDays", + "type": "number" + }, + "ApproveUntilDate": { + "markdownDescription": "The cutoff date for auto approval of released patches. Any patches released on or before this date are installed automatically.\n\nEnter dates in the format `YYYY-MM-DD` . For example, `2025-11-16` .\n\nPatch Manager evaluates patch release dates using Coordinated Universal Time (UTC). If you enter the date `2025-11-16` , patches released between `2025-11-16T00:00:00Z` and `2025-11-16T23:59:59Z` will be included in the approval.\n\nThis parameter is marked as `Required: No` , but your request must include a value for either `ApproveUntilDate` or `ApproveAfterDays` .\n\nNot supported for Debian Server or Ubuntu Server.\n\n> Use caution when setting this value for Windows Server patch baselines. Because patch updates that are replaced by later updates are removed, setting too broad a value for this parameter can result in crucial patches not being installed. For more information, see the *Windows Server* tab in the topic [How security patches are selected](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-selecting-patches.html) in the *AWS Systems Manager User Guide* .", + "title": "ApproveUntilDate", "type": "string" }, - "InferenceConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyInferenceConfig", - "markdownDescription": "The inference configuration parameter for the model container.", - "title": "InferenceConfig" + "ComplianceLevel": { + "markdownDescription": "A compliance severity level for all approved patches in a patch baseline. Valid compliance severity levels include the following: `UNSPECIFIED` , `CRITICAL` , `HIGH` , `MEDIUM` , `LOW` , and `INFORMATIONAL` .", + "title": "ComplianceLevel", + "type": "string" }, - "ShapConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyShapConfig", - "markdownDescription": "The configuration for SHAP analysis.", - "title": "ShapConfig" + "EnableNonSecurity": { + "markdownDescription": "For managed nodes identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is `false` . Applies to Linux managed nodes only.", + "title": "EnableNonSecurity", + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup", + "markdownDescription": "The patch filter group that defines the criteria for the rule.", + "title": "PatchFilterGroup" } }, - "required": [ - "ShapConfig" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ClarifyInferenceConfig": { + "AWS::SSM::PatchBaseline.RuleGroup": { "additionalProperties": false, "properties": { - "ContentTemplate": { - "markdownDescription": "A template string used to format a JSON record into an acceptable model container input. For example, a `ContentTemplate` string `'{\"myfeatures\":$features}'` will format a list of features `[1,2,3]` into the record string `'{\"myfeatures\":[1,2,3]}'` . Required only when the model container input is in JSON Lines format.", - "title": "ContentTemplate", - "type": "string" - }, - "FeatureHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of the features. If provided, these are included in the endpoint response payload to help readability of the `InvokeEndpoint` output. See the [Response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information.", - "title": "FeatureHeaders", - "type": "array" - }, - "FeatureTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of data types of the features (optional). Applicable only to NLP explainability. If provided, `FeatureTypes` must have at least one `'text'` string (for example, `['text']` ). If `FeatureTypes` is not provided, the explainer infers the feature types based on the baseline data. The feature types are included in the endpoint response payload. For additional information see the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information.", - "title": "FeatureTypes", - "type": "array" - }, - "FeaturesAttribute": { - "markdownDescription": "Provides the JMESPath expression to extract the features from a model container input in JSON Lines format. For example, if `FeaturesAttribute` is the JMESPath expression `'myfeatures'` , it extracts a list of features `[1,2,3]` from request data `'{\"myfeatures\":[1,2,3]}'` .", - "title": "FeaturesAttribute", - "type": "string" - }, - "LabelAttribute": { - "markdownDescription": "A JMESPath expression used to locate the list of label headers in the model container output.\n\n*Example* : If the model container output of a batch request is `'{\"labels\":[\"cat\",\"dog\",\"fish\"],\"probability\":[0.6,0.3,0.1]}'` , then set `LabelAttribute` to `'labels'` to extract the list of label headers `[\"cat\",\"dog\",\"fish\"]`", - "title": "LabelAttribute", - "type": "string" - }, - "LabelHeaders": { + "PatchRules": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" }, - "markdownDescription": "For multiclass classification problems, the label headers are the names of the classes. Otherwise, the label header is the name of the predicted label. These are used to help readability for the output of the `InvokeEndpoint` API. See the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information. If there are no label headers in the model container output, provide them manually using this parameter.", - "title": "LabelHeaders", + "markdownDescription": "The rules that make up the rule group.", + "title": "PatchRules", "type": "array" - }, - "LabelIndex": { - "markdownDescription": "A zero-based index used to extract a label header or list of label headers from model container output in CSV format.\n\n*Example for a multiclass model:* If the model container output consists of label headers followed by probabilities: `'\"[\\'cat\\',\\'dog\\',\\'fish\\']\",\"[0.1,0.6,0.3]\"'` , set `LabelIndex` to `0` to select the label headers `['cat','dog','fish']` .", - "title": "LabelIndex", - "type": "number" - }, - "MaxPayloadInMB": { - "markdownDescription": "The maximum payload size (MB) allowed of a request from the explainer to the model container. Defaults to `6` MB.", - "title": "MaxPayloadInMB", - "type": "number" - }, - "MaxRecordCount": { - "markdownDescription": "The maximum number of records in a request that the model container can process when querying the model container for the predictions of a [synthetic dataset](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-synthetic) . A record is a unit of input data that inference can be made on, for example, a single line in CSV data. If `MaxRecordCount` is `1` , the model container expects one record per request. A value of 2 or greater means that the model expects batch requests, which can reduce overhead and speed up the inferencing process. If this parameter is not provided, the explainer will tune the record count per request according to the model container's capacity at runtime.", - "title": "MaxRecordCount", - "type": "number" - }, - "ProbabilityAttribute": { - "markdownDescription": "A JMESPath expression used to extract the probability (or score) from the model container output if the model container is in JSON Lines format.\n\n*Example* : If the model container output of a single request is `'{\"predicted_label\":1,\"probability\":0.6}'` , then set `ProbabilityAttribute` to `'probability'` .", - "title": "ProbabilityAttribute", - "type": "string" - }, - "ProbabilityIndex": { - "markdownDescription": "A zero-based index used to extract a probability value (score) or list from model container output in CSV format. If this value is not provided, the entire model container output will be treated as a probability value (score) or list.\n\n*Example for a single class model:* If the model container output consists of a string-formatted prediction label followed by its probability: `'1,0.6'` , set `ProbabilityIndex` to `1` to select the probability value `0.6` .\n\n*Example for a multiclass model:* If the model container output consists of a string-formatted prediction label followed by its probability: `'\"[\\'cat\\',\\'dog\\',\\'fish\\']\",\"[0.1,0.6,0.3]\"'` , set `ProbabilityIndex` to `1` to select the probability values `[0.1,0.6,0.3]` .", - "title": "ProbabilityIndex", - "type": "number" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig.ClarifyShapBaselineConfig": { + "AWS::SSM::ResourceDataSync": { "additionalProperties": false, "properties": { - "MimeType": { - "markdownDescription": "The MIME type of the baseline data. Choose from `'text/csv'` or `'application/jsonlines'` . Defaults to `'text/csv'` .", - "title": "MimeType", + "Condition": { "type": "string" }, - "ShapBaseline": { - "markdownDescription": "The inline SHAP baseline data in string format. `ShapBaseline` can have one or multiple records to be used as the baseline dataset. The format of the SHAP baseline file should be the same format as the training dataset. For example, if the training dataset is in CSV format and each record contains four features, and all features are numerical, then the format of the baseline data should also share these characteristics. For natural language processing (NLP) of text columns, the baseline value should be the value used to replace the unit of text specified by the `Granularity` of the `TextConfig` parameter. The size limit for `ShapBasline` is 4 KB. Use the `ShapBaselineUri` parameter if you want to provide more than 4 KB of baseline data.", - "title": "ShapBaseline", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ShapBaselineUri": { - "markdownDescription": "The uniform resource identifier (URI) of the S3 bucket where the SHAP baseline file is stored. The format of the SHAP baseline file should be the same format as the format of the training dataset. For example, if the training dataset is in CSV format, and each record in the training dataset has four features, and all features are numerical, then the baseline file should also have this same format. Each record should contain only the features. If you are using a virtual private cloud (VPC), the `ShapBaselineUri` should be accessible to the VPC. For more information about setting up endpoints with Amazon Virtual Private Cloud, see [Give SageMaker access to Resources in your Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", - "title": "ShapBaselineUri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ClarifyShapConfig": { - "additionalProperties": false, - "properties": { - "NumberOfSamples": { - "markdownDescription": "The number of samples to be used for analysis by the Kernal SHAP algorithm.\n\n> The number of samples determines the size of the synthetic dataset, which has an impact on latency of explainability requests. For more information, see the *Synthetic data* of [Configure and create an endpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html) .", - "title": "NumberOfSamples", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Seed": { - "markdownDescription": "The starting value used to initialize the random number generator in the explainer. Provide a value for this parameter to obtain a deterministic SHAP result.", - "title": "Seed", - "type": "number" + "Metadata": { + "type": "object" }, - "ShapBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyShapBaselineConfig", - "markdownDescription": "The configuration for the SHAP baseline of the Kernal SHAP algorithm.", - "title": "ShapBaselineConfig" + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The name of the S3 bucket where the aggregated data is stored.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "An Amazon S3 prefix for the bucket.", + "title": "BucketPrefix", + "type": "string" + }, + "BucketRegion": { + "markdownDescription": "The AWS Region with the S3 bucket targeted by the resource data sync.", + "title": "BucketRegion", + "type": "string" + }, + "KMSKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an encryption key for a destination in Amazon S3 . You can use a KMS key to encrypt inventory data in Amazon S3 . You must specify a key that exist in the same AWS Region as the destination Amazon S3 bucket.", + "title": "KMSKeyArn", + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination", + "markdownDescription": "Configuration information for the target S3 bucket.", + "title": "S3Destination" + }, + "SyncFormat": { + "markdownDescription": "A supported sync format. The following format is currently supported: JsonSerDe", + "title": "SyncFormat", + "type": "string" + }, + "SyncName": { + "markdownDescription": "A name for the resource data sync.", + "title": "SyncName", + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource", + "markdownDescription": "Information about the source where the data was synchronized.", + "title": "SyncSource" + }, + "SyncType": { + "markdownDescription": "The type of resource data sync. If `SyncType` is `SyncToDestination` , then the resource data sync synchronizes data to an S3 bucket. If the `SyncType` is `SyncFromSource` then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions .", + "title": "SyncType", + "type": "string" + } + }, + "required": [ + "SyncName" + ], + "type": "object" }, - "TextConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyTextConfig", - "markdownDescription": "A parameter that indicates if text features are treated as text and explanations are provided for individual units of text. Required for natural language processing (NLP) explainability only.", - "title": "TextConfig" + "Type": { + "enum": [ + "AWS::SSM::ResourceDataSync" + ], + "type": "string" }, - "UseLogit": { - "markdownDescription": "A Boolean toggle to indicate if you want to use the logit function (true) or log-odds units (false) for model predictions. Defaults to false.", - "title": "UseLogit", - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ShapBaselineConfig" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ClarifyTextConfig": { + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { "additionalProperties": false, "properties": { - "Granularity": { - "markdownDescription": "The unit of granularity for the analysis of text features. For example, if the unit is `'token'` , then each token (like a word in English) of the text is treated as a feature. SHAP values are computed for each unit/feature.", - "title": "Granularity", + "OrganizationSourceType": { + "markdownDescription": "If an AWS organization is present, this is either `OrganizationalUnits` or `EntireOrganization` . For `OrganizationalUnits` , the data is aggregated from a set of organization units. For `EntireOrganization` , the data is aggregated from the entire AWS organization.", + "title": "OrganizationSourceType", "type": "string" }, - "Language": { - "markdownDescription": "Specifies the language of the text features in [ISO 639-1](https://docs.aws.amazon.com/ https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) or [ISO 639-3](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_639-3) code of a supported language.\n\n> For a mix of multiple languages, use code `'xx'` .", - "title": "Language", - "type": "string" + "OrganizationalUnits": { + "items": { + "type": "string" + }, + "markdownDescription": "The AWS Organizations organization units included in the sync.", + "title": "OrganizationalUnits", + "type": "array" } }, "required": [ - "Granularity", - "Language" + "OrganizationSourceType" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CoreDumpConfig": { + "AWS::SSM::ResourceDataSync.S3Destination": { "additionalProperties": false, "properties": { - "DestinationS3Uri": { + "BucketName": { + "markdownDescription": "The name of the S3 bucket where the aggregated data is stored.", + "title": "BucketName", "type": "string" }, - "KmsKeyId": { + "BucketPrefix": { + "markdownDescription": "An Amazon S3 prefix for the bucket.", + "title": "BucketPrefix", + "type": "string" + }, + "BucketRegion": { + "markdownDescription": "The AWS Region with the S3 bucket targeted by the resource data sync.", + "title": "BucketRegion", + "type": "string" + }, + "KMSKeyArn": { + "markdownDescription": "The ARN of an encryption key for a destination in Amazon S3. Must belong to the same Region as the destination S3 bucket.", + "title": "KMSKeyArn", + "type": "string" + }, + "SyncFormat": { + "markdownDescription": "A supported sync format. The following format is currently supported: JsonSerDe", + "title": "SyncFormat", "type": "string" } }, "required": [ - "DestinationS3Uri" + "BucketName", + "BucketRegion", + "SyncFormat" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "AWS::SSM::ResourceDataSync.SyncSource": { "additionalProperties": false, "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader", - "markdownDescription": "A list of the JSON and CSV content type that the endpoint captures.", - "title": "CaptureContentTypeHeader" + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource", + "markdownDescription": "Information about the AwsOrganizationsSource resource data sync source. A sync source of this type can synchronize data from AWS Organizations .", + "title": "AwsOrganizationsSource" }, - "CaptureOptions": { + "IncludeFutureRegions": { + "markdownDescription": "Whether to automatically synchronize and aggregate data from new AWS Regions when those Regions come online.", + "title": "IncludeFutureRegions", + "type": "boolean" + }, + "SourceRegions": { "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + "type": "string" }, - "markdownDescription": "Specifies whether the endpoint captures input data to your model, output data from your model, or both.", - "title": "CaptureOptions", + "markdownDescription": "The `SyncSource` AWS Regions included in the resource data sync.", + "title": "SourceRegions", "type": "array" }, - "DestinationS3Uri": { - "markdownDescription": "The S3 bucket where model monitor stores captured data.", - "title": "DestinationS3Uri", - "type": "string" - }, - "EnableCapture": { - "markdownDescription": "Set to `True` to enable data capture.", - "title": "EnableCapture", - "type": "boolean" - }, - "InitialSamplingPercentage": { - "markdownDescription": "The percentage of data to capture.", - "title": "InitialSamplingPercentage", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the captured data at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the Amazon Simple Storage Service Developer Guide. The KMS key policy must grant permission to the IAM role that you specify in your CreateModel (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see Using Key Policies in AWS KMS (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the AWS Key Management Service Developer Guide.", - "title": "KmsKeyId", + "SourceType": { + "markdownDescription": "The type of data source for the resource data sync. `SourceType` is either `AwsOrganizations` (if an organization is present in AWS Organizations ) or `SingleAccountMultiRegions` .", + "title": "SourceType", "type": "string" } }, "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" + "SourceRegions", + "SourceType" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ExplainerConfig": { - "additionalProperties": false, - "properties": { - "ClarifyExplainerConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig", - "markdownDescription": "A member of `ExplainerConfig` that contains configuration parameters for the SageMaker Clarify explainer.", - "title": "ClarifyExplainerConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.InstancePool": { + "AWS::SSM::ResourcePolicy": { "additionalProperties": false, "properties": { - "InstanceType": { + "Condition": { "type": "string" }, - "ModelNameOverride": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Priority": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "Priority" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { - "additionalProperties": false, - "properties": { - "MaxInstanceCount": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MinInstanceCount": { - "type": "number" + "Metadata": { + "type": "object" }, - "ScaleInPolicy": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ScaleInPolicy" + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "markdownDescription": "A policy you want to associate with a resource.", + "title": "Policy", + "type": "object" + }, + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource to which you want to attach a policy.", + "title": "ResourceArn", + "type": "string" + } + }, + "required": [ + "Policy", + "ResourceArn" + ], + "type": "object" }, - "Status": { + "Type": { + "enum": [ + "AWS::SSM::ResourcePolicy" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.MetricsConfig": { - "additionalProperties": false, - "properties": { - "EnableDetailedObservability": { - "type": "boolean" - }, - "EnableEnhancedMetrics": { - "type": "boolean" - }, - "MetricPublishFrequencyInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.PrefixAwareRoutingConfig": { - "additionalProperties": false, - "properties": { - "ConcurrencyThreshold": { - "type": "number" }, - "PrefixLength": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "AWS::SSMContacts::Contact": { "additionalProperties": false, "properties": { - "CapacityReservationConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CapacityReservationConfig" - }, - "ContainerStartupHealthCheckTimeoutInSeconds": { - "markdownDescription": "The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests) .", - "title": "ContainerStartupHealthCheckTimeoutInSeconds", - "type": "number" - }, - "CoreDumpConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CoreDumpConfig" - }, - "EnableSSMAccess": { - "markdownDescription": "You can use this parameter to turn on native AWS Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoint. You can turn on or turn off SSM access for a production variant behind an existing endpoint by creating a new endpoint configuration and calling `UpdateEndpoint` .", - "title": "EnableSSMAccess", - "type": "boolean" + "Condition": { + "type": "string" }, - "InferenceAmiVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "InitialInstanceCount": { - "markdownDescription": "Number of instances to launch initially.", - "title": "InitialInstanceCount", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InitialVariantWeight": { - "markdownDescription": "Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. The traffic to a production variant is determined by the ratio of the `VariantWeight` to the sum of all `VariantWeight` values across all ProductionVariants. If unspecified, it defaults to 1.0.", - "title": "InitialVariantWeight", - "type": "number" + "Metadata": { + "type": "object" }, - "InstancePools": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.InstancePool" + "Properties": { + "additionalProperties": false, + "properties": { + "Alias": { + "markdownDescription": "The unique and identifiable alias of the contact or escalation plan.", + "title": "Alias", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The full name of the contact or escalation plan.", + "title": "DisplayName", + "type": "string" + }, + "Plan": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" + }, + "markdownDescription": "A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts.", + "title": "Plan", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of contact.\n\n- `PERSONAL` : A single, individual contact.\n- `ESCALATION` : An escalation plan.\n- `ONCALL_SCHEDULE` : An on-call schedule.", + "title": "Type", + "type": "string" + } }, - "type": "array" - }, - "InstanceType": { - "markdownDescription": "The ML compute instance type.", - "title": "InstanceType", - "type": "string" - }, - "ManagedInstanceScaling": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" - }, - "ModelDataDownloadTimeoutInSeconds": { - "markdownDescription": "The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this production variant.", - "title": "ModelDataDownloadTimeoutInSeconds", - "type": "number" + "required": [ + "Alias", + "DisplayName", + "Type" + ], + "type": "object" }, - "ModelName": { - "markdownDescription": "The name of the model that you want to host. This is the name that you specified when creating the model.", - "title": "ModelName", + "Type": { + "enum": [ + "AWS::SSMContacts::Contact" + ], "type": "string" }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" - }, - "ServerlessConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig", - "markdownDescription": "The serverless configuration for an endpoint. Specifies a serverless endpoint configuration instead of an instance-based endpoint configuration.", - "title": "ServerlessConfig" - }, - "VariantInstanceProvisionTimeoutInSeconds": { - "type": "number" - }, - "VariantName": { - "markdownDescription": "The name of the production variant.", - "title": "VariantName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "VolumeSizeInGB": { - "markdownDescription": "The size, in GB, of the ML storage volume attached to individual inference instance associated with the production variant. Currently only Amazon EBS gp2 storage volumes are supported.", - "title": "VolumeSizeInGB", - "type": "number" } }, "required": [ - "VariantName" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.RoutingConfig": { + "AWS::SSMContacts::Contact.ChannelTargetInfo": { "additionalProperties": false, "properties": { - "PrefixAwareRoutingConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.PrefixAwareRoutingConfig" - }, - "RoutingStrategy": { + "ChannelId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact channel.", + "title": "ChannelId", "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ScaleInPolicy": { - "additionalProperties": false, - "properties": { - "CooldownInMinutes": { - "type": "number" }, - "MaximumStepSize": { + "RetryIntervalInMinutes": { + "markdownDescription": "The number of minutes to wait before retrying to send engagement if the engagement initially failed.", + "title": "RetryIntervalInMinutes", "type": "number" - }, - "Strategy": { - "type": "string" } }, "required": [ - "Strategy" + "ChannelId", + "RetryIntervalInMinutes" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ServerlessConfig": { + "AWS::SSMContacts::Contact.ContactTargetInfo": { "additionalProperties": false, "properties": { - "MaxConcurrency": { - "markdownDescription": "The maximum number of concurrent invocations your serverless endpoint can process.", - "title": "MaxConcurrency", - "type": "number" - }, - "MemorySizeInMB": { - "markdownDescription": "The memory size of your serverless endpoint. Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.", - "title": "MemorySizeInMB", - "type": "number" + "ContactId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", + "title": "ContactId", + "type": "string" }, - "ProvisionedConcurrency": { - "markdownDescription": "The amount of provisioned concurrency to allocate for the serverless endpoint. Should be less than or equal to `MaxConcurrency` .\n\n> This field is not supported for serverless endpoint recommendations for Inference Recommender jobs. For more information about creating an Inference Recommender job, see [CreateInferenceRecommendationsJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html) .", - "title": "ProvisionedConcurrency", - "type": "number" + "IsEssential": { + "markdownDescription": "A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.", + "title": "IsEssential", + "type": "boolean" } }, "required": [ - "MaxConcurrency", - "MemorySizeInMB" + "ContactId", + "IsEssential" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.VpcConfig": { + "AWS::SSMContacts::Contact.Stage": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "DurationInMinutes": { + "markdownDescription": "The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.", + "title": "DurationInMinutes", + "type": "number" + }, + "RotationIds": { "items": { "type": "string" }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.", + "title": "RotationIds", "type": "array" }, - "Subnets": { + "Targets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" }, + "markdownDescription": "The contacts or contact methods that the escalation plan or engagement plan is engaging.", + "title": "Targets", "type": "array" } }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], "type": "object" }, - "AWS::SageMaker::Experiment": { + "AWS::SSMContacts::Contact.Targets": { + "additionalProperties": false, + "properties": { + "ChannelTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo", + "markdownDescription": "Information about the contact channel that Incident Manager engages.", + "title": "ChannelTargetInfo" + }, + "ContactTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo", + "markdownDescription": "The contact that Incident Manager is engaging during an incident.", + "title": "ContactTargetInfo" + } + }, + "type": "object" + }, + "AWS::SSMContacts::ContactChannel": { "additionalProperties": false, "properties": { "Condition": { @@ -361814,30 +329122,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ChannelAddress": { + "markdownDescription": "The details that Incident Manager uses when trying to engage the contact channel.", + "title": "ChannelAddress", "type": "string" }, - "DisplayName": { + "ChannelName": { + "markdownDescription": "The name of the contact channel.", + "title": "ChannelName", + "type": "string" + }, + "ChannelType": { + "markdownDescription": "The type of the contact channel. Incident Manager supports three contact methods:\n\n- SMS\n- VOICE\n- EMAIL", + "title": "ChannelType", "type": "string" }, - "ExperimentName": { + "ContactId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact you are adding the contact channel to.", + "title": "ContactId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Experiment.TagsItems" - }, - "type": "array" + "DeferActivation": { + "markdownDescription": "If you want to activate the channel at a later time, you can choose to defer activation. Incident Manager can't engage your contact channel until it has been activated.", + "title": "DeferActivation", + "type": "boolean" } }, "required": [ - "ExperimentName" + "ChannelAddress", + "ChannelName", + "ChannelType", + "ContactId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Experiment" + "AWS::SSMContacts::ContactChannel" ], "type": "string" }, @@ -361856,23 +329177,7 @@ ], "type": "object" }, - "AWS::SageMaker::Experiment.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup": { + "AWS::SSMContacts::Plan": { "additionalProperties": false, "properties": { "Condition": { @@ -361907,74 +329212,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A free form description of a `FeatureGroup` .", - "title": "Description", - "type": "string" - }, - "EventTimeFeatureName": { - "markdownDescription": "The name of the feature that stores the `EventTime` of a Record in a `FeatureGroup` .\n\nA `EventTime` is point in time when a new event occurs that corresponds to the creation or update of a `Record` in `FeatureGroup` . All `Records` in the `FeatureGroup` must have a corresponding `EventTime` .", - "title": "EventTimeFeatureName", + "ContactId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", + "title": "ContactId", "type": "string" }, - "FeatureDefinitions": { + "RotationIds": { "items": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" + "type": "string" }, - "markdownDescription": "A list of `Feature` s. Each `Feature` must include a `FeatureName` and a `FeatureType` .\n\nValid `FeatureType` s are `Integral` , `Fractional` and `String` .\n\n`FeatureName` s cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .\n\nYou can create up to 2,500 `FeatureDefinition` s per `FeatureGroup` .", - "title": "FeatureDefinitions", + "markdownDescription": "The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.", + "title": "RotationIds", "type": "array" }, - "FeatureGroupName": { - "markdownDescription": "The name of the `FeatureGroup` .", - "title": "FeatureGroupName", - "type": "string" - }, - "OfflineStoreConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OfflineStoreConfig", - "markdownDescription": "The configuration of an `OfflineStore` .", - "title": "OfflineStoreConfig" - }, - "OnlineStoreConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OnlineStoreConfig", - "markdownDescription": "The configuration of an `OnlineStore` .", - "title": "OnlineStoreConfig" - }, - "RecordIdentifierFeatureName": { - "markdownDescription": "The name of the `Feature` whose value uniquely identifies a `Record` defined in the `FeatureGroup` `FeatureDefinitions` .", - "title": "RecordIdentifierFeatureName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.", - "title": "RoleArn", - "type": "string" - }, - "Tags": { + "Stages": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSMContacts::Plan.Stage" }, - "markdownDescription": "Tags used to define a `FeatureGroup` .", - "title": "Tags", + "markdownDescription": "A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods.", + "title": "Stages", "type": "array" - }, - "ThroughputConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.ThroughputConfig", - "markdownDescription": "Used to set feature group throughput configuration. There are two modes: `ON_DEMAND` and `PROVISIONED` . With on-demand mode, you are charged for data reads and writes that your application performs on your feature group. You do not need to specify read and write throughput because Feature Store accommodates your workloads as they ramp up and down. You can switch a feature group to on-demand only once in a 24 hour period. With provisioned throughput mode, you specify the read and write capacity per second that you expect your application to require, and you are billed based on those limits. Exceeding provisioned throughput will result in your requests being throttled.\n\nNote: `PROVISIONED` throughput mode is supported only for feature groups that are offline-only, or use the [`Standard`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html#sagemaker-Type-OnlineStoreConfig-StorageType) tier online store.", - "title": "ThroughputConfig" } }, "required": [ - "EventTimeFeatureName", - "FeatureDefinitions", - "FeatureGroupName", - "RecordIdentifierFeatureName" + "ContactId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::FeatureGroup" + "AWS::SSMContacts::Plan" ], "type": "string" }, @@ -361993,178 +329260,85 @@ ], "type": "object" }, - "AWS::SageMaker::FeatureGroup.DataCatalogConfig": { + "AWS::SSMContacts::Plan.ChannelTargetInfo": { "additionalProperties": false, "properties": { - "Catalog": { - "markdownDescription": "The name of the Glue table catalog.", - "title": "Catalog", - "type": "string" - }, - "Database": { - "markdownDescription": "The name of the Glue table database.", - "title": "Database", + "ChannelId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact channel.", + "title": "ChannelId", "type": "string" }, - "TableName": { - "markdownDescription": "The name of the Glue table.", - "title": "TableName", - "type": "string" + "RetryIntervalInMinutes": { + "markdownDescription": "The number of minutes to wait before retrying to send engagement if the engagement initially failed.", + "title": "RetryIntervalInMinutes", + "type": "number" } }, "required": [ - "Catalog", - "Database", - "TableName" + "ChannelId", + "RetryIntervalInMinutes" ], "type": "object" }, - "AWS::SageMaker::FeatureGroup.FeatureDefinition": { + "AWS::SSMContacts::Plan.ContactTargetInfo": { "additionalProperties": false, "properties": { - "FeatureName": { - "markdownDescription": "The name of a feature. The type must be a string. `FeatureName` cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .\n\nThe name:\n\n- Must start with an alphanumeric character.\n- Can only include alphanumeric characters, underscores, and hyphens. Spaces are not allowed.", - "title": "FeatureName", - "type": "string" - }, - "FeatureType": { - "markdownDescription": "The value type of a feature. Valid values are Integral, Fractional, or String.", - "title": "FeatureType", + "ContactId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", + "title": "ContactId", "type": "string" - } - }, - "required": [ - "FeatureName", - "FeatureType" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.OfflineStoreConfig": { - "additionalProperties": false, - "properties": { - "DataCatalogConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.DataCatalogConfig", - "markdownDescription": "The meta data of the Glue table that is autogenerated when an `OfflineStore` is created.", - "title": "DataCatalogConfig" - }, - "DisableGlueTableCreation": { - "markdownDescription": "Set to `True` to disable the automatic creation of an AWS Glue table when configuring an `OfflineStore` . If set to `False` , Feature Store will name the `OfflineStore` Glue table following [Athena's naming recommendations](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) .\n\nThe default value is `False` .", - "title": "DisableGlueTableCreation", - "type": "boolean" - }, - "S3StorageConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.S3StorageConfig", - "markdownDescription": "The Amazon Simple Storage (Amazon S3) location of `OfflineStore` .", - "title": "S3StorageConfig" }, - "TableFormat": { - "markdownDescription": "Format for the offline store table. Supported formats are Glue (Default) and [Apache Iceberg](https://docs.aws.amazon.com/https://iceberg.apache.org/) .", - "title": "TableFormat", - "type": "string" - } - }, - "required": [ - "S3StorageConfig" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.OnlineStoreConfig": { - "additionalProperties": false, - "properties": { - "EnableOnlineStore": { - "markdownDescription": "Turn `OnlineStore` off by specifying `False` for the `EnableOnlineStore` flag. Turn `OnlineStore` on by specifying `True` for the `EnableOnlineStore` flag.\n\nThe default value is `False` .", - "title": "EnableOnlineStore", + "IsEssential": { + "markdownDescription": "A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.", + "title": "IsEssential", "type": "boolean" - }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OnlineStoreSecurityConfig", - "markdownDescription": "Use to specify KMS Key ID ( `KMSKeyId` ) for at-rest encryption of your `OnlineStore` .", - "title": "SecurityConfig" - }, - "StorageType": { - "markdownDescription": "Option for different tiers of low latency storage for real-time data retrieval.\n\n- `Standard` : A managed low latency data store for feature groups.\n- `InMemory` : A managed data store for feature groups that supports very low latency retrieval.", - "title": "StorageType", - "type": "string" - }, - "TtlDuration": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.TtlDuration", - "markdownDescription": "Time to live duration, where the record is hard deleted after the expiration time is reached; `ExpiresAt` = `EventTime` + `TtlDuration` . For information on HardDelete, see the [DeleteRecord](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html) API in the Amazon SageMaker API Reference guide.", - "title": "TtlDuration" - } - }, - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.OnlineStoreSecurityConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service (KMS) key ARN that SageMaker Feature Store uses to encrypt the Amazon S3 objects at rest using Amazon S3 server-side encryption.\n\nThe caller (either user or IAM role) of `CreateFeatureGroup` must have below permissions to the `OnlineStore` `KmsKeyId` :\n\n- `\"kms:Encrypt\"`\n- `\"kms:Decrypt\"`\n- `\"kms:DescribeKey\"`\n- `\"kms:CreateGrant\"`\n- `\"kms:RetireGrant\"`\n- `\"kms:ReEncryptFrom\"`\n- `\"kms:ReEncryptTo\"`\n- `\"kms:GenerateDataKey\"`\n- `\"kms:ListAliases\"`\n- `\"kms:ListGrants\"`\n- `\"kms:RevokeGrant\"`\n\nThe caller (either user or IAM role) to all DataPlane operations ( `PutRecord` , `GetRecord` , `DeleteRecord` ) must have the following permissions to the `KmsKeyId` :\n\n- `\"kms:Decrypt\"`", - "title": "KmsKeyId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.S3StorageConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service (KMS) key ARN of the key used to encrypt any objects written into the `OfflineStore` S3 location.\n\nThe IAM `roleARN` that is passed as a parameter to `CreateFeatureGroup` must have below permissions to the `KmsKeyId` :\n\n- `\"kms:GenerateDataKey\"`", - "title": "KmsKeyId", - "type": "string" - }, - "S3Uri": { - "markdownDescription": "The S3 URI, or location in Amazon S3, of `OfflineStore` .\n\nS3 URIs have a format similar to the following: `s3://example-bucket/prefix/` .", - "title": "S3Uri", - "type": "string" } }, "required": [ - "S3Uri" + "ContactId", + "IsEssential" ], "type": "object" }, - "AWS::SageMaker::FeatureGroup.ThroughputConfig": { + "AWS::SSMContacts::Plan.Stage": { "additionalProperties": false, "properties": { - "ProvisionedReadCapacityUnits": { - "markdownDescription": "For provisioned feature groups with online store enabled, this indicates the read throughput you are billed for and can consume without throttling.\n\nThis field is not applicable for on-demand feature groups.", - "title": "ProvisionedReadCapacityUnits", - "type": "number" - }, - "ProvisionedWriteCapacityUnits": { - "markdownDescription": "For provisioned feature groups, this indicates the write throughput you are billed for and can consume without throttling.\n\nThis field is not applicable for on-demand feature groups.", - "title": "ProvisionedWriteCapacityUnits", + "DurationInMinutes": { + "markdownDescription": "The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.", + "title": "DurationInMinutes", "type": "number" }, - "ThroughputMode": { - "markdownDescription": "The mode used for your feature group throughput: `ON_DEMAND` or `PROVISIONED` .", - "title": "ThroughputMode", - "type": "string" + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Plan.Targets" + }, + "markdownDescription": "The contacts or contact methods that the escalation plan or engagement plan is engaging.", + "title": "Targets", + "type": "array" } }, "required": [ - "ThroughputMode" + "DurationInMinutes" ], "type": "object" }, - "AWS::SageMaker::FeatureGroup.TtlDuration": { + "AWS::SSMContacts::Plan.Targets": { "additionalProperties": false, "properties": { - "Unit": { - "markdownDescription": "`TtlDuration` time unit.", - "title": "Unit", - "type": "string" + "ChannelTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Plan.ChannelTargetInfo", + "markdownDescription": "Information about the contact channel that Incident Manager engages.", + "title": "ChannelTargetInfo" }, - "Value": { - "markdownDescription": "`TtlDuration` time value.", - "title": "Value", - "type": "number" + "ContactTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Plan.ContactTargetInfo", + "markdownDescription": "Information about the contact that Incident Manager engages.", + "title": "ContactTargetInfo" } }, "type": "object" }, - "AWS::SageMaker::Hub": { + "AWS::SSMContacts::Rotation": { "additionalProperties": false, "properties": { "Condition": { @@ -362199,40 +329373,55 @@ "Properties": { "additionalProperties": false, "properties": { - "HubDescription": { - "type": "string" - }, - "HubDisplayName": { - "type": "string" - }, - "HubName": { - "type": "string" - }, - "HubSearchKeywords": { + "ContactIds": { "items": { "type": "string" }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the contacts to add to the rotation.\n\n> Only the `PERSONAL` contact type is supported. The contact types `ESCALATION` and `ONCALL_SCHEDULE` are not supported for this operation. \n\nThe order in which you list the contacts is their shift order in the rotation schedule.", + "title": "ContactIds", "type": "array" }, - "S3StorageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Hub.S3StorageConfig" + "Name": { + "markdownDescription": "The name for the rotation.", + "title": "Name", + "type": "string" + }, + "Recurrence": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.RecurrenceSettings", + "markdownDescription": "Information about the rule that specifies when shift team members rotate.", + "title": "Recurrence" + }, + "StartTime": { + "markdownDescription": "The date and time the rotation goes into effect.", + "title": "StartTime", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Optional metadata to assign to the rotation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For more information, see [Tagging Incident Manager resources](https://docs.aws.amazon.com/incident-manager/latest/userguide/tagging.html) in the *Incident Manager User Guide* .", + "title": "Tags", "type": "array" + }, + "TimeZoneId": { + "markdownDescription": "The time zone to base the rotation\u2019s activity on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the [Time Zone Database](https://docs.aws.amazon.com/https://www.iana.org/time-zones) on the IANA website.\n\n> Designators for time zones that don\u2019t support Daylight Savings Time rules, such as Pacific Standard Time (PST), are not supported.", + "title": "TimeZoneId", + "type": "string" } }, "required": [ - "HubDescription", - "HubName" + "ContactIds", + "Name", + "Recurrence", + "StartTime", + "TimeZoneId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Hub" + "AWS::SSMContacts::Rotation" ], "type": "string" }, @@ -362251,16 +329440,142 @@ ], "type": "object" }, - "AWS::SageMaker::Hub.S3StorageConfig": { + "AWS::SSMContacts::Rotation.CoverageTime": { "additionalProperties": false, "properties": { - "S3OutputPath": { + "EndTime": { + "markdownDescription": "Information about when an on-call rotation shift ends.", + "title": "EndTime", + "type": "string" + }, + "StartTime": { + "markdownDescription": "Information about when an on-call rotation shift begins.", + "title": "StartTime", + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::SSMContacts::Rotation.MonthlySetting": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "markdownDescription": "The day of the month when monthly recurring on-call rotations begin.", + "title": "DayOfMonth", + "type": "number" + }, + "HandOffTime": { + "markdownDescription": "The time of day when a monthly recurring on-call shift rotation begins.", + "title": "HandOffTime", + "type": "string" + } + }, + "required": [ + "DayOfMonth", + "HandOffTime" + ], + "type": "object" + }, + "AWS::SSMContacts::Rotation.RecurrenceSettings": { + "additionalProperties": false, + "properties": { + "DailySettings": { + "items": { + "type": "string" + }, + "markdownDescription": "Information about on-call rotations that recur daily.", + "title": "DailySettings", + "type": "array" + }, + "MonthlySettings": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.MonthlySetting" + }, + "markdownDescription": "Information about on-call rotations that recur monthly.", + "title": "MonthlySettings", + "type": "array" + }, + "NumberOfOnCalls": { + "markdownDescription": "The number of contacts, or shift team members designated to be on call concurrently during a shift. For example, in an on-call schedule that contains ten contacts, a value of `2` designates that two of them are on call at any given time.", + "title": "NumberOfOnCalls", + "type": "number" + }, + "RecurrenceMultiplier": { + "markdownDescription": "The number of days, weeks, or months a single rotation lasts.", + "title": "RecurrenceMultiplier", + "type": "number" + }, + "ShiftCoverages": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.ShiftCoverage" + }, + "markdownDescription": "Information about the days of the week included in on-call rotation coverage.", + "title": "ShiftCoverages", + "type": "array" + }, + "WeeklySettings": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.WeeklySetting" + }, + "markdownDescription": "Information about on-call rotations that recur weekly.", + "title": "WeeklySettings", + "type": "array" + } + }, + "required": [ + "NumberOfOnCalls", + "RecurrenceMultiplier" + ], + "type": "object" + }, + "AWS::SSMContacts::Rotation.ShiftCoverage": { + "additionalProperties": false, + "properties": { + "CoverageTimes": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.CoverageTime" + }, + "markdownDescription": "The start and end times of the shift.", + "title": "CoverageTimes", + "type": "array" + }, + "DayOfWeek": { + "markdownDescription": "A list of days on which the schedule is active.", + "title": "DayOfWeek", + "type": "string" + } + }, + "required": [ + "CoverageTimes", + "DayOfWeek" + ], + "type": "object" + }, + "AWS::SSMContacts::Rotation.WeeklySetting": { + "additionalProperties": false, + "properties": { + "DayOfWeek": { + "markdownDescription": "The day of the week when weekly recurring on-call shift rotations begins.", + "title": "DayOfWeek", + "type": "string" + }, + "HandOffTime": { + "markdownDescription": "The time of day when a weekly recurring on-call shift rotation begins.", + "title": "HandOffTime", "type": "string" } }, + "required": [ + "DayOfWeek", + "HandOffTime" + ], "type": "object" }, - "AWS::SageMaker::HubContentVersion": { + "AWS::SSMGuiConnect::Preferences": { "additionalProperties": false, "properties": { "Condition": { @@ -362295,21 +329610,17 @@ "Properties": { "additionalProperties": false, "properties": { - "HubContentName": { - "type": "string" - }, - "HubContentType": { - "type": "string" - }, - "HubName": { - "type": "string" + "ConnectionRecordingPreferences": { + "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.ConnectionRecordingPreferences", + "markdownDescription": "The set of preferences used for recording RDP connections in the requesting AWS account and AWS Region . This includes details such as which S3 bucket recordings are stored in.", + "title": "ConnectionRecordingPreferences" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::HubContentVersion" + "AWS::SSMGuiConnect::Preferences" ], "type": "string" }, @@ -362327,7 +329638,64 @@ ], "type": "object" }, - "AWS::SageMaker::HumanTaskUi": { + "AWS::SSMGuiConnect::Preferences.ConnectionRecordingPreferences": { + "additionalProperties": false, + "properties": { + "KMSKeyArn": { + "markdownDescription": "The ARN of a AWS key that is used to encrypt data while it is being processed by the service. This key must exist in the same AWS Region as the node you start an RDP connection to.", + "title": "KMSKeyArn", + "type": "string" + }, + "RecordingDestinations": { + "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.RecordingDestinations", + "markdownDescription": "Determines where recordings of RDP connections are stored.", + "title": "RecordingDestinations" + } + }, + "required": [ + "KMSKeyArn", + "RecordingDestinations" + ], + "type": "object" + }, + "AWS::SSMGuiConnect::Preferences.RecordingDestinations": { + "additionalProperties": false, + "properties": { + "S3Buckets": { + "items": { + "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.S3Bucket" + }, + "markdownDescription": "The S3 bucket where RDP connection recordings are stored.", + "title": "S3Buckets", + "type": "array" + } + }, + "required": [ + "S3Buckets" + ], + "type": "object" + }, + "AWS::SSMGuiConnect::Preferences.S3Bucket": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The name of the S3 bucket where RDP connection recordings are stored.", + "title": "BucketName", + "type": "string" + }, + "BucketOwner": { + "markdownDescription": "The AWS account number that owns the S3 bucket.", + "title": "BucketOwner", + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketOwner" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet": { "additionalProperties": false, "properties": { "Condition": { @@ -362362,27 +329730,36 @@ "Properties": { "additionalProperties": false, "properties": { - "HumanTaskUiName": { - "type": "string" + "DeletionProtected": { + "markdownDescription": "Determines if the replication set deletion protection is enabled or not. If deletion protection is enabled, you can't delete the last Region in the replication set.", + "title": "DeletionProtected", + "type": "boolean" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" + }, + "markdownDescription": "Specifies the Regions of the replication set.", + "title": "Regions", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of tags to add to the replication set.", + "title": "Tags", "type": "array" - }, - "UiTemplate": { - "$ref": "#/definitions/AWS::SageMaker::HumanTaskUi.UiTemplate" } }, "required": [ - "HumanTaskUiName" + "Regions" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::HumanTaskUi" + "AWS::SSMIncidents::ReplicationSet" ], "type": "string" }, @@ -362401,19 +329778,37 @@ ], "type": "object" }, - "AWS::SageMaker::HumanTaskUi.UiTemplate": { + "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { "additionalProperties": false, "properties": { - "Content": { + "SseKmsKeyId": { + "markdownDescription": "The AWS Key Management Service key ID to use to encrypt your replication set.", + "title": "SseKmsKeyId", "type": "string" } }, "required": [ - "Content" + "SseKmsKeyId" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob": { + "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { + "additionalProperties": false, + "properties": { + "RegionConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration", + "markdownDescription": "Specifies the Region configuration.", + "title": "RegionConfiguration" + }, + "RegionName": { + "markdownDescription": "Specifies the region name to add to the replication set.", + "title": "RegionName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan": { "additionalProperties": false, "properties": { "Condition": { @@ -362448,43 +329843,68 @@ "Properties": { "additionalProperties": false, "properties": { - "Autotune": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.Autotune" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" + }, + "markdownDescription": "The actions that the response plan starts at the beginning of an incident.", + "title": "Actions", + "type": "array" }, - "HyperParameterTuningJobConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobConfig" + "ChatChannel": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel", + "markdownDescription": "The chat channel used for collaboration during an incident.", + "title": "ChatChannel" }, - "HyperParameterTuningJobName": { + "DisplayName": { + "markdownDescription": "The human readable name of the response plan.", + "title": "DisplayName", "type": "string" }, - "Tags": { + "Engagements": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "The Amazon Resource Name (ARN) for the contacts and escalation plans that the response plan engages during an incident.", + "title": "Engagements", "type": "array" }, - "TrainingJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.TrainingJobDefinition" + "IncidentTemplate": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate", + "markdownDescription": "Details used to create an incident when using this response plan.", + "title": "IncidentTemplate" }, - "TrainingJobDefinitions": { + "Integrations": { "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.TrainingJobDefinition" + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Integration" }, + "markdownDescription": "Information about third-party services integrated into the response plan.", + "title": "Integrations", "type": "array" }, - "WarmStartConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobWarmStartConfig" + "Name": { + "markdownDescription": "The name of the response plan.", + "title": "Name", + "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": [ - "HyperParameterTuningJobConfig", - "HyperParameterTuningJobName" + "IncidentTemplate", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::HyperParameterTuningJob" + "AWS::SSMIncidents::ResponsePlan" ], "type": "string" }, @@ -362503,659 +329923,648 @@ ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.AlgorithmSpecification": { + "AWS::SSMIncidents::ResponsePlan.Action": { "additionalProperties": false, "properties": { - "AlgorithmName": { - "type": "string" - }, - "MetricDefinitions": { + "SsmAutomation": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation", + "markdownDescription": "Details about the Systems Manager automation document that will be used as a runbook during an incident.", + "title": "SsmAutomation" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.ChatChannel": { + "additionalProperties": false, + "properties": { + "ChatbotSns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.MetricDefinitionsItems" + "type": "string" }, + "markdownDescription": "The Amazon targets that uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel by using the Amazon topics", + "title": "ChatbotSns", "type": "array" - }, - "TrainingImage": { - "type": "string" - }, - "TrainingInputMode": { - "type": "string" } }, - "required": [ - "TrainingInputMode" - ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.AutoParametersItems": { + "AWS::SSMIncidents::ResponsePlan.DynamicSsmParameter": { "additionalProperties": false, "properties": { - "Name": { + "Key": { + "markdownDescription": "The key parameter to use when running the Systems Manager Automation runbook.", + "title": "Key", "type": "string" }, - "ValueHint": { - "type": "string" + "Value": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.DynamicSsmParameterValue", + "markdownDescription": "The dynamic parameter value.", + "title": "Value" } }, "required": [ - "Name", - "ValueHint" + "Key", + "Value" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.Autotune": { + "AWS::SSMIncidents::ResponsePlan.DynamicSsmParameterValue": { "additionalProperties": false, "properties": { - "Mode": { + "Variable": { + "markdownDescription": "Variable dynamic parameters. A parameter value is determined when an incident is created.", + "title": "Variable", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.BestObjectiveNotImproving": { - "additionalProperties": false, - "properties": { - "MaxNumberOfTrainingJobsNotImproving": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.CategoricalParameterRangesItems": { + "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { "additionalProperties": false, "properties": { - "Name": { + "DedupeString": { + "markdownDescription": "Used to create only one incident record for an incident.", + "title": "DedupeString", "type": "string" }, - "Values": { + "Impact": { + "markdownDescription": "Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan.\n\n**Possible impacts:** - `1` - Critical impact, this typically relates to full application failure that impacts many to all customers.\n- `2` - High impact, partial application failure with impact to many customers.\n- `3` - Medium impact, the application is providing reduced service to customers.\n- `4` - Low impact, customer might aren't impacted by the problem yet.\n- `5` - No impact, customers aren't currently impacted but urgent action is needed to avoid impact.", + "title": "Impact", + "type": "number" + }, + "IncidentTags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Tags to assign to the template. When the `StartIncident` API action is called, Incident Manager assigns the tags specified in the template to the incident.", + "title": "IncidentTags", "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.CheckpointConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.ContinuousParameterRangesItems": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "string" }, - "MinValue": { - "type": "string" + "NotificationTargets": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" + }, + "markdownDescription": "The Amazon Simple Notification Service ( Amazon ) targets that uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel using the Amazon topics.", + "title": "NotificationTargets", + "type": "array" }, - "Name": { + "Summary": { + "markdownDescription": "The summary describes what has happened during the incident.", + "title": "Summary", "type": "string" }, - "ScalingType": { + "Title": { + "markdownDescription": "The title of the incident is a brief and easily recognizable.", + "title": "Title", "type": "string" } }, "required": [ - "MaxValue", - "MinValue", - "Name" + "Impact", + "Title" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.ConvergenceDetected": { - "additionalProperties": false, - "properties": { - "CompleteOnConvergence": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.DataSource": { + "AWS::SSMIncidents::ResponsePlan.Integration": { "additionalProperties": false, "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.S3DataSource" + "PagerDutyConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.PagerDutyConfiguration", + "markdownDescription": "Information about the PagerDuty service where the response plan creates an incident.", + "title": "PagerDutyConfiguration" } }, "required": [ - "S3DataSource" + "PagerDutyConfiguration" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobConfig": { + "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { "additionalProperties": false, "properties": { - "HyperParameterTuningJobObjective": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobObjective" - }, - "ParameterRanges": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ParameterRanges" - }, - "RandomSeed": { - "type": "number" - }, - "ResourceLimits": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ResourceLimits" - }, - "Strategy": { - "type": "string" - }, - "StrategyConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.StrategyConfig" - }, - "TrainingJobEarlyStoppingType": { + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon topic.", + "title": "SnsTopicArn", "type": "string" - }, - "TuningJobCompletionCriteria": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.TuningJobCompletionCriteria" } }, - "required": [ - "ResourceLimits", - "Strategy" - ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobObjective": { + "AWS::SSMIncidents::ResponsePlan.PagerDutyConfiguration": { "additionalProperties": false, "properties": { - "MetricName": { + "Name": { + "markdownDescription": "The name of the PagerDuty configuration.", + "title": "Name", "type": "string" }, - "Type": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobWarmStartConfig": { - "additionalProperties": false, - "properties": { - "ParentHyperParameterTuningJobs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ParentHyperParameterTuningJobsItems" - }, - "type": "array" + "PagerDutyIncidentConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.PagerDutyIncidentConfiguration", + "markdownDescription": "Details about the PagerDuty service associated with the configuration.", + "title": "PagerDutyIncidentConfiguration" }, - "WarmStartType": { + "SecretId": { + "markdownDescription": "The ID of the AWS Secrets Manager secret that stores your PagerDuty key, either a General Access REST API Key or User Token REST API Key, and other user credentials.", + "title": "SecretId", "type": "string" } }, "required": [ - "ParentHyperParameterTuningJobs", - "WarmStartType" + "Name", + "PagerDutyIncidentConfiguration", + "SecretId" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.HyperbandStrategyConfig": { - "additionalProperties": false, - "properties": { - "MaxResource": { - "type": "number" - }, - "MinResource": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.InputDataConfigItems": { + "AWS::SSMIncidents::ResponsePlan.PagerDutyIncidentConfiguration": { "additionalProperties": false, "properties": { - "ChannelName": { + "ServiceId": { + "markdownDescription": "The ID of the PagerDuty service that the response plan associates with an incident when it launches.", + "title": "ServiceId", "type": "string" - }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.DataSource" } }, "required": [ - "ChannelName", - "DataSource" + "ServiceId" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.InstanceGroupsItems": { + "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceGroupName": { + "DocumentName": { + "markdownDescription": "The automation document's name.", + "title": "DocumentName", "type": "string" }, - "InstanceType": { + "DocumentVersion": { + "markdownDescription": "The version of the runbook to use when running.", + "title": "DocumentVersion", "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceGroupName", - "InstanceType" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.InstancePlacementConfig": { - "additionalProperties": false, - "properties": { - "EnableMultipleJobs": { - "type": "boolean" }, - "PlacementSpecifications": { + "DynamicParameters": { "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.PlacementSpecificationsItems" + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.DynamicSsmParameter" }, + "markdownDescription": "The key-value pairs to resolve dynamic parameter values when processing a Systems Manager Automation runbook.", + "title": "DynamicParameters", "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.IntegerParameterRangesItems": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "string" }, - "MinValue": { - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" + }, + "markdownDescription": "The key-value pair parameters to use when running the runbook.", + "title": "Parameters", + "type": "array" }, - "Name": { + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that the automation document will assume when running commands.", + "title": "RoleArn", "type": "string" }, - "ScalingType": { + "TargetAccount": { + "markdownDescription": "The account that the automation document will be run in. This can be in either the management account or an application account.", + "title": "TargetAccount", "type": "string" } }, "required": [ - "MaxValue", - "MinValue", - "Name" + "DocumentName", + "RoleArn" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.MetricDefinitionsItems": { + "AWS::SSMIncidents::ResponsePlan.SsmParameter": { "additionalProperties": false, "properties": { - "Name": { + "Key": { + "markdownDescription": "The key parameter to use when running the Automation runbook.", + "title": "Key", "type": "string" }, - "Regex": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value parameter to use when running the Automation runbook.", + "title": "Values", + "type": "array" } }, "required": [ - "Name", - "Regex" + "Key", + "Values" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.ObjectiveStatusCounters": { - "additionalProperties": false, - "properties": { - "Failed": { - "type": "number" - }, - "Pending": { - "type": "number" - }, - "Succeeded": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.OutputDataConfig": { + "AWS::SSMQuickSetup::ConfigurationManager": { "additionalProperties": false, "properties": { - "CompressionType": { + "Condition": { "type": "string" }, - "KmsKeyId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3OutputPath": { - "type": "string" - } - }, - "required": [ - "S3OutputPath" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.ParameterRanges": { - "additionalProperties": false, - "properties": { - "AutoParameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.AutoParametersItems" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "CategoricalParameterRanges": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.CategoricalParameterRangesItems" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "ContinuousParameterRanges": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ContinuousParameterRangesItems" + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SSMQuickSetup::ConfigurationManager.ConfigurationDefinition" + }, + "markdownDescription": "The definition of the Quick Setup configuration that the configuration manager deploys.", + "title": "ConfigurationDefinitions", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the configuration.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the configuration", + "title": "Name", + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "Key-value pairs of metadata to assign to the configuration manager.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } }, - "type": "array" + "required": [ + "ConfigurationDefinitions" + ], + "type": "object" }, - "IntegerParameterRanges": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.IntegerParameterRangesItems" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.ParentHyperParameterTuningJobsItems": { - "additionalProperties": false, - "properties": { - "HyperParameterTuningJobName": { + "Type": { + "enum": [ + "AWS::SSMQuickSetup::ConfigurationManager" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.PlacementSpecificationsItems": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" }, - "UltraServerId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InstanceCount" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.ResourceConfig": { + "AWS::SSMQuickSetup::ConfigurationManager.ConfigurationDefinition": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceGroups": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.InstanceGroupsItems" - }, - "type": "array" - }, - "InstancePlacementConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.InstancePlacementConfig" + "LocalDeploymentAdministrationRoleArn": { + "markdownDescription": "The ARN of the IAM role used to administrate local configuration deployments.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only for organizational deployments of types other than `AWSQuickSetupType-PatchPolicy` . A value must be provided when you are running an organizational deployment for a patch policy or running any type of deployment for a single account.", + "title": "LocalDeploymentAdministrationRoleArn", + "type": "string" }, - "InstanceType": { + "LocalDeploymentExecutionRoleName": { + "markdownDescription": "The name of the IAM role used to deploy local configurations.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only for organizational deployments of types other than `AWSQuickSetupType-PatchPolicy` . A value must be provided when you are running an organizational deployment for a patch policy or running any type of deployment for a single account.", + "title": "LocalDeploymentExecutionRoleName", "type": "string" }, - "KeepAlivePeriodInSeconds": { - "type": "number" + "Parameters": { + "additionalProperties": true, + "markdownDescription": "The parameters for the configuration definition type. Parameters for configuration definitions vary based the configuration type. The following lists outline the parameters for each configuration type.\n\n- **AWS Config Recording (Type: AWS QuickSetupType-CFGRecording)** - - `RecordAllResources`\n\n- Description: (Optional) A boolean value that determines whether all supported resources are recorded. The default value is \" `true` \".\n- `ResourceTypesToRecord`\n\n- Description: (Optional) A comma separated list of resource types you want to record.\n- `RecordGlobalResourceTypes`\n\n- Description: (Optional) A boolean value that determines whether global resources are recorded with all resource configurations. The default value is \" `false` \".\n- `GlobalResourceTypesRegion`\n\n- Description: (Optional) Determines the AWS Region where global resources are recorded.\n- `UseCustomBucket`\n\n- Description: (Optional) A boolean value that determines whether a custom Amazon S3 bucket is used for delivery. The default value is \" `false` \".\n- `DeliveryBucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver configuration snapshots and configuration history files to.\n- `DeliveryBucketPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `NotificationOptions`\n\n- Description: (Optional) Determines the notification configuration for the recorder. The valid values are `NoStreaming` , `UseExistingTopic` , and `CreateTopic` . The default value is `NoStreaming` .\n- `CustomDeliveryTopicAccountId`\n\n- Description: (Optional) The ID of the AWS account where the Amazon SNS topic you want to use for notifications resides. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `CustomDeliveryTopicName`\n\n- Description: (Optional) The name of the Amazon SNS topic you want to use for notifications. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(7 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Change Manager (Type: AWS QuickSetupType-SSMChangeMgr)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `JobFunction`\n\n- Description: (Required) The name for the Change Manager job function.\n- `PermissionType`\n\n- Description: (Optional) Specifies whether you want to use default administrator permissions for the job function role, or provide a custom IAM policy. The valid values are `CustomPermissions` and `AdminPermissions` . The default value for the parameter is `CustomerPermissions` .\n- `CustomPermissions`\n\n- Description: (Optional) A JSON string containing the IAM policy you want your job function to use. You must provide a value for this parameter if you specify `CustomPermissions` for the `PermissionType` parameter.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Conformance Packs (Type: AWS QuickSetupType-CFGCPacks)** - - `DelegatedAccountId`\n\n- Description: (Optional) The ID of the delegated administrator account. This parameter is required for Organization deployments.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `none` \".\n- `CPackNames`\n\n- Description: (Required) A comma separated list of AWS Config conformance packs.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Default Host Management Configuration (Type: AWS QuickSetupType-DHMC)** - - `UpdateSsmAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **DevOps\u00a0Guru (Type: AWS QuickSetupType-DevOpsGuru)** - - `AnalyseAllResources`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru analyzes all CloudFormation stacks in the account. The default value is \" `false` \".\n- `EnableSnsNotifications`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru sends notifications when an insight is created. The default value is \" `true` \".\n- `EnableSsmOpsItems`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru creates an OpsCenter OpsItem when an insight is created. The default value is \" `true` \".\n- `EnableDriftRemediation`\n\n- Description: (Optional) A boolean value that determines whether a drift remediation schedule is used. The default value is \" `false` \".\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Distributor (Type: AWS QuickSetupType-Distributor)** - - `PackagesToInstall`\n\n- Description: (Required) A comma separated list of packages you want to install on the target instances. The valid values are `AWSEFSTools` , `AWSCWAgent` , and `AWSEC2LaunchAgent` .\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `rate(30 days)` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Host Management (Type: AWS QuickSetupType-SSMHostMgmt)** - - `UpdateSsmAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `UpdateEc2LaunchAgent`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `false` \".\n- `CollectInventory`\n\n- Description: (Optional) A boolean value that determines whether instance metadata is collected on the target instances every 30 minutes. The default value is \" `true` \".\n- `ScanInstances`\n\n- Description: (Optional) A boolean value that determines whether the target instances are scanned daily for available patches. The default value is \" `true` \".\n- `InstallCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is installed on the target instances. The default value is \" `false` \".\n- `UpdateCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is updated on the target instances every month. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Optional) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Optional) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Optional) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **OpsCenter (Type: AWS QuickSetupType-SSMOpsCenter)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Patch Policy (Type: AWS QuickSetupType-PatchPolicy)** - - `PatchPolicyName`\n\n- Description: (Required) A name for the patch policy. The value you provide is applied to target Amazon EC2 instances as a tag.\n- `SelectedPatchBaselines`\n\n- Description: (Required) An array of JSON objects containing the information for the patch baselines to include in your patch policy.\n- `PatchBaselineUseDefault`\n\n- Description: (Optional) A value that determines whether the selected patch baselines are all AWS provided. Supported values are `default` and `custom` .\n- `PatchBaselineRegion`\n\n- Description: (Required) The AWS Region where the patch baseline exist.\n- `ConfigurationOptionsPatchOperation`\n\n- Description: (Optional) Determines whether target instances scan for available patches, or scan and install available patches. The valid values are `Scan` and `ScanAndInstall` . The default value for the parameter is `Scan` .\n- `ConfigurationOptionsScanValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances scan for available patches.\n- `ConfigurationOptionsInstallValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances install available patches.\n- `ConfigurationOptionsScanNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `ConfigurationOptionsInstallNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `RebootOption`\n\n- Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` .\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `OutputLogEnableS3`\n\n- Description: (Optional) A boolean value that determines whether command output logs are sent to Amazon S3.\n- `OutputS3Location`\n\n- Description: (Optional) Information about the Amazon S3 bucket where you want to store the output details of the request.\n\n- `OutputBucketRegion`\n\n- Description: (Optional) The AWS Region where the Amazon S3 bucket you want to deliver command output to is located.\n- `OutputS3BucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want to deliver command output to.\n- `OutputS3KeyPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Explorer (Type: AWS QuickSetupType-ResourceExplorer)** - - `SelectedAggregatorRegion`\n\n- Description: (Required) The AWS Region where you want to create the aggregator index.\n- `ReplaceExistingAggregator`\n\n- Description: (Required) A boolean value that determines whether to demote an existing aggregator if it is in a Region that differs from the value you specify for the `SelectedAggregatorRegion` .\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Scheduler (Type: AWS QuickSetupType-Scheduler)** - - `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target.\n- `ICalendarString`\n\n- Description: (Required) An iCalendar formatted string containing the schedule you want Change Manager to use.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" }, - "TrainingPlanArn": { + "Type": { + "markdownDescription": "The type of the Quick Setup configuration.", + "title": "Type", "type": "string" }, - "VolumeKmsKeyId": { + "TypeVersion": { + "markdownDescription": "The version of the Quick Setup type used.", + "title": "TypeVersion", "type": "string" }, - "VolumeSizeInGB": { - "type": "number" + "id": { + "markdownDescription": "The ID of the configuration definition.", + "title": "id", + "type": "string" } }, "required": [ - "VolumeSizeInGB" + "Parameters", + "Type" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.ResourceLimits": { + "AWS::SSMQuickSetup::ConfigurationManager.StatusSummary": { "additionalProperties": false, "properties": { - "MaxNumberOfTrainingJobs": { - "type": "number" - }, - "MaxParallelTrainingJobs": { - "type": "number" + "LastUpdatedAt": { + "markdownDescription": "The datetime stamp when the status was last updated.", + "title": "LastUpdatedAt", + "type": "string" }, - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxParallelTrainingJobs" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.RetryStrategy": { - "additionalProperties": false, - "properties": { - "MaximumRetryAttempts": { - "type": "number" - } - }, - "required": [ - "MaximumRetryAttempts" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.S3DataSource": { - "additionalProperties": false, - "properties": { - "S3DataDistributionType": { + "Status": { + "markdownDescription": "The current status.", + "title": "Status", "type": "string" }, - "S3DataType": { + "StatusDetails": { + "additionalProperties": true, + "markdownDescription": "Details about the status.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "StatusDetails", + "type": "object" + }, + "StatusMessage": { + "markdownDescription": "When applicable, returns an informational message relevant to the current status and status type of the status summary object. We don't recommend implementing parsing logic around this value since the messages returned can vary in format.", + "title": "StatusMessage", "type": "string" }, - "S3Uri": { + "StatusType": { + "markdownDescription": "The type of a status summary.", + "title": "StatusType", "type": "string" } }, "required": [ - "S3DataType", - "S3Uri" + "LastUpdatedAt", + "StatusType" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxPendingTimeInSeconds": { - "type": "number" - }, - "MaxRuntimeInSeconds": { - "type": "number" - }, - "MaxWaitTimeInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.StrategyConfig": { - "additionalProperties": false, - "properties": { - "HyperbandStrategyConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.HyperbandStrategyConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.TrainingJobDefinition": { + "AWS::SSMQuickSetup::LifecycleAutomation": { "additionalProperties": false, "properties": { - "AlgorithmSpecification": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.AlgorithmSpecification" - }, - "CheckpointConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.CheckpointConfig" - }, - "DefinitionName": { + "Condition": { "type": "string" }, - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableManagedSpotTraining": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Environment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "type": "object" - }, - "HyperParameterRanges": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ParameterRanges" - }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.InputDataConfigItems" - }, - "type": "array" - }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.OutputDataConfig" - }, - "ResourceConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ResourceConfig" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.RetryStrategy" + ] }, - "RoleArn": { - "type": "string" + "Metadata": { + "type": "object" }, - "StaticHyperParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AutomationDocument": { + "markdownDescription": "The name of the SSM Automation document to execute in response to CloudFormation lifecycle events (CREATE, UPDATE, DELETE).", + "title": "AutomationDocument", + "type": "string" + }, + "AutomationParameters": { + "markdownDescription": "A map of key-value parameters passed to the Automation document during execution. Each parameter name maps to a list of values, even for single values. Parameters can include configuration-specific values for your automation workflow.", + "title": "AutomationParameters", + "type": "object" + }, + "ResourceKey": { + "markdownDescription": "A unique identifier used for generating the SSM Association name. This ensures uniqueness when multiple lifecycle automation resources exist in the same stack.", + "title": "ResourceKey", "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "Tags applied to the underlying SSM Association created by this resource. Tags help identify and organize automation executions.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" } }, + "required": [ + "AutomationDocument", + "AutomationParameters", + "ResourceKey" + ], "type": "object" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.StoppingCondition" - }, - "TuningObjective": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.TuningObjective" + "Type": { + "enum": [ + "AWS::SSMQuickSetup::LifecycleAutomation" + ], + "type": "string" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.VpcConfig" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "AlgorithmSpecification", - "OutputDataConfig", - "RoleArn", - "StoppingCondition" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.TrainingJobStatusCounters": { + "AWS::SSO::Application": { "additionalProperties": false, "properties": { - "Completed": { - "type": "number" + "Condition": { + "type": "string" }, - "InProgress": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "NonRetryableError": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RetryableError": { - "type": "number" + "Metadata": { + "type": "object" }, - "Stopped": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.TuningJobCompletionCriteria": { - "additionalProperties": false, - "properties": { - "BestObjectiveNotImproving": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.BestObjectiveNotImproving" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationProviderArn": { + "markdownDescription": "The ARN of the application provider for this application.", + "title": "ApplicationProviderArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the application.", + "title": "Description", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The ARN of the instance of IAM Identity Center that is configured with this application.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the application.", + "title": "Name", + "type": "string" + }, + "PortalOptions": { + "$ref": "#/definitions/AWS::SSO::Application.PortalOptionsConfiguration", + "markdownDescription": "A structure that describes the options for the access portal associated with this application.", + "title": "PortalOptions" + }, + "Status": { + "markdownDescription": "The current status of the application in this instance of IAM Identity Center.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies tags to be attached to the application.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ApplicationProviderArn", + "InstanceArn", + "Name" + ], + "type": "object" }, - "ConvergenceDetected": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ConvergenceDetected" + "Type": { + "enum": [ + "AWS::SSO::Application" + ], + "type": "string" }, - "TargetObjectiveMetricValue": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.TuningObjective": { + "AWS::SSO::Application.PortalOptionsConfiguration": { "additionalProperties": false, "properties": { - "MetricName": { - "type": "string" + "SignInOptions": { + "$ref": "#/definitions/AWS::SSO::Application.SignInOptions", + "markdownDescription": "A structure that describes the sign-in options for the access portal.", + "title": "SignInOptions" }, - "Type": { + "Visibility": { + "markdownDescription": "Indicates whether this application is visible in the access portal.", + "title": "Visibility", "type": "string" } }, - "required": [ - "MetricName", - "Type" - ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.VpcConfig": { + "AWS::SSO::Application.SignInOptions": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "ApplicationUrl": { + "markdownDescription": "The URL that accepts authentication requests for an application. This is a required parameter if the `Origin` parameter is `APPLICATION` .", + "title": "ApplicationUrl", + "type": "string" }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" + "Origin": { + "markdownDescription": "This determines how IAM Identity Center navigates the user to the target application. It can be one of the following values:\n\n- `APPLICATION` : IAM Identity Center redirects the customer to the configured `ApplicationUrl` .\n- `IDENTITY_CENTER` : IAM Identity Center uses SAML identity-provider initiated authentication to sign the customer directly into a SAML-based application.", + "title": "Origin", + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "Origin" ], "type": "object" }, - "AWS::SageMaker::Image": { + "AWS::SSO::ApplicationAssignment": { "additionalProperties": false, "properties": { "Condition": { @@ -363190,44 +330599,32 @@ "Properties": { "additionalProperties": false, "properties": { - "ImageDescription": { - "markdownDescription": "The description of the image.", - "title": "ImageDescription", - "type": "string" - }, - "ImageDisplayName": { - "markdownDescription": "The display name of the image.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.\n\n*Pattern* : `^\\S(.*\\S)?$`", - "title": "ImageDisplayName", + "ApplicationArn": { + "markdownDescription": "The ARN of the application that has principals assigned.", + "title": "ApplicationArn", "type": "string" }, - "ImageName": { - "markdownDescription": "The name of the Image. Must be unique by region in your account.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 63.\n\n*Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`", - "title": "ImageName", + "PrincipalId": { + "markdownDescription": "The unique identifier of the principal assigned to the application.", + "title": "PrincipalId", "type": "string" }, - "ImageRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.\n\n*Length Constraints* : Minimum length of 20. Maximum length of 2048.\n\n*Pattern* : `^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$`", - "title": "ImageRoleArn", + "PrincipalType": { + "markdownDescription": "The type of the principal assigned to the application.", + "title": "PrincipalType", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\n*Array Members* : Minimum number of 0 items. Maximum number of 50 items.", - "title": "Tags", - "type": "array" } }, "required": [ - "ImageName", - "ImageRoleArn" + "ApplicationArn", + "PrincipalId", + "PrincipalType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Image" + "AWS::SSO::ApplicationAssignment" ], "type": "string" }, @@ -363246,7 +330643,7 @@ ], "type": "object" }, - "AWS::SageMaker::ImageVersion": { + "AWS::SSO::Assignment": { "additionalProperties": false, "properties": { "Condition": { @@ -363281,74 +330678,50 @@ "Properties": { "additionalProperties": false, "properties": { - "Alias": { - "markdownDescription": "", - "title": "Alias", - "type": "string" - }, - "Aliases": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Aliases", - "type": "array" - }, - "BaseImage": { - "markdownDescription": "The container image that the SageMaker image version is based on.", - "title": "BaseImage", - "type": "string" - }, - "Horovod": { - "markdownDescription": "", - "title": "Horovod", - "type": "boolean" - }, - "ImageName": { - "markdownDescription": "The name of the parent image.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 63.\n\n*Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`", - "title": "ImageName", - "type": "string" - }, - "JobType": { - "markdownDescription": "", - "title": "JobType", + "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" }, - "MLFramework": { - "markdownDescription": "", - "title": "MLFramework", + "PermissionSetArn": { + "markdownDescription": "The ARN of the permission set.", + "title": "PermissionSetArn", "type": "string" }, - "Processor": { - "markdownDescription": "", - "title": "Processor", + "PrincipalId": { + "markdownDescription": "An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the [IAM Identity Center Identity Store API Reference](https://docs.aws.amazon.com//singlesignon/latest/IdentityStoreAPIReference/welcome.html) .", + "title": "PrincipalId", "type": "string" }, - "ProgrammingLang": { - "markdownDescription": "", - "title": "ProgrammingLang", + "PrincipalType": { + "markdownDescription": "The entity type for which the assignment will be created.", + "title": "PrincipalType", "type": "string" }, - "ReleaseNotes": { - "markdownDescription": "", - "title": "ReleaseNotes", + "TargetId": { + "markdownDescription": "TargetID is an AWS account identifier, (For example, 123456789012).", + "title": "TargetId", "type": "string" }, - "VendorGuidance": { - "markdownDescription": "", - "title": "VendorGuidance", + "TargetType": { + "markdownDescription": "The entity type for which the assignment will be created.", + "title": "TargetType", "type": "string" } }, "required": [ - "BaseImage", - "ImageName" + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ImageVersion" + "AWS::SSO::Assignment" ], "type": "string" }, @@ -363367,7 +330740,7 @@ ], "type": "object" }, - "AWS::SageMaker::InferenceComponent": { + "AWS::SSO::Instance": { "additionalProperties": false, "properties": { "Condition": { @@ -363402,59 +330775,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig", - "markdownDescription": "The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.", - "title": "DeploymentConfig" - }, - "EndpointArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the endpoint that hosts the inference component.", - "title": "EndpointArn", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint that hosts the inference component.", - "title": "EndpointName", - "type": "string" - }, - "InferenceComponentName": { - "markdownDescription": "The name of the inference component.", - "title": "InferenceComponentName", + "Name": { + "markdownDescription": "The name of the Identity Center instance.", + "title": "Name", "type": "string" }, - "RuntimeConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig", - "markdownDescription": "", - "title": "RuntimeConfig" - }, - "Specification": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification", - "markdownDescription": "", - "title": "Specification" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "Specifies tags to be attached to the instance of IAM Identity Center.", "title": "Tags", "type": "array" - }, - "VariantName": { - "markdownDescription": "The name of the production variant that hosts the inference component.", - "title": "VariantName", - "type": "string" } }, - "required": [ - "EndpointName", - "Specification" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::InferenceComponent" + "AWS::SSO::Instance" ], "type": "string" }, @@ -363468,252 +330807,123 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "markdownDescription": "The name of a CloudWatch alarm in your account.", - "title": "AlarmName", - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.AutoRollbackConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.Alarm" - }, - "markdownDescription": "", - "title": "Alarms", - "type": "array" - } - }, - "required": [ - "Alarms" + "Type" ], "type": "object" }, - "AWS::SageMaker::InferenceComponent.DeployedImage": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { "additionalProperties": false, "properties": { - "ResolutionTime": { - "markdownDescription": "The date and time when the image path for the model resolved to the `ResolvedImage`", - "title": "ResolutionTime", - "type": "string" - }, - "ResolvedImage": { - "markdownDescription": "The specific digest path of the image hosted in this `ProductionVariant` .", - "title": "ResolvedImage", + "Condition": { "type": "string" }, - "SpecifiedImage": { - "markdownDescription": "The image path you specified when you created the model.", - "title": "SpecifiedImage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "Specifies the endpoint capacity type.\n\n- **COPY_COUNT** - The endpoint activates based on the number of inference component copies.\n- **CAPACITY_PERCENT** - The endpoint activates based on the specified percentage of capacity.", - "title": "Type", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "markdownDescription": "Defines the capacity size, either as a number of inference component copies or a capacity percentage.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { - "additionalProperties": false, - "properties": { - "MaxMemoryRequiredInMb": { - "markdownDescription": "The maximum MB of memory to allocate to run a model that you assign to an inference component.", - "title": "MaxMemoryRequiredInMb", - "type": "number" - }, - "MinMemoryRequiredInMb": { - "markdownDescription": "The minimum MB of memory to allocate to run a model that you assign to an inference component.", - "title": "MinMemoryRequiredInMb", - "type": "number" - }, - "NumberOfAcceleratorDevicesRequired": { - "markdownDescription": "The number of accelerators to allocate to run a model that you assign to an inference component. Accelerators include GPUs and AWS Inferentia.", - "title": "NumberOfAcceleratorDevicesRequired", - "type": "number" - }, - "NumberOfCpuCoresRequired": { - "markdownDescription": "The number of CPU cores to allocate to run a model that you assign to an inference component.", - "title": "NumberOfCpuCoresRequired", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { - "additionalProperties": false, - "properties": { - "ArtifactUrl": { - "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).", - "title": "ArtifactUrl", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DeployedImage": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage", - "markdownDescription": "", - "title": "DeployedImage" + "Metadata": { + "type": "object" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "The environment variables to set in the Docker container. Each key and value in the Environment string-to-string map can have length of up to 1024. We support up to 16 entries in the map.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "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" } }, - "title": "Environment", + "required": [ + "InstanceArn" + ], "type": "object" }, - "Image": { - "markdownDescription": "The Amazon Elastic Container Registry (Amazon ECR) path where the Docker image for the model is stored.", - "title": "Image", + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig": { - "additionalProperties": false, - "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.AutoRollbackConfiguration", - "markdownDescription": "", - "title": "AutoRollbackConfiguration" - }, - "RollingUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy", - "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker AI endpoint.", - "title": "RollingUpdatePolicy" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy": { - "additionalProperties": false, - "properties": { - "MaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize", - "markdownDescription": "The batch size for each rolling step in the deployment process. For each step, SageMaker AI provisions capacity on the new endpoint fleet, routes traffic to that fleet, and terminates capacity on the old endpoint fleet. The value must be between 5% to 50% of the copy count of the inference component.", - "title": "MaximumBatchSize" - }, - "MaximumExecutionTimeoutInSeconds": { - "markdownDescription": "The time limit for the total deployment. Exceeding this limit causes a timeout.", - "title": "MaximumExecutionTimeoutInSeconds", - "type": "number" - }, - "RollbackMaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize", - "markdownDescription": "The batch size for a rollback to the old endpoint fleet. If this field is absent, the value is set to the default, which is 100% of the total capacity. When the default is used, SageMaker AI provisions the entire capacity of the old fleet at once during rollback.", - "title": "RollbackMaximumBatchSize" - }, - "WaitIntervalInSeconds": { - "markdownDescription": "The length of the baking period, during which SageMaker AI monitors alarms for each batch on the new fleet.", - "title": "WaitIntervalInSeconds", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { - "additionalProperties": false, - "properties": { - "CopyCount": { - "markdownDescription": "The number of runtime copies of the model container to deploy with the inference component. Each copy can serve inference requests.", - "title": "CopyCount", - "type": "number" - }, - "CurrentCopyCount": { - "markdownDescription": "", - "title": "CurrentCopyCount", - "type": "number" }, - "DesiredCopyCount": { - "markdownDescription": "", - "title": "DesiredCopyCount", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { "additionalProperties": false, "properties": { - "BaseInferenceComponentName": { - "markdownDescription": "The name of an existing inference component that is to contain the inference component that you're creating with your request.\n\nSpecify this parameter only if your request is meant to create an adapter inference component. An adapter inference component contains the path to an adapter model. The purpose of the adapter model is to tailor the inference output of a base foundation model, which is hosted by the base inference component. The adapter inference component uses the compute resources that you assigned to the base inference component.\n\nWhen you create an adapter inference component, use the `Container` parameter to specify the location of the adapter artifacts. In the parameter value, use the `ArtifactUrl` parameter of the `InferenceComponentContainerSpecification` data type.\n\nBefore you can create an adapter inference component, you must have an existing inference component that contains the foundation model that you want to adapt.", - "title": "BaseInferenceComponentName", - "type": "string" - }, - "ComputeResourceRequirements": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements", - "markdownDescription": "The compute resources allocated to run the model, plus any adapter models, that you assign to the inference component.\n\nOmit this parameter if your request is meant to create an adapter inference component. An adapter inference component is loaded by a base inference component, and it uses the compute resources of the base inference component.", - "title": "ComputeResourceRequirements" - }, - "Container": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification", - "markdownDescription": "Defines a container that provides the runtime environment for a model that you deploy with an inference component.", - "title": "Container" - }, - "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", + "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" }, - "StartupParameters": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters", - "markdownDescription": "Settings that take effect while the model container starts up.", - "title": "StartupParameters" + "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::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { "additionalProperties": false, "properties": { - "ContainerStartupHealthCheckTimeoutInSeconds": { - "markdownDescription": "The timeout value, in seconds, for your inference container to pass health check by Amazon S3 Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests) .", - "title": "ContainerStartupHealthCheckTimeoutInSeconds", - "type": "number" - }, - "ModelDataDownloadTimeoutInSeconds": { - "markdownDescription": "The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this inference component.", - "title": "ModelDataDownloadTimeoutInSeconds", - "type": "number" + "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::SageMaker::InferenceExperiment": { + "AWS::SSO::PermissionSet": { "additionalProperties": false, "properties": { "Condition": { @@ -363748,90 +330958,75 @@ "Properties": { "additionalProperties": false, "properties": { - "DataStorageConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.DataStorageConfig", - "markdownDescription": "The Amazon S3 location and configuration for storing inference request and response data.", - "title": "DataStorageConfig" + "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 inference experiment.", + "markdownDescription": "The description of the `PermissionSet` .", "title": "Description", "type": "string" }, - "DesiredState": { - "markdownDescription": "The desired state of the experiment after stopping. The possible states are the following:\n\n- `Completed` : The experiment completed successfully\n- `Cancelled` : The experiment was canceled", - "title": "DesiredState", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint.", - "title": "EndpointName", - "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" }, - "KmsKey": { - "markdownDescription": "The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.", - "title": "KmsKey", + "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" }, - "ModelVariants": { + "ManagedPolicies": { "items": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ModelVariantConfig" + "type": "string" }, - "markdownDescription": "An array of `ModelVariantConfigSummary` objects. There is one for each variant in the inference experiment. Each `ModelVariantConfigSummary` object in the array describes the infrastructure configuration for deploying the corresponding variant.", - "title": "ModelVariants", + "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 inference experiment.", + "markdownDescription": "The name of the permission set.", "title": "Name", "type": "string" }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and manage Amazon SageMaker Inference endpoints for model deployment.", - "title": "RoleArn", - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.InferenceExperimentSchedule", - "markdownDescription": "The duration for which the inference experiment ran or will run.\n\nThe maximum duration that you can set for an inference experiment is 30 days.", - "title": "Schedule" + "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" }, - "ShadowModeConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ShadowModeConfig", - "markdownDescription": "The configuration of `ShadowMode` inference experiment type, which shows the production variant that takes all the inference requests, and the shadow variant to which Amazon SageMaker replicates a percentage of the inference requests. For the shadow variant it also shows the percentage of requests that Amazon SageMaker replicates.", - "title": "ShadowModeConfig" + "RelayStateType": { + "markdownDescription": "Used to redirect users within the application during the federation authentication process.", + "title": "RelayStateType", + "type": "string" }, - "StatusReason": { - "markdownDescription": "The error message for the inference experiment status result.", - "title": "StatusReason", + "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": "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 attach to the new `PermissionSet` .", "title": "Tags", "type": "array" - }, - "Type": { - "markdownDescription": "The type of the inference experiment.", - "title": "Type", - "type": "string" } }, "required": [ - "EndpointName", - "ModelVariants", - "Name", - "RoleArn", - "Type" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::InferenceExperiment" + "AWS::SSO::PermissionSet" ], "type": "string" }, @@ -363850,202 +331045,42 @@ ], "type": "object" }, - "AWS::SageMaker::InferenceExperiment.CaptureContentTypeHeader": { - "additionalProperties": false, - "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of all content type headers that Amazon SageMaker AI will treat as CSV and capture accordingly.", - "title": "CsvContentTypes", - "type": "array" - }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of all content type headers that SageMaker AI will treat as JSON and capture accordingly.", - "title": "JsonContentTypes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.DataStorageConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.CaptureContentTypeHeader", - "markdownDescription": "Configuration specifying how to treat different headers. If no headers are specified SageMaker will by default base64 encode when capturing the data.", - "title": "ContentType" - }, - "Destination": { - "markdownDescription": "The Amazon S3 bucket where the inference request and response data is stored.", - "title": "Destination", - "type": "string" - }, - "KmsKey": { - "markdownDescription": "The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.", - "title": "KmsKey", - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.EndpointMetadata": { - "additionalProperties": false, - "properties": { - "EndpointConfigName": { - "markdownDescription": "The name of the endpoint configuration.", - "title": "EndpointConfigName", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint.", - "title": "EndpointName", - "type": "string" - }, - "EndpointStatus": { - "markdownDescription": "The status of the endpoint. For possible values of the status of an endpoint, see [](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferenceexperiment-endpointmetadata.html#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus) .", - "title": "EndpointStatus", - "type": "string" - } - }, - "required": [ - "EndpointName" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.InferenceExperimentSchedule": { - "additionalProperties": false, - "properties": { - "EndTime": { - "markdownDescription": "The timestamp at which the inference experiment ended or will end.", - "title": "EndTime", - "type": "string" - }, - "StartTime": { - "markdownDescription": "The timestamp at which the inference experiment started or will start.", - "title": "StartTime", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.ModelInfrastructureConfig": { - "additionalProperties": false, - "properties": { - "InfrastructureType": { - "markdownDescription": "The inference option to which to deploy your model. Possible values are the following:\n\n- `RealTime` : Deploy to real-time inference.", - "title": "InfrastructureType", - "type": "string" - }, - "RealTimeInferenceConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.RealTimeInferenceConfig", - "markdownDescription": "The infrastructure configuration for deploying the model to real-time inference.", - "title": "RealTimeInferenceConfig" - } - }, - "required": [ - "InfrastructureType", - "RealTimeInferenceConfig" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.ModelVariantConfig": { - "additionalProperties": false, - "properties": { - "InfrastructureConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ModelInfrastructureConfig", - "markdownDescription": "The configuration for the infrastructure that the model will be deployed to.", - "title": "InfrastructureConfig" - }, - "ModelName": { - "markdownDescription": "The name of the Amazon SageMaker Model entity.", - "title": "ModelName", - "type": "string" - }, - "VariantName": { - "markdownDescription": "The name of the variant.", - "title": "VariantName", - "type": "string" - } - }, - "required": [ - "InfrastructureConfig", - "ModelName", - "VariantName" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.RealTimeInferenceConfig": { + "AWS::SSO::PermissionSet.CustomerManagedPolicyReference": { "additionalProperties": false, "properties": { - "InstanceCount": { - "markdownDescription": "The number of instances of the type specified by `InstanceType` .", - "title": "InstanceCount", - "type": "number" - }, - "InstanceType": { - "markdownDescription": "The instance type the model is deployed to.", - "title": "InstanceType", + "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" - } - }, - "required": [ - "InstanceCount", - "InstanceType" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.ShadowModeConfig": { - "additionalProperties": false, - "properties": { - "ShadowModelVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ShadowModelVariantConfig" - }, - "markdownDescription": "List of shadow variant configurations.", - "title": "ShadowModelVariants", - "type": "array" }, - "SourceModelVariantName": { - "markdownDescription": "The name of the production variant, which takes all the inference requests.", - "title": "SourceModelVariantName", + "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": [ - "ShadowModelVariants", - "SourceModelVariantName" + "Name" ], "type": "object" }, - "AWS::SageMaker::InferenceExperiment.ShadowModelVariantConfig": { + "AWS::SSO::PermissionSet.PermissionsBoundary": { "additionalProperties": false, "properties": { - "SamplingPercentage": { - "markdownDescription": "The percentage of inference requests that Amazon SageMaker replicates from the production variant to the shadow variant.", - "title": "SamplingPercentage", - "type": "number" + "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" }, - "ShadowModelVariantName": { - "markdownDescription": "The name of the shadow variant.", - "title": "ShadowModelVariantName", + "ManagedPolicyArn": { + "markdownDescription": "The AWS managed policy ARN that you want to attach to a permission set as a permissions boundary.", + "title": "ManagedPolicyArn", "type": "string" } }, - "required": [ - "SamplingPercentage", - "ShadowModelVariantName" - ], "type": "object" }, - "AWS::SageMaker::MlflowApp": { + "AWS::SageMaker::App": { "additionalProperties": false, "properties": { "Condition": { @@ -364080,38 +331115,56 @@ "Properties": { "additionalProperties": false, "properties": { - "ArtifactStoreUri": { + "AppName": { + "markdownDescription": "The name of the app.", + "title": "AppName", "type": "string" }, - "ModelRegistrationMode": { + "AppType": { + "markdownDescription": "The type of app.", + "title": "AppType", "type": "string" }, - "Name": { + "DomainId": { + "markdownDescription": "The domain ID.", + "title": "DomainId", "type": "string" }, - "RoleArn": { - "type": "string" + "RecoveryMode": { + "markdownDescription": "", + "title": "RecoveryMode", + "type": "boolean" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec", + "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", + "title": "ResourceSpec" }, "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" }, - "WeeklyMaintenanceWindowStart": { + "UserProfileName": { + "markdownDescription": "The user profile name.", + "title": "UserProfileName", "type": "string" } }, "required": [ - "ArtifactStoreUri", - "Name", - "RoleArn" + "AppName", + "AppType", + "DomainId", + "UserProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MlflowApp" + "AWS::SageMaker::App" ], "type": "string" }, @@ -364130,7 +331183,33 @@ ], "type": "object" }, - "AWS::SageMaker::MlflowTrackingServer": { + "AWS::SageMaker::App.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", + "title": "InstanceType", + "type": "string" + }, + "LifecycleConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", + "title": "LifecycleConfigArn", + "type": "string" + }, + "SageMakerImageArn": { + "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", + "title": "SageMakerImageArn", + "type": "string" + }, + "SageMakerImageVersionArn": { + "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", + "title": "SageMakerImageVersionArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -364165,60 +331244,43 @@ "Properties": { "additionalProperties": false, "properties": { - "ArtifactStoreUri": { - "markdownDescription": "", - "title": "ArtifactStoreUri", + "AppImageConfigName": { + "markdownDescription": "The name of the AppImageConfig. Must be unique to your account.", + "title": "AppImageConfigName", "type": "string" }, - "AutomaticModelRegistration": { - "markdownDescription": "", - "title": "AutomaticModelRegistration", - "type": "boolean" + "CodeEditorAppImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.CodeEditorAppImageConfig", + "markdownDescription": "The configuration for the file system and the runtime, such as the environment variables and entry point.", + "title": "CodeEditorAppImageConfig" }, - "MlflowVersion": { - "markdownDescription": "", - "title": "MlflowVersion", - "type": "string" + "JupyterLabAppImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.JupyterLabAppImageConfig", + "markdownDescription": "The configuration for the file system and the runtime, such as the environment variables and entry point.", + "title": "JupyterLabAppImageConfig" }, - "RoleArn": { - "markdownDescription": "", - "title": "RoleArn", - "type": "string" + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig", + "markdownDescription": "The configuration for the file system and kernels in the SageMaker AI image.", + "title": "KernelGatewayImageConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "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" - }, - "TrackingServerName": { - "markdownDescription": "", - "title": "TrackingServerName", - "type": "string" - }, - "TrackingServerSize": { - "markdownDescription": "", - "title": "TrackingServerSize", - "type": "string" - }, - "WeeklyMaintenanceWindowStart": { - "markdownDescription": "", - "title": "WeeklyMaintenanceWindowStart", - "type": "string" } }, "required": [ - "ArtifactStoreUri", - "RoleArn", - "TrackingServerName" + "AppImageConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MlflowTrackingServer" + "AWS::SageMaker::AppImageConfig" ], "type": "string" }, @@ -364232,12 +331294,146 @@ } }, "required": [ - "Type", - "Properties" + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.CodeEditorAppImageConfig": { + "additionalProperties": false, + "properties": { + "ContainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.ContainerConfig", + "markdownDescription": "", + "title": "ContainerConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.ContainerConfig": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "markdownDescription": "The arguments for the container when you're running the application.", + "title": "ContainerArguments", + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "markdownDescription": "The entrypoint used to run the application in the container.", + "title": "ContainerEntrypoint", + "type": "array" + }, + "ContainerEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.CustomImageContainerEnvironmentVariable" + }, + "markdownDescription": "The environment variables to set in the container", + "title": "ContainerEnvironmentVariables", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.CustomImageContainerEnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key that identifies a container environment variable.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the container environment variable.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "DefaultGid": { + "markdownDescription": "The default POSIX group ID (GID). If not specified, defaults to `100` .", + "title": "DefaultGid", + "type": "number" + }, + "DefaultUid": { + "markdownDescription": "The default POSIX user ID (UID). If not specified, defaults to `1000` .", + "title": "DefaultUid", + "type": "number" + }, + "MountPath": { + "markdownDescription": "The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to */home/sagemaker-user* .", + "title": "MountPath", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.JupyterLabAppImageConfig": { + "additionalProperties": false, + "properties": { + "ContainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.ContainerConfig", + "markdownDescription": "The configuration used to run the application image container.", + "title": "ContainerConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { + "additionalProperties": false, + "properties": { + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig", + "markdownDescription": "The Amazon Elastic File System storage configuration for a SageMaker AI image.", + "title": "FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "markdownDescription": "The specification of the Jupyter kernels in the image.", + "title": "KernelSpecs", + "type": "array" + } + }, + "required": [ + "KernelSpecs" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelSpec": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "markdownDescription": "The display name of the kernel.", + "title": "DisplayName", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the Jupyter kernel in the image. This value is case sensitive.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" ], "type": "object" }, - "AWS::SageMaker::Model": { + "AWS::SageMaker::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -364272,50 +331468,71 @@ "Properties": { "additionalProperties": false, "properties": { - "Containers": { + "AutoScaling": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterAutoScalingConfig", + "markdownDescription": "", + "title": "AutoScaling" + }, + "ClusterName": { + "markdownDescription": "The name of the SageMaker HyperPod cluster.", + "title": "ClusterName", + "type": "string" + }, + "ClusterRole": { + "markdownDescription": "", + "title": "ClusterRole", + "type": "string" + }, + "InstanceGroups": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceGroup" }, - "markdownDescription": "Specifies the containers in the inference pipeline.", - "title": "Containers", + "markdownDescription": "The instance groups of the SageMaker HyperPod cluster. To delete an instance group, remove it from the array.", + "title": "InstanceGroups", "type": "array" }, - "EnableNetworkIsolation": { - "markdownDescription": "Isolates the model container. No inbound or outbound network calls can be made to or from the model container.", - "title": "EnableNetworkIsolation", - "type": "boolean" + "NodeProvisioningMode": { + "markdownDescription": "", + "title": "NodeProvisioningMode", + "type": "string" }, - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see [SageMaker Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .\n\n> To be able to pass this role to SageMaker, the caller of this API must have the `iam:PassRole` permission.", - "title": "ExecutionRoleArn", + "NodeRecovery": { + "markdownDescription": "Specifies whether to enable or disable the automatic node recovery feature of SageMaker HyperPod. Available values are `Automatic` for enabling and `None` for disabling.", + "title": "NodeRecovery", "type": "string" }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig", - "markdownDescription": "Specifies details of how containers in a multi-container endpoint are called.", - "title": "InferenceExecutionConfig" + "Orchestrator": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.Orchestrator", + "markdownDescription": "The orchestrator type for the SageMaker HyperPod cluster. Currently, `'eks'` is the only available option.", + "title": "Orchestrator" }, - "ModelName": { - "markdownDescription": "The name of the new model.", - "title": "ModelName", - "type": "string" + "RestrictedInstanceGroups": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterRestrictedInstanceGroup" + }, + "markdownDescription": "", + "title": "RestrictedInstanceGroups", + "type": "array" }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition", - "markdownDescription": "The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.", - "title": "PrimaryContainer" + "RestrictedInstanceGroupsConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.RestrictedInstanceGroupsConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "markdownDescription": "A tag object that consists of a key and an optional value, used to manage metadata for SageMaker AWS resources.\n\nYou can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see [AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html) .\n\nFor more information on adding metadata to your AWS resources with tagging, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) . For advice on best practices for managing AWS resources with tagging, see [Tagging Best Practices: Implement an Effective AWS Resource Tagging Strategy](https://docs.aws.amazon.com/https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) .", "title": "Tags", "type": "array" }, + "TieredStorageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.TieredStorageConfig", + "markdownDescription": "", + "title": "TieredStorageConfig" + }, "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig", - "markdownDescription": "A [VpcConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html) object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. `VpcConfig` is used in hosting services and in batch transform. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html) .", + "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", + "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", "title": "VpcConfig" } }, @@ -364323,7 +331540,7 @@ }, "Type": { "enum": [ - "AWS::SageMaker::Model" + "AWS::SageMaker::Cluster" ], "type": "string" }, @@ -364341,199 +331558,617 @@ ], "type": "object" }, - "AWS::SageMaker::Model.ContainerDefinition": { + "AWS::SageMaker::Cluster.AlarmDetails": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "markdownDescription": "This parameter is ignored for models that contain only a `PrimaryContainer` .\n\nWhen a `ContainerDefinition` is part of an inference pipeline, the value of the parameter uniquely identifies the container for the purposes of logging and metrics. For information, see [Use Logs and Metrics to Monitor an Inference Pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipeline-logs-metrics.html) . If you don't specify a value for this parameter for a `ContainerDefinition` that is part of an inference pipeline, a unique name is automatically assigned based on the position of the `ContainerDefinition` in the pipeline. If you specify a value for the `ContainerHostName` for any `ContainerDefinition` that is part of an inference pipeline, you must specify a value for the `ContainerHostName` parameter of every `ContainerDefinition` in that pipeline.", - "title": "ContainerHostname", + "AlarmName": { + "markdownDescription": "The name of the alarm.", + "title": "AlarmName", "type": "string" - }, - "Environment": { - "markdownDescription": "The environment variables to set in the Docker container. Don't include any sensitive data in your environment variables.\n\nThe maximum length of each key and value in the `Environment` map is 1024 bytes. The maximum length of all keys and values in the map, combined, is 32 KB. If you pass multiple containers to a `CreateModel` request, then the maximum length of all of their maps, combined, is also 32 KB.", - "title": "Environment", - "type": "object" - }, - "Image": { - "markdownDescription": "The path where inference code is stored. This can be either in Amazon EC2 Container Registry or in a Docker registry that is accessible from the same VPC that you configure for your endpoint. If you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .\n\n> The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.", - "title": "Image", + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.CapacitySizeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "Specifies whether SageMaker should process the update by amount or percentage of instances.", + "title": "Type", "type": "string" }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig", - "markdownDescription": "Specifies whether the model container is in Amazon ECR or a private Docker registry accessible from your Amazon Virtual Private Cloud (VPC). For information about storing containers in a private Docker registry, see [Use a Private Docker Registry for Real-Time Inference Containers](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-containers-inference-private.html) .\n\n> The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.", - "title": "ImageConfig" - }, - "InferenceSpecificationName": { - "markdownDescription": "The inference specification name in the model package version.", - "title": "InferenceSpecificationName", + "Value": { + "markdownDescription": "Specifies the amount or percentage of instances SageMaker updates at a time.", + "title": "Value", + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterAutoScalingConfig": { + "additionalProperties": false, + "properties": { + "AutoScalerType": { + "markdownDescription": "The type of autoscaler to use. Currently supported value is `Karpenter` .", + "title": "AutoScalerType", "type": "string" }, "Mode": { - "markdownDescription": "Whether the container hosts a single model or multiple models.", + "markdownDescription": "Describes whether autoscaling is enabled or disabled for the cluster. Valid values are `Enable` and `Disable` .", "title": "Mode", "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterCapacityRequirements": { + "additionalProperties": false, + "properties": { + "OnDemand": { + "markdownDescription": "Configuration options specific to On-Demand instances.", + "title": "OnDemand", + "type": "object" }, - "ModelDataSource": { - "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource", - "markdownDescription": "Specifies the location of ML model data to deploy.\n\n> Currently you cannot use `ModelDataSource` in conjunction with SageMaker batch transform, SageMaker serverless endpoints, SageMaker multi-model endpoints, and SageMaker Marketplace.", - "title": "ModelDataSource" + "Spot": { + "markdownDescription": "Configuration options specific to Spot instances.", + "title": "Spot", + "type": "object" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterEbsVolumeConfig": { + "additionalProperties": false, + "properties": { + "RootVolume": { + "markdownDescription": "Specifies whether the configuration is for the cluster's root or secondary Amazon EBS volume. You can specify two `ClusterEbsVolumeConfig` fields to configure both the root and secondary volumes. Set the value to `True` if you'd like to provide your own customer managed AWS KMS key to encrypt the root volume. When `True` :\n\n- The configuration is applied to the root volume.\n- You can't specify the `VolumeSizeInGB` field. The size of the root volume is determined for you.\n- You must specify a KMS key ID for `VolumeKmsKeyId` to encrypt the root volume with your own KMS key instead of an AWS owned KMS key.\n\nOtherwise, by default, the value is `False` , and the following applies:\n\n- The configuration is applied to the secondary volume, while the root volume is encrypted with an AWS owned key.\n- You must specify the `VolumeSizeInGB` field.\n- You can optionally specify the `VolumeKmsKeyId` to encrypt the secondary volume with your own KMS key instead of an AWS owned KMS key.", + "title": "RootVolume", + "type": "boolean" }, - "ModelDataUrl": { - "markdownDescription": "The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). The S3 path is required for SageMaker built-in algorithms, but not if you use your own algorithms. For more information on built-in algorithms, see [Common Parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html) .\n\n> The model artifacts must be in an S3 bucket that is in the same region as the model or endpoint you are creating. \n\nIf you provide a value for this parameter, SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your AWS account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see [Activating and Deactivating AWS STS in an AWS Region](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) in the *AWS Identity and Access Management User Guide* .\n\n> If you use a built-in algorithm to create a model, SageMaker requires that you provide a S3 path to the model artifacts in `ModelDataUrl` .", - "title": "ModelDataUrl", + "VolumeKmsKeyId": { + "markdownDescription": "The ID of a KMS key to encrypt the Amazon EBS volume.", + "title": "VolumeKmsKeyId", "type": "string" }, - "ModelPackageName": { - "markdownDescription": "The name or Amazon Resource Name (ARN) of the model package to use to create the model.", - "title": "ModelPackageName", + "VolumeSizeInGB": { + "markdownDescription": "The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker` .", + "title": "VolumeSizeInGB", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterFsxLustreConfig": { + "additionalProperties": false, + "properties": { + "DnsName": { "type": "string" }, - "MultiModelConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig", - "markdownDescription": "Specifies additional configuration for multi-model endpoints.", - "title": "MultiModelConfig" + "MountName": { + "type": "string" + }, + "MountPath": { + "type": "string" } }, + "required": [ + "DnsName", + "MountName" + ], "type": "object" }, - "AWS::SageMaker::Model.HubAccessConfig": { + "AWS::SageMaker::Cluster.ClusterFsxOpenZfsConfig": { "additionalProperties": false, "properties": { - "HubContentArn": { - "markdownDescription": "The ARN of your private model hub content. This should be a `ModelReference` resource type that points to a SageMaker JumpStart public hub model.", - "title": "HubContentArn", + "DnsName": { + "type": "string" + }, + "MountPath": { "type": "string" } }, "required": [ - "HubContentArn" + "DnsName" ], "type": "object" }, - "AWS::SageMaker::Model.ImageConfig": { + "AWS::SageMaker::Cluster.ClusterInstanceGroup": { "additionalProperties": false, "properties": { - "RepositoryAccessMode": { - "markdownDescription": "Set this to one of the following values:\n\n- `Platform` - The model image is hosted in Amazon ECR.\n- `Vpc` - The model image is hosted in a private Docker registry in your VPC.", - "title": "RepositoryAccessMode", + "CapacityRequirements": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterCapacityRequirements", + "markdownDescription": "", + "title": "CapacityRequirements" + }, + "CurrentCount": { + "markdownDescription": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.", + "title": "CurrentCount", + "type": "number" + }, + "ExecutionRole": { + "markdownDescription": "The execution role for the instance group to assume.", + "title": "ExecutionRole", "type": "string" }, - "RepositoryAuthConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig", - "markdownDescription": "(Optional) Specifies an authentication configuration for the private docker registry where your model image is hosted. Specify a value for this property only if you specified `Vpc` as the value for the `RepositoryAccessMode` field, and the private Docker registry where the model image is hosted requires authentication.", - "title": "RepositoryAuthConfig" + "ImageId": { + "markdownDescription": "", + "title": "ImageId", + "type": "string" + }, + "InstanceCount": { + "markdownDescription": "The number of instances in an instance group of the SageMaker HyperPod cluster.", + "title": "InstanceCount", + "type": "number" + }, + "InstanceGroupName": { + "markdownDescription": "The name of the instance group of a SageMaker HyperPod cluster.", + "title": "InstanceGroupName", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.InstanceRequirements" + }, + "InstanceStorageConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceStorageConfig" + }, + "markdownDescription": "The configurations of additional storage specified to the instance group where the instance (node) is launched.", + "title": "InstanceStorageConfigs", + "type": "array" + }, + "InstanceType": { + "markdownDescription": "The instance type of the instance group of a SageMaker HyperPod cluster.", + "title": "InstanceType", + "type": "string" + }, + "KubernetesConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterKubernetesConfig", + "markdownDescription": "", + "title": "KubernetesConfig" + }, + "LifeCycleConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterLifeCycleConfig", + "markdownDescription": "The lifecycle configuration for a SageMaker HyperPod cluster.", + "title": "LifeCycleConfig" + }, + "MinInstanceCount": { + "markdownDescription": "", + "title": "MinInstanceCount", + "type": "number" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterNetworkInterface" + }, + "OnStartDeepHealthChecks": { + "items": { + "type": "string" + }, + "markdownDescription": "A flag indicating whether deep health checks should be performed when the HyperPod cluster instance group is created or updated. Deep health checks are comprehensive, invasive tests that validate the health of the underlying hardware and infrastructure components.", + "title": "OnStartDeepHealthChecks", + "type": "array" + }, + "OverrideVpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", + "markdownDescription": "The customized Amazon VPC configuration at the instance group level that overrides the default Amazon VPC configuration of the SageMaker HyperPod cluster.", + "title": "OverrideVpcConfig" + }, + "ScheduledUpdateConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ScheduledUpdateConfig", + "markdownDescription": "", + "title": "ScheduledUpdateConfig" + }, + "SlurmConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterSlurmConfig" + }, + "ThreadsPerCore": { + "markdownDescription": "The number of threads per CPU core you specified under `CreateCluster` .", + "title": "ThreadsPerCore", + "type": "number" + }, + "TrainingPlanArn": { + "markdownDescription": "", + "title": "TrainingPlanArn", + "type": "string" } }, "required": [ - "RepositoryAccessMode" + "ExecutionRole", + "InstanceCount", + "InstanceGroupName" ], "type": "object" }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { + "AWS::SageMaker::Cluster.ClusterInstanceStorageConfig": { "additionalProperties": false, "properties": { - "Mode": { - "markdownDescription": "How containers in a multi-container are run. The following values are valid.\n\n- `Serial` - Containers run as a serial pipeline.\n- `Direct` - Only the individual container that you specify is run.", - "title": "Mode", + "EbsVolumeConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterEbsVolumeConfig", + "markdownDescription": "Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker` .", + "title": "EbsVolumeConfig" + }, + "FsxLustreConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterFsxLustreConfig" + }, + "FsxOpenZfsConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterFsxOpenZfsConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterKubernetesConfig": { + "additionalProperties": false, + "properties": { + "Labels": { + "additionalProperties": true, + "markdownDescription": "Key-value pairs of labels to be applied to cluster nodes.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Labels", + "type": "object" + }, + "Taints": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterKubernetesTaint" + }, + "markdownDescription": "List of taints to be applied to cluster nodes.", + "title": "Taints", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterKubernetesTaint": { + "additionalProperties": false, + "properties": { + "Effect": { + "markdownDescription": "The effect of the taint. Valid values are `NoSchedule` , `PreferNoSchedule` , and `NoExecute` .", + "title": "Effect", + "type": "string" + }, + "Key": { + "markdownDescription": "The key of the taint.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the taint.", + "title": "Value", "type": "string" } }, "required": [ - "Mode" + "Effect", + "Key" ], "type": "object" }, - "AWS::SageMaker::Model.ModelAccessConfig": { + "AWS::SageMaker::Cluster.ClusterLifeCycleConfig": { "additionalProperties": false, "properties": { - "AcceptEula": { - "markdownDescription": "Specifies agreement to the model end-user license agreement (EULA). The `AcceptEula` value must be explicitly defined as `True` in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", - "title": "AcceptEula", - "type": "boolean" + "OnCreate": { + "markdownDescription": "The file name of the entrypoint script of lifecycle scripts under `SourceS3Uri` . This entrypoint script runs during cluster creation.", + "title": "OnCreate", + "type": "string" + }, + "OnInitComplete": { + "type": "string" + }, + "SourceS3Uri": { + "markdownDescription": "An Amazon S3 bucket path where your lifecycle scripts are stored.\n\n> Make sure that the S3 bucket path starts with `s3://sagemaker-` . The [IAM role for SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) has the managed [`AmazonSageMakerClusterInstanceRolePolicy`](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html) attached, which allows access to S3 buckets with the specific prefix `sagemaker-` .", + "title": "SourceS3Uri", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterNetworkInterface": { + "additionalProperties": false, + "properties": { + "InterfaceType": { + "type": "string" } }, "required": [ - "AcceptEula" + "InterfaceType" ], "type": "object" }, - "AWS::SageMaker::Model.ModelDataSource": { + "AWS::SageMaker::Cluster.ClusterOrchestratorEksConfig": { "additionalProperties": false, "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource", - "markdownDescription": "Specifies the S3 location of ML model data to deploy.", - "title": "S3DataSource" + "ClusterArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.", + "title": "ClusterArn", + "type": "string" } }, "required": [ - "S3DataSource" + "ClusterArn" ], "type": "object" }, - "AWS::SageMaker::Model.MultiModelConfig": { + "AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig": { "additionalProperties": false, "properties": { - "ModelCacheSetting": { - "markdownDescription": "Whether to cache models for a multi-model endpoint. By default, multi-model endpoints cache models so that a model does not have to be loaded into memory each time it is invoked. Some use cases do not benefit from model caching. For example, if an endpoint hosts a large number of models that are each invoked infrequently, the endpoint might perform better if you disable model caching. To disable model caching, set the value of this parameter to Disabled.", - "title": "ModelCacheSetting", + "SlurmConfigStrategy": { "type": "string" } }, "type": "object" }, - "AWS::SageMaker::Model.RepositoryAuthConfig": { + "AWS::SageMaker::Cluster.ClusterRestrictedInstanceGroup": { "additionalProperties": false, "properties": { - "RepositoryCredentialsProviderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Lambda function that provides credentials to authenticate to the private Docker registry where your model image is hosted. For information about how to create an AWS Lambda function, see [Create a Lambda function with the console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html) in the *AWS Lambda Developer Guide* .", - "title": "RepositoryCredentialsProviderArn", + "CurrentCount": { + "markdownDescription": "", + "title": "CurrentCount", + "type": "number" + }, + "EnvironmentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.EnvironmentConfig", + "markdownDescription": "", + "title": "EnvironmentConfig" + }, + "ExecutionRole": { + "markdownDescription": "", + "title": "ExecutionRole", + "type": "string" + }, + "InstanceCount": { + "markdownDescription": "", + "title": "InstanceCount", + "type": "number" + }, + "InstanceGroupName": { + "markdownDescription": "", + "title": "InstanceGroupName", + "type": "string" + }, + "InstanceStorageConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceStorageConfig" + }, + "markdownDescription": "", + "title": "InstanceStorageConfigs", + "type": "array" + }, + "InstanceType": { + "markdownDescription": "", + "title": "InstanceType", + "type": "string" + }, + "OnStartDeepHealthChecks": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "OnStartDeepHealthChecks", + "type": "array" + }, + "OverrideVpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", + "markdownDescription": "", + "title": "OverrideVpcConfig" + }, + "ThreadsPerCore": { + "markdownDescription": "", + "title": "ThreadsPerCore", + "type": "number" + }, + "TrainingPlanArn": { + "markdownDescription": "", + "title": "TrainingPlanArn", "type": "string" } }, "required": [ - "RepositoryCredentialsProviderArn" + "ExecutionRole", + "InstanceCount", + "InstanceGroupName", + "InstanceType" ], "type": "object" }, - "AWS::SageMaker::Model.S3DataSource": { + "AWS::SageMaker::Cluster.ClusterSlurmConfig": { "additionalProperties": false, "properties": { - "CompressionType": { - "markdownDescription": "", - "title": "CompressionType", + "NodeType": { "type": "string" }, - "HubAccessConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.HubAccessConfig", - "markdownDescription": "The configuration for a private hub model reference that points to a SageMaker JumpStart public hub model.", - "title": "HubAccessConfig" + "PartitionNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "NodeType" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.AlarmDetails" + }, + "markdownDescription": "Automatic rollback configuration for handling endpoint deployment failures and recovery.", + "title": "AutoRollbackConfiguration", + "type": "array" }, - "ModelAccessConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ModelAccessConfig", + "RollingUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.RollingUpdatePolicy", + "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker endpoint.", + "title": "RollingUpdatePolicy" + }, + "WaitIntervalInSeconds": { "markdownDescription": "", - "title": "ModelAccessConfig" + "title": "WaitIntervalInSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.EnvironmentConfig": { + "additionalProperties": false, + "properties": { + "FSxLustreConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.FSxLustreConfig", + "markdownDescription": "Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.", + "title": "FSxLustreConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.FSxLustreConfig": { + "additionalProperties": false, + "properties": { + "PerUnitStorageThroughput": { + "markdownDescription": "The throughput capacity of the Amazon FSx for Lustre file system, measured in MB/s per TiB of storage.", + "title": "PerUnitStorageThroughput", + "type": "number" }, - "S3DataType": { - "markdownDescription": "If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.\n\nIf you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.\n\nIf you choose `AugmentedManifestFile` , `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .\n\nIf you choose `Converse` , `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.", - "title": "S3DataType", + "SizeInGiB": { + "markdownDescription": "The storage capacity of the Amazon FSx for Lustre file system, specified in gibibytes (GiB).", + "title": "SizeInGiB", + "type": "number" + } + }, + "required": [ + "PerUnitStorageThroughput", + "SizeInGiB" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.InstanceRequirements": { + "additionalProperties": false, + "properties": { + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceTypes" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.Orchestrator": { + "additionalProperties": false, + "properties": { + "Eks": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterOrchestratorEksConfig", + "markdownDescription": "The configuration of the Amazon EKS orchestrator cluster for the SageMaker HyperPod cluster.", + "title": "Eks" + }, + "Slurm": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.RestrictedInstanceGroupsConfig": { + "additionalProperties": false, + "properties": { + "SharedEnvironmentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.SharedEnvironmentConfig" + } + }, + "required": [ + "SharedEnvironmentConfig" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.RollingUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.CapacitySizeConfig", + "markdownDescription": "Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.", + "title": "MaximumBatchSize" + }, + "RollbackMaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.CapacitySizeConfig", + "markdownDescription": "Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.", + "title": "RollbackMaximumBatchSize" + } + }, + "required": [ + "MaximumBatchSize" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.ScheduledUpdateConfig": { + "additionalProperties": false, + "properties": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.DeploymentConfig", + "markdownDescription": "The configuration to use when updating the AMI versions.", + "title": "DeploymentConfig" + }, + "ScheduleExpression": { + "markdownDescription": "A cron expression that specifies the schedule that SageMaker follows when updating the AMI.", + "title": "ScheduleExpression", "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.SharedEnvironmentConfig": { + "additionalProperties": false, + "properties": { + "FSxLustreConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.FSxLustreConfig" }, - "S3Uri": { - "markdownDescription": "Depending on the value specified for the `S3DataType` , identifies either a key name prefix or a manifest. For example:\n\n- A key name prefix might look like this: `s3://bucketname/exampleprefix/`\n- A manifest might look like this: `s3://bucketname/example.manifest`\n\nA manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.\n\nThe following code example shows a valid manifest format:\n\n`[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},`\n\n`\"relative/path/to/custdata-1\",`\n\n`\"relative/path/custdata-2\",`\n\n`...`\n\n`\"relative/path/custdata-N\"`\n\n`]`\n\nThis JSON is equivalent to the following `S3Uri` list:\n\n`s3://customer_bucket/some/prefix/relative/path/to/custdata-1`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-2`\n\n`...`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-N`\n\nThe complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.\n\nYour input bucket must be located in same AWS region as your training job.", - "title": "S3Uri", + "FSxLustreDeletionPolicy": { "type": "string" } }, "required": [ - "CompressionType", - "S3DataType", - "S3Uri" + "FSxLustreDeletionPolicy" ], "type": "object" }, - "AWS::SageMaker::Model.VpcConfig": { + "AWS::SageMaker::Cluster.TieredStorageConfig": { + "additionalProperties": false, + "properties": { + "InstanceMemoryAllocationPercentage": { + "markdownDescription": "", + "title": "InstanceMemoryAllocationPercentage", + "type": "number" + }, + "Mode": { + "markdownDescription": "", + "title": "Mode", + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -364559,7 +332194,111 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition": { + "AWS::SageMaker::CodeRepository": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeRepositoryName": { + "markdownDescription": "The name of the Git repository.", + "title": "CodeRepositoryName", + "type": "string" + }, + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig", + "markdownDescription": "Configuration details for the Git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.", + "title": "GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "List of tags for Code Repository.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "GitConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::CodeRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository.GitConfig": { + "additionalProperties": false, + "properties": { + "Branch": { + "markdownDescription": "The default branch for the Git repository.", + "title": "Branch", + "type": "string" + }, + "RepositoryUrl": { + "markdownDescription": "The URL where the Git repository is located.", + "title": "RepositoryUrl", + "type": "string" + }, + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository. The secret must have a staging label of `AWSCURRENT` and must be in the following format:\n\n`{\"username\": *UserName* , \"password\": *Password* }`", + "title": "SecretArn", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -364594,44 +332333,44 @@ "Properties": { "additionalProperties": false, "properties": { + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification", + "markdownDescription": "Specifies the container that runs the monitoring job.", + "title": "DataQualityAppSpecification" + }, + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig", + "markdownDescription": "Configures the constraints and baselines for the monitoring job.", + "title": "DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput", + "markdownDescription": "A list of inputs for the monitoring job. Currently endpoints are supported as monitoring inputs.", + "title": "DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig", + "markdownDescription": "The output configuration for monitoring jobs.", + "title": "DataQualityJobOutputConfig" + }, "EndpointName": { "markdownDescription": "", "title": "EndpointName", "type": "string" }, "JobDefinitionName": { - "markdownDescription": "The name of the bias job definition. The name must be unique within an AWS Region in the AWS account.", + "markdownDescription": "The name for the monitoring job definition.", "title": "JobDefinitionName", "type": "string" }, "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources", "markdownDescription": "Identifies the resources to deploy for a monitoring job.", "title": "JobResources" }, - "ModelBiasAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification", - "markdownDescription": "Configures the model bias job to run a specified Docker container image.", - "title": "ModelBiasAppSpecification" - }, - "ModelBiasBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig", - "markdownDescription": "The baseline configuration for a model bias job.", - "title": "ModelBiasBaselineConfig" - }, - "ModelBiasJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput", - "markdownDescription": "Inputs for the model bias job.", - "title": "ModelBiasJobInput" - }, - "ModelBiasJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig", - "markdownDescription": "The output configuration for monitoring jobs.", - "title": "ModelBiasJobOutputConfig" - }, "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig", - "markdownDescription": "Networking options for a model bias job.", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig", + "markdownDescription": "Specifies networking configuration for the monitoring job.", "title": "NetworkConfig" }, "RoleArn": { @@ -364640,7 +332379,7 @@ "type": "string" }, "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition", "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", "title": "StoppingCondition" }, @@ -364654,17 +332393,17 @@ } }, "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", "JobResources", - "ModelBiasAppSpecification", - "ModelBiasJobInput", - "ModelBiasJobOutputConfig", "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelBiasJobDefinition" + "AWS::SageMaker::DataQualityJobDefinition" ], "type": "string" }, @@ -364683,7 +332422,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.BatchTransformInput": { + "AWS::SageMaker::DataQualityJobDefinition.BatchTransformInput": { "additionalProperties": false, "properties": { "DataCapturedDestinationS3Uri": { @@ -364692,23 +332431,13 @@ "type": "string" }, "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.DatasetFormat", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DatasetFormat", "markdownDescription": "The dataset format for your batch transform job.", "title": "DatasetFormat" }, - "EndTimeOffset": { - "markdownDescription": "If specified, monitoring jobs subtract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", - "title": "EndTimeOffset", - "type": "string" - }, - "FeaturesAttribute": { - "markdownDescription": "The attributes of the input data that are the input features.", - "title": "FeaturesAttribute", - "type": "string" - }, - "InferenceAttribute": { - "markdownDescription": "The attribute of the input data that represents the ground truth label.", - "title": "InferenceAttribute", + "ExcludeFeaturesAttribute": { + "markdownDescription": "The attributes of the input data to exclude from the analysis.", + "title": "ExcludeFeaturesAttribute", "type": "string" }, "LocalPath": { @@ -364716,16 +332445,6 @@ "title": "LocalPath", "type": "string" }, - "ProbabilityAttribute": { - "markdownDescription": "In a classification problem, the attribute that represents the class probability.", - "title": "ProbabilityAttribute", - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "markdownDescription": "The threshold for the class probability to be evaluated as a positive result.", - "title": "ProbabilityThresholdAttribute", - "type": "number" - }, "S3DataDistributionType": { "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", "title": "S3DataDistributionType", @@ -364735,11 +332454,6 @@ "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", "title": "S3InputMode", "type": "string" - }, - "StartTimeOffset": { - "markdownDescription": "If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", - "title": "StartTimeOffset", - "type": "string" } }, "required": [ @@ -364749,7 +332463,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { "InstanceCount": { @@ -364780,7 +332494,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { "S3Uri": { @@ -364791,7 +332505,7 @@ }, "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.Csv": { + "AWS::SageMaker::DataQualityJobDefinition.Csv": { "additionalProperties": false, "properties": { "Header": { @@ -364802,109 +332516,28 @@ }, "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.DatasetFormat": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Csv", - "markdownDescription": "", - "title": "Csv" - }, - "Json": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Json", - "markdownDescription": "", - "title": "Json" - }, - "Parquet": { - "markdownDescription": "", - "title": "Parquet", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { "additionalProperties": false, "properties": { - "EndTimeOffset": { - "markdownDescription": "If specified, monitoring jobs substract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", - "title": "EndTimeOffset", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", - "title": "EndpointName", - "type": "string" - }, - "FeaturesAttribute": { - "markdownDescription": "The attributes of the input data that are the input features.", - "title": "FeaturesAttribute", - "type": "string" - }, - "InferenceAttribute": { - "markdownDescription": "The attribute of the input data that represents the ground truth label.", - "title": "InferenceAttribute", - "type": "string" - }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", - "title": "LocalPath", - "type": "string" - }, - "ProbabilityAttribute": { - "markdownDescription": "In a classification problem, the attribute that represents the class probability.", - "title": "ProbabilityAttribute", - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "markdownDescription": "The threshold for the class probability to be evaluated as a positive result.", - "title": "ProbabilityThresholdAttribute", - "type": "number" - }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", - "type": "string" - }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", - "type": "string" + "ContainerArguments": { + "items": { + "type": "string" + }, + "markdownDescription": "The arguments to send to the container that the monitoring job runs.", + "title": "ContainerArguments", + "type": "array" }, - "StartTimeOffset": { - "markdownDescription": "If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", - "title": "StartTimeOffset", - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.Json": { - "additionalProperties": false, - "properties": { - "Line": { - "markdownDescription": "", - "title": "Line", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "markdownDescription": "JSON formatted S3 file that defines bias parameters. For more information on this JSON configuration file, see [Configure bias parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-bias-parameters.html) .", - "title": "ConfigUri", - "type": "string" + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "markdownDescription": "The entrypoint for a container used to run a monitoring job.", + "title": "ContainerEntrypoint", + "type": "array" }, "Environment": { "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the Docker container.", + "markdownDescription": "Sets the environment variables in the container that the monitoring job runs.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" @@ -364914,76 +332547,135 @@ "type": "object" }, "ImageUri": { - "markdownDescription": "The container image to be run by the model bias job.", + "markdownDescription": "The container image that the data quality monitoring job runs.", "title": "ImageUri", "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", + "title": "PostAnalyticsProcessorSourceUri", + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", + "title": "RecordPreprocessorSourceUri", + "type": "string" } }, "required": [ - "ConfigUri", "ImageUri" ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { "additionalProperties": false, "properties": { "BaseliningJobName": { - "markdownDescription": "The name of the baseline model bias job.", + "markdownDescription": "The name of the job that performs baselining for the data quality monitoring job.", "title": "BaseliningJobName", "type": "string" }, "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource", "markdownDescription": "The constraints resource for a monitoring job.", "title": "ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource", + "markdownDescription": "Configuration for monitoring constraints and monitoring statistics. These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.", + "title": "StatisticsResource" } }, "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { "additionalProperties": false, "properties": { "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.BatchTransformInput", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.BatchTransformInput", "markdownDescription": "Input object for the batch transform job.", "title": "BatchTransformInput" }, "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput", "markdownDescription": "Input object for the endpoint", "title": "EndpointInput" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DatasetFormat": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Csv", + "markdownDescription": "", + "title": "Csv" }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input", - "markdownDescription": "Location of ground truth labels to use in model bias job.", - "title": "GroundTruthS3Input" + "Json": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Json", + "markdownDescription": "", + "title": "Json" + }, + "Parquet": { + "markdownDescription": "", + "title": "Parquet", + "type": "boolean" } }, - "required": [ - "GroundTruthS3Input" - ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "S3Uri": { - "markdownDescription": "The address of the Amazon S3 location of the ground truth labels.", - "title": "S3Uri", + "EndpointName": { + "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", + "title": "EndpointName", + "type": "string" + }, + "ExcludeFeaturesAttribute": { + "markdownDescription": "The attributes of the input data to exclude from the analysis.", + "title": "ExcludeFeaturesAttribute", + "type": "string" + }, + "LocalPath": { + "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", + "title": "LocalPath", + "type": "string" + }, + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", + "type": "string" + }, + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", "type": "string" } }, "required": [ - "S3Uri" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { + "AWS::SageMaker::DataQualityJobDefinition.Json": { + "additionalProperties": false, + "properties": { + "Line": { + "markdownDescription": "", + "title": "Line", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output", "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", "title": "S3Output" } @@ -364993,7 +332685,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { "KmsKeyId": { @@ -365003,7 +332695,7 @@ }, "MonitoringOutputs": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" }, "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", "title": "MonitoringOutputs", @@ -365015,11 +332707,11 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig", "markdownDescription": "The configuration for the cluster resources used to run the processing job.", "title": "ClusterConfig" } @@ -365029,7 +332721,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { "EnableInterContainerTrafficEncryption": { @@ -365043,18 +332735,18 @@ "type": "boolean" }, "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig", "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", "title": "VpcConfig" } }, "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { "additionalProperties": false, "properties": { "LocalPath": { - "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. `LocalPath` is an absolute path for the output data.", + "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", "title": "LocalPath", "type": "string" }, @@ -365075,7 +332767,18 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the statistics resource.", + "title": "S3Uri", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { "MaxRuntimeInSeconds": { @@ -365089,7 +332792,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -365115,7 +332818,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelCard": { + "AWS::SageMaker::Device": { "additionalProperties": false, "properties": { "Condition": { @@ -365150,55 +332853,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.Content", - "markdownDescription": "The content of the model card. Content uses the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .", - "title": "Content" - }, - "CreatedBy": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.UserContext", - "markdownDescription": "Information about the user who created or modified one or more of the following:\n\n- Experiment\n- Trial\n- Trial component\n- Lineage group\n- Project\n- Model Card", - "title": "CreatedBy" - }, - "LastModifiedBy": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.UserContext", - "markdownDescription": "", - "title": "LastModifiedBy" - }, - "ModelCardName": { - "markdownDescription": "The unique name of the model card.", - "title": "ModelCardName", - "type": "string" + "Device": { + "$ref": "#/definitions/AWS::SageMaker::Device.Device", + "markdownDescription": "Edge device you want to create.", + "title": "Device" }, - "ModelCardStatus": { - "markdownDescription": "The approval status of the model card within your organization. Different organizations might have different criteria for model card review and approval.\n\n- `Draft` : The model card is a work in progress.\n- `PendingReview` : The model card is pending review.\n- `Approved` : The model card is approved.\n- `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.", - "title": "ModelCardStatus", + "DeviceFleetName": { + "markdownDescription": "The name of the fleet the device belongs to.", + "title": "DeviceFleetName", "type": "string" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.SecurityConfig", - "markdownDescription": "The security configuration used to protect model card data.", - "title": "SecurityConfig" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Key-value pairs used to manage metadata for the model card.", + "markdownDescription": "An array of key-value pairs that contain metadata to help you categorize and organize your devices. Each tag consists of a key and a value, both of which you define.", "title": "Tags", "type": "array" } }, "required": [ - "Content", - "ModelCardName", - "ModelCardStatus" + "DeviceFleetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelCard" + "AWS::SageMaker::Device" ], "type": "string" }, @@ -365217,662 +332898,1025 @@ ], "type": "object" }, - "AWS::SageMaker::ModelCard.AdditionalInformation": { + "AWS::SageMaker::Device.Device": { "additionalProperties": false, "properties": { - "CaveatsAndRecommendations": { - "markdownDescription": "Caveats and recommendations for those who might use this model in their applications.", - "title": "CaveatsAndRecommendations", + "Description": { + "markdownDescription": "Description of the device.", + "title": "Description", "type": "string" }, - "CustomDetails": { - "additionalProperties": true, - "markdownDescription": "Any additional information to document about the model.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "CustomDetails", - "type": "object" + "DeviceName": { + "markdownDescription": "The name of the device.", + "title": "DeviceName", + "type": "string" }, - "EthicalConsiderations": { - "markdownDescription": "Any ethical considerations documented by the model card author.", - "title": "EthicalConsiderations", + "IotThingName": { + "markdownDescription": "AWS Internet of Things (IoT) object name.", + "title": "IotThingName", "type": "string" } }, + "required": [ + "DeviceName" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.BusinessDetails": { + "AWS::SageMaker::DeviceFleet": { "additionalProperties": false, "properties": { - "BusinessProblem": { - "markdownDescription": "The specific business problem that the model is trying to solve.", - "title": "BusinessProblem", + "Condition": { "type": "string" }, - "BusinessStakeholders": { - "markdownDescription": "The relevant stakeholders for the model.", - "title": "BusinessStakeholders", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "LineOfBusiness": { - "markdownDescription": "The broader business need that the model is serving.", - "title": "LineOfBusiness", + "DependsOn": { + "anyOf": [ + { + "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 fleet.", + "title": "Description", + "type": "string" + }, + "DeviceFleetName": { + "markdownDescription": "Name of the device fleet.", + "title": "DeviceFleetName", + "type": "string" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig", + "markdownDescription": "The output configuration for storing sample data collected by the fleet.", + "title": "OutputConfig" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) that has access to AWS Internet of Things (IoT).", + "title": "RoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs that contain metadata to help you categorize and organize your device fleets. Each tag consists of a key and a value, both of which you define.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "DeviceFleetName", + "OutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DeviceFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.Container": { + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { "additionalProperties": false, "properties": { - "Image": { - "markdownDescription": "", - "title": "Image", - "type": "string" - }, - "ModelDataUrl": { - "markdownDescription": "", - "title": "ModelDataUrl", + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume after compilation job. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account.", + "title": "KmsKeyId", "type": "string" }, - "NearestModelName": { - "markdownDescription": "", - "title": "NearestModelName", + "S3OutputLocation": { + "markdownDescription": "The Amazon Simple Storage (S3) bucket URI.", + "title": "S3OutputLocation", "type": "string" } }, "required": [ - "Image" + "S3OutputLocation" ], "type": "object" }, - "AWS::SageMaker::ModelCard.Content": { + "AWS::SageMaker::Domain": { "additionalProperties": false, "properties": { - "AdditionalInformation": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.AdditionalInformation", - "markdownDescription": "Additional information about the model.", - "title": "AdditionalInformation" + "Condition": { + "type": "string" }, - "BusinessDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.BusinessDetails", - "markdownDescription": "Information about how the model supports business goals.", - "title": "BusinessDetails" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "EvaluationDetails": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.EvaluationDetail" - }, - "markdownDescription": "An overview about the model's evaluation.", - "title": "EvaluationDetails", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IntendedUses": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.IntendedUses", - "markdownDescription": "The intended usage of the model.", - "title": "IntendedUses" + "Metadata": { + "type": "object" }, - "ModelOverview": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelOverview", - "markdownDescription": "An overview about the model", - "title": "ModelOverview" + "Properties": { + "additionalProperties": false, + "properties": { + "AppNetworkAccessType": { + "markdownDescription": "Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly` .\n\n- `PublicInternetOnly` - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI , which allows direct internet access\n- `VpcOnly` - All Studio traffic is through the specified VPC and subnets\n\n*Valid Values* : `PublicInternetOnly | VpcOnly`", + "title": "AppNetworkAccessType", + "type": "string" + }, + "AppSecurityGroupManagement": { + "markdownDescription": "The entity that creates and manages the required security groups for inter-app communication in `VpcOnly` mode. Required when `CreateDomain.AppNetworkAccessType` is `VpcOnly` and `DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn` is provided. If setting up the domain for use with RStudio, this value must be set to `Service` .\n\n*Allowed Values* : `Service` | `Customer`", + "title": "AppSecurityGroupManagement", + "type": "string" + }, + "AuthMode": { + "markdownDescription": "The mode of authentication that members use to access the Domain.\n\n*Valid Values* : `SSO | IAM`", + "title": "AuthMode", + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceSettings", + "markdownDescription": "The default settings for shared spaces that users create in the domain.\n\nSageMaker applies these settings only to shared spaces. It doesn't apply them to private spaces.", + "title": "DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings", + "markdownDescription": "The default user settings.", + "title": "DefaultUserSettings" + }, + "DomainName": { + "markdownDescription": "The domain name.", + "title": "DomainName", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DomainSettings", + "markdownDescription": "A collection of settings that apply to the `SageMaker Domain` . These settings are specified through the `CreateDomain` API call.", + "title": "DomainSettings" + }, + "HomeEfsFileSystemCreation": { + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "SageMaker uses AWS KMS to encrypt the EFS volume attached to the Domain with an AWS managed customer master key (CMK) by default. For more control, specify a customer managed CMK.\n\n*Length Constraints* : Maximum length of 2048.\n\n*Pattern* : `.*`", + "title": "KmsKeyId", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC subnets that Studio uses for communication.\n\n*Length Constraints* : Maximum length of 32.\n\n*Array members* : Minimum number of 1 item. Maximum number of 16 items.\n\n*Pattern* : `[-0-9a-zA-Z]+`", + "title": "SubnetIds", + "type": "array" + }, + "TagPropagation": { + "markdownDescription": "", + "title": "TagPropagation", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.\n\nTags that you specify for the Domain are also added to all apps that are launched in the Domain.\n\n*Array members* : Minimum number of 0 items. Maximum number of 50 items.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the Amazon Virtual Private Cloud (Amazon VPC) that Studio uses for communication.\n\n*Length Constraints* : Maximum length of 32.\n\n*Pattern* : `[-0-9a-zA-Z]+`", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName" + ], + "type": "object" }, - "ModelPackageDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelPackageDetails", - "markdownDescription": "", - "title": "ModelPackageDetails" + "Type": { + "enum": [ + "AWS::SageMaker::Domain" + ], + "type": "string" }, - "TrainingDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingDetails", - "markdownDescription": "An overview about model training.", - "title": "TrainingDetails" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.EvaluationDetail": { + "AWS::SageMaker::Domain.AppLifecycleManagement": { "additionalProperties": false, "properties": { - "Datasets": { - "items": { - "type": "string" - }, - "markdownDescription": "The location of the datasets used to evaluate the model.", - "title": "Datasets", - "type": "array" - }, - "EvaluationJobArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the evaluation job.", - "title": "EvaluationJobArn", - "type": "string" + "IdleSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.IdleSettings", + "markdownDescription": "Settings related to idle shutdown of Studio applications.", + "title": "IdleSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "AppLifecycleManagement": { + "$ref": "#/definitions/AWS::SageMaker::Domain.AppLifecycleManagement", + "markdownDescription": "Settings that are used to configure and manage the lifecycle of CodeEditor applications.", + "title": "AppLifecycleManagement" }, - "EvaluationObservation": { - "markdownDescription": "Any observations made during the model evaluation.", - "title": "EvaluationObservation", + "BuiltInLifecycleConfigArn": { + "markdownDescription": "The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.", + "title": "BuiltInLifecycleConfigArn", "type": "string" }, - "Metadata": { - "additionalProperties": true, - "markdownDescription": "Additional attributes associated with the evaluation results.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" }, - "title": "Metadata", - "type": "object" + "markdownDescription": "A list of custom SageMaker images that are configured to run as a Code Editor app.", + "title": "CustomImages", + "type": "array" }, - "MetricGroups": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the Code Editor app.", + "title": "DefaultResourceSpec" + }, + "LifecycleConfigArns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.MetricGroup" + "type": "string" }, - "markdownDescription": "An evaluation Metric Group object.", - "title": "MetricGroups", + "markdownDescription": "The Amazon Resource Name (ARN) of the Code Editor application lifecycle configuration.", + "title": "LifecycleConfigArns", "type": "array" - }, - "Name": { - "markdownDescription": "The evaluation job name.", - "title": "Name", + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "markdownDescription": "The URL of the Git repository.", + "title": "RepositoryUrl", "type": "string" } }, "required": [ - "Name" + "RepositoryUrl" ], "type": "object" }, - "AWS::SageMaker::ModelCard.Function": { + "AWS::SageMaker::Domain.CustomFileSystemConfig": { "additionalProperties": false, "properties": { - "Condition": { - "markdownDescription": "An optional description of any conditions of your objective function metric.", - "title": "Condition", - "type": "string" + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig", + "markdownDescription": "The settings for a custom Amazon EFS file system.", + "title": "EFSFileSystemConfig" }, - "Facet": { - "markdownDescription": "The metric of the model's objective function. For example, *loss* or *rmse* . The following list shows examples of the values that you can specify for the metric:\n\n- `ACCURACY`\n- `AUC`\n- `LOSS`\n- `MAE`\n- `RMSE`", - "title": "Facet", - "type": "string" + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.FSxLustreFileSystemConfig", + "markdownDescription": "The settings for a custom Amazon FSx for Lustre file system.", + "title": "FSxLustreFileSystemConfig" }, - "Function": { - "markdownDescription": "The optimization direction of the model's objective function. You must specify one of the following values:\n\n- `Maximize`\n- `Minimize`", - "title": "Function", - "type": "string" + "S3FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.S3FileSystemConfig", + "markdownDescription": "Configuration settings for a custom Amazon S3 file system.", + "title": "S3FileSystemConfig" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.InferenceEnvironment": { + "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { - "ContainerImage": { - "items": { - "type": "string" - }, - "markdownDescription": "The container used to run the inference environment.", - "title": "ContainerImage", - "type": "array" + "AppImageConfigName": { + "markdownDescription": "The name of the AppImageConfig.", + "title": "AppImageConfigName", + "type": "string" + }, + "ImageName": { + "markdownDescription": "The name of the CustomImage. Must be unique to your account.", + "title": "ImageName", + "type": "string" + }, + "ImageVersionNumber": { + "markdownDescription": "The version number of the CustomImage.", + "title": "ImageVersionNumber", + "type": "number" } }, + "required": [ + "AppImageConfigName", + "ImageName" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.InferenceSpecification": { + "AWS::SageMaker::Domain.CustomPosixUserConfig": { "additionalProperties": false, "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.Container" - }, - "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", - "title": "Containers", - "type": "array" + "Gid": { + "markdownDescription": "The POSIX group ID.", + "title": "Gid", + "type": "number" + }, + "Uid": { + "markdownDescription": "The POSIX user ID.", + "title": "Uid", + "type": "number" } }, "required": [ - "Containers" + "Gid", + "Uid" ], "type": "object" }, - "AWS::SageMaker::ModelCard.IntendedUses": { + "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { "additionalProperties": false, "properties": { - "ExplanationsForRiskRating": { - "markdownDescription": "An explanation of why your organization categorizes the model with its risk rating.", - "title": "ExplanationsForRiskRating", - "type": "string" - }, - "FactorsAffectingModelEfficiency": { - "markdownDescription": "Factors affecting model efficacy.", - "title": "FactorsAffectingModelEfficiency", - "type": "string" - }, - "IntendedUses": { - "markdownDescription": "The intended use cases for the model.", - "title": "IntendedUses", - "type": "string" - }, - "PurposeOfModel": { - "markdownDescription": "The general purpose of the model.", - "title": "PurposeOfModel", - "type": "string" + "DefaultEbsVolumeSizeInGb": { + "markdownDescription": "The default size of the EBS storage volume for a space.", + "title": "DefaultEbsVolumeSizeInGb", + "type": "number" }, - "RiskRating": { - "markdownDescription": "Your organization's risk rating. You can specify one the following values as the risk rating:\n\n- High\n- Medium\n- Low\n- Unknown", - "title": "RiskRating", - "type": "string" + "MaximumEbsVolumeSizeInGb": { + "markdownDescription": "The maximum size of the EBS storage volume for a space.", + "title": "MaximumEbsVolumeSizeInGb", + "type": "number" } }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.MetricDataItems": { + "AWS::SageMaker::Domain.DefaultSpaceSettings": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "markdownDescription": "The settings for assigning a custom file system to a domain. Permitted users can access this file system in Amazon SageMaker AI Studio.", + "title": "CustomFileSystemConfigs", + "type": "array" }, - "Notes": { - "type": "string" + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig", + "markdownDescription": "", + "title": "CustomPosixUserConfig" }, - "Type": { + "ExecutionRole": { + "markdownDescription": "The ARN of the execution role for the space.", + "title": "ExecutionRole", "type": "string" }, - "Value": { - "type": "object" + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings", + "markdownDescription": "", + "title": "JupyterLabAppSettings" }, - "XAxisName": { - "items": { - "type": "string" - }, - "type": "array" + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings", + "markdownDescription": "The JupyterServer app settings.", + "title": "JupyterServerAppSettings" }, - "YAxisName": { + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings", + "markdownDescription": "The KernelGateway app settings.", + "title": "KernelGatewayAppSettings" + }, + "SecurityGroups": { "items": { "type": "string" }, + "markdownDescription": "The security group IDs for the Amazon VPC that the space uses for communication.", + "title": "SecurityGroups", "type": "array" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings", + "markdownDescription": "", + "title": "SpaceStorageSettings" } }, "required": [ - "Name", - "Type", - "Value" + "ExecutionRole" ], "type": "object" }, - "AWS::SageMaker::ModelCard.MetricGroup": { + "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { "additionalProperties": false, "properties": { - "MetricData": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.MetricDataItems" - }, - "markdownDescription": "A list of metric objects. The `MetricDataItems` list can have one of the following values:\n\n- `bar_chart_metric`\n- `matrix_metric`\n- `simple_metric`\n- `linear_graph_metric`\n\nFor more information about the metric schema, see the definition section of the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .", - "title": "MetricData", - "type": "array" - }, - "Name": { - "markdownDescription": "The metric group name.", - "title": "Name", - "type": "string" + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings", + "markdownDescription": "The default EBS storage settings for a space.", + "title": "DefaultEbsStorageSettings" } }, - "required": [ - "MetricData", - "Name" - ], "type": "object" }, - "AWS::SageMaker::ModelCard.ModelOverview": { + "AWS::SageMaker::Domain.DockerSettings": { "additionalProperties": false, "properties": { - "AlgorithmType": { - "markdownDescription": "The algorithm used to solve the problem.", - "title": "AlgorithmType", + "EnableDockerAccess": { + "markdownDescription": "Indicates whether the domain can access Docker.", + "title": "EnableDockerAccess", "type": "string" }, - "InferenceEnvironment": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.InferenceEnvironment", - "markdownDescription": "An overview about model inference.", - "title": "InferenceEnvironment" - }, - "ModelArtifact": { + "VpcOnlyTrustedAccounts": { "items": { "type": "string" }, - "markdownDescription": "The location of the model artifact.", - "title": "ModelArtifact", + "markdownDescription": "The list of AWS accounts that are trusted when the domain is created in VPC-only mode.", + "title": "VpcOnlyTrustedAccounts", "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DockerSettings", + "markdownDescription": "A collection of settings that configure the domain's Docker interaction.", + "title": "DockerSettings" }, - "ModelCreator": { - "markdownDescription": "The creator of the model.", - "title": "ModelCreator", + "ExecutionRoleIdentityConfig": { + "markdownDescription": "The configuration for attaching a SageMaker AI user profile name to the execution role as a [sts:SourceIdentity key](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html) .", + "title": "ExecutionRoleIdentityConfig", "type": "string" }, - "ModelDescription": { - "markdownDescription": "A description of the model.", - "title": "ModelDescription", + "IpAddressType": { + "markdownDescription": "The IP address type for the domain. Specify `ipv4` for IPv4-only connectivity or `dualstack` for both IPv4 and IPv6 connectivity. When you specify `dualstack` , the subnet must support IPv6 CIDR blocks. If not specified, defaults to `ipv4` .", + "title": "IpAddressType", "type": "string" }, - "ModelId": { - "markdownDescription": "The SageMaker AI Model ARN or non- SageMaker AI Model ID.", - "title": "ModelId", - "type": "string" + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.RStudioServerProDomainSettings", + "markdownDescription": "A collection of settings that configure the `RStudioServerPro` Domain-level app.", + "title": "RStudioServerProDomainSettings" }, - "ModelName": { - "markdownDescription": "The name of the model.", - "title": "ModelName", - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The security groups for the Amazon Virtual Private Cloud that the `Domain` uses for communication between Domain-level apps and user apps.", + "title": "SecurityGroupIds", + "type": "array" }, - "ModelOwner": { - "markdownDescription": "The owner of the model.", - "title": "ModelOwner", + "UnifiedStudioSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UnifiedStudioSettings", + "markdownDescription": "The settings that apply to an SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.", + "title": "UnifiedStudioSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "markdownDescription": "The ID of your Amazon EFS file system.", + "title": "FileSystemId", "type": "string" }, - "ModelVersion": { - "markdownDescription": "The version of the model.", - "title": "ModelVersion", - "type": "number" - }, - "ProblemType": { - "markdownDescription": "The problem being solved with the model.", - "title": "ProblemType", + "FileSystemPath": { + "markdownDescription": "The path to the file system directory that is accessible in Amazon SageMaker AI Studio. Permitted users can access only this directory and below.", + "title": "FileSystemPath", "type": "string" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.ModelPackageCreator": { + "AWS::SageMaker::Domain.FSxLustreFileSystemConfig": { "additionalProperties": false, "properties": { - "UserProfileName": { - "markdownDescription": "", - "title": "UserProfileName", + "FileSystemId": { + "markdownDescription": "The globally unique, 17-digit, ID of the file system, assigned by Amazon FSx for Lustre.", + "title": "FileSystemId", + "type": "string" + }, + "FileSystemPath": { + "markdownDescription": "The path to the file system directory that is accessible in Amazon SageMaker Studio. Permitted users can access only this directory and below.", + "title": "FileSystemPath", "type": "string" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.ModelPackageDetails": { + "AWS::SageMaker::Domain.HiddenSageMakerImage": { "additionalProperties": false, "properties": { - "ApprovalDescription": { - "markdownDescription": "", - "title": "ApprovalDescription", + "SageMakerImageName": { + "markdownDescription": "The SageMaker image name that you are hiding from the Studio user interface.", + "title": "SageMakerImageName", "type": "string" }, - "CreatedBy": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelPackageCreator", - "markdownDescription": "", - "title": "CreatedBy" + "VersionAliases": { + "items": { + "type": "string" + }, + "markdownDescription": "The version aliases you are hiding from the Studio user interface.", + "title": "VersionAliases", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "markdownDescription": "The time that SageMaker waits after the application becomes idle before shutting it down.", + "title": "IdleTimeoutInMinutes", + "type": "number" }, - "Domain": { - "markdownDescription": "", - "title": "Domain", + "LifecycleManagement": { + "markdownDescription": "Indicates whether idle shutdown is activated for the application type.", + "title": "LifecycleManagement", "type": "string" }, - "InferenceSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.InferenceSpecification", - "markdownDescription": "", - "title": "InferenceSpecification" - }, - "ModelApprovalStatus": { - "markdownDescription": "", - "title": "ModelApprovalStatus", - "type": "string" + "MaxIdleTimeoutInMinutes": { + "markdownDescription": "The maximum value in minutes that custom idle shutdown can be set to by the user.", + "title": "MaxIdleTimeoutInMinutes", + "type": "number" }, - "ModelPackageArn": { - "markdownDescription": "", - "title": "ModelPackageArn", - "type": "string" + "MinIdleTimeoutInMinutes": { + "markdownDescription": "The minimum value in minutes that custom idle shutdown can be set to by the user.", + "title": "MinIdleTimeoutInMinutes", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "AppLifecycleManagement": { + "$ref": "#/definitions/AWS::SageMaker::Domain.AppLifecycleManagement", + "markdownDescription": "Indicates whether idle shutdown is activated for JupyterLab applications.", + "title": "AppLifecycleManagement" }, - "ModelPackageDescription": { - "markdownDescription": "", - "title": "ModelPackageDescription", + "BuiltInLifecycleConfigArn": { + "markdownDescription": "The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.", + "title": "BuiltInLifecycleConfigArn", "type": "string" }, - "ModelPackageGroupName": { - "markdownDescription": "", - "title": "ModelPackageGroupName", - "type": "string" + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" + }, + "markdownDescription": "A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.", + "title": "CodeRepositories", + "type": "array" }, - "ModelPackageName": { - "markdownDescription": "", - "title": "ModelPackageName", - "type": "string" + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "markdownDescription": "A list of custom SageMaker images that are configured to run as a JupyterLab app.", + "title": "CustomImages", + "type": "array" }, - "ModelPackageStatus": { - "markdownDescription": "", - "title": "ModelPackageStatus", - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.", + "title": "DefaultResourceSpec" }, - "ModelPackageVersion": { - "markdownDescription": "", - "title": "ModelPackageVersion", - "type": "number" + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the lifecycle configurations attached to the user profile or domain. To remove a lifecycle config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.", + "title": "DefaultResourceSpec" }, - "SourceAlgorithms": { + "LifecycleConfigArns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.SourceAlgorithm" + "type": "string" }, - "markdownDescription": "", - "title": "SourceAlgorithms", + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a KernelGateway app.\n\nThe maximum number of custom images are as follows.\n\n- On a domain level: 200\n- On a space level: 5\n- On a user profile level: 5", + "title": "CustomImages", "type": "array" }, - "Task": { - "markdownDescription": "", - "title": "Task", - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.\n\n> The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.", + "title": "DefaultResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.ObjectiveFunction": { + "AWS::SageMaker::Domain.RSessionAppSettings": { "additionalProperties": false, "properties": { - "Function": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.Function", - "markdownDescription": "A function object that details optimization direction, metric, and additional descriptions.", - "title": "Function" + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a RSession app.", + "title": "CustomImages", + "type": "array" }, - "Notes": { - "markdownDescription": "Notes about the object function, including other considerations for possible objective functions.", - "title": "Notes", - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", + "title": "DefaultResourceSpec" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.SecurityConfig": { + "AWS::SageMaker::Domain.RStudioServerProAppSettings": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "A AWS Key Management Service [key ID](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id) used to encrypt a model card.", - "title": "KmsKeyId", + "AccessStatus": { + "markdownDescription": "Indicates whether the current user has access to the `RStudioServerPro` app.", + "title": "AccessStatus", + "type": "string" + }, + "UserGroup": { + "markdownDescription": "The level of permissions that the user has within the `RStudioServerPro` app. This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.", + "title": "UserGroup", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.SourceAlgorithm": { + "AWS::SageMaker::Domain.RStudioServerProDomainSettings": { "additionalProperties": false, "properties": { - "AlgorithmName": { - "markdownDescription": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.", - "title": "AlgorithmName", + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "A collection that defines the default `InstanceType` , `SageMakerImageArn` , and `SageMakerImageVersionArn` for the Domain.", + "title": "DefaultResourceSpec" + }, + "DomainExecutionRoleArn": { + "markdownDescription": "The ARN of the execution role for the `RStudioServerPro` Domain-level app.", + "title": "DomainExecutionRoleArn", "type": "string" }, - "ModelDataUrl": { - "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.", - "title": "ModelDataUrl", + "RStudioConnectUrl": { + "markdownDescription": "A URL pointing to an RStudio Connect server.", + "title": "RStudioConnectUrl", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "markdownDescription": "A URL pointing to an RStudio Package Manager server.", + "title": "RStudioPackageManagerUrl", "type": "string" } }, "required": [ - "AlgorithmName" + "DomainExecutionRoleArn" ], "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingDetails": { + "AWS::SageMaker::Domain.ResourceSpec": { "additionalProperties": false, "properties": { - "ObjectiveFunction": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.ObjectiveFunction", - "markdownDescription": "The function that is optimized during model training.", - "title": "ObjectiveFunction" + "InstanceType": { + "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", + "title": "InstanceType", + "type": "string" }, - "TrainingJobDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingJobDetails", - "markdownDescription": "Details about any associated training jobs.", - "title": "TrainingJobDetails" + "LifecycleConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", + "title": "LifecycleConfigArn", + "type": "string" }, - "TrainingObservations": { - "markdownDescription": "Any observations about training.", - "title": "TrainingObservations", + "SageMakerImageArn": { + "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", + "title": "SageMakerImageArn", + "type": "string" + }, + "SageMakerImageVersionArn": { + "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", + "title": "SageMakerImageVersionArn", + "type": "string" + }, + "TrainingPlanArn": { "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingEnvironment": { + "AWS::SageMaker::Domain.S3FileSystemConfig": { "additionalProperties": false, "properties": { - "ContainerImage": { - "items": { - "type": "string" - }, - "markdownDescription": "SageMaker AI inference image URI.", - "title": "ContainerImage", - "type": "array" + "MountPath": { + "markdownDescription": "The file system path where the Amazon S3 storage location will be mounted within the Amazon SageMaker Studio environment.", + "title": "MountPath", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "The Amazon S3 URI of the S3 file system configuration.", + "title": "S3Uri", + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingHyperParameter": { + "AWS::SageMaker::Domain.SharingSettings": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the hyper parameter.", - "title": "Name", + "NotebookOutputOption": { + "markdownDescription": "Whether to include the notebook cell output when sharing the notebook. The default is `Disabled` .", + "title": "NotebookOutputOption", "type": "string" }, - "Value": { - "markdownDescription": "The value specified for the hyper parameter.", - "title": "Value", + "S3KmsKeyId": { + "markdownDescription": "When `NotebookOutputOption` is `Allowed` , the AWS Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.", + "title": "S3KmsKeyId", + "type": "string" + }, + "S3OutputPath": { + "markdownDescription": "When `NotebookOutputOption` is `Allowed` , the Amazon S3 bucket used to store the shared notebook snapshots.", + "title": "S3OutputPath", "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingJobDetails": { + "AWS::SageMaker::Domain.StudioWebPortalSettings": { "additionalProperties": false, "properties": { - "HyperParameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingHyperParameter" - }, - "markdownDescription": "The hyper parameters used in the training job.", - "title": "HyperParameters", - "type": "array" - }, - "TrainingArn": { - "markdownDescription": "The SageMaker AI training job Amazon Resource Name (ARN)", - "title": "TrainingArn", - "type": "string" - }, - "TrainingDatasets": { + "HiddenAppTypes": { "items": { "type": "string" }, - "markdownDescription": "The location of the datasets used to train the model.", - "title": "TrainingDatasets", + "markdownDescription": "The [Applications supported in Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-apps.html) that are hidden from the Studio left navigation pane.", + "title": "HiddenAppTypes", "type": "array" }, - "TrainingEnvironment": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingEnvironment", - "markdownDescription": "The SageMaker AI training job image URI.", - "title": "TrainingEnvironment" - }, - "TrainingMetrics": { + "HiddenInstanceTypes": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingMetric" + "type": "string" }, - "markdownDescription": "The SageMaker AI training job results.", - "title": "TrainingMetrics", + "markdownDescription": "The instance types you are hiding from the Studio user interface.", + "title": "HiddenInstanceTypes", "type": "array" }, - "UserProvidedHyperParameters": { + "HiddenMlTools": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingHyperParameter" + "type": "string" }, - "markdownDescription": "Additional hyper parameters that you've specified when training the model.", - "title": "UserProvidedHyperParameters", + "markdownDescription": "The machine learning tools that are hidden from the Studio left navigation pane.", + "title": "HiddenMlTools", "type": "array" }, - "UserProvidedTrainingMetrics": { + "HiddenSageMakerImageVersionAliases": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingMetric" + "$ref": "#/definitions/AWS::SageMaker::Domain.HiddenSageMakerImage" }, - "markdownDescription": "Custom training job results.", - "title": "UserProvidedTrainingMetrics", + "markdownDescription": "The version aliases you are hiding from the Studio user interface.", + "title": "HiddenSageMakerImageVersionAliases", "type": "array" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingMetric": { + "AWS::SageMaker::Domain.UnifiedStudioSettings": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the result from the SageMaker AI training job.", - "title": "Name", + "DomainAccountId": { + "markdownDescription": "The ID of the AWS account that has the Amazon SageMaker Unified Studio domain. The default value, if you don't specify an ID, is the ID of the account that has the Amazon SageMaker AI domain.", + "title": "DomainAccountId", "type": "string" }, - "Notes": { - "markdownDescription": "Any additional notes describing the result of the training job.", - "title": "Notes", + "DomainId": { + "markdownDescription": "The ID of the Amazon SageMaker Unified Studio domain associated with this domain.", + "title": "DomainId", "type": "string" }, - "Value": { - "markdownDescription": "The value of a result from the SageMaker AI training job.", - "title": "Value", - "type": "number" + "DomainRegion": { + "markdownDescription": "The AWS Region where the domain is located in Amazon SageMaker Unified Studio. The default value, if you don't specify a Region, is the Region where the Amazon SageMaker AI domain is located.", + "title": "DomainRegion", + "type": "string" + }, + "EnvironmentId": { + "markdownDescription": "The ID of the environment that Amazon SageMaker Unified Studio associates with the domain.", + "title": "EnvironmentId", + "type": "string" + }, + "ProjectId": { + "markdownDescription": "The ID of the Amazon SageMaker Unified Studio project that corresponds to the domain.", + "title": "ProjectId", + "type": "string" + }, + "ProjectS3Path": { + "markdownDescription": "The location where Amazon S3 stores temporary execution data and other artifacts for the project that corresponds to the domain.", + "title": "ProjectS3Path", + "type": "string" + }, + "StudioWebPortalAccess": { + "markdownDescription": "Sets whether you can access the domain in Amazon SageMaker Studio:\n\n- **ENABLED** - You can access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it in both studio interfaces.\n- **DISABLED** - You can't access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it only in that studio interface.\n\nTo migrate a domain to Amazon SageMaker Unified Studio, you specify the UnifiedStudioSettings data type when you use the UpdateDomain action.", + "title": "StudioWebPortalAccess", + "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, - "AWS::SageMaker::ModelCard.UserContext": { + "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { - "DomainId": { - "markdownDescription": "The domain associated with the user.", - "title": "DomainId", + "AutoMountHomeEFS": { + "markdownDescription": "Indicates whether auto-mounting of an EFS volume is supported for the user profile. The `DefaultAsDomain` value is only supported for user profiles. Do not use the `DefaultAsDomain` value when setting this parameter for a domain.\n\nSageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.", + "title": "AutoMountHomeEFS", "type": "string" }, - "UserProfileArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user's profile.", - "title": "UserProfileArn", + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings", + "markdownDescription": "The Code Editor application settings.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "markdownDescription": "The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker AI Studio.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "CustomFileSystemConfigs", + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig", + "markdownDescription": "Details about the POSIX identity that is used for file system operations.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "markdownDescription": "The default experience that the user is directed to when accessing the domain. The supported values are:\n\n- `studio::` : Indicates that Studio is the default experience. This value can only be passed if `StudioWebPortal` is set to `ENABLED` .\n- `app:JupyterServer:` : Indicates that Studio Classic is the default experience.", + "title": "DefaultLandingUri", "type": "string" }, - "UserProfileName": { - "markdownDescription": "The name of the user's profile.", - "title": "UserProfileName", + "ExecutionRole": { + "markdownDescription": "The execution role for the user.\n\nSageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.", + "title": "ExecutionRole", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings", + "markdownDescription": "The settings for the JupyterLab application.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings", + "markdownDescription": "The Jupyter server's app settings.", + "title": "JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings", + "markdownDescription": "The kernel gateway app settings.", + "title": "KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.RSessionAppSettings", + "markdownDescription": "A collection of settings that configure the `RSessionGateway` app.", + "title": "RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.RStudioServerProAppSettings", + "markdownDescription": "A collection of settings that configure user interaction with the `RStudioServerPro` app.", + "title": "RStudioServerProAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The security groups for the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.\n\nOptional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .\n\nRequired when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` , unless specified as part of the `DefaultUserSettings` for the domain.\n\nAmazon SageMaker AI adds a security group to allow NFS traffic from Amazon SageMaker AI Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "SecurityGroups", + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings", + "markdownDescription": "Specifies options for sharing Amazon SageMaker AI Studio notebooks.", + "title": "SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings", + "markdownDescription": "The storage settings for a space.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "SpaceStorageSettings" + }, + "StudioWebPortal": { + "markdownDescription": "Whether the user can access Studio. If this value is set to `DISABLED` , the user cannot access Studio, even if that is the default experience for the domain.", + "title": "StudioWebPortal", "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.StudioWebPortalSettings", + "markdownDescription": "Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.", + "title": "StudioWebPortalSettings" } }, + "required": [ + "ExecutionRole" + ], "type": "object" }, - "AWS::SageMaker::ModelCardExportJob": { + "AWS::SageMaker::Endpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -365907,29 +333951,56 @@ "Properties": { "additionalProperties": false, "properties": { - "ModelCardExportJobName": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig", + "markdownDescription": "The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.", + "title": "DeploymentConfig" + }, + "EndpointConfigName": { + "markdownDescription": "The name of the [AWS::SageMaker::EndpointConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html) resource that specifies the configuration for the endpoint. For more information, see [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) .", + "title": "EndpointConfigName", "type": "string" }, - "ModelCardName": { + "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" }, - "ModelCardVersion": { - "type": "number" + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "markdownDescription": "When you are updating endpoint resources with [RetainAllVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-RetainAllVariantProperties) whose value is set to `true` , `ExcludeRetainedVariantProperties` specifies the list of type [VariantProperty](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html) to override with the values provided by `EndpointConfig` . If you don't specify a value for `ExcludeAllVariantProperties` , no variant properties are overridden. Don't use this property when creating new endpoint resources or when `RetainAllVariantProperties` is set to `false` .", + "title": "ExcludeRetainedVariantProperties", + "type": "array" }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelCardExportJob.ModelCardExportOutputConfig" + "RetainAllVariantProperties": { + "markdownDescription": "When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set `RetainAllVariantProperties` to `true` . To use the variant properties specified in a new `EndpointConfig` call when updating an endpoint, set `RetainAllVariantProperties` to `false` . Use this property only when updating endpoint resources, not when creating new endpoint resources.", + "title": "RetainAllVariantProperties", + "type": "boolean" + }, + "RetainDeploymentConfig": { + "markdownDescription": "Specifies whether to reuse the last deployment configuration. The default value is false (the configuration is not reused).", + "title": "RetainDeploymentConfig", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "title": "Tags", + "type": "array" } }, "required": [ - "ModelCardExportJobName", - "ModelCardName", - "OutputConfig" + "EndpointConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelCardExportJob" + "AWS::SageMaker::Endpoint" ], "type": "string" }, @@ -365948,31 +334019,173 @@ ], "type": "object" }, - "AWS::SageMaker::ModelCardExportJob.ModelCardExportArtifacts": { + "AWS::SageMaker::Endpoint.Alarm": { "additionalProperties": false, "properties": { - "S3ExportArtifacts": { + "AlarmName": { + "markdownDescription": "The name of a CloudWatch alarm in your account.", + "title": "AlarmName", "type": "string" } }, "required": [ - "S3ExportArtifacts" + "AlarmName" ], "type": "object" }, - "AWS::SageMaker::ModelCardExportJob.ModelCardExportOutputConfig": { + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { "additionalProperties": false, "properties": { - "S3OutputPath": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "markdownDescription": "List of CloudWatch alarms in your account that are configured to monitor metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker rolls back the deployment.", + "title": "Alarms", + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "markdownDescription": "Maximum execution timeout for the deployment. Note that the timeout value should be larger than the total waiting time specified in `TerminationWaitInSeconds` and `WaitIntervalInSeconds` .", + "title": "MaximumExecutionTimeoutInSeconds", + "type": "number" + }, + "TerminationWaitInSeconds": { + "markdownDescription": "Additional waiting time in seconds after the completion of an endpoint deployment before terminating the old endpoint fleet. Default is 0.", + "title": "TerminationWaitInSeconds", + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig", + "markdownDescription": "Defines the traffic routing strategy to shift traffic from the old fleet to the new fleet during an endpoint deployment.", + "title": "TrafficRoutingConfiguration" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "Specifies the endpoint capacity type.\n\n- `INSTANCE_COUNT` : The endpoint activates based on the number of instances.\n- `CAPACITY_PERCENT` : The endpoint activates based on the specified percentage of capacity.", + "title": "Type", "type": "string" + }, + "Value": { + "markdownDescription": "Defines the capacity size, either as a number of instances or a capacity percentage.", + "title": "Value", + "type": "number" } }, "required": [ - "S3OutputPath" + "Type", + "Value" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition": { + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig", + "markdownDescription": "Automatic rollback configuration for handling endpoint deployment failures and recovery.", + "title": "AutoRollbackConfiguration" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy", + "markdownDescription": "Update policy for a blue/green deployment. If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.", + "title": "BlueGreenUpdatePolicy" + }, + "RollingUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.RollingUpdatePolicy", + "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker endpoint.", + "title": "RollingUpdatePolicy" + } + }, + "type": "object" + }, + "AWS::SageMaker::Endpoint.RollingUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", + "markdownDescription": "Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.", + "title": "MaximumBatchSize" + }, + "MaximumExecutionTimeoutInSeconds": { + "markdownDescription": "The time limit for the total deployment. Exceeding this limit causes a timeout.", + "title": "MaximumExecutionTimeoutInSeconds", + "type": "number" + }, + "RollbackMaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", + "markdownDescription": "Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.", + "title": "RollbackMaximumBatchSize" + }, + "WaitIntervalInSeconds": { + "markdownDescription": "The length of the baking period, during which SageMaker monitors alarms for each batch on the new fleet.", + "title": "WaitIntervalInSeconds", + "type": "number" + } + }, + "required": [ + "MaximumBatchSize", + "WaitIntervalInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", + "markdownDescription": "Batch size for the first step to turn on traffic on the new endpoint fleet. `Value` must be less than or equal to 50% of the variant's total instance count.", + "title": "CanarySize" + }, + "LinearStepSize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", + "markdownDescription": "Batch size for each step to turn on traffic on the new endpoint fleet. `Value` must be 10-50% of the variant's total instance count.", + "title": "LinearStepSize" + }, + "Type": { + "markdownDescription": "Traffic routing strategy type.\n\n- `ALL_AT_ONCE` : Endpoint traffic shifts to the new fleet in a single step.\n- `CANARY` : Endpoint traffic shifts to the new fleet in two steps. The first step is the canary, which is a small portion of the traffic. The second step is the remainder of the traffic.\n- `LINEAR` : Endpoint traffic shifts to the new fleet in n steps of a configurable size.", + "title": "Type", + "type": "string" + }, + "WaitIntervalInSeconds": { + "markdownDescription": "The waiting time (in seconds) between incremental steps to turn on traffic on the new endpoint fleet.", + "title": "WaitIntervalInSeconds", + "type": "number" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "markdownDescription": "The type of variant property. The supported values are:\n\n- `DesiredInstanceCount` : Overrides the existing variant instance counts using the [InitialInstanceCount](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialInstanceCount) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .\n- `DesiredWeight` : Overrides the existing variant weights using the [InitialVariantWeight](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialVariantWeight) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .\n- `DataCaptureConfig` : (Not currently supported.)", + "title": "VariantPropertyType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -366007,77 +334220,73 @@ "Properties": { "additionalProperties": false, "properties": { - "EndpointName": { - "markdownDescription": "", - "title": "EndpointName", - "type": "string" - }, - "JobDefinitionName": { - "markdownDescription": "The name of the model explainability job definition. The name must be unique within an AWS Region in the AWS account.", - "title": "JobDefinitionName", - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources", - "markdownDescription": "Identifies the resources to deploy for a monitoring job.", - "title": "JobResources" + "AsyncInferenceConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceConfig", + "markdownDescription": "Specifies configuration for how an endpoint performs asynchronous inference.", + "title": "AsyncInferenceConfig" }, - "ModelExplainabilityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification", - "markdownDescription": "Configures the model explainability job to run a specified Docker container image.", - "title": "ModelExplainabilityAppSpecification" + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig", + "markdownDescription": "Specifies how to capture endpoint data for model monitor. The data capture configuration applies to all production variants hosted at the endpoint.", + "title": "DataCaptureConfig" }, - "ModelExplainabilityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig", - "markdownDescription": "The baseline configuration for a model explainability job.", - "title": "ModelExplainabilityBaselineConfig" + "EnableNetworkIsolation": { + "type": "boolean" }, - "ModelExplainabilityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput", - "markdownDescription": "Inputs for the model explainability job.", - "title": "ModelExplainabilityJobInput" + "EndpointConfigName": { + "markdownDescription": "The name of the endpoint configuration.", + "title": "EndpointConfigName", + "type": "string" }, - "ModelExplainabilityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig", - "markdownDescription": "The output configuration for monitoring jobs.", - "title": "ModelExplainabilityJobOutputConfig" + "ExecutionRoleArn": { + "type": "string" }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig", - "markdownDescription": "Networking options for a model explainability job.", - "title": "NetworkConfig" + "ExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig", + "markdownDescription": "A parameter to activate explainers.", + "title": "ExplainerConfig" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.", - "title": "RoleArn", + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`\n\nThe KMS key policy must grant permission to the IAM role that you specify in your `CreateEndpoint` , `UpdateEndpoint` requests. For more information, refer to the AWS Key Management Service section [Using Key Policies in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `KmsKeyId` when using an instance type with local storage. If any of the models that you specify in the `ProductionVariants` parameter use nitro-based instances with local storage, do not specify a value for the `KmsKeyId` parameter. If you specify a value for `KmsKeyId` when using any nitro-based instances with local storage, the call to `CreateEndpointConfig` fails.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .", + "title": "KmsKeyId", "type": "string" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition", - "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", - "title": "StoppingCondition" + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "markdownDescription": "A list of `ProductionVariant` objects, one for each model that you want to host at this endpoint.", + "title": "ProductionVariants", + "type": "array" + }, + "ShadowProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "markdownDescription": "Array of `ProductionVariant` objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on `ProductionVariants` . If you use this field, you can only specify one variant for `ProductionVariants` and one variant for `ShadowProductionVariants` .", + "title": "ShadowProductionVariants", + "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) .", + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .", "title": "Tags", "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" } }, "required": [ - "JobResources", - "ModelExplainabilityAppSpecification", - "ModelExplainabilityJobInput", - "ModelExplainabilityJobOutputConfig", - "RoleArn" + "ProductionVariants" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelExplainabilityJobDefinition" + "AWS::SageMaker::EndpointConfig" ], "type": "string" }, @@ -366096,377 +334305,529 @@ ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.BatchTransformInput": { + "AWS::SageMaker::EndpointConfig.AsyncInferenceClientConfig": { "additionalProperties": false, "properties": { - "DataCapturedDestinationS3Uri": { - "markdownDescription": "The Amazon S3 location being used to capture the data.", - "title": "DataCapturedDestinationS3Uri", - "type": "string" - }, - "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.DatasetFormat", - "markdownDescription": "The dataset format for your batch transform job.", - "title": "DatasetFormat" + "MaxConcurrentInvocationsPerInstance": { + "markdownDescription": "The maximum number of concurrent requests sent by the SageMaker client to the model container. If no value is provided, SageMaker will choose an optimal value for you.", + "title": "MaxConcurrentInvocationsPerInstance", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.AsyncInferenceConfig": { + "additionalProperties": false, + "properties": { + "ClientConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceClientConfig", + "markdownDescription": "Configures the behavior of the client used by SageMaker to interact with the model container during asynchronous inference.", + "title": "ClientConfig" }, - "FeaturesAttribute": { - "markdownDescription": "The attributes of the input data that are the input features.", - "title": "FeaturesAttribute", + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceOutputConfig", + "markdownDescription": "Specifies the configuration for asynchronous inference invocation outputs.", + "title": "OutputConfig" + } + }, + "required": [ + "OutputConfig" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig": { + "additionalProperties": false, + "properties": { + "ErrorTopic": { + "markdownDescription": "Amazon SNS topic to post a notification to when an inference fails. If no topic is provided, no notification is sent on failure.", + "title": "ErrorTopic", "type": "string" }, - "InferenceAttribute": { - "markdownDescription": "The attribute of the input data that represents the ground truth label.", - "title": "InferenceAttribute", - "type": "string" + "IncludeInferenceResponseIn": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon SNS topics where you want the inference response to be included.\n\n> The inference response is included only if the response size is less than or equal to 128 KB.", + "title": "IncludeInferenceResponseIn", + "type": "array" }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the batch transform data is available to the container.", - "title": "LocalPath", + "SuccessTopic": { + "markdownDescription": "Amazon SNS topic to post a notification to when an inference completes successfully. If no topic is provided, no notification is sent on success.", + "title": "SuccessTopic", "type": "string" - }, - "ProbabilityAttribute": { - "markdownDescription": "In a classification problem, the attribute that represents the class probability.", - "title": "ProbabilityAttribute", + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.AsyncInferenceOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.", + "title": "KmsKeyId", "type": "string" }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", + "NotificationConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig", + "markdownDescription": "Specifies the configuration for notifications of inference results for asynchronous inference.", + "title": "NotificationConfig" + }, + "S3FailurePath": { + "markdownDescription": "The Amazon S3 location to upload failure inference responses to.", + "title": "S3FailurePath", "type": "string" }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", + "S3OutputPath": { + "markdownDescription": "The Amazon S3 location to upload inference responses to.", + "title": "S3OutputPath", "type": "string" } }, - "required": [ - "DataCapturedDestinationS3Uri", - "DatasetFormat", - "LocalPath" - ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { + "AWS::SageMaker::EndpointConfig.CapacityReservationConfig": { "additionalProperties": false, "properties": { - "InstanceCount": { - "markdownDescription": "The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", - "title": "InstanceCount", - "type": "number" - }, - "InstanceType": { - "markdownDescription": "The ML compute instance type for the processing job.", - "title": "InstanceType", + "CapacityReservationPreference": { "type": "string" }, - "VolumeKmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.", - "title": "VolumeKmsKeyId", + "MlReservationArn": { "type": "string" - }, - "VolumeSizeInGB": { - "markdownDescription": "The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.", - "title": "VolumeSizeInGB", - "type": "number" } }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { "additionalProperties": false, "properties": { - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the constraints resource.", - "title": "S3Uri", - "type": "string" + "CsvContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the CSV content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.", + "title": "CsvContentTypes", + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the JSON content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.", + "title": "JsonContentTypes", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Csv": { + "AWS::SageMaker::EndpointConfig.CaptureOption": { "additionalProperties": false, "properties": { - "Header": { - "markdownDescription": "", - "title": "Header", - "type": "boolean" + "CaptureMode": { + "markdownDescription": "Specifies whether the endpoint captures input data or output data.", + "title": "CaptureMode", + "type": "string" } }, + "required": [ + "CaptureMode" + ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.DatasetFormat": { + "AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig": { "additionalProperties": false, "properties": { - "Csv": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Csv", - "markdownDescription": "", - "title": "Csv" + "EnableExplanations": { + "markdownDescription": "A JMESPath boolean expression used to filter which records to explain. Explanations are activated by default. See [`EnableExplanations`](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-enable) for additional information.", + "title": "EnableExplanations", + "type": "string" }, - "Json": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Json", - "markdownDescription": "", - "title": "Json" + "InferenceConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyInferenceConfig", + "markdownDescription": "The inference configuration parameter for the model container.", + "title": "InferenceConfig" }, - "Parquet": { - "markdownDescription": "", - "title": "Parquet", - "type": "boolean" + "ShapConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyShapConfig", + "markdownDescription": "The configuration for SHAP analysis.", + "title": "ShapConfig" } }, + "required": [ + "ShapConfig" + ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "AWS::SageMaker::EndpointConfig.ClarifyFeatureType": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ClarifyHeader": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ClarifyInferenceConfig": { "additionalProperties": false, "properties": { - "EndpointName": { - "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", - "title": "EndpointName", + "ContentTemplate": { + "markdownDescription": "A template string used to format a JSON record into an acceptable model container input. For example, a `ContentTemplate` string `'{\"myfeatures\":$features}'` will format a list of features `[1,2,3]` into the record string `'{\"myfeatures\":[1,2,3]}'` . Required only when the model container input is in JSON Lines format.", + "title": "ContentTemplate", "type": "string" }, + "FeatureHeaders": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyHeader" + }, + "markdownDescription": "The names of the features. If provided, these are included in the endpoint response payload to help readability of the `InvokeEndpoint` output. See the [Response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information.", + "title": "FeatureHeaders", + "type": "array" + }, + "FeatureTypes": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyFeatureType" + }, + "markdownDescription": "A list of data types of the features (optional). Applicable only to NLP explainability. If provided, `FeatureTypes` must have at least one `'text'` string (for example, `['text']` ). If `FeatureTypes` is not provided, the explainer infers the feature types based on the baseline data. The feature types are included in the endpoint response payload. For additional information see the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information.", + "title": "FeatureTypes", + "type": "array" + }, "FeaturesAttribute": { - "markdownDescription": "The attributes of the input data that are the input features.", + "markdownDescription": "Provides the JMESPath expression to extract the features from a model container input in JSON Lines format. For example, if `FeaturesAttribute` is the JMESPath expression `'myfeatures'` , it extracts a list of features `[1,2,3]` from request data `'{\"myfeatures\":[1,2,3]}'` .", "title": "FeaturesAttribute", "type": "string" }, - "InferenceAttribute": { - "markdownDescription": "The attribute of the input data that represents the ground truth label.", - "title": "InferenceAttribute", + "LabelAttribute": { + "markdownDescription": "A JMESPath expression used to locate the list of label headers in the model container output.\n\n*Example* : If the model container output of a batch request is `'{\"labels\":[\"cat\",\"dog\",\"fish\"],\"probability\":[0.6,0.3,0.1]}'` , then set `LabelAttribute` to `'labels'` to extract the list of label headers `[\"cat\",\"dog\",\"fish\"]`", + "title": "LabelAttribute", "type": "string" }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", - "title": "LocalPath", - "type": "string" + "LabelHeaders": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyHeader" + }, + "markdownDescription": "For multiclass classification problems, the label headers are the names of the classes. Otherwise, the label header is the name of the predicted label. These are used to help readability for the output of the `InvokeEndpoint` API. See the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information. If there are no label headers in the model container output, provide them manually using this parameter.", + "title": "LabelHeaders", + "type": "array" + }, + "LabelIndex": { + "markdownDescription": "A zero-based index used to extract a label header or list of label headers from model container output in CSV format.\n\n*Example for a multiclass model:* If the model container output consists of label headers followed by probabilities: `'\"[\\'cat\\',\\'dog\\',\\'fish\\']\",\"[0.1,0.6,0.3]\"'` , set `LabelIndex` to `0` to select the label headers `['cat','dog','fish']` .", + "title": "LabelIndex", + "type": "number" + }, + "MaxPayloadInMB": { + "markdownDescription": "The maximum payload size (MB) allowed of a request from the explainer to the model container. Defaults to `6` MB.", + "title": "MaxPayloadInMB", + "type": "number" + }, + "MaxRecordCount": { + "markdownDescription": "The maximum number of records in a request that the model container can process when querying the model container for the predictions of a [synthetic dataset](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-synthetic) . A record is a unit of input data that inference can be made on, for example, a single line in CSV data. If `MaxRecordCount` is `1` , the model container expects one record per request. A value of 2 or greater means that the model expects batch requests, which can reduce overhead and speed up the inferencing process. If this parameter is not provided, the explainer will tune the record count per request according to the model container's capacity at runtime.", + "title": "MaxRecordCount", + "type": "number" }, "ProbabilityAttribute": { - "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "markdownDescription": "A JMESPath expression used to extract the probability (or score) from the model container output if the model container is in JSON Lines format.\n\n*Example* : If the model container output of a single request is `'{\"predicted_label\":1,\"probability\":0.6}'` , then set `ProbabilityAttribute` to `'probability'` .", "title": "ProbabilityAttribute", "type": "string" }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", - "type": "string" - }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", - "type": "string" + "ProbabilityIndex": { + "markdownDescription": "A zero-based index used to extract a probability value (score) or list from model container output in CSV format. If this value is not provided, the entire model container output will be treated as a probability value (score) or list.\n\n*Example for a single class model:* If the model container output consists of a string-formatted prediction label followed by its probability: `'1,0.6'` , set `ProbabilityIndex` to `1` to select the probability value `0.6` .\n\n*Example for a multiclass model:* If the model container output consists of a string-formatted prediction label followed by its probability: `'\"[\\'cat\\',\\'dog\\',\\'fish\\']\",\"[0.1,0.6,0.3]\"'` , set `ProbabilityIndex` to `1` to select the probability values `[0.1,0.6,0.3]` .", + "title": "ProbabilityIndex", + "type": "number" } }, - "required": [ - "EndpointName", - "LocalPath" - ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Json": { + "AWS::SageMaker::EndpointConfig.ClarifyShapBaselineConfig": { "additionalProperties": false, "properties": { - "Line": { - "markdownDescription": "", - "title": "Line", - "type": "boolean" + "MimeType": { + "markdownDescription": "The MIME type of the baseline data. Choose from `'text/csv'` or `'application/jsonlines'` . Defaults to `'text/csv'` .", + "title": "MimeType", + "type": "string" + }, + "ShapBaseline": { + "markdownDescription": "The inline SHAP baseline data in string format. `ShapBaseline` can have one or multiple records to be used as the baseline dataset. The format of the SHAP baseline file should be the same format as the training dataset. For example, if the training dataset is in CSV format and each record contains four features, and all features are numerical, then the format of the baseline data should also share these characteristics. For natural language processing (NLP) of text columns, the baseline value should be the value used to replace the unit of text specified by the `Granularity` of the `TextConfig` parameter. The size limit for `ShapBasline` is 4 KB. Use the `ShapBaselineUri` parameter if you want to provide more than 4 KB of baseline data.", + "title": "ShapBaseline", + "type": "string" + }, + "ShapBaselineUri": { + "markdownDescription": "The uniform resource identifier (URI) of the S3 bucket where the SHAP baseline file is stored. The format of the SHAP baseline file should be the same format as the format of the training dataset. For example, if the training dataset is in CSV format, and each record in the training dataset has four features, and all features are numerical, then the baseline file should also have this same format. Each record should contain only the features. If you are using a virtual private cloud (VPC), the `ShapBaselineUri` should be accessible to the VPC. For more information about setting up endpoints with Amazon Virtual Private Cloud, see [Give SageMaker access to Resources in your Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", + "title": "ShapBaselineUri", + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { + "AWS::SageMaker::EndpointConfig.ClarifyShapConfig": { "additionalProperties": false, "properties": { - "ConfigUri": { - "markdownDescription": "JSON formatted Amazon S3 file that defines explainability parameters. For more information on this JSON configuration file, see [Configure model explainability parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-model-explainability-parameters.html) .", - "title": "ConfigUri", - "type": "string" + "NumberOfSamples": { + "markdownDescription": "The number of samples to be used for analysis by the Kernal SHAP algorithm.\n\n> The number of samples determines the size of the synthetic dataset, which has an impact on latency of explainability requests. For more information, see the *Synthetic data* of [Configure and create an endpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html) .", + "title": "NumberOfSamples", + "type": "number" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the Docker container.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Environment", - "type": "object" + "Seed": { + "markdownDescription": "The starting value used to initialize the random number generator in the explainer. Provide a value for this parameter to obtain a deterministic SHAP result.", + "title": "Seed", + "type": "number" }, - "ImageUri": { - "markdownDescription": "The container image to be run by the model explainability job.", - "title": "ImageUri", - "type": "string" + "ShapBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyShapBaselineConfig", + "markdownDescription": "The configuration for the SHAP baseline of the Kernal SHAP algorithm.", + "title": "ShapBaselineConfig" + }, + "TextConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyTextConfig", + "markdownDescription": "A parameter that indicates if text features are treated as text and explanations are provided for individual units of text. Required for natural language processing (NLP) explainability only.", + "title": "TextConfig" + }, + "UseLogit": { + "markdownDescription": "A Boolean toggle to indicate if you want to use the logit function (true) or log-odds units (false) for model predictions. Defaults to false.", + "title": "UseLogit", + "type": "boolean" } }, "required": [ - "ConfigUri", - "ImageUri" + "ShapBaselineConfig" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { + "AWS::SageMaker::EndpointConfig.ClarifyTextConfig": { "additionalProperties": false, "properties": { - "BaseliningJobName": { - "markdownDescription": "The name of the baseline model explainability job.", - "title": "BaseliningJobName", + "Granularity": { + "markdownDescription": "The unit of granularity for the analysis of text features. For example, if the unit is `'token'` , then each token (like a word in English) of the text is treated as a feature. SHAP values are computed for each unit/feature.", + "title": "Granularity", "type": "string" }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource", - "markdownDescription": "The constraints resource for a model explainability job.", - "title": "ConstraintsResource" + "Language": { + "markdownDescription": "Specifies the language of the text features in [ISO 639-1](https://docs.aws.amazon.com/ https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) or [ISO 639-3](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_639-3) code of a supported language.\n\n> For a mix of multiple languages, use code `'xx'` .", + "title": "Language", + "type": "string" } }, + "required": [ + "Granularity", + "Language" + ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { "additionalProperties": false, "properties": { - "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.BatchTransformInput", - "markdownDescription": "Input object for the batch transform job.", - "title": "BatchTransformInput" + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader", + "markdownDescription": "A list of the JSON and CSV content type that the endpoint captures.", + "title": "CaptureContentTypeHeader" }, - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput", - "markdownDescription": "Input object for the endpoint", - "title": "EndpointInput" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output", - "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", - "title": "S3Output" + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "markdownDescription": "Specifies whether the endpoint captures input data to your model, output data from your model, or both.", + "title": "CaptureOptions", + "type": "array" + }, + "DestinationS3Uri": { + "markdownDescription": "The S3 bucket where model monitor stores captured data.", + "title": "DestinationS3Uri", + "type": "string" + }, + "EnableCapture": { + "markdownDescription": "Set to `True` to enable data capture.", + "title": "EnableCapture", + "type": "boolean" + }, + "InitialSamplingPercentage": { + "markdownDescription": "The percentage of data to capture.", + "title": "InitialSamplingPercentage", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the captured data at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the Amazon Simple Storage Service Developer Guide. The KMS key policy must grant permission to the IAM role that you specify in your CreateModel (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see Using Key Policies in AWS KMS (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the AWS Key Management Service Developer Guide.", + "title": "KmsKeyId", + "type": "string" } }, "required": [ - "S3Output" + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { + "AWS::SageMaker::EndpointConfig.ExplainerConfig": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS ) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.", - "title": "KmsKeyId", - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" - }, - "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", - "title": "MonitoringOutputs", - "type": "array" + "ClarifyExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig", + "markdownDescription": "A member of `ExplainerConfig` that contains configuration parameters for the SageMaker Clarify explainer.", + "title": "ClarifyExplainerConfig" } }, - "required": [ - "MonitoringOutputs" - ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { + "AWS::SageMaker::EndpointConfig.InstancePools": { "additionalProperties": false, "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig", - "markdownDescription": "The configuration for the cluster resources used to run the processing job.", - "title": "ClusterConfig" + "InstanceType": { + "type": "string" + }, + "ModelNameOverride": { + "type": "string" + }, + "Priority": { + "type": "number" } }, "required": [ - "ClusterConfig" + "InstanceType", + "Priority" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { + "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", - "title": "EnableInterContainerTrafficEncryption", - "type": "boolean" + "MaxInstanceCount": { + "type": "number" }, - "EnableNetworkIsolation": { - "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", - "title": "EnableNetworkIsolation", - "type": "boolean" + "MinInstanceCount": { + "type": "number" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig", - "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", - "title": "VpcConfig" + "Status": { + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { + "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { - "LocalPath": { - "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", - "title": "LocalPath", + "CapacityReservationConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CapacityReservationConfig" + }, + "ContainerStartupHealthCheckTimeoutInSeconds": { + "markdownDescription": "The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests) .", + "title": "ContainerStartupHealthCheckTimeoutInSeconds", + "type": "number" + }, + "EnableSSMAccess": { + "markdownDescription": "You can use this parameter to turn on native AWS Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoint. You can turn on or turn off SSM access for a production variant behind an existing endpoint by creating a new endpoint configuration and calling `UpdateEndpoint` .", + "title": "EnableSSMAccess", + "type": "boolean" + }, + "InferenceAmiVersion": { "type": "string" }, - "S3UploadMode": { - "markdownDescription": "Whether to upload the results of the monitoring job continuously or after the job completes.", - "title": "S3UploadMode", + "InitialInstanceCount": { + "markdownDescription": "Number of instances to launch initially.", + "title": "InitialInstanceCount", + "type": "number" + }, + "InitialVariantWeight": { + "markdownDescription": "Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. The traffic to a production variant is determined by the ratio of the `VariantWeight` to the sum of all `VariantWeight` values across all ProductionVariants. If unspecified, it defaults to 1.0.", + "title": "InitialVariantWeight", + "type": "number" + }, + "InstancePools": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.InstancePools" + }, + "type": "array" + }, + "InstanceType": { + "markdownDescription": "The ML compute instance type.", + "title": "InstanceType", "type": "string" }, - "S3Uri": { - "markdownDescription": "A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.", - "title": "S3Uri", + "ManagedInstanceScaling": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" + }, + "ModelDataDownloadTimeoutInSeconds": { + "markdownDescription": "The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this production variant.", + "title": "ModelDataDownloadTimeoutInSeconds", + "type": "number" + }, + "ModelName": { + "markdownDescription": "The name of the model that you want to host. This is the name that you specified when creating the model.", + "title": "ModelName", + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" + }, + "ServerlessConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig", + "markdownDescription": "The serverless configuration for an endpoint. Specifies a serverless endpoint configuration instead of an instance-based endpoint configuration.", + "title": "ServerlessConfig" + }, + "VariantInstanceProvisionTimeoutInSeconds": { + "type": "number" + }, + "VariantName": { + "markdownDescription": "The name of the production variant.", + "title": "VariantName", "type": "string" + }, + "VolumeSizeInGB": { + "markdownDescription": "The size, in GB, of the ML storage volume attached to individual inference instance associated with the production variant. Currently only Amazon EBS gp2 storage volumes are supported.", + "title": "VolumeSizeInGB", + "type": "number" } }, "required": [ - "LocalPath", - "S3Uri" + "VariantName" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { + "AWS::SageMaker::EndpointConfig.RoutingConfig": { "additionalProperties": false, "properties": { - "MaxRuntimeInSeconds": { - "markdownDescription": "The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.\n\nFor compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.\n\nFor all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.\n\nThe maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.", - "title": "MaxRuntimeInSeconds", + "RoutingStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ServerlessConfig": { + "additionalProperties": false, + "properties": { + "MaxConcurrency": { + "markdownDescription": "The maximum number of concurrent invocations your serverless endpoint can process.", + "title": "MaxConcurrency", + "type": "number" + }, + "MemorySizeInMB": { + "markdownDescription": "The memory size of your serverless endpoint. Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.", + "title": "MemorySizeInMB", + "type": "number" + }, + "ProvisionedConcurrency": { + "markdownDescription": "The amount of provisioned concurrency to allocate for the serverless endpoint. Should be less than or equal to `MaxConcurrency` .\n\n> This field is not supported for serverless endpoint recommendations for Inference Recommender jobs. For more information about creating an Inference Recommender job, see [CreateInferenceRecommendationsJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html) .", + "title": "ProvisionedConcurrency", "type": "number" } }, "required": [ - "MaxRuntimeInSeconds" + "MaxConcurrency", + "MemorySizeInMB" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { + "AWS::SageMaker::EndpointConfig.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { "items": { "type": "string" }, - "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", - "title": "SecurityGroupIds", "type": "array" }, "Subnets": { "items": { "type": "string" }, - "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", - "title": "Subnets", "type": "array" } }, @@ -366476,7 +334837,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelPackage": { + "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -366511,157 +334872,74 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInferenceSpecifications": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition" - }, - "markdownDescription": "An array of additional Inference Specification objects.", - "title": "AdditionalInferenceSpecifications", - "type": "array" - }, - "AdditionalInferenceSpecificationsToAdd": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition" - }, - "markdownDescription": "An array of additional Inference Specification objects to be added to the existing array. The total number of additional Inference Specification objects cannot exceed 15. Each additional Inference Specification object specifies artifacts based on this model package that can be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.", - "title": "AdditionalInferenceSpecificationsToAdd", - "type": "array" - }, - "ApprovalDescription": { - "markdownDescription": "A description provided when the model approval is set.", - "title": "ApprovalDescription", + "Description": { + "markdownDescription": "A free form description of a `FeatureGroup` .", + "title": "Description", "type": "string" }, - "CertifyForMarketplace": { - "markdownDescription": "Whether the model package is to be certified to be listed on AWS Marketplace. For information about listing model packages on AWS Marketplace, see [List Your Algorithm or Model Package on AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-mkt-list.html) .", - "title": "CertifyForMarketplace", - "type": "boolean" - }, - "ClientToken": { - "markdownDescription": "A unique token that guarantees that the call to this API is idempotent.", - "title": "ClientToken", + "EventTimeFeatureName": { + "markdownDescription": "The name of the feature that stores the `EventTime` of a Record in a `FeatureGroup` .\n\nA `EventTime` is point in time when a new event occurs that corresponds to the creation or update of a `Record` in `FeatureGroup` . All `Records` in the `FeatureGroup` must have a corresponding `EventTime` .", + "title": "EventTimeFeatureName", "type": "string" }, - "CustomerMetadataProperties": { - "additionalProperties": true, - "markdownDescription": "The metadata properties for the model package.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "FeatureDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" }, - "title": "CustomerMetadataProperties", - "type": "object" - }, - "Domain": { - "markdownDescription": "The machine learning domain of your model package and its components. Common machine learning domains include computer vision and natural language processing.", - "title": "Domain", - "type": "string" - }, - "DriftCheckBaselines": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckBaselines", - "markdownDescription": "Represents the drift check baselines that can be used when the model monitor is set using the model package.", - "title": "DriftCheckBaselines" - }, - "InferenceSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.InferenceSpecification", - "markdownDescription": "Defines how to perform inference generation after a training job is run.", - "title": "InferenceSpecification" - }, - "MetadataProperties": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetadataProperties", - "markdownDescription": "Metadata properties of the tracking entity, trial, or trial component.", - "title": "MetadataProperties" - }, - "ModelApprovalStatus": { - "markdownDescription": "The approval status of the model. This can be one of the following values.\n\n- `APPROVED` - The model is approved\n- `REJECTED` - The model is rejected.\n- `PENDING_MANUAL_APPROVAL` - The model is waiting for manual approval.", - "title": "ModelApprovalStatus", - "type": "string" - }, - "ModelCard": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelCard", - "markdownDescription": "An Amazon SageMaker Model Card.", - "title": "ModelCard" - }, - "ModelMetrics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelMetrics", - "markdownDescription": "Metrics for the model.", - "title": "ModelMetrics" - }, - "ModelPackageDescription": { - "markdownDescription": "The description of the model package.", - "title": "ModelPackageDescription", - "type": "string" - }, - "ModelPackageGroupName": { - "markdownDescription": "The model group to which the model belongs.", - "title": "ModelPackageGroupName", - "type": "string" + "markdownDescription": "A list of `Feature` s. Each `Feature` must include a `FeatureName` and a `FeatureType` .\n\nValid `FeatureType` s are `Integral` , `Fractional` and `String` .\n\n`FeatureName` s cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .\n\nYou can create up to 2,500 `FeatureDefinition` s per `FeatureGroup` .", + "title": "FeatureDefinitions", + "type": "array" }, - "ModelPackageName": { - "markdownDescription": "The name of the model package. The name can be as follows:\n\n- For a versioned model, the name is automatically generated by SageMaker Model Registry and follows the format ' `ModelPackageGroupName/ModelPackageVersion` '.\n- For an unversioned model, you must provide the name.", - "title": "ModelPackageName", + "FeatureGroupName": { + "markdownDescription": "The name of the `FeatureGroup` .", + "title": "FeatureGroupName", "type": "string" }, - "ModelPackageStatusDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageStatusDetails", - "markdownDescription": "Specifies the validation and image scan statuses of the model package.", - "title": "ModelPackageStatusDetails" - }, - "ModelPackageVersion": { - "markdownDescription": "The version number of a versioned model.", - "title": "ModelPackageVersion", - "type": "number" - }, - "SamplePayloadUrl": { - "markdownDescription": "The Amazon Simple Storage Service path where the sample payload are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).", - "title": "SamplePayloadUrl", - "type": "string" + "OfflineStoreConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OfflineStoreConfig", + "markdownDescription": "The configuration of an `OfflineStore` .", + "title": "OfflineStoreConfig" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SecurityConfig", - "markdownDescription": "", - "title": "SecurityConfig" + "OnlineStoreConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OnlineStoreConfig", + "markdownDescription": "The configuration of an `OnlineStore` .", + "title": "OnlineStoreConfig" }, - "SkipModelValidation": { - "markdownDescription": "Indicates if you want to skip model validation.", - "title": "SkipModelValidation", + "RecordIdentifierFeatureName": { + "markdownDescription": "The name of the `Feature` whose value uniquely identifies a `Record` defined in the `FeatureGroup` `FeatureDefinitions` .", + "title": "RecordIdentifierFeatureName", "type": "string" }, - "SourceAlgorithmSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SourceAlgorithmSpecification", - "markdownDescription": "A list of algorithms that were used to create a model package.", - "title": "SourceAlgorithmSpecification" - }, - "SourceUri": { - "markdownDescription": "The URI of the source for the model package.", - "title": "SourceUri", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.", + "title": "RoleArn", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tags associated with the model package. For more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference Guide* .", + "markdownDescription": "Tags used to define a `FeatureGroup` .", "title": "Tags", "type": "array" }, - "Task": { - "markdownDescription": "The machine learning task your model package accomplishes. Common machine learning tasks include object detection and image classification.", - "title": "Task", - "type": "string" - }, - "ValidationSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ValidationSpecification", - "markdownDescription": "Specifies batch transform jobs that SageMaker runs to validate your model package.", - "title": "ValidationSpecification" + "ThroughputConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.ThroughputConfig", + "markdownDescription": "Used to set feature group throughput configuration. There are two modes: `ON_DEMAND` and `PROVISIONED` . With on-demand mode, you are charged for data reads and writes that your application performs on your feature group. You do not need to specify read and write throughput because Feature Store accommodates your workloads as they ramp up and down. You can switch a feature group to on-demand only once in a 24 hour period. With provisioned throughput mode, you specify the read and write capacity per second that you expect your application to require, and you are billed based on those limits. Exceeding provisioned throughput will result in your requests being throttled.\n\nNote: `PROVISIONED` throughput mode is supported only for feature groups that are offline-only, or use the [`Standard`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html#sagemaker-Type-OnlineStoreConfig-StorageType) tier online store.", + "title": "ThroughputConfig" } }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelPackage" + "AWS::SageMaker::FeatureGroup" ], "type": "string" }, @@ -366675,449 +334953,614 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition": { + "AWS::SageMaker::FeatureGroup.DataCatalogConfig": { "additionalProperties": false, "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition" - }, - "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", - "title": "Containers", - "type": "array" - }, - "Description": { - "markdownDescription": "A description of the additional Inference specification", - "title": "Description", + "Catalog": { + "markdownDescription": "The name of the Glue table catalog.", + "title": "Catalog", "type": "string" }, - "Name": { - "markdownDescription": "A unique name to identify the additional inference specification. The name must be unique within the list of your additional inference specifications for a particular model package.", - "title": "Name", + "Database": { + "markdownDescription": "The name of the Glue table database.", + "title": "Database", "type": "string" }, - "SupportedContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The supported MIME types for the input data.", - "title": "SupportedContentTypes", - "type": "array" - }, - "SupportedRealtimeInferenceInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the instance types that are used to generate inferences in real-time.", - "title": "SupportedRealtimeInferenceInstanceTypes", - "type": "array" - }, - "SupportedResponseMIMETypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The supported MIME types for the output data.", - "title": "SupportedResponseMIMETypes", - "type": "array" - }, - "SupportedTransformInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.", - "title": "SupportedTransformInstanceTypes", - "type": "array" + "TableName": { + "markdownDescription": "The name of the Glue table.", + "title": "TableName", + "type": "string" } }, "required": [ - "Containers", - "Name" + "Catalog", + "Database", + "TableName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.Bias": { + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { "additionalProperties": false, "properties": { - "PostTrainingReport": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The post-training bias report for a model.", - "title": "PostTrainingReport" - }, - "PreTrainingReport": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The pre-training bias report for a model.", - "title": "PreTrainingReport" + "FeatureName": { + "markdownDescription": "The name of a feature. The type must be a string. `FeatureName` cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .\n\nThe name:\n\n- Must start with an alphanumeric character.\n- Can only include alphanumeric characters, underscores, and hyphens. Spaces are not allowed.", + "title": "FeatureName", + "type": "string" }, - "Report": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The bias report for a model", - "title": "Report" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelPackage.DataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.S3DataSource", - "markdownDescription": "The S3 location of the data source that is associated with a channel.", - "title": "S3DataSource" + "FeatureType": { + "markdownDescription": "The value type of a feature. Valid values are Integral, Fractional, or String.", + "title": "FeatureType", + "type": "string" } }, "required": [ - "S3DataSource" + "FeatureName", + "FeatureType" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckBaselines": { + "AWS::SageMaker::FeatureGroup.OfflineStoreConfig": { "additionalProperties": false, "properties": { - "Bias": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckBias", - "markdownDescription": "Represents the drift check bias baselines that can be used when the model monitor is set using the model package.", - "title": "Bias" + "DataCatalogConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.DataCatalogConfig", + "markdownDescription": "The meta data of the Glue table that is autogenerated when an `OfflineStore` is created.", + "title": "DataCatalogConfig" }, - "Explainability": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckExplainability", - "markdownDescription": "Represents the drift check explainability baselines that can be used when the model monitor is set using the model package.", - "title": "Explainability" + "DisableGlueTableCreation": { + "markdownDescription": "Set to `True` to disable the automatic creation of an AWS Glue table when configuring an `OfflineStore` . If set to `False` , Feature Store will name the `OfflineStore` Glue table following [Athena's naming recommendations](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) .\n\nThe default value is `False` .", + "title": "DisableGlueTableCreation", + "type": "boolean" }, - "ModelDataQuality": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckModelDataQuality", - "markdownDescription": "Represents the drift check model data quality baselines that can be used when the model monitor is set using the model package.", - "title": "ModelDataQuality" + "S3StorageConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.S3StorageConfig", + "markdownDescription": "The Amazon Simple Storage (Amazon S3) location of `OfflineStore` .", + "title": "S3StorageConfig" }, - "ModelQuality": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckModelQuality", - "markdownDescription": "Represents the drift check model quality baselines that can be used when the model monitor is set using the model package.", - "title": "ModelQuality" + "TableFormat": { + "markdownDescription": "Format for the offline store table. Supported formats are Glue (Default) and [Apache Iceberg](https://docs.aws.amazon.com/https://iceberg.apache.org/) .", + "title": "TableFormat", + "type": "string" } }, + "required": [ + "S3StorageConfig" + ], "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckBias": { + "AWS::SageMaker::FeatureGroup.OnlineStoreConfig": { "additionalProperties": false, "properties": { - "ConfigFile": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.FileSource", - "markdownDescription": "The bias config file for a model.", - "title": "ConfigFile" + "EnableOnlineStore": { + "markdownDescription": "Turn `OnlineStore` off by specifying `False` for the `EnableOnlineStore` flag. Turn `OnlineStore` on by specifying `True` for the `EnableOnlineStore` flag.\n\nThe default value is `False` .", + "title": "EnableOnlineStore", + "type": "boolean" }, - "PostTrainingConstraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The post-training constraints.", - "title": "PostTrainingConstraints" + "SecurityConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OnlineStoreSecurityConfig", + "markdownDescription": "Use to specify KMS Key ID ( `KMSKeyId` ) for at-rest encryption of your `OnlineStore` .", + "title": "SecurityConfig" }, - "PreTrainingConstraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The pre-training constraints.", - "title": "PreTrainingConstraints" + "StorageType": { + "markdownDescription": "Option for different tiers of low latency storage for real-time data retrieval.\n\n- `Standard` : A managed low latency data store for feature groups.\n- `InMemory` : A managed data store for feature groups that supports very low latency retrieval.", + "title": "StorageType", + "type": "string" + }, + "TtlDuration": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.TtlDuration", + "markdownDescription": "Time to live duration, where the record is hard deleted after the expiration time is reached; `ExpiresAt` = `EventTime` + `TtlDuration` . For information on HardDelete, see the [DeleteRecord](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html) API in the Amazon SageMaker API Reference guide.", + "title": "TtlDuration" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckExplainability": { + "AWS::SageMaker::FeatureGroup.OnlineStoreSecurityConfig": { "additionalProperties": false, "properties": { - "ConfigFile": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.FileSource", - "markdownDescription": "The explainability config file for the model.", - "title": "ConfigFile" - }, - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check explainability constraints.", - "title": "Constraints" + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service (KMS) key ARN that SageMaker Feature Store uses to encrypt the Amazon S3 objects at rest using Amazon S3 server-side encryption.\n\nThe caller (either user or IAM role) of `CreateFeatureGroup` must have below permissions to the `OnlineStore` `KmsKeyId` :\n\n- `\"kms:Encrypt\"`\n- `\"kms:Decrypt\"`\n- `\"kms:DescribeKey\"`\n- `\"kms:CreateGrant\"`\n- `\"kms:RetireGrant\"`\n- `\"kms:ReEncryptFrom\"`\n- `\"kms:ReEncryptTo\"`\n- `\"kms:GenerateDataKey\"`\n- `\"kms:ListAliases\"`\n- `\"kms:ListGrants\"`\n- `\"kms:RevokeGrant\"`\n\nThe caller (either user or IAM role) to all DataPlane operations ( `PutRecord` , `GetRecord` , `DeleteRecord` ) must have the following permissions to the `KmsKeyId` :\n\n- `\"kms:Decrypt\"`", + "title": "KmsKeyId", + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckModelDataQuality": { + "AWS::SageMaker::FeatureGroup.S3StorageConfig": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check model data quality constraints.", - "title": "Constraints" + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service (KMS) key ARN of the key used to encrypt any objects written into the `OfflineStore` S3 location.\n\nThe IAM `roleARN` that is passed as a parameter to `CreateFeatureGroup` must have below permissions to the `KmsKeyId` :\n\n- `\"kms:GenerateDataKey\"`", + "title": "KmsKeyId", + "type": "string" }, - "Statistics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check model data quality statistics.", - "title": "Statistics" + "S3Uri": { + "markdownDescription": "The S3 URI, or location in Amazon S3, of `OfflineStore` .\n\nS3 URIs have a format similar to the following: `s3://example-bucket/prefix/` .", + "title": "S3Uri", + "type": "string" } }, + "required": [ + "S3Uri" + ], "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckModelQuality": { + "AWS::SageMaker::FeatureGroup.ThroughputConfig": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check model quality constraints.", - "title": "Constraints" + "ProvisionedReadCapacityUnits": { + "markdownDescription": "For provisioned feature groups with online store enabled, this indicates the read throughput you are billed for and can consume without throttling.\n\nThis field is not applicable for on-demand feature groups.", + "title": "ProvisionedReadCapacityUnits", + "type": "number" }, - "Statistics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check model quality statistics.", - "title": "Statistics" + "ProvisionedWriteCapacityUnits": { + "markdownDescription": "For provisioned feature groups, this indicates the write throughput you are billed for and can consume without throttling.\n\nThis field is not applicable for on-demand feature groups.", + "title": "ProvisionedWriteCapacityUnits", + "type": "number" + }, + "ThroughputMode": { + "markdownDescription": "The mode used for your feature group throughput: `ON_DEMAND` or `PROVISIONED` .", + "title": "ThroughputMode", + "type": "string" } }, + "required": [ + "ThroughputMode" + ], "type": "object" }, - "AWS::SageMaker::ModelPackage.Explainability": { + "AWS::SageMaker::FeatureGroup.TtlDuration": { "additionalProperties": false, "properties": { - "Report": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The explainability report for a model.", - "title": "Report" + "Unit": { + "markdownDescription": "`TtlDuration` time unit.", + "title": "Unit", + "type": "string" + }, + "Value": { + "markdownDescription": "`TtlDuration` time value.", + "title": "Value", + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.FileSource": { + "AWS::SageMaker::Image": { "additionalProperties": false, "properties": { - "ContentDigest": { - "markdownDescription": "The digest of the file source.", - "title": "ContentDigest", + "Condition": { "type": "string" }, - "ContentType": { - "markdownDescription": "The type of content stored in the file source.", - "title": "ContentType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the file source.", - "title": "S3Uri", - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelPackage.InferenceSpecification": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition" - }, - "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", - "title": "Containers", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SupportedContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The supported MIME types for the input data.", - "title": "SupportedContentTypes", - "type": "array" + "Metadata": { + "type": "object" }, - "SupportedRealtimeInferenceInstanceTypes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ImageDescription": { + "markdownDescription": "The description of the image.", + "title": "ImageDescription", + "type": "string" + }, + "ImageDisplayName": { + "markdownDescription": "The display name of the image.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.\n\n*Pattern* : `^\\S(.*\\S)?$`", + "title": "ImageDisplayName", + "type": "string" + }, + "ImageName": { + "markdownDescription": "The name of the Image. Must be unique by region in your account.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 63.\n\n*Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`", + "title": "ImageName", + "type": "string" + }, + "ImageRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.\n\n*Length Constraints* : Minimum length of 20. Maximum length of 2048.\n\n*Pattern* : `^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$`", + "title": "ImageRoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\n*Array Members* : Minimum number of 0 items. Maximum number of 50 items.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "A list of the instance types that are used to generate inferences in real-time.\n\nThis parameter is required for unversioned models, and optional for versioned models.", - "title": "SupportedRealtimeInferenceInstanceTypes", - "type": "array" + "required": [ + "ImageName", + "ImageRoleArn" + ], + "type": "object" }, - "SupportedResponseMIMETypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The supported MIME types for the output data.", - "title": "SupportedResponseMIMETypes", - "type": "array" + "Type": { + "enum": [ + "AWS::SageMaker::Image" + ], + "type": "string" }, - "SupportedTransformInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.\n\nThis parameter is required for unversioned models, and optional for versioned models.", - "title": "SupportedTransformInstanceTypes", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Containers", - "SupportedContentTypes", - "SupportedResponseMIMETypes" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.MetadataProperties": { + "AWS::SageMaker::ImageVersion": { "additionalProperties": false, "properties": { - "CommitId": { - "markdownDescription": "The commit ID.", - "title": "CommitId", + "Condition": { "type": "string" }, - "GeneratedBy": { - "markdownDescription": "The entity this entity was generated by.", - "title": "GeneratedBy", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ProjectId": { - "markdownDescription": "The project ID.", - "title": "ProjectId", + "DependsOn": { + "anyOf": [ + { + "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": "", + "title": "Alias", + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Aliases", + "type": "array" + }, + "BaseImage": { + "markdownDescription": "The container image that the SageMaker image version is based on.", + "title": "BaseImage", + "type": "string" + }, + "Horovod": { + "markdownDescription": "", + "title": "Horovod", + "type": "boolean" + }, + "ImageName": { + "markdownDescription": "The name of the parent image.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 63.\n\n*Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`", + "title": "ImageName", + "type": "string" + }, + "JobType": { + "markdownDescription": "", + "title": "JobType", + "type": "string" + }, + "MLFramework": { + "markdownDescription": "", + "title": "MLFramework", + "type": "string" + }, + "Processor": { + "markdownDescription": "", + "title": "Processor", + "type": "string" + }, + "ProgrammingLang": { + "markdownDescription": "", + "title": "ProgrammingLang", + "type": "string" + }, + "ReleaseNotes": { + "markdownDescription": "", + "title": "ReleaseNotes", + "type": "string" + }, + "VendorGuidance": { + "markdownDescription": "", + "title": "VendorGuidance", + "type": "string" + } + }, + "required": [ + "BaseImage", + "ImageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ImageVersion" + ], "type": "string" }, - "Repository": { - "markdownDescription": "The repository.", - "title": "Repository", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::ModelPackage.MetricsSource": { + "AWS::SageMaker::InferenceComponent": { "additionalProperties": false, "properties": { - "ContentDigest": { - "markdownDescription": "The hash key used for the metrics source.", - "title": "ContentDigest", + "Condition": { "type": "string" }, - "ContentType": { - "markdownDescription": "The metric source content type.", - "title": "ContentType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3Uri": { - "markdownDescription": "The S3 URI for the metrics source.", - "title": "S3Uri", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig", + "markdownDescription": "The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.", + "title": "DeploymentConfig" + }, + "EndpointArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the endpoint that hosts the inference component.", + "title": "EndpointArn", + "type": "string" + }, + "EndpointName": { + "markdownDescription": "The name of the endpoint that hosts the inference component.", + "title": "EndpointName", + "type": "string" + }, + "InferenceComponentName": { + "markdownDescription": "The name of the inference component.", + "title": "InferenceComponentName", + "type": "string" + }, + "RuntimeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig", + "markdownDescription": "", + "title": "RuntimeConfig" + }, + "Specification": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification", + "markdownDescription": "", + "title": "Specification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + }, + "VariantName": { + "markdownDescription": "The name of the production variant that hosts the inference component.", + "title": "VariantName", + "type": "string" + } + }, + "required": [ + "EndpointName", + "Specification" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ContentType", - "S3Uri" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelAccessConfig": { + "AWS::SageMaker::InferenceComponent.Alarm": { "additionalProperties": false, "properties": { - "AcceptEula": { - "markdownDescription": "Specifies agreement to the model end-user license agreement (EULA). The `AcceptEula` value must be explicitly defined as `True` in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", - "title": "AcceptEula", - "type": "boolean" + "AlarmName": { + "markdownDescription": "The name of a CloudWatch alarm in your account.", + "title": "AlarmName", + "type": "string" } }, "required": [ - "AcceptEula" + "AlarmName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelCard": { + "AWS::SageMaker::InferenceComponent.AutoRollbackConfiguration": { "additionalProperties": false, "properties": { - "ModelCardContent": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.Alarm" + }, "markdownDescription": "", - "title": "ModelCardContent", - "type": "string" - }, - "ModelCardStatus": { - "markdownDescription": "The approval status of the model card within your organization. Different organizations might have different criteria for model card review and approval.\n\n- `Draft` : The model card is a work in progress.\n- `PendingReview` : The model card is pending review.\n- `Approved` : The model card is approved.\n- `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.", - "title": "ModelCardStatus", - "type": "string" + "title": "Alarms", + "type": "array" } }, "required": [ - "ModelCardContent", - "ModelCardStatus" + "Alarms" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelDataQuality": { + "AWS::SageMaker::InferenceComponent.DeployedImage": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "Data quality constraints for a model.", - "title": "Constraints" + "ResolutionTime": { + "markdownDescription": "The date and time when the image path for the model resolved to the `ResolvedImage`", + "title": "ResolutionTime", + "type": "string" }, - "Statistics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "Data quality statistics for a model.", - "title": "Statistics" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelPackage.ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.S3ModelDataSource", - "markdownDescription": "Specifies the S3 location of ML model data to deploy.", - "title": "S3DataSource" + "ResolvedImage": { + "markdownDescription": "The specific digest path of the image hosted in this `ProductionVariant` .", + "title": "ResolvedImage", + "type": "string" + }, + "SpecifiedImage": { + "markdownDescription": "The image path you specified when you created the model.", + "title": "SpecifiedImage", + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelInput": { + "AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize": { "additionalProperties": false, "properties": { - "DataInputConfig": { - "markdownDescription": "The input configuration object for the model.", - "title": "DataInputConfig", + "Type": { + "markdownDescription": "Specifies the endpoint capacity type.\n\n- **COPY_COUNT** - The endpoint activates based on the number of inference component copies.\n- **CAPACITY_PERCENT** - The endpoint activates based on the specified percentage of capacity.", + "title": "Type", "type": "string" + }, + "Value": { + "markdownDescription": "Defines the capacity size, either as a number of inference component copies or a capacity percentage.", + "title": "Value", + "type": "number" } }, "required": [ - "DataInputConfig" + "Type", + "Value" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelMetrics": { + "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { "additionalProperties": false, "properties": { - "Bias": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.Bias", - "markdownDescription": "Metrics that measure bias in a model.", - "title": "Bias" + "MaxMemoryRequiredInMb": { + "markdownDescription": "The maximum MB of memory to allocate to run a model that you assign to an inference component.", + "title": "MaxMemoryRequiredInMb", + "type": "number" }, - "Explainability": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.Explainability", - "markdownDescription": "Metrics that help explain a model.", - "title": "Explainability" + "MinMemoryRequiredInMb": { + "markdownDescription": "The minimum MB of memory to allocate to run a model that you assign to an inference component.", + "title": "MinMemoryRequiredInMb", + "type": "number" }, - "ModelDataQuality": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelDataQuality", - "markdownDescription": "Metrics that measure the quality of the input data for a model.", - "title": "ModelDataQuality" + "NumberOfAcceleratorDevicesRequired": { + "markdownDescription": "The number of accelerators to allocate to run a model that you assign to an inference component. Accelerators include GPUs and AWS Inferentia.", + "title": "NumberOfAcceleratorDevicesRequired", + "type": "number" }, - "ModelQuality": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelQuality", - "markdownDescription": "Metrics that measure the quality of a model.", - "title": "ModelQuality" + "NumberOfCpuCoresRequired": { + "markdownDescription": "The number of CPU cores to allocate to run a model that you assign to an inference component.", + "title": "NumberOfCpuCoresRequired", + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition": { + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "markdownDescription": "The DNS host name for the Docker container.", - "title": "ContainerHostname", + "ArtifactUrl": { + "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).", + "title": "ArtifactUrl", "type": "string" }, + "DeployedImage": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage", + "markdownDescription": "", + "title": "DeployedImage" + }, "Environment": { "additionalProperties": true, - "markdownDescription": "The environment variables to set in the Docker container. Each key and value in the `Environment` string to string map can have length of up to 1024. We support up to 16 entries in the map.", + "markdownDescription": "The environment variables to set in the Docker container. Each key and value in the Environment string-to-string map can have length of up to 1024. We support up to 16 entries in the map.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" @@ -367126,335 +335569,405 @@ "title": "Environment", "type": "object" }, - "Framework": { - "markdownDescription": "The machine learning framework of the model package container image.", - "title": "Framework", - "type": "string" - }, - "FrameworkVersion": { - "markdownDescription": "The framework version of the Model Package Container Image.", - "title": "FrameworkVersion", - "type": "string" - }, "Image": { - "markdownDescription": "The Amazon Elastic Container Registry (Amazon ECR) path where inference code is stored.\n\nIf you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .", + "markdownDescription": "The Amazon Elastic Container Registry (Amazon ECR) path where the Docker image for the model is stored.", "title": "Image", "type": "string" - }, - "ImageDigest": { - "markdownDescription": "An MD5 hash of the training algorithm that identifies the Docker image used for training.", - "title": "ImageDigest", - "type": "string" - }, - "ModelDataSource": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelDataSource", - "markdownDescription": "Specifies the location of ML model data to deploy during endpoint creation.", - "title": "ModelDataSource" - }, - "ModelDataUrl": { - "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same region as the model package.", - "title": "ModelDataUrl", - "type": "string" - }, - "ModelInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelInput", - "markdownDescription": "A structure with Model Input details.", - "title": "ModelInput" - }, - "NearestModelName": { - "markdownDescription": "The name of a pre-trained machine learning benchmarked by Amazon SageMaker Inference Recommender model that matches your model. You can find a list of benchmarked models by calling `ListModelMetadata` .", - "title": "NearestModelName", - "type": "string" } }, - "required": [ - "Image" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelPackageStatusDetails": { + "AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig": { "additionalProperties": false, "properties": { - "ValidationStatuses": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageStatusItem" - }, - "markdownDescription": "The validation status of the model package.", - "title": "ValidationStatuses", - "type": "array" + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.AutoRollbackConfiguration", + "markdownDescription": "", + "title": "AutoRollbackConfiguration" + }, + "RollingUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy", + "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker AI endpoint.", + "title": "RollingUpdatePolicy" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelPackageStatusItem": { + "AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy": { "additionalProperties": false, "properties": { - "FailureReason": { - "markdownDescription": "if the overall status is `Failed` , the reason for the failure.", - "title": "FailureReason", - "type": "string" + "MaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize", + "markdownDescription": "The batch size for each rolling step in the deployment process. For each step, SageMaker AI provisions capacity on the new endpoint fleet, routes traffic to that fleet, and terminates capacity on the old endpoint fleet. The value must be between 5% to 50% of the copy count of the inference component.", + "title": "MaximumBatchSize" }, - "Name": { - "markdownDescription": "The name of the model package for which the overall status is being reported.", - "title": "Name", - "type": "string" + "MaximumExecutionTimeoutInSeconds": { + "markdownDescription": "The time limit for the total deployment. Exceeding this limit causes a timeout.", + "title": "MaximumExecutionTimeoutInSeconds", + "type": "number" }, - "Status": { - "markdownDescription": "The current status.", - "title": "Status", - "type": "string" + "RollbackMaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize", + "markdownDescription": "The batch size for a rollback to the old endpoint fleet. If this field is absent, the value is set to the default, which is 100% of the total capacity. When the default is used, SageMaker AI provisions the entire capacity of the old fleet at once during rollback.", + "title": "RollbackMaximumBatchSize" + }, + "WaitIntervalInSeconds": { + "markdownDescription": "The length of the baking period, during which SageMaker AI monitors alarms for each batch on the new fleet.", + "title": "WaitIntervalInSeconds", + "type": "number" } }, - "required": [ - "Name", - "Status" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelQuality": { + "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "Model quality constraints.", - "title": "Constraints" + "CopyCount": { + "markdownDescription": "The number of runtime copies of the model container to deploy with the inference component. Each copy can serve inference requests.", + "title": "CopyCount", + "type": "number" }, - "Statistics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "Model quality statistics.", - "title": "Statistics" + "CurrentCopyCount": { + "markdownDescription": "", + "title": "CurrentCopyCount", + "type": "number" + }, + "DesiredCopyCount": { + "markdownDescription": "", + "title": "DesiredCopyCount", + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.S3DataSource": { + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { "additionalProperties": false, "properties": { - "S3DataType": { - "markdownDescription": "If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.\n\nIf you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.\n\nIf you choose `AugmentedManifestFile` , `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .\n\nIf you choose `Converse` , `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.", - "title": "S3DataType", + "BaseInferenceComponentName": { + "markdownDescription": "The name of an existing inference component that is to contain the inference component that you're creating with your request.\n\nSpecify this parameter only if your request is meant to create an adapter inference component. An adapter inference component contains the path to an adapter model. The purpose of the adapter model is to tailor the inference output of a base foundation model, which is hosted by the base inference component. The adapter inference component uses the compute resources that you assigned to the base inference component.\n\nWhen you create an adapter inference component, use the `Container` parameter to specify the location of the adapter artifacts. In the parameter value, use the `ArtifactUrl` parameter of the `InferenceComponentContainerSpecification` data type.\n\nBefore you can create an adapter inference component, you must have an existing inference component that contains the foundation model that you want to adapt.", + "title": "BaseInferenceComponentName", "type": "string" }, - "S3Uri": { - "markdownDescription": "Depending on the value specified for the `S3DataType` , identifies either a key name prefix or a manifest. For example:\n\n- A key name prefix might look like this: `s3://bucketname/exampleprefix/`\n- A manifest might look like this: `s3://bucketname/example.manifest`\n\nA manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.\n\nThe following code example shows a valid manifest format:\n\n`[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},`\n\n`\"relative/path/to/custdata-1\",`\n\n`\"relative/path/custdata-2\",`\n\n`...`\n\n`\"relative/path/custdata-N\"`\n\n`]`\n\nThis JSON is equivalent to the following `S3Uri` list:\n\n`s3://customer_bucket/some/prefix/relative/path/to/custdata-1`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-2`\n\n`...`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-N`\n\nThe complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.\n\nYour input bucket must be located in same AWS region as your training job.", - "title": "S3Uri", + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements", + "markdownDescription": "The compute resources allocated to run the model, plus any adapter models, that you assign to the inference component.\n\nOmit this parameter if your request is meant to create an adapter inference component. An adapter inference component is loaded by a base inference component, and it uses the compute resources of the base inference component.", + "title": "ComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification", + "markdownDescription": "Defines a container that provides the runtime environment for a model that you deploy with an inference component.", + "title": "Container" + }, + "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" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters", + "markdownDescription": "Settings that take effect while the model container starts up.", + "title": "StartupParameters" } }, - "required": [ - "S3DataType", - "S3Uri" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.S3ModelDataSource": { + "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { "additionalProperties": false, "properties": { - "CompressionType": { - "markdownDescription": "Specifies how the ML model data is prepared.\n\nIf you choose `Gzip` and choose `S3Object` as the value of `S3DataType` , `S3Uri` identifies an object that is a gzip-compressed TAR archive. SageMaker will attempt to decompress and untar the object during model deployment.\n\nIf you choose `None` and chooose `S3Object` as the value of `S3DataType` , `S3Uri` identifies an object that represents an uncompressed ML model to deploy.\n\nIf you choose None and choose `S3Prefix` as the value of `S3DataType` , `S3Uri` identifies a key name prefix, under which all objects represents the uncompressed ML model to deploy.\n\nIf you choose None, then SageMaker will follow rules below when creating model data files under /opt/ml/model directory for use by your inference code:\n\n- If you choose `S3Object` as the value of `S3DataType` , then SageMaker will split the key of the S3 object referenced by `S3Uri` by slash (/), and use the last part as the filename of the file holding the content of the S3 object.\n- If you choose `S3Prefix` as the value of `S3DataType` , then for each S3 object under the key name pefix referenced by `S3Uri` , SageMaker will trim its key by the prefix, and use the remainder as the path (relative to `/opt/ml/model` ) of the file holding the content of the S3 object. SageMaker will split the remainder by slash (/), using intermediate parts as directory names and the last part as filename of the file holding the content of the S3 object.\n- Do not use any of the following as file names or directory names:\n\n- An empty or blank string\n- A string which contains null bytes\n- A string longer than 255 bytes\n- A single dot ( `.` )\n- A double dot ( `..` )\n- Ambiguous file names will result in model deployment failure. For example, if your uncompressed ML model consists of two S3 objects `s3://mybucket/model/weights` and `s3://mybucket/model/weights/part1` and you specify `s3://mybucket/model/` as the value of `S3Uri` and `S3Prefix` as the value of `S3DataType` , then it will result in name clash between `/opt/ml/model/weights` (a regular file) and `/opt/ml/model/weights/` (a directory).\n- Do not organize the model artifacts in [S3 console using folders](https://docs.aws.amazon.com//AmazonS3/latest/userguide/using-folders.html) . When you create a folder in S3 console, S3 creates a 0-byte object with a key set to the folder name you provide. They key of the 0-byte object ends with a slash (/) which violates SageMaker restrictions on model artifact file names, leading to model deployment failure.", - "title": "CompressionType", + "ContainerStartupHealthCheckTimeoutInSeconds": { + "markdownDescription": "The timeout value, in seconds, for your inference container to pass health check by Amazon S3 Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests) .", + "title": "ContainerStartupHealthCheckTimeoutInSeconds", + "type": "number" + }, + "ModelDataDownloadTimeoutInSeconds": { + "markdownDescription": "The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this inference component.", + "title": "ModelDataDownloadTimeoutInSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceExperiment": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "ModelAccessConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelAccessConfig", - "markdownDescription": "Specifies the access configuration file for the ML model. You can explicitly accept the model end-user license agreement (EULA) within the `ModelAccessConfig` . You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", - "title": "ModelAccessConfig" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "S3DataType": { - "markdownDescription": "Specifies the type of ML model data to deploy.\n\nIf you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix as part of the ML model data to deploy. A valid key name prefix identified by `S3Uri` always ends with a forward slash (/).\n\nIf you choose `S3Object` , `S3Uri` identifies an object that is the ML model data to deploy.", - "title": "S3DataType", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataStorageConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.DataStorageConfig", + "markdownDescription": "The Amazon S3 location and configuration for storing inference request and response data.", + "title": "DataStorageConfig" + }, + "Description": { + "markdownDescription": "The description of the inference experiment.", + "title": "Description", + "type": "string" + }, + "DesiredState": { + "markdownDescription": "The desired state of the experiment after stopping. The possible states are the following:\n\n- `Completed` : The experiment completed successfully\n- `Cancelled` : The experiment was canceled", + "title": "DesiredState", + "type": "string" + }, + "EndpointName": { + "markdownDescription": "The name of the endpoint.", + "title": "EndpointName", + "type": "string" + }, + "KmsKey": { + "markdownDescription": "The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.", + "title": "KmsKey", + "type": "string" + }, + "ModelVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ModelVariantConfig" + }, + "markdownDescription": "An array of `ModelVariantConfigSummary` objects. There is one for each variant in the inference experiment. Each `ModelVariantConfigSummary` object in the array describes the infrastructure configuration for deploying the corresponding variant.", + "title": "ModelVariants", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the inference experiment.", + "title": "Name", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and manage Amazon SageMaker Inference endpoints for model deployment.", + "title": "RoleArn", + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.InferenceExperimentSchedule", + "markdownDescription": "The duration for which the inference experiment ran or will run.\n\nThe maximum duration that you can set for an inference experiment is 30 days.", + "title": "Schedule" + }, + "ShadowModeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ShadowModeConfig", + "markdownDescription": "The configuration of `ShadowMode` inference experiment type, which shows the production variant that takes all the inference requests, and the shadow variant to which Amazon SageMaker replicates a percentage of the inference requests. For the shadow variant it also shows the percentage of requests that Amazon SageMaker replicates.", + "title": "ShadowModeConfig" + }, + "StatusReason": { + "markdownDescription": "The error message for the inference experiment status result.", + "title": "StatusReason", + "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" + }, + "Type": { + "markdownDescription": "The type of the inference experiment.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "EndpointName", + "ModelVariants", + "Name", + "RoleArn", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceExperiment" + ], "type": "string" }, - "S3Uri": { - "markdownDescription": "Specifies the S3 path of ML model data to deploy.", - "title": "S3Uri", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "CompressionType", - "S3DataType", - "S3Uri" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.SecurityConfig": { + "AWS::SageMaker::InferenceExperiment.CaptureContentTypeHeader": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "", - "title": "KmsKeyId", - "type": "string" + "CsvContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of all content type headers that Amazon SageMaker AI will treat as CSV and capture accordingly.", + "title": "CsvContentTypes", + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of all content type headers that SageMaker AI will treat as JSON and capture accordingly.", + "title": "JsonContentTypes", + "type": "array" } }, - "required": [ - "KmsKeyId" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.SourceAlgorithm": { + "AWS::SageMaker::InferenceExperiment.DataStorageConfig": { "additionalProperties": false, "properties": { - "AlgorithmName": { - "markdownDescription": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.", - "title": "AlgorithmName", + "ContentType": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.CaptureContentTypeHeader", + "markdownDescription": "Configuration specifying how to treat different headers. If no headers are specified SageMaker will by default base64 encode when capturing the data.", + "title": "ContentType" + }, + "Destination": { + "markdownDescription": "The Amazon S3 bucket where the inference request and response data is stored.", + "title": "Destination", "type": "string" }, - "ModelDataUrl": { - "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.", - "title": "ModelDataUrl", + "KmsKey": { + "markdownDescription": "The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.", + "title": "KmsKey", "type": "string" } }, "required": [ - "AlgorithmName" + "Destination" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.SourceAlgorithmSpecification": { + "AWS::SageMaker::InferenceExperiment.EndpointMetadata": { "additionalProperties": false, "properties": { - "SourceAlgorithms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SourceAlgorithm" - }, - "markdownDescription": "A list of the algorithms that were used to create a model package.", - "title": "SourceAlgorithms", - "type": "array" + "EndpointConfigName": { + "markdownDescription": "The name of the endpoint configuration.", + "title": "EndpointConfigName", + "type": "string" + }, + "EndpointName": { + "markdownDescription": "The name of the endpoint.", + "title": "EndpointName", + "type": "string" + }, + "EndpointStatus": { + "markdownDescription": "The status of the endpoint. For possible values of the status of an endpoint, see [](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferenceexperiment-endpointmetadata.html#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus) .", + "title": "EndpointStatus", + "type": "string" } }, "required": [ - "SourceAlgorithms" + "EndpointName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.TransformInput": { + "AWS::SageMaker::InferenceExperiment.InferenceExperimentSchedule": { "additionalProperties": false, "properties": { - "CompressionType": { - "markdownDescription": "If your transform data is compressed, specify the compression type. Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is `None` .", - "title": "CompressionType", - "type": "string" - }, - "ContentType": { - "markdownDescription": "The multipurpose internet mail extension (MIME) type of the data. Amazon SageMaker uses the MIME type with each http call to transfer data to the transform job.", - "title": "ContentType", + "EndTime": { + "markdownDescription": "The timestamp at which the inference experiment ended or will end.", + "title": "EndTime", "type": "string" }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DataSource", - "markdownDescription": "Describes the location of the channel data, which is, the S3 location of the input data that the model can consume.", - "title": "DataSource" - }, - "SplitType": { - "markdownDescription": "The method to use to split the transform job's data files into smaller batches. Splitting is necessary when the total size of each object is too large to fit in a single request. You can also use data splitting to improve performance by processing multiple concurrent mini-batches. The default value for `SplitType` is `None` , which indicates that input data files are not split, and request payloads contain the entire contents of an input object. Set the value of this parameter to `Line` to split records on a newline character boundary. `SplitType` also supports a number of record-oriented binary data formats. Currently, the supported record formats are:\n\n- RecordIO\n- TFRecord\n\nWhen splitting is enabled, the size of a mini-batch depends on the values of the `BatchStrategy` and `MaxPayloadInMB` parameters. When the value of `BatchStrategy` is `MultiRecord` , Amazon SageMaker sends the maximum number of records in each request, up to the `MaxPayloadInMB` limit. If the value of `BatchStrategy` is `SingleRecord` , Amazon SageMaker sends individual records in each request.\n\n> Some data formats represent a record as a binary payload wrapped with extra padding bytes. When splitting is applied to a binary data format, padding is removed if the value of `BatchStrategy` is set to `SingleRecord` . Padding is not removed if the value of `BatchStrategy` is set to `MultiRecord` .\n> \n> For more information about `RecordIO` , see [Create a Dataset Using RecordIO](https://docs.aws.amazon.com/https://mxnet.apache.org/api/faq/recordio) in the MXNet documentation. For more information about `TFRecord` , see [Consuming TFRecord data](https://docs.aws.amazon.com/https://www.tensorflow.org/guide/data#consuming_tfrecord_data) in the TensorFlow documentation.", - "title": "SplitType", + "StartTime": { + "markdownDescription": "The timestamp at which the inference experiment started or will start.", + "title": "StartTime", "type": "string" } }, - "required": [ - "DataSource" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.TransformJobDefinition": { + "AWS::SageMaker::InferenceExperiment.ModelInfrastructureConfig": { "additionalProperties": false, "properties": { - "BatchStrategy": { - "markdownDescription": "A string that determines the number of records included in a single mini-batch.\n\n`SingleRecord` means only one record is used per mini-batch. `MultiRecord` means a mini-batch is set to contain as many records that can fit within the `MaxPayloadInMB` limit.", - "title": "BatchStrategy", + "InfrastructureType": { + "markdownDescription": "The inference option to which to deploy your model. Possible values are the following:\n\n- `RealTime` : Deploy to real-time inference.", + "title": "InfrastructureType", "type": "string" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Environment", - "type": "object" - }, - "MaxConcurrentTransforms": { - "markdownDescription": "The maximum number of parallel requests that can be sent to each instance in a transform job. The default value is 1.", - "title": "MaxConcurrentTransforms", - "type": "number" - }, - "MaxPayloadInMB": { - "markdownDescription": "The maximum payload size allowed, in MB. A payload is the data portion of a record (without metadata).", - "title": "MaxPayloadInMB", - "type": "number" - }, - "TransformInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformInput", - "markdownDescription": "A description of the input source and the way the transform job consumes it.", - "title": "TransformInput" - }, - "TransformOutput": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformOutput", - "markdownDescription": "Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.", - "title": "TransformOutput" - }, - "TransformResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformResources", - "markdownDescription": "Identifies the ML compute instances for the transform job.", - "title": "TransformResources" + "RealTimeInferenceConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.RealTimeInferenceConfig", + "markdownDescription": "The infrastructure configuration for deploying the model to real-time inference.", + "title": "RealTimeInferenceConfig" } }, "required": [ - "TransformInput", - "TransformOutput", - "TransformResources" + "InfrastructureType", + "RealTimeInferenceConfig" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.TransformOutput": { + "AWS::SageMaker::InferenceExperiment.ModelVariantConfig": { "additionalProperties": false, "properties": { - "Accept": { - "markdownDescription": "The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http call to transfer data from the transform job.", - "title": "Accept", - "type": "string" - }, - "AssembleWith": { - "markdownDescription": "Defines how to assemble the results of the transform job as a single S3 object. Choose a format that is most convenient to you. To concatenate the results in binary format, specify `None` . To add a newline character at the end of every transformed record, specify `Line` .", - "title": "AssembleWith", - "type": "string" + "InfrastructureConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ModelInfrastructureConfig", + "markdownDescription": "The configuration for the infrastructure that the model will be deployed to.", + "title": "InfrastructureConfig" }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The `KmsKeyId` can be any of the following formats:\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`\n\nIf you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see [KMS-Managed Encryption Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the *Amazon Simple Storage Service Developer Guide.*\n\nThe KMS key policy must grant permission to the IAM role that you specify in your [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see [Using Key Policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyId", + "ModelName": { + "markdownDescription": "The name of the Amazon SageMaker Model entity.", + "title": "ModelName", "type": "string" }, - "S3OutputPath": { - "markdownDescription": "The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, `s3://bucket-name/key-name-prefix` .\n\nFor every S3 object used as input for the transform job, batch transform stores the transformed data with an . `out` suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at `s3://bucket-name/input-name-prefix/dataset01/data.csv` , batch transform stores the transformed data at `s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out` . Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an . `out` file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.", - "title": "S3OutputPath", + "VariantName": { + "markdownDescription": "The name of the variant.", + "title": "VariantName", "type": "string" } }, "required": [ - "S3OutputPath" + "InfrastructureConfig", + "ModelName", + "VariantName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.TransformResources": { + "AWS::SageMaker::InferenceExperiment.RealTimeInferenceConfig": { "additionalProperties": false, "properties": { "InstanceCount": { - "markdownDescription": "The number of ML compute instances to use in the transform job. The default value is `1` , and the maximum is `100` . For distributed transform jobs, specify a value greater than `1` .", + "markdownDescription": "The number of instances of the type specified by `InstanceType` .", "title": "InstanceCount", "type": "number" }, "InstanceType": { - "markdownDescription": "The ML compute instance type for the transform job. If you are using built-in algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge or `ml.m5.large` instance types.", + "markdownDescription": "The instance type the model is deployed to.", "title": "InstanceType", "type": "string" - }, - "VolumeKmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job.\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `VolumeKmsKeyId` when using an instance type with local storage.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) . \n\nThe `VolumeKmsKeyId` can be any of the following formats:\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`", - "title": "VolumeKmsKeyId", - "type": "string" } }, "required": [ @@ -367463,50 +335976,135 @@ ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ValidationProfile": { + "AWS::SageMaker::InferenceExperiment.ShadowModeConfig": { "additionalProperties": false, "properties": { - "ProfileName": { - "markdownDescription": "The name of the profile for the model package.", - "title": "ProfileName", + "ShadowModelVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ShadowModelVariantConfig" + }, + "markdownDescription": "List of shadow variant configurations.", + "title": "ShadowModelVariants", + "type": "array" + }, + "SourceModelVariantName": { + "markdownDescription": "The name of the production variant, which takes all the inference requests.", + "title": "SourceModelVariantName", "type": "string" + } + }, + "required": [ + "ShadowModelVariants", + "SourceModelVariantName" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceExperiment.ShadowModelVariantConfig": { + "additionalProperties": false, + "properties": { + "SamplingPercentage": { + "markdownDescription": "The percentage of inference requests that Amazon SageMaker replicates from the production variant to the shadow variant.", + "title": "SamplingPercentage", + "type": "number" }, - "TransformJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformJobDefinition", - "markdownDescription": "The `TransformJobDefinition` object that describes the transform job used for the validation of the model package.", - "title": "TransformJobDefinition" + "ShadowModelVariantName": { + "markdownDescription": "The name of the shadow variant.", + "title": "ShadowModelVariantName", + "type": "string" } }, "required": [ - "ProfileName", - "TransformJobDefinition" + "SamplingPercentage", + "ShadowModelVariantName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ValidationSpecification": { + "AWS::SageMaker::MlflowApp": { "additionalProperties": false, "properties": { - "ValidationProfiles": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ValidationProfile" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactStoreUri": { + "type": "string" + }, + "ModelRegistrationMode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WeeklyMaintenanceWindowStart": { + "type": "string" + } }, - "markdownDescription": "An array of `ModelPackageValidationProfile` objects, each of which specifies a batch transform job that SageMaker runs to validate your model package.", - "title": "ValidationProfiles", - "type": "array" + "required": [ + "ArtifactStoreUri", + "Name", + "RoleArn" + ], + "type": "object" }, - "ValidationRole": { - "markdownDescription": "The IAM roles to be used for the validation of the model package.", - "title": "ValidationRole", + "Type": { + "enum": [ + "AWS::SageMaker::MlflowApp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ValidationProfiles", - "ValidationRole" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackageGroup": { + "AWS::SageMaker::MlflowTrackingServer": { "additionalProperties": false, "properties": { "Condition": { @@ -367541,38 +336139,60 @@ "Properties": { "additionalProperties": false, "properties": { - "ModelPackageGroupDescription": { - "markdownDescription": "The description for the model group.", - "title": "ModelPackageGroupDescription", + "ArtifactStoreUri": { + "markdownDescription": "", + "title": "ArtifactStoreUri", "type": "string" }, - "ModelPackageGroupName": { - "markdownDescription": "The name of the model group.", - "title": "ModelPackageGroupName", + "AutomaticModelRegistration": { + "markdownDescription": "", + "title": "AutomaticModelRegistration", + "type": "boolean" + }, + "MlflowVersion": { + "markdownDescription": "", + "title": "MlflowVersion", "type": "string" }, - "ModelPackageGroupPolicy": { - "markdownDescription": "A resouce policy to control access to a model group. For information about resoure policies, see [Identity-based policies and resource-based policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) in the *AWS Identity and Access Management User Guide.* .", - "title": "ModelPackageGroupPolicy", - "type": "object" + "RoleArn": { + "markdownDescription": "", + "title": "RoleArn", + "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": "", "title": "Tags", "type": "array" + }, + "TrackingServerName": { + "markdownDescription": "", + "title": "TrackingServerName", + "type": "string" + }, + "TrackingServerSize": { + "markdownDescription": "", + "title": "TrackingServerSize", + "type": "string" + }, + "WeeklyMaintenanceWindowStart": { + "markdownDescription": "", + "title": "WeeklyMaintenanceWindowStart", + "type": "string" } }, "required": [ - "ModelPackageGroupName" + "ArtifactStoreUri", + "RoleArn", + "TrackingServerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelPackageGroup" + "AWS::SageMaker::MlflowTrackingServer" ], "type": "string" }, @@ -367591,7 +336211,329 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition": { + "AWS::SageMaker::Model": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "markdownDescription": "Specifies the containers in the inference pipeline.", + "title": "Containers", + "type": "array" + }, + "EnableNetworkIsolation": { + "markdownDescription": "Isolates the model container. No inbound or outbound network calls can be made to or from the model container.", + "title": "EnableNetworkIsolation", + "type": "boolean" + }, + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see [SageMaker Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .\n\n> To be able to pass this role to SageMaker, the caller of this API must have the `iam:PassRole` permission.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig", + "markdownDescription": "Specifies details of how containers in a multi-container endpoint are called.", + "title": "InferenceExecutionConfig" + }, + "ModelName": { + "markdownDescription": "The name of the new model.", + "title": "ModelName", + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition", + "markdownDescription": "The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.", + "title": "PrimaryContainer" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "title": "Tags", + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig", + "markdownDescription": "A [VpcConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html) object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. `VpcConfig` is used in hosting services and in batch transform. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html) .", + "title": "VpcConfig" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "ContainerHostname": { + "markdownDescription": "This parameter is ignored for models that contain only a `PrimaryContainer` .\n\nWhen a `ContainerDefinition` is part of an inference pipeline, the value of the parameter uniquely identifies the container for the purposes of logging and metrics. For information, see [Use Logs and Metrics to Monitor an Inference Pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipeline-logs-metrics.html) . If you don't specify a value for this parameter for a `ContainerDefinition` that is part of an inference pipeline, a unique name is automatically assigned based on the position of the `ContainerDefinition` in the pipeline. If you specify a value for the `ContainerHostName` for any `ContainerDefinition` that is part of an inference pipeline, you must specify a value for the `ContainerHostName` parameter of every `ContainerDefinition` in that pipeline.", + "title": "ContainerHostname", + "type": "string" + }, + "Environment": { + "markdownDescription": "The environment variables to set in the Docker container. Don't include any sensitive data in your environment variables.\n\nThe maximum length of each key and value in the `Environment` map is 1024 bytes. The maximum length of all keys and values in the map, combined, is 32 KB. If you pass multiple containers to a `CreateModel` request, then the maximum length of all of their maps, combined, is also 32 KB.", + "title": "Environment", + "type": "object" + }, + "Image": { + "markdownDescription": "The path where inference code is stored. This can be either in Amazon EC2 Container Registry or in a Docker registry that is accessible from the same VPC that you configure for your endpoint. If you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .\n\n> The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.", + "title": "Image", + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig", + "markdownDescription": "Specifies whether the model container is in Amazon ECR or a private Docker registry accessible from your Amazon Virtual Private Cloud (VPC). For information about storing containers in a private Docker registry, see [Use a Private Docker Registry for Real-Time Inference Containers](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-containers-inference-private.html) .\n\n> The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.", + "title": "ImageConfig" + }, + "InferenceSpecificationName": { + "markdownDescription": "The inference specification name in the model package version.", + "title": "InferenceSpecificationName", + "type": "string" + }, + "Mode": { + "markdownDescription": "Whether the container hosts a single model or multiple models.", + "title": "Mode", + "type": "string" + }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource", + "markdownDescription": "Specifies the location of ML model data to deploy.\n\n> Currently you cannot use `ModelDataSource` in conjunction with SageMaker batch transform, SageMaker serverless endpoints, SageMaker multi-model endpoints, and SageMaker Marketplace.", + "title": "ModelDataSource" + }, + "ModelDataUrl": { + "markdownDescription": "The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). The S3 path is required for SageMaker built-in algorithms, but not if you use your own algorithms. For more information on built-in algorithms, see [Common Parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html) .\n\n> The model artifacts must be in an S3 bucket that is in the same region as the model or endpoint you are creating. \n\nIf you provide a value for this parameter, SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your AWS account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see [Activating and Deactivating AWS STS in an AWS Region](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) in the *AWS Identity and Access Management User Guide* .\n\n> If you use a built-in algorithm to create a model, SageMaker requires that you provide a S3 path to the model artifacts in `ModelDataUrl` .", + "title": "ModelDataUrl", + "type": "string" + }, + "ModelPackageName": { + "markdownDescription": "The name or Amazon Resource Name (ARN) of the model package to use to create the model.", + "title": "ModelPackageName", + "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig", + "markdownDescription": "Specifies additional configuration for multi-model endpoints.", + "title": "MultiModelConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.HubAccessConfig": { + "additionalProperties": false, + "properties": { + "HubContentArn": { + "markdownDescription": "The ARN of your private model hub content. This should be a `ModelReference` resource type that points to a SageMaker JumpStart public hub model.", + "title": "HubContentArn", + "type": "string" + } + }, + "required": [ + "HubContentArn" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "markdownDescription": "Set this to one of the following values:\n\n- `Platform` - The model image is hosted in Amazon ECR.\n- `Vpc` - The model image is hosted in a private Docker registry in your VPC.", + "title": "RepositoryAccessMode", + "type": "string" + }, + "RepositoryAuthConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig", + "markdownDescription": "(Optional) Specifies an authentication configuration for the private docker registry where your model image is hosted. Specify a value for this property only if you specified `Vpc` as the value for the `RepositoryAccessMode` field, and the private Docker registry where the model image is hosted requires authentication.", + "title": "RepositoryAuthConfig" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.InferenceExecutionConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "markdownDescription": "How containers in a multi-container are run. The following values are valid.\n\n- `Serial` - Containers run as a serial pipeline.\n- `Direct` - Only the individual container that you specify is run.", + "title": "Mode", + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ModelAccessConfig": { + "additionalProperties": false, + "properties": { + "AcceptEula": { + "markdownDescription": "Specifies agreement to the model end-user license agreement (EULA). The `AcceptEula` value must be explicitly defined as `True` in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", + "title": "AcceptEula", + "type": "boolean" + } + }, + "required": [ + "AcceptEula" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource", + "markdownDescription": "Specifies the S3 location of ML model data to deploy.", + "title": "S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, + "AWS::SageMaker::Model.MultiModelConfig": { + "additionalProperties": false, + "properties": { + "ModelCacheSetting": { + "markdownDescription": "Whether to cache models for a multi-model endpoint. By default, multi-model endpoints cache models so that a model does not have to be loaded into memory each time it is invoked. Some use cases do not benefit from model caching. For example, if an endpoint hosts a large number of models that are each invoked infrequently, the endpoint might perform better if you disable model caching. To disable model caching, set the value of this parameter to Disabled.", + "title": "ModelCacheSetting", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.RepositoryAuthConfig": { + "additionalProperties": false, + "properties": { + "RepositoryCredentialsProviderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Lambda function that provides credentials to authenticate to the private Docker registry where your model image is hosted. For information about how to create an AWS Lambda function, see [Create a Lambda function with the console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html) in the *AWS Lambda Developer Guide* .", + "title": "RepositoryCredentialsProviderArn", + "type": "string" + } + }, + "required": [ + "RepositoryCredentialsProviderArn" + ], + "type": "object" + }, + "AWS::SageMaker::Model.S3DataSource": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "markdownDescription": "", + "title": "CompressionType", + "type": "string" + }, + "HubAccessConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.HubAccessConfig", + "markdownDescription": "The configuration for a private hub model reference that points to a SageMaker JumpStart public hub model.", + "title": "HubAccessConfig" + }, + "ModelAccessConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelAccessConfig", + "markdownDescription": "", + "title": "ModelAccessConfig" + }, + "S3DataType": { + "markdownDescription": "If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.\n\nIf you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.\n\nIf you choose `AugmentedManifestFile` , `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .\n\nIf you choose `Converse` , `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.", + "title": "S3DataType", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "Depending on the value specified for the `S3DataType` , identifies either a key name prefix or a manifest. For example:\n\n- A key name prefix might look like this: `s3://bucketname/exampleprefix/`\n- A manifest might look like this: `s3://bucketname/example.manifest`\n\nA manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.\n\nThe following code example shows a valid manifest format:\n\n`[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},`\n\n`\"relative/path/to/custdata-1\",`\n\n`\"relative/path/custdata-2\",`\n\n`...`\n\n`\"relative/path/custdata-N\"`\n\n`]`\n\nThis JSON is equivalent to the following `S3Uri` list:\n\n`s3://customer_bucket/some/prefix/relative/path/to/custdata-1`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-2`\n\n`...`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-N`\n\nThe complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.\n\nYour input bucket must be located in same AWS region as your training job.", + "title": "S3Uri", + "type": "string" + } + }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", + "title": "SecurityGroupIds", + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", + "title": "Subnets", + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -367632,38 +336574,38 @@ "type": "string" }, "JobDefinitionName": { - "markdownDescription": "The name of the monitoring job definition.", + "markdownDescription": "The name of the bias job definition. The name must be unique within an AWS Region in the AWS account.", "title": "JobDefinitionName", "type": "string" }, "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources", "markdownDescription": "Identifies the resources to deploy for a monitoring job.", "title": "JobResources" }, - "ModelQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification", - "markdownDescription": "Container image configuration object for the monitoring job.", - "title": "ModelQualityAppSpecification" + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification", + "markdownDescription": "Configures the model bias job to run a specified Docker container image.", + "title": "ModelBiasAppSpecification" }, - "ModelQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig", - "markdownDescription": "Specifies the constraints and baselines for the monitoring job.", - "title": "ModelQualityBaselineConfig" + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig", + "markdownDescription": "The baseline configuration for a model bias job.", + "title": "ModelBiasBaselineConfig" }, - "ModelQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput", - "markdownDescription": "A list of the inputs that are monitored. Currently endpoints are supported.", - "title": "ModelQualityJobInput" + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput", + "markdownDescription": "Inputs for the model bias job.", + "title": "ModelBiasJobInput" }, - "ModelQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig", + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig", "markdownDescription": "The output configuration for monitoring jobs.", - "title": "ModelQualityJobOutputConfig" + "title": "ModelBiasJobOutputConfig" }, "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig", - "markdownDescription": "Specifies the network configuration for the monitoring job.", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig", + "markdownDescription": "Networking options for a model bias job.", "title": "NetworkConfig" }, "RoleArn": { @@ -367672,7 +336614,7 @@ "type": "string" }, "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition", "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", "title": "StoppingCondition" }, @@ -367687,16 +336629,16 @@ }, "required": [ "JobResources", - "ModelQualityAppSpecification", - "ModelQualityJobInput", - "ModelQualityJobOutputConfig", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelQualityJobDefinition" + "AWS::SageMaker::ModelBiasJobDefinition" ], "type": "string" }, @@ -367715,7 +336657,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.BatchTransformInput": { + "AWS::SageMaker::ModelBiasJobDefinition.BatchTransformInput": { "additionalProperties": false, "properties": { "DataCapturedDestinationS3Uri": { @@ -367724,7 +336666,7 @@ "type": "string" }, "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.DatasetFormat", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.DatasetFormat", "markdownDescription": "The dataset format for your batch transform job.", "title": "DatasetFormat" }, @@ -367733,6 +336675,11 @@ "title": "EndTimeOffset", "type": "string" }, + "FeaturesAttribute": { + "markdownDescription": "The attributes of the input data that are the input features.", + "title": "FeaturesAttribute", + "type": "string" + }, "InferenceAttribute": { "markdownDescription": "The attribute of the input data that represents the ground truth label.", "title": "InferenceAttribute", @@ -367776,7 +336723,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { "InstanceCount": { @@ -367807,7 +336754,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { "S3Uri": { @@ -367818,7 +336765,7 @@ }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.Csv": { + "AWS::SageMaker::ModelBiasJobDefinition.Csv": { "additionalProperties": false, "properties": { "Header": { @@ -367829,16 +336776,16 @@ }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.DatasetFormat": { + "AWS::SageMaker::ModelBiasJobDefinition.DatasetFormat": { "additionalProperties": false, "properties": { "Csv": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Csv", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Csv", "markdownDescription": "", "title": "Csv" }, "Json": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Json", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Json", "markdownDescription": "", "title": "Json" }, @@ -367850,7 +336797,7 @@ }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { "EndTimeOffset": { @@ -367863,6 +336810,11 @@ "title": "EndpointName", "type": "string" }, + "FeaturesAttribute": { + "markdownDescription": "The attributes of the input data that are the input features.", + "title": "FeaturesAttribute", + "type": "string" + }, "InferenceAttribute": { "markdownDescription": "The attribute of the input data that represents the ground truth label.", "title": "InferenceAttribute", @@ -367905,7 +336857,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.Json": { + "AWS::SageMaker::ModelBiasJobDefinition.Json": { "additionalProperties": false, "properties": { "Line": { @@ -367916,28 +336868,17 @@ }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of arguments for the container used to run the monitoring job.", - "title": "ContainerArguments", - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the entrypoint for a container that the monitoring job runs.", - "title": "ContainerEntrypoint", - "type": "array" + "ConfigUri": { + "markdownDescription": "JSON formatted S3 file that defines bias parameters. For more information on this JSON configuration file, see [Configure bias parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-bias-parameters.html) .", + "title": "ConfigUri", + "type": "string" }, "Environment": { "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the container that the monitoring job runs.", + "markdownDescription": "Sets the environment variables in the Docker container.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" @@ -367947,64 +336888,49 @@ "type": "object" }, "ImageUri": { - "markdownDescription": "The address of the container image that the monitoring job runs.", + "markdownDescription": "The container image to be run by the model bias job.", "title": "ImageUri", "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", - "title": "PostAnalyticsProcessorSourceUri", - "type": "string" - }, - "ProblemType": { - "markdownDescription": "The machine learning problem type of the model that the monitoring job monitors.", - "title": "ProblemType", - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", - "title": "RecordPreprocessorSourceUri", - "type": "string" } }, "required": [ - "ImageUri", - "ProblemType" + "ConfigUri", + "ImageUri" ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { "additionalProperties": false, "properties": { "BaseliningJobName": { - "markdownDescription": "The name of the job that performs baselining for the monitoring job.", + "markdownDescription": "The name of the baseline model bias job.", "title": "BaseliningJobName", "type": "string" }, "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource", "markdownDescription": "The constraints resource for a monitoring job.", "title": "ConstraintsResource" } }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { "additionalProperties": false, "properties": { "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.BatchTransformInput", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.BatchTransformInput", "markdownDescription": "Input object for the batch transform job.", "title": "BatchTransformInput" }, "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput", "markdownDescription": "Input object for the endpoint", "title": "EndpointInput" }, "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input", - "markdownDescription": "The ground truth label provided for the model.", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input", + "markdownDescription": "Location of ground truth labels to use in model bias job.", "title": "GroundTruthS3Input" } }, @@ -368013,7 +336939,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { "additionalProperties": false, "properties": { "S3Uri": { @@ -368027,11 +336953,11 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output", "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", "title": "S3Output" } @@ -368041,7 +336967,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { "KmsKeyId": { @@ -368051,7 +336977,7 @@ }, "MonitoringOutputs": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" }, "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", "title": "MonitoringOutputs", @@ -368063,11 +336989,11 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig", "markdownDescription": "The configuration for the cluster resources used to run the processing job.", "title": "ClusterConfig" } @@ -368077,7 +337003,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { "EnableInterContainerTrafficEncryption": { @@ -368091,18 +337017,18 @@ "type": "boolean" }, "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig", "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", "title": "VpcConfig" } }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { "additionalProperties": false, "properties": { "LocalPath": { - "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", + "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. `LocalPath` is an absolute path for the output data.", "title": "LocalPath", "type": "string" }, @@ -368123,7 +337049,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { "MaxRuntimeInSeconds": { @@ -368137,7 +337063,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -368163,7 +337089,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule": { + "AWS::SageMaker::ModelCard": { "additionalProperties": false, "properties": { "Condition": { @@ -368198,54 +337124,55 @@ "Properties": { "additionalProperties": false, "properties": { - "EndpointName": { - "markdownDescription": "The name of the endpoint using the monitoring schedule.", - "title": "EndpointName", - "type": "string" - }, - "FailureReason": { - "markdownDescription": "Contains the reason a monitoring job failed, if it failed.", - "title": "FailureReason", - "type": "string" + "Content": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.Content", + "markdownDescription": "The content of the model card. Content uses the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .", + "title": "Content" }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary", - "markdownDescription": "Describes metadata on the last execution to run, if there was one.", - "title": "LastMonitoringExecutionSummary" + "CreatedBy": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.UserContext", + "markdownDescription": "Information about the user who created or modified one or more of the following:\n\n- Experiment\n- Trial\n- Trial component\n- Lineage group\n- Project\n- Model Card", + "title": "CreatedBy" }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig", - "markdownDescription": "The configuration object that specifies the monitoring schedule and defines the monitoring job.", - "title": "MonitoringScheduleConfig" + "LastModifiedBy": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.UserContext", + "markdownDescription": "", + "title": "LastModifiedBy" }, - "MonitoringScheduleName": { - "markdownDescription": "The name of the monitoring schedule.", - "title": "MonitoringScheduleName", + "ModelCardName": { + "markdownDescription": "The unique name of the model card.", + "title": "ModelCardName", "type": "string" }, - "MonitoringScheduleStatus": { - "markdownDescription": "The status of the monitoring schedule.", - "title": "MonitoringScheduleStatus", + "ModelCardStatus": { + "markdownDescription": "The approval status of the model card within your organization. Different organizations might have different criteria for model card review and approval.\n\n- `Draft` : The model card is a work in progress.\n- `PendingReview` : The model card is pending review.\n- `Approved` : The model card is approved.\n- `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.", + "title": "ModelCardStatus", "type": "string" }, + "SecurityConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.SecurityConfig", + "markdownDescription": "The security configuration used to protect model card data.", + "title": "SecurityConfig" + }, "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": "Key-value pairs used to manage metadata for the model card.", "title": "Tags", "type": "array" } }, "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" + "Content", + "ModelCardName", + "ModelCardStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MonitoringSchedule" + "AWS::SageMaker::ModelCard" ], "type": "string" }, @@ -368264,23 +337191,786 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "AWS::SageMaker::ModelCard.AdditionalInformation": { "additionalProperties": false, "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource", - "markdownDescription": "The Amazon S3 URI for the constraints resource.", - "title": "ConstraintsResource" + "CaveatsAndRecommendations": { + "markdownDescription": "Caveats and recommendations for those who might use this model in their applications.", + "title": "CaveatsAndRecommendations", + "type": "string" }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource", - "markdownDescription": "The baseline statistics file in Amazon S3 that the current monitoring job should be validated against.", - "title": "StatisticsResource" + "CustomDetails": { + "additionalProperties": true, + "markdownDescription": "Any additional information to document about the model.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "CustomDetails", + "type": "object" + }, + "EthicalConsiderations": { + "markdownDescription": "Any ethical considerations documented by the model card author.", + "title": "EthicalConsiderations", + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.BatchTransformInput": { + "AWS::SageMaker::ModelCard.BusinessDetails": { + "additionalProperties": false, + "properties": { + "BusinessProblem": { + "markdownDescription": "The specific business problem that the model is trying to solve.", + "title": "BusinessProblem", + "type": "string" + }, + "BusinessStakeholders": { + "markdownDescription": "The relevant stakeholders for the model.", + "title": "BusinessStakeholders", + "type": "string" + }, + "LineOfBusiness": { + "markdownDescription": "The broader business need that the model is serving.", + "title": "LineOfBusiness", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.Container": { + "additionalProperties": false, + "properties": { + "Image": { + "markdownDescription": "", + "title": "Image", + "type": "string" + }, + "ModelDataUrl": { + "markdownDescription": "", + "title": "ModelDataUrl", + "type": "string" + }, + "NearestModelName": { + "markdownDescription": "", + "title": "NearestModelName", + "type": "string" + } + }, + "required": [ + "Image" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.Content": { + "additionalProperties": false, + "properties": { + "AdditionalInformation": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.AdditionalInformation", + "markdownDescription": "Additional information about the model.", + "title": "AdditionalInformation" + }, + "BusinessDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.BusinessDetails", + "markdownDescription": "Information about how the model supports business goals.", + "title": "BusinessDetails" + }, + "EvaluationDetails": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.EvaluationDetail" + }, + "markdownDescription": "An overview about the model's evaluation.", + "title": "EvaluationDetails", + "type": "array" + }, + "IntendedUses": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.IntendedUses", + "markdownDescription": "The intended usage of the model.", + "title": "IntendedUses" + }, + "ModelOverview": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelOverview", + "markdownDescription": "An overview about the model", + "title": "ModelOverview" + }, + "ModelPackageDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelPackageDetails", + "markdownDescription": "", + "title": "ModelPackageDetails" + }, + "TrainingDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingDetails", + "markdownDescription": "An overview about model training.", + "title": "TrainingDetails" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.EvaluationDetail": { + "additionalProperties": false, + "properties": { + "Datasets": { + "items": { + "type": "string" + }, + "markdownDescription": "The location of the datasets used to evaluate the model.", + "title": "Datasets", + "type": "array" + }, + "EvaluationJobArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the evaluation job.", + "title": "EvaluationJobArn", + "type": "string" + }, + "EvaluationObservation": { + "markdownDescription": "Any observations made during the model evaluation.", + "title": "EvaluationObservation", + "type": "string" + }, + "Metadata": { + "additionalProperties": true, + "markdownDescription": "Additional attributes associated with the evaluation results.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Metadata", + "type": "object" + }, + "MetricGroups": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.MetricGroup" + }, + "markdownDescription": "An evaluation Metric Group object.", + "title": "MetricGroups", + "type": "array" + }, + "Name": { + "markdownDescription": "The evaluation job name.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.Function": { + "additionalProperties": false, + "properties": { + "Condition": { + "markdownDescription": "An optional description of any conditions of your objective function metric.", + "title": "Condition", + "type": "string" + }, + "Facet": { + "markdownDescription": "The metric of the model's objective function. For example, *loss* or *rmse* . The following list shows examples of the values that you can specify for the metric:\n\n- `ACCURACY`\n- `AUC`\n- `LOSS`\n- `MAE`\n- `RMSE`", + "title": "Facet", + "type": "string" + }, + "Function": { + "markdownDescription": "The optimization direction of the model's objective function. You must specify one of the following values:\n\n- `Maximize`\n- `Minimize`", + "title": "Function", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.InferenceEnvironment": { + "additionalProperties": false, + "properties": { + "ContainerImage": { + "items": { + "type": "string" + }, + "markdownDescription": "The container used to run the inference environment.", + "title": "ContainerImage", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.InferenceSpecification": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.Container" + }, + "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", + "title": "Containers", + "type": "array" + } + }, + "required": [ + "Containers" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.IntendedUses": { + "additionalProperties": false, + "properties": { + "ExplanationsForRiskRating": { + "markdownDescription": "An explanation of why your organization categorizes the model with its risk rating.", + "title": "ExplanationsForRiskRating", + "type": "string" + }, + "FactorsAffectingModelEfficiency": { + "markdownDescription": "Factors affecting model efficacy.", + "title": "FactorsAffectingModelEfficiency", + "type": "string" + }, + "IntendedUses": { + "markdownDescription": "The intended use cases for the model.", + "title": "IntendedUses", + "type": "string" + }, + "PurposeOfModel": { + "markdownDescription": "The general purpose of the model.", + "title": "PurposeOfModel", + "type": "string" + }, + "RiskRating": { + "markdownDescription": "Your organization's risk rating. You can specify one the following values as the risk rating:\n\n- High\n- Medium\n- Low\n- Unknown", + "title": "RiskRating", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.MetricDataItems": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Notes": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "object" + }, + "XAxisName": { + "items": { + "type": "string" + }, + "type": "array" + }, + "YAxisName": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.MetricGroup": { + "additionalProperties": false, + "properties": { + "MetricData": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.MetricDataItems" + }, + "markdownDescription": "A list of metric objects. The `MetricDataItems` list can have one of the following values:\n\n- `bar_chart_metric`\n- `matrix_metric`\n- `simple_metric`\n- `linear_graph_metric`\n\nFor more information about the metric schema, see the definition section of the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .", + "title": "MetricData", + "type": "array" + }, + "Name": { + "markdownDescription": "The metric group name.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "MetricData", + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.ModelOverview": { + "additionalProperties": false, + "properties": { + "AlgorithmType": { + "markdownDescription": "The algorithm used to solve the problem.", + "title": "AlgorithmType", + "type": "string" + }, + "InferenceEnvironment": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.InferenceEnvironment", + "markdownDescription": "An overview about model inference.", + "title": "InferenceEnvironment" + }, + "ModelArtifact": { + "items": { + "type": "string" + }, + "markdownDescription": "The location of the model artifact.", + "title": "ModelArtifact", + "type": "array" + }, + "ModelCreator": { + "markdownDescription": "The creator of the model.", + "title": "ModelCreator", + "type": "string" + }, + "ModelDescription": { + "markdownDescription": "A description of the model.", + "title": "ModelDescription", + "type": "string" + }, + "ModelId": { + "markdownDescription": "The SageMaker AI Model ARN or non- SageMaker AI Model ID.", + "title": "ModelId", + "type": "string" + }, + "ModelName": { + "markdownDescription": "The name of the model.", + "title": "ModelName", + "type": "string" + }, + "ModelOwner": { + "markdownDescription": "The owner of the model.", + "title": "ModelOwner", + "type": "string" + }, + "ModelVersion": { + "markdownDescription": "The version of the model.", + "title": "ModelVersion", + "type": "number" + }, + "ProblemType": { + "markdownDescription": "The problem being solved with the model.", + "title": "ProblemType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.ModelPackageCreator": { + "additionalProperties": false, + "properties": { + "UserProfileName": { + "markdownDescription": "", + "title": "UserProfileName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.ModelPackageDetails": { + "additionalProperties": false, + "properties": { + "ApprovalDescription": { + "markdownDescription": "", + "title": "ApprovalDescription", + "type": "string" + }, + "CreatedBy": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelPackageCreator", + "markdownDescription": "", + "title": "CreatedBy" + }, + "Domain": { + "markdownDescription": "", + "title": "Domain", + "type": "string" + }, + "InferenceSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.InferenceSpecification", + "markdownDescription": "", + "title": "InferenceSpecification" + }, + "ModelApprovalStatus": { + "markdownDescription": "", + "title": "ModelApprovalStatus", + "type": "string" + }, + "ModelPackageArn": { + "markdownDescription": "", + "title": "ModelPackageArn", + "type": "string" + }, + "ModelPackageDescription": { + "markdownDescription": "", + "title": "ModelPackageDescription", + "type": "string" + }, + "ModelPackageGroupName": { + "markdownDescription": "", + "title": "ModelPackageGroupName", + "type": "string" + }, + "ModelPackageName": { + "markdownDescription": "", + "title": "ModelPackageName", + "type": "string" + }, + "ModelPackageStatus": { + "markdownDescription": "", + "title": "ModelPackageStatus", + "type": "string" + }, + "ModelPackageVersion": { + "markdownDescription": "", + "title": "ModelPackageVersion", + "type": "number" + }, + "SourceAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.SourceAlgorithm" + }, + "markdownDescription": "", + "title": "SourceAlgorithms", + "type": "array" + }, + "Task": { + "markdownDescription": "", + "title": "Task", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.ObjectiveFunction": { + "additionalProperties": false, + "properties": { + "Function": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.Function", + "markdownDescription": "A function object that details optimization direction, metric, and additional descriptions.", + "title": "Function" + }, + "Notes": { + "markdownDescription": "Notes about the object function, including other considerations for possible objective functions.", + "title": "Notes", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.SecurityConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "markdownDescription": "A AWS Key Management Service [key ID](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id) used to encrypt a model card.", + "title": "KmsKeyId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.SourceAlgorithm": { + "additionalProperties": false, + "properties": { + "AlgorithmName": { + "markdownDescription": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.", + "title": "AlgorithmName", + "type": "string" + }, + "ModelDataUrl": { + "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.", + "title": "ModelDataUrl", + "type": "string" + } + }, + "required": [ + "AlgorithmName" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingDetails": { + "additionalProperties": false, + "properties": { + "ObjectiveFunction": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.ObjectiveFunction", + "markdownDescription": "The function that is optimized during model training.", + "title": "ObjectiveFunction" + }, + "TrainingJobDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingJobDetails", + "markdownDescription": "Details about any associated training jobs.", + "title": "TrainingJobDetails" + }, + "TrainingObservations": { + "markdownDescription": "Any observations about training.", + "title": "TrainingObservations", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingEnvironment": { + "additionalProperties": false, + "properties": { + "ContainerImage": { + "items": { + "type": "string" + }, + "markdownDescription": "SageMaker AI inference image URI.", + "title": "ContainerImage", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingHyperParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the hyper parameter.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value specified for the hyper parameter.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingJobDetails": { + "additionalProperties": false, + "properties": { + "HyperParameters": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingHyperParameter" + }, + "markdownDescription": "The hyper parameters used in the training job.", + "title": "HyperParameters", + "type": "array" + }, + "TrainingArn": { + "markdownDescription": "The SageMaker AI training job Amazon Resource Name (ARN)", + "title": "TrainingArn", + "type": "string" + }, + "TrainingDatasets": { + "items": { + "type": "string" + }, + "markdownDescription": "The location of the datasets used to train the model.", + "title": "TrainingDatasets", + "type": "array" + }, + "TrainingEnvironment": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingEnvironment", + "markdownDescription": "The SageMaker AI training job image URI.", + "title": "TrainingEnvironment" + }, + "TrainingMetrics": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingMetric" + }, + "markdownDescription": "The SageMaker AI training job results.", + "title": "TrainingMetrics", + "type": "array" + }, + "UserProvidedHyperParameters": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingHyperParameter" + }, + "markdownDescription": "Additional hyper parameters that you've specified when training the model.", + "title": "UserProvidedHyperParameters", + "type": "array" + }, + "UserProvidedTrainingMetrics": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingMetric" + }, + "markdownDescription": "Custom training job results.", + "title": "UserProvidedTrainingMetrics", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingMetric": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the result from the SageMaker AI training job.", + "title": "Name", + "type": "string" + }, + "Notes": { + "markdownDescription": "Any additional notes describing the result of the training job.", + "title": "Notes", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of a result from the SageMaker AI training job.", + "title": "Value", + "type": "number" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.UserContext": { + "additionalProperties": false, + "properties": { + "DomainId": { + "markdownDescription": "The domain associated with the user.", + "title": "DomainId", + "type": "string" + }, + "UserProfileArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user's profile.", + "title": "UserProfileArn", + "type": "string" + }, + "UserProfileName": { + "markdownDescription": "The name of the user's profile.", + "title": "UserProfileName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "markdownDescription": "", + "title": "EndpointName", + "type": "string" + }, + "JobDefinitionName": { + "markdownDescription": "The name of the model explainability job definition. The name must be unique within an AWS Region in the AWS account.", + "title": "JobDefinitionName", + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources", + "markdownDescription": "Identifies the resources to deploy for a monitoring job.", + "title": "JobResources" + }, + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification", + "markdownDescription": "Configures the model explainability job to run a specified Docker container image.", + "title": "ModelExplainabilityAppSpecification" + }, + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig", + "markdownDescription": "The baseline configuration for a model explainability job.", + "title": "ModelExplainabilityBaselineConfig" + }, + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput", + "markdownDescription": "Inputs for the model explainability job.", + "title": "ModelExplainabilityJobInput" + }, + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig", + "markdownDescription": "The output configuration for monitoring jobs.", + "title": "ModelExplainabilityJobOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig", + "markdownDescription": "Networking options for a model explainability job.", + "title": "NetworkConfig" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.", + "title": "RoleArn", + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition", + "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", + "title": "StoppingCondition" + }, + "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": [ + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelExplainabilityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.BatchTransformInput": { "additionalProperties": false, "properties": { "DataCapturedDestinationS3Uri": { @@ -368289,13 +337979,18 @@ "type": "string" }, "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.DatasetFormat", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.DatasetFormat", "markdownDescription": "The dataset format for your batch transform job.", "title": "DatasetFormat" }, - "ExcludeFeaturesAttribute": { - "markdownDescription": "The attributes of the input data to exclude from the analysis.", - "title": "ExcludeFeaturesAttribute", + "FeaturesAttribute": { + "markdownDescription": "The attributes of the input data that are the input features.", + "title": "FeaturesAttribute", + "type": "string" + }, + "InferenceAttribute": { + "markdownDescription": "The attribute of the input data that represents the ground truth label.", + "title": "InferenceAttribute", "type": "string" }, "LocalPath": { @@ -368303,6 +337998,11 @@ "title": "LocalPath", "type": "string" }, + "ProbabilityAttribute": { + "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "title": "ProbabilityAttribute", + "type": "string" + }, "S3DataDistributionType": { "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", "title": "S3DataDistributionType", @@ -368321,7 +338021,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { "InstanceCount": { @@ -368352,7 +338052,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { "S3Uri": { @@ -368363,7 +338063,7 @@ }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Csv": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.Csv": { "additionalProperties": false, "properties": { "Header": { @@ -368374,16 +338074,16 @@ }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.DatasetFormat": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.DatasetFormat": { "additionalProperties": false, "properties": { "Csv": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Csv", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Csv", "markdownDescription": "", "title": "Csv" }, "Json": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Json", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Json", "markdownDescription": "", "title": "Json" }, @@ -368395,7 +338095,7 @@ }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { "EndpointName": { @@ -368403,9 +338103,14 @@ "title": "EndpointName", "type": "string" }, - "ExcludeFeaturesAttribute": { - "markdownDescription": "The attributes of the input data to exclude from the analysis.", - "title": "ExcludeFeaturesAttribute", + "FeaturesAttribute": { + "markdownDescription": "The attributes of the input data that are the input features.", + "title": "FeaturesAttribute", + "type": "string" + }, + "InferenceAttribute": { + "markdownDescription": "The attribute of the input data that represents the ground truth label.", + "title": "InferenceAttribute", "type": "string" }, "LocalPath": { @@ -368413,6 +338118,11 @@ "title": "LocalPath", "type": "string" }, + "ProbabilityAttribute": { + "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "title": "ProbabilityAttribute", + "type": "string" + }, "S3DataDistributionType": { "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", "title": "S3DataDistributionType", @@ -368430,7 +338140,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Json": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.Json": { "additionalProperties": false, "properties": { "Line": { @@ -368441,187 +338151,74 @@ }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { "additionalProperties": false, "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of arguments for the container used to run the monitoring job.", - "title": "ContainerArguments", - "type": "array" + "ConfigUri": { + "markdownDescription": "JSON formatted Amazon S3 file that defines explainability parameters. For more information on this JSON configuration file, see [Configure model explainability parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-model-explainability-parameters.html) .", + "title": "ConfigUri", + "type": "string" }, - "ContainerEntrypoint": { - "items": { - "type": "string" + "Environment": { + "additionalProperties": true, + "markdownDescription": "Sets the environment variables in the Docker container.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "Specifies the entrypoint for a container used to run the monitoring job.", - "title": "ContainerEntrypoint", - "type": "array" + "title": "Environment", + "type": "object" }, "ImageUri": { - "markdownDescription": "The container image to be run by the monitoring job.", + "markdownDescription": "The container image to be run by the model explainability job.", "title": "ImageUri", "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", - "title": "PostAnalyticsProcessorSourceUri", - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", - "title": "RecordPreprocessorSourceUri", - "type": "string" } }, "required": [ + "ConfigUri", "ImageUri" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { "additionalProperties": false, "properties": { - "CreationTime": { - "markdownDescription": "The time at which the monitoring job was created.", - "title": "CreationTime", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint used to run the monitoring job.", - "title": "EndpointName", - "type": "string" - }, - "FailureReason": { - "markdownDescription": "Contains the reason a monitoring job failed, if it failed.", - "title": "FailureReason", - "type": "string" - }, - "LastModifiedTime": { - "markdownDescription": "A timestamp that indicates the last time the monitoring job was modified.", - "title": "LastModifiedTime", - "type": "string" - }, - "MonitoringExecutionStatus": { - "markdownDescription": "The status of the monitoring job.", - "title": "MonitoringExecutionStatus", - "type": "string" - }, - "MonitoringScheduleName": { - "markdownDescription": "The name of the monitoring schedule.", - "title": "MonitoringScheduleName", - "type": "string" - }, - "ProcessingJobArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the monitoring job.", - "title": "ProcessingJobArn", + "BaseliningJobName": { + "markdownDescription": "The name of the baseline model explainability job.", + "title": "BaseliningJobName", "type": "string" }, - "ScheduledTime": { - "markdownDescription": "The time the monitoring job was scheduled.", - "title": "ScheduledTime", - "type": "string" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource", + "markdownDescription": "The constraints resource for a model explainability job.", + "title": "ConstraintsResource" } }, - "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" - ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { "additionalProperties": false, "properties": { "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BatchTransformInput", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.BatchTransformInput", "markdownDescription": "Input object for the batch transform job.", "title": "BatchTransformInput" }, "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput", - "markdownDescription": "The endpoint for a monitoring job.", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput", + "markdownDescription": "Input object for the endpoint", "title": "EndpointInput" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { - "additionalProperties": false, - "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig", - "markdownDescription": "Baseline configuration used to validate that the data conforms to the specified constraints and statistics", - "title": "BaselineConfig" - }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the Docker container.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Environment", - "type": "object" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification", - "markdownDescription": "Configures the monitoring job to run a specified Docker container image.", - "title": "MonitoringAppSpecification" - }, - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "markdownDescription": "The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker AI Endpoint.", - "title": "MonitoringInputs", - "type": "array" - }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig", - "markdownDescription": "The array of outputs from the monitoring job to be uploaded to Amazon S3.", - "title": "MonitoringOutputConfig" - }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources", - "markdownDescription": "Identifies the resources, ML compute instances, and ML storage volumes to deploy for a monitoring job. In distributed processing, you specify more than one instance.", - "title": "MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig", - "markdownDescription": "Specifies networking options for an monitoring job.", - "title": "NetworkConfig" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker AI can assume to perform tasks on your behalf.", - "title": "RoleArn", - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition", - "markdownDescription": "Specifies a time limit for how long the monitoring job is allowed to run.", - "title": "StoppingCondition" - } - }, - "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output", "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", "title": "S3Output" } @@ -368631,7 +338228,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { "KmsKeyId": { @@ -368641,7 +338238,7 @@ }, "MonitoringOutputs": { "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" }, "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", "title": "MonitoringOutputs", @@ -368653,11 +338250,11 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig", "markdownDescription": "The configuration for the cluster resources used to run the processing job.", "title": "ClusterConfig" } @@ -368667,33 +338264,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { - "additionalProperties": false, - "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition", - "markdownDescription": "Defines the monitoring job.", - "title": "MonitoringJobDefinition" - }, - "MonitoringJobDefinitionName": { - "markdownDescription": "The name of the monitoring job definition to schedule.", - "title": "MonitoringJobDefinitionName", - "type": "string" - }, - "MonitoringType": { - "markdownDescription": "The type of the monitoring job definition to schedule.", - "title": "MonitoringType", - "type": "string" - }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig", - "markdownDescription": "Configures the monitoring schedule.", - "title": "ScheduleConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { "EnableInterContainerTrafficEncryption": { @@ -368707,18 +338278,18 @@ "type": "boolean" }, "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig", - "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig", + "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", "title": "VpcConfig" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { "additionalProperties": false, "properties": { "LocalPath": { - "markdownDescription": "The local path to the S3 storage location where SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", + "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", "title": "LocalPath", "type": "string" }, @@ -368728,7 +338299,7 @@ "type": "string" }, "S3Uri": { - "markdownDescription": "A URI that identifies the S3 storage location where SageMaker saves the results of a monitoring job.", + "markdownDescription": "A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.", "title": "S3Uri", "type": "string" } @@ -368739,42 +338310,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { - "additionalProperties": false, - "properties": { - "DataAnalysisEndTime": { - "markdownDescription": "Sets the end time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to end the window one hour before the start of each monitoring job, you would specify: `\"-PT1H\"` .\n\nThe end time that you specify must not follow the start time that you specify by more than 24 hours. You specify the start time with the `DataAnalysisStartTime` parameter.\n\nIf you set `ScheduleExpression` to `NOW` , this parameter is required.", - "title": "DataAnalysisEndTime", - "type": "string" - }, - "DataAnalysisStartTime": { - "markdownDescription": "Sets the start time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to monitor the five hours of data in your dataset that precede the start of each monitoring job, you would specify: `\"-PT5H\"` .\n\nThe start time that you specify must not precede the end time that you specify by more than 24 hours. You specify the end time with the `DataAnalysisEndTime` parameter.\n\nIf you set `ScheduleExpression` to `NOW` , this parameter is required.", - "title": "DataAnalysisStartTime", - "type": "string" - }, - "ScheduleExpression": { - "markdownDescription": "A cron expression that describes details about the monitoring schedule.\n\nThe supported cron expressions are:\n\n- If you want to set the job to start every hour, use the following:\n\n`Hourly: cron(0 * ? * * *)`\n- If you want to start the job daily:\n\n`cron(0 [00-23] ? * * *)`\n- If you want to run the job one time, immediately, use the following keyword:\n\n`NOW`\n\nFor example, the following are valid cron expressions:\n\n- Daily at noon UTC: `cron(0 12 ? * * *)`\n- Daily at midnight UTC: `cron(0 0 ? * * *)`\n\nTo support running every 6, 12 hours, the following are also supported:\n\n`cron(0 [00-23]/[01-24] ? * * *)`\n\nFor example, the following are valid cron expressions:\n\n- Every 12 hours, starting at 5pm UTC: `cron(0 17/12 ? * * *)`\n- Every two hours starting at midnight: `cron(0 0/2 ? * * *)`\n\n> - Even though the cron expression is set to start at 5PM UTC, note that there could be a delay of 0-20 minutes from the actual requested time to run the execution.\n> - We recommend that if you would like a daily schedule, you do not provide this parameter. Amazon SageMaker AI will pick a time for running every day. \n\nYou can also specify the keyword `NOW` to run the monitoring job immediately, one time, without recurring.", - "title": "ScheduleExpression", - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "markdownDescription": "The S3 URI for the statistics resource.", - "title": "S3Uri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { "MaxRuntimeInSeconds": { @@ -368788,7 +338324,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -368814,102 +338350,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringScheduleAlert": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatapointsToAlert": { - "type": "number" - }, - "EvaluationPeriod": { - "type": "number" - }, - "MonitoringAlertName": { - "type": "string" - }, - "MonitoringScheduleName": { - "type": "string" - } - }, - "required": [ - "DatapointsToAlert", - "EvaluationPeriod", - "MonitoringAlertName", - "MonitoringScheduleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::MonitoringScheduleAlert" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringScheduleAlert.ModelDashboardIndicatorAction": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringScheduleAlert.MonitoringAlertActions": { - "additionalProperties": false, - "properties": { - "ModelDashboardIndicator": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringScheduleAlert.ModelDashboardIndicatorAction" - } - }, - "type": "object" - }, - "AWS::SageMaker::NotebookInstance": { + "AWS::SageMaker::ModelPackage": { "additionalProperties": false, "properties": { "Condition": { @@ -368944,108 +338385,157 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorTypes": { + "AdditionalInferenceSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition" }, - "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", + "markdownDescription": "An array of additional Inference Specification objects.", + "title": "AdditionalInferenceSpecifications", "type": "array" }, - "AdditionalCodeRepositories": { + "AdditionalInferenceSpecificationsToAdd": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition" }, - "markdownDescription": "An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .", - "title": "AdditionalCodeRepositories", + "markdownDescription": "An array of additional Inference Specification objects to be added to the existing array. The total number of additional Inference Specification objects cannot exceed 15. Each additional Inference Specification object specifies artifacts based on this model package that can be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.", + "title": "AdditionalInferenceSpecificationsToAdd", "type": "array" }, - "DefaultCodeRepository": { - "markdownDescription": "The Git repository associated with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .", - "title": "DefaultCodeRepository", + "ApprovalDescription": { + "markdownDescription": "A description provided when the model approval is set.", + "title": "ApprovalDescription", "type": "string" }, - "DirectInternetAccess": { - "markdownDescription": "Sets whether SageMaker AI provides internet access to the notebook instance. If you set this to `Disabled` this notebook instance is able to access resources only in your VPC, and is not be able to connect to SageMaker AI training and endpoint services unless you configure a NAT Gateway in your VPC.\n\nFor more information, see [Notebook Instances Are Internet-Enabled by Default](https://docs.aws.amazon.com/sagemaker/latest/dg/appendix-additional-considerations.html#appendix-notebook-and-internet-access) . You can set the value of this parameter to `Disabled` only if you set a value for the `SubnetId` parameter.", - "title": "DirectInternetAccess", + "CertifyForMarketplace": { + "markdownDescription": "Whether the model package is to be certified to be listed on AWS Marketplace. For information about listing model packages on AWS Marketplace, see [List Your Algorithm or Model Package on AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-mkt-list.html) .", + "title": "CertifyForMarketplace", + "type": "boolean" + }, + "ClientToken": { + "markdownDescription": "A unique token that guarantees that the call to this API is idempotent.", + "title": "ClientToken", "type": "string" }, - "InstanceMetadataServiceConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration", - "markdownDescription": "Information on the IMDS configuration of the notebook instance", - "title": "InstanceMetadataServiceConfiguration" + "CustomerMetadataProperties": { + "additionalProperties": true, + "markdownDescription": "The metadata properties for the model package.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "CustomerMetadataProperties", + "type": "object" }, - "InstanceType": { - "markdownDescription": "The type of ML compute instance to launch for the notebook instance.\n\n> Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.", - "title": "InstanceType", + "Domain": { + "markdownDescription": "The machine learning domain of your model package and its components. Common machine learning domains include computer vision and natural language processing.", + "title": "Domain", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) of a AWS Key Management Service key that SageMaker AI uses to encrypt data on the storage volume attached to your notebook instance. The KMS key you provide must be enabled. For information, see [Enabling and Disabling Keys](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyId", + "DriftCheckBaselines": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckBaselines", + "markdownDescription": "Represents the drift check baselines that can be used when the model monitor is set using the model package.", + "title": "DriftCheckBaselines" + }, + "InferenceSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.InferenceSpecification", + "markdownDescription": "Defines how to perform inference generation after a training job is run.", + "title": "InferenceSpecification" + }, + "MetadataProperties": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetadataProperties", + "markdownDescription": "Metadata properties of the tracking entity, trial, or trial component.", + "title": "MetadataProperties" + }, + "ModelApprovalStatus": { + "markdownDescription": "The approval status of the model. This can be one of the following values.\n\n- `APPROVED` - The model is approved\n- `REJECTED` - The model is rejected.\n- `PENDING_MANUAL_APPROVAL` - The model is waiting for manual approval.", + "title": "ModelApprovalStatus", "type": "string" }, - "LifecycleConfigName": { - "markdownDescription": "The name of a lifecycle configuration to associate with the notebook instance. For information about lifecycle configurations, see [Customize a Notebook Instance](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) in the *Amazon SageMaker Developer Guide* .", - "title": "LifecycleConfigName", + "ModelCard": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelCard", + "markdownDescription": "An Amazon SageMaker Model Card.", + "title": "ModelCard" + }, + "ModelMetrics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelMetrics", + "markdownDescription": "Metrics for the model.", + "title": "ModelMetrics" + }, + "ModelPackageDescription": { + "markdownDescription": "The description of the model package.", + "title": "ModelPackageDescription", "type": "string" }, - "NotebookInstanceName": { - "markdownDescription": "The name of the new notebook instance.", - "title": "NotebookInstanceName", + "ModelPackageGroupName": { + "markdownDescription": "The model group to which the model belongs.", + "title": "ModelPackageGroupName", "type": "string" }, - "PlatformIdentifier": { - "markdownDescription": "The platform identifier of the notebook instance runtime environment. The default value is `notebook-al2-v2` .", - "title": "PlatformIdentifier", + "ModelPackageName": { + "markdownDescription": "The name of the model package. The name can be as follows:\n\n- For a versioned model, the name is automatically generated by SageMaker Model Registry and follows the format ' `ModelPackageGroupName/ModelPackageVersion` '.\n- For an unversioned model, you must provide the name.", + "title": "ModelPackageName", "type": "string" }, - "RoleArn": { - "markdownDescription": "When you send any requests to AWS resources from the notebook instance, SageMaker AI assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so SageMaker AI can perform these tasks. The policy must allow the SageMaker AI service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see [SageMaker AI Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .\n\n> To be able to pass this role to SageMaker AI, the caller of this API must have the `iam:PassRole` permission.", - "title": "RoleArn", + "ModelPackageStatusDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageStatusDetails", + "markdownDescription": "Specifies the validation and image scan statuses of the model package.", + "title": "ModelPackageStatusDetails" + }, + "ModelPackageVersion": { + "markdownDescription": "The version number of a versioned model.", + "title": "ModelPackageVersion", + "type": "number" + }, + "SamplePayloadUrl": { + "markdownDescription": "The Amazon Simple Storage Service path where the sample payload are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).", + "title": "SamplePayloadUrl", "type": "string" }, - "RootAccess": { - "markdownDescription": "Whether root access is enabled or disabled for users of the notebook instance. The default value is `Enabled` .\n\n> Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.", - "title": "RootAccess", + "SecurityConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SecurityConfig", + "markdownDescription": "", + "title": "SecurityConfig" + }, + "SkipModelValidation": { + "markdownDescription": "Indicates if you want to skip model validation.", + "title": "SkipModelValidation", "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.", - "title": "SecurityGroupIds", - "type": "array" + "SourceAlgorithmSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SourceAlgorithmSpecification", + "markdownDescription": "A list of algorithms that were used to create a model package.", + "title": "SourceAlgorithmSpecification" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.", - "title": "SubnetId", + "SourceUri": { + "markdownDescription": "The URI of the source for the model package.", + "title": "SourceUri", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .\n\nYou can add tags later by using the `CreateTags` API.", + "markdownDescription": "A list of the tags associated with the model package. For more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference Guide* .", "title": "Tags", "type": "array" }, - "VolumeSizeInGB": { - "markdownDescription": "The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.\n\n> Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.", - "title": "VolumeSizeInGB", - "type": "number" + "Task": { + "markdownDescription": "The machine learning task your model package accomplishes. Common machine learning tasks include object detection and image classification.", + "title": "Task", + "type": "string" + }, + "ValidationSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ValidationSpecification", + "markdownDescription": "Specifies batch transform jobs that SageMaker runs to validate your model package.", + "title": "ValidationSpecification" } }, - "required": [ - "InstanceType", - "RoleArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::NotebookInstance" + "AWS::SageMaker::ModelPackage" ], "type": "string" }, @@ -369059,686 +338549,838 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { + "AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition": { "additionalProperties": false, "properties": { - "MinimumInstanceMetadataServiceVersion": { - "markdownDescription": "Indicates the minimum IMDS version that the notebook instance supports. When passed as part of `CreateNotebookInstance` , if no value is selected, then it defaults to IMDSv1. This means that both IMDSv1 and IMDSv2 are supported. If passed as part of `UpdateNotebookInstance` , there is no default.", - "title": "MinimumInstanceMetadataServiceVersion", + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition" + }, + "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", + "title": "Containers", + "type": "array" + }, + "Description": { + "markdownDescription": "A description of the additional Inference specification", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "A unique name to identify the additional inference specification. The name must be unique within the list of your additional inference specifications for a particular model package.", + "title": "Name", "type": "string" + }, + "SupportedContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported MIME types for the input data.", + "title": "SupportedContentTypes", + "type": "array" + }, + "SupportedRealtimeInferenceInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the instance types that are used to generate inferences in real-time.", + "title": "SupportedRealtimeInferenceInstanceTypes", + "type": "array" + }, + "SupportedResponseMIMETypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported MIME types for the output data.", + "title": "SupportedResponseMIMETypes", + "type": "array" + }, + "SupportedTransformInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.", + "title": "SupportedTransformInstanceTypes", + "type": "array" } }, "required": [ - "MinimumInstanceMetadataServiceVersion" + "Containers", + "Name" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "AWS::SageMaker::ModelPackage.Bias": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "PostTrainingReport": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The post-training bias report for a model.", + "title": "PostTrainingReport" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PreTrainingReport": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The pre-training bias report for a model.", + "title": "PreTrainingReport" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Report": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The bias report for a model", + "title": "Report" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.S3DataSource", + "markdownDescription": "The S3 location of the data source that is associated with a channel.", + "title": "S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckBaselines": { + "additionalProperties": false, + "properties": { + "Bias": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckBias", + "markdownDescription": "Represents the drift check bias baselines that can be used when the model monitor is set using the model package.", + "title": "Bias" }, - "Metadata": { - "type": "object" + "Explainability": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckExplainability", + "markdownDescription": "Represents the drift check explainability baselines that can be used when the model monitor is set using the model package.", + "title": "Explainability" }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotebookInstanceLifecycleConfigName": { - "markdownDescription": "The name of the lifecycle configuration.", - "title": "NotebookInstanceLifecycleConfigName", - "type": "string" - }, - "OnCreate": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "markdownDescription": "A shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.", - "title": "OnCreate", - "type": "array" - }, - "OnStart": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "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" - } - }, - "type": "object" + "ModelDataQuality": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckModelDataQuality", + "markdownDescription": "Represents the drift check model data quality baselines that can be used when the model monitor is set using the model package.", + "title": "ModelDataQuality" }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" - ], + "ModelQuality": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckModelQuality", + "markdownDescription": "Represents the drift check model quality baselines that can be used when the model monitor is set using the model package.", + "title": "ModelQuality" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckBias": { + "additionalProperties": false, + "properties": { + "ConfigFile": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.FileSource", + "markdownDescription": "The bias config file for a model.", + "title": "ConfigFile" + }, + "PostTrainingConstraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The post-training constraints.", + "title": "PostTrainingConstraints" + }, + "PreTrainingConstraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The pre-training constraints.", + "title": "PreTrainingConstraints" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckExplainability": { + "additionalProperties": false, + "properties": { + "ConfigFile": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.FileSource", + "markdownDescription": "The explainability config file for the model.", + "title": "ConfigFile" + }, + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check explainability constraints.", + "title": "Constraints" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckModelDataQuality": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check model data quality constraints.", + "title": "Constraints" + }, + "Statistics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check model data quality statistics.", + "title": "Statistics" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckModelQuality": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check model quality constraints.", + "title": "Constraints" + }, + "Statistics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check model quality statistics.", + "title": "Statistics" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.Explainability": { + "additionalProperties": false, + "properties": { + "Report": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The explainability report for a model.", + "title": "Report" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.FileSource": { + "additionalProperties": false, + "properties": { + "ContentDigest": { + "markdownDescription": "The digest of the file source.", + "title": "ContentDigest", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentType": { + "markdownDescription": "The type of content stored in the file source.", + "title": "ContentType", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the file source.", + "title": "S3Uri", "type": "string" } }, "required": [ - "Type" + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "AWS::SageMaker::ModelPackage.InferenceSpecification": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.", - "title": "Content", - "type": "string" + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition" + }, + "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", + "title": "Containers", + "type": "array" + }, + "SupportedContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported MIME types for the input data.", + "title": "SupportedContentTypes", + "type": "array" + }, + "SupportedRealtimeInferenceInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the instance types that are used to generate inferences in real-time.\n\nThis parameter is required for unversioned models, and optional for versioned models.", + "title": "SupportedRealtimeInferenceInstanceTypes", + "type": "array" + }, + "SupportedResponseMIMETypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported MIME types for the output data.", + "title": "SupportedResponseMIMETypes", + "type": "array" + }, + "SupportedTransformInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.\n\nThis parameter is required for unversioned models, and optional for versioned models.", + "title": "SupportedTransformInstanceTypes", + "type": "array" } }, + "required": [ + "Containers", + "SupportedContentTypes", + "SupportedResponseMIMETypes" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob": { + "AWS::SageMaker::ModelPackage.MetadataProperties": { "additionalProperties": false, "properties": { - "Condition": { + "CommitId": { + "markdownDescription": "The commit ID.", + "title": "CommitId", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "GeneratedBy": { + "markdownDescription": "The entity this entity was generated by.", + "title": "GeneratedBy", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ProjectId": { + "markdownDescription": "The project ID.", + "title": "ProjectId", + "type": "string" }, - "Metadata": { - "type": "object" + "Repository": { + "markdownDescription": "The repository.", + "title": "Repository", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.MetricsSource": { + "additionalProperties": false, + "properties": { + "ContentDigest": { + "markdownDescription": "The hash key used for the metrics source.", + "title": "ContentDigest", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentInstanceType": { - "type": "string" - }, - "ModelSource": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationJobModelSource" - }, - "OptimizationConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationConfig" - }, - "type": "array" - }, - "OptimizationEnvironment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OptimizationJobName": { - "type": "string" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationJobOutputConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationVpcConfig" - } - }, - "required": [ - "DeploymentInstanceType", - "ModelSource", - "OptimizationConfigs", - "OptimizationJobName", - "OutputConfig", - "RoleArn", - "StoppingCondition" - ], - "type": "object" + "ContentType": { + "markdownDescription": "The metric source content type.", + "title": "ContentType", + "type": "string" }, - "Type": { - "enum": [ - "AWS::SageMaker::OptimizationJob" - ], + "S3Uri": { + "markdownDescription": "The S3 URI for the metrics source.", + "title": "S3Uri", + "type": "string" + } + }, + "required": [ + "ContentType", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelAccessConfig": { + "additionalProperties": false, + "properties": { + "AcceptEula": { + "markdownDescription": "Specifies agreement to the model end-user license agreement (EULA). The `AcceptEula` value must be explicitly defined as `True` in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", + "title": "AcceptEula", + "type": "boolean" + } + }, + "required": [ + "AcceptEula" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelCard": { + "additionalProperties": false, + "properties": { + "ModelCardContent": { + "markdownDescription": "", + "title": "ModelCardContent", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ModelCardStatus": { + "markdownDescription": "The approval status of the model card within your organization. Different organizations might have different criteria for model card review and approval.\n\n- `Draft` : The model card is a work in progress.\n- `PendingReview` : The model card is pending review.\n- `Approved` : The model card is approved.\n- `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.", + "title": "ModelCardStatus", + "type": "string" + } + }, + "required": [ + "ModelCardContent", + "ModelCardStatus" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelDataQuality": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "Data quality constraints for a model.", + "title": "Constraints" + }, + "Statistics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "Data quality statistics for a model.", + "title": "Statistics" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.S3ModelDataSource", + "markdownDescription": "Specifies the S3 location of ML model data to deploy.", + "title": "S3DataSource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelInput": { + "additionalProperties": false, + "properties": { + "DataInputConfig": { + "markdownDescription": "The input configuration object for the model.", + "title": "DataInputConfig", "type": "string" } }, "required": [ - "Type", - "Properties" + "DataInputConfig" ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.ModelCompilationConfig": { + "AWS::SageMaker::ModelPackage.ModelMetrics": { "additionalProperties": false, "properties": { - "Image": { - "type": "string" + "Bias": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.Bias", + "markdownDescription": "Metrics that measure bias in a model.", + "title": "Bias" }, - "OverrideEnvironment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Explainability": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.Explainability", + "markdownDescription": "Metrics that help explain a model.", + "title": "Explainability" + }, + "ModelDataQuality": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelDataQuality", + "markdownDescription": "Metrics that measure the quality of the input data for a model.", + "title": "ModelDataQuality" + }, + "ModelQuality": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelQuality", + "markdownDescription": "Metrics that measure the quality of a model.", + "title": "ModelQuality" } }, "type": "object" }, - "AWS::SageMaker::OptimizationJob.ModelQuantizationConfig": { + "AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition": { "additionalProperties": false, "properties": { - "Image": { + "ContainerHostname": { + "markdownDescription": "The DNS host name for the Docker container.", + "title": "ContainerHostname", "type": "string" }, - "OverrideEnvironment": { + "Environment": { "additionalProperties": true, + "markdownDescription": "The environment variables to set in the Docker container. Each key and value in the `Environment` string to string map can have length of up to 1024. We support up to 16 entries in the map.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "Environment", "type": "object" + }, + "Framework": { + "markdownDescription": "The machine learning framework of the model package container image.", + "title": "Framework", + "type": "string" + }, + "FrameworkVersion": { + "markdownDescription": "The framework version of the Model Package Container Image.", + "title": "FrameworkVersion", + "type": "string" + }, + "Image": { + "markdownDescription": "The Amazon Elastic Container Registry (Amazon ECR) path where inference code is stored.\n\nIf you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .", + "title": "Image", + "type": "string" + }, + "ImageDigest": { + "markdownDescription": "An MD5 hash of the training algorithm that identifies the Docker image used for training.", + "title": "ImageDigest", + "type": "string" + }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelDataSource", + "markdownDescription": "Specifies the location of ML model data to deploy during endpoint creation.", + "title": "ModelDataSource" + }, + "ModelDataUrl": { + "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same region as the model package.", + "title": "ModelDataUrl", + "type": "string" + }, + "ModelInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelInput", + "markdownDescription": "A structure with Model Input details.", + "title": "ModelInput" + }, + "NearestModelName": { + "markdownDescription": "The name of a pre-trained machine learning benchmarked by Amazon SageMaker Inference Recommender model that matches your model. You can find a list of benchmarked models by calling `ListModelMetadata` .", + "title": "NearestModelName", + "type": "string" } }, + "required": [ + "Image" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.ModelShardingConfig": { + "AWS::SageMaker::ModelPackage.ModelPackageStatusDetails": { "additionalProperties": false, "properties": { - "Image": { - "type": "string" - }, - "OverrideEnvironment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "ValidationStatuses": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageStatusItem" }, - "type": "object" + "markdownDescription": "The validation status of the model package.", + "title": "ValidationStatuses", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationConfig": { + "AWS::SageMaker::ModelPackage.ModelPackageStatusItem": { "additionalProperties": false, "properties": { - "ModelCompilationConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.ModelCompilationConfig" + "FailureReason": { + "markdownDescription": "if the overall status is `Failed` , the reason for the failure.", + "title": "FailureReason", + "type": "string" }, - "ModelQuantizationConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.ModelQuantizationConfig" + "Name": { + "markdownDescription": "The name of the model package for which the overall status is being reported.", + "title": "Name", + "type": "string" }, - "ModelShardingConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.ModelShardingConfig" + "Status": { + "markdownDescription": "The current status.", + "title": "Status", + "type": "string" } }, + "required": [ + "Name", + "Status" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationJobModelSource": { + "AWS::SageMaker::ModelPackage.ModelQuality": { "additionalProperties": false, "properties": { - "S3": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationJobModelSourceS3" + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "Model quality constraints.", + "title": "Constraints" + }, + "Statistics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "Model quality statistics.", + "title": "Statistics" } }, "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationJobModelSourceS3": { + "AWS::SageMaker::ModelPackage.S3DataSource": { "additionalProperties": false, "properties": { + "S3DataType": { + "markdownDescription": "If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.\n\nIf you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.\n\nIf you choose `AugmentedManifestFile` , `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .\n\nIf you choose `Converse` , `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.", + "title": "S3DataType", + "type": "string" + }, "S3Uri": { + "markdownDescription": "Depending on the value specified for the `S3DataType` , identifies either a key name prefix or a manifest. For example:\n\n- A key name prefix might look like this: `s3://bucketname/exampleprefix/`\n- A manifest might look like this: `s3://bucketname/example.manifest`\n\nA manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.\n\nThe following code example shows a valid manifest format:\n\n`[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},`\n\n`\"relative/path/to/custdata-1\",`\n\n`\"relative/path/custdata-2\",`\n\n`...`\n\n`\"relative/path/custdata-N\"`\n\n`]`\n\nThis JSON is equivalent to the following `S3Uri` list:\n\n`s3://customer_bucket/some/prefix/relative/path/to/custdata-1`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-2`\n\n`...`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-N`\n\nThe complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.\n\nYour input bucket must be located in same AWS region as your training job.", + "title": "S3Uri", "type": "string" } }, + "required": [ + "S3DataType", + "S3Uri" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationJobOutputConfig": { + "AWS::SageMaker::ModelPackage.S3ModelDataSource": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "CompressionType": { + "markdownDescription": "Specifies how the ML model data is prepared.\n\nIf you choose `Gzip` and choose `S3Object` as the value of `S3DataType` , `S3Uri` identifies an object that is a gzip-compressed TAR archive. SageMaker will attempt to decompress and untar the object during model deployment.\n\nIf you choose `None` and chooose `S3Object` as the value of `S3DataType` , `S3Uri` identifies an object that represents an uncompressed ML model to deploy.\n\nIf you choose None and choose `S3Prefix` as the value of `S3DataType` , `S3Uri` identifies a key name prefix, under which all objects represents the uncompressed ML model to deploy.\n\nIf you choose None, then SageMaker will follow rules below when creating model data files under /opt/ml/model directory for use by your inference code:\n\n- If you choose `S3Object` as the value of `S3DataType` , then SageMaker will split the key of the S3 object referenced by `S3Uri` by slash (/), and use the last part as the filename of the file holding the content of the S3 object.\n- If you choose `S3Prefix` as the value of `S3DataType` , then for each S3 object under the key name pefix referenced by `S3Uri` , SageMaker will trim its key by the prefix, and use the remainder as the path (relative to `/opt/ml/model` ) of the file holding the content of the S3 object. SageMaker will split the remainder by slash (/), using intermediate parts as directory names and the last part as filename of the file holding the content of the S3 object.\n- Do not use any of the following as file names or directory names:\n\n- An empty or blank string\n- A string which contains null bytes\n- A string longer than 255 bytes\n- A single dot ( `.` )\n- A double dot ( `..` )\n- Ambiguous file names will result in model deployment failure. For example, if your uncompressed ML model consists of two S3 objects `s3://mybucket/model/weights` and `s3://mybucket/model/weights/part1` and you specify `s3://mybucket/model/` as the value of `S3Uri` and `S3Prefix` as the value of `S3DataType` , then it will result in name clash between `/opt/ml/model/weights` (a regular file) and `/opt/ml/model/weights/` (a directory).\n- Do not organize the model artifacts in [S3 console using folders](https://docs.aws.amazon.com//AmazonS3/latest/userguide/using-folders.html) . When you create a folder in S3 console, S3 creates a 0-byte object with a key set to the folder name you provide. They key of the 0-byte object ends with a slash (/) which violates SageMaker restrictions on model artifact file names, leading to model deployment failure.", + "title": "CompressionType", "type": "string" }, - "S3OutputLocation": { + "ModelAccessConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelAccessConfig", + "markdownDescription": "Specifies the access configuration file for the ML model. You can explicitly accept the model end-user license agreement (EULA) within the `ModelAccessConfig` . You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", + "title": "ModelAccessConfig" + }, + "S3DataType": { + "markdownDescription": "Specifies the type of ML model data to deploy.\n\nIf you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix as part of the ML model data to deploy. A valid key name prefix identified by `S3Uri` always ends with a forward slash (/).\n\nIf you choose `S3Object` , `S3Uri` identifies an object that is the ML model data to deploy.", + "title": "S3DataType", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "Specifies the S3 path of ML model data to deploy.", + "title": "S3Uri", "type": "string" } }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationVpcConfig": { + "AWS::SageMaker::ModelPackage.SecurityConfig": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "KmsKeyId": { + "markdownDescription": "", + "title": "KmsKeyId", + "type": "string" + } + }, + "required": [ + "KmsKeyId" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.SourceAlgorithm": { + "additionalProperties": false, + "properties": { + "AlgorithmName": { + "markdownDescription": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.", + "title": "AlgorithmName", + "type": "string" }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" + "ModelDataUrl": { + "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.", + "title": "ModelDataUrl", + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "AlgorithmName" ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.StoppingCondition": { + "AWS::SageMaker::ModelPackage.SourceAlgorithmSpecification": { "additionalProperties": false, "properties": { - "MaxRuntimeInSeconds": { - "type": "number" + "SourceAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SourceAlgorithm" + }, + "markdownDescription": "A list of the algorithms that were used to create a model package.", + "title": "SourceAlgorithms", + "type": "array" } }, + "required": [ + "SourceAlgorithms" + ], "type": "object" }, - "AWS::SageMaker::PartnerApp": { + "AWS::SageMaker::ModelPackage.TransformInput": { "additionalProperties": false, "properties": { - "Condition": { + "CompressionType": { + "markdownDescription": "If your transform data is compressed, specify the compression type. Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is `None` .", + "title": "CompressionType", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentType": { + "markdownDescription": "The multipurpose internet mail extension (MIME) type of the data. Amazon SageMaker uses the MIME type with each http call to transfer data to the transform job.", + "title": "ContentType", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppVersion": { - "markdownDescription": "", - "title": "AppVersion", - "type": "string" - }, - "ApplicationConfig": { - "$ref": "#/definitions/AWS::SageMaker::PartnerApp.PartnerAppConfig", - "markdownDescription": "Configuration settings for the Partner AI App.", - "title": "ApplicationConfig" - }, - "AuthType": { - "markdownDescription": "Defines the authentication type used for the Partner AI App.", - "title": "AuthType", - "type": "string" - }, - "EnableAutoMinorVersionUpgrade": { - "markdownDescription": "", - "title": "EnableAutoMinorVersionUpgrade", - "type": "boolean" - }, - "EnableIamSessionBasedIdentity": { - "markdownDescription": "Enables IAM Session based Identity for PartnerApp.", - "title": "EnableIamSessionBasedIdentity", - "type": "boolean" - }, - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role of the user.", - "title": "ExecutionRoleArn", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The AWS KMS customer managed key used to encrypt the data associated with the PartnerApp.", - "title": "KmsKeyId", - "type": "string" - }, - "MaintenanceConfig": { - "$ref": "#/definitions/AWS::SageMaker::PartnerApp.PartnerAppMaintenanceConfig", - "markdownDescription": "A collection of settings that specify the maintenance schedule for the PartnerApp.", - "title": "MaintenanceConfig" - }, - "Name": { - "markdownDescription": "The name of the Partner AI App. This name must be unique within your account and region.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags to apply to the PartnerApp.", - "title": "Tags", - "type": "array" - }, - "Tier": { - "markdownDescription": "Specifies the tier or level of the Partner AI App. The tier size impacts the speed and capabilities of the application. For more information, see [Set up Partner AI Apps](https://docs.aws.amazon.com/sagemaker/latest/dg/partner-app-onboard.html) .", - "title": "Tier", - "type": "string" - }, - "Type": { - "markdownDescription": "Specifies the type of Partner AI App being created.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "AuthType", - "ExecutionRoleArn", - "Name", - "Tier", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::PartnerApp" - ], - "type": "string" + "DataSource": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DataSource", + "markdownDescription": "Describes the location of the channel data, which is, the S3 location of the input data that the model can consume.", + "title": "DataSource" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SplitType": { + "markdownDescription": "The method to use to split the transform job's data files into smaller batches. Splitting is necessary when the total size of each object is too large to fit in a single request. You can also use data splitting to improve performance by processing multiple concurrent mini-batches. The default value for `SplitType` is `None` , which indicates that input data files are not split, and request payloads contain the entire contents of an input object. Set the value of this parameter to `Line` to split records on a newline character boundary. `SplitType` also supports a number of record-oriented binary data formats. Currently, the supported record formats are:\n\n- RecordIO\n- TFRecord\n\nWhen splitting is enabled, the size of a mini-batch depends on the values of the `BatchStrategy` and `MaxPayloadInMB` parameters. When the value of `BatchStrategy` is `MultiRecord` , Amazon SageMaker sends the maximum number of records in each request, up to the `MaxPayloadInMB` limit. If the value of `BatchStrategy` is `SingleRecord` , Amazon SageMaker sends individual records in each request.\n\n> Some data formats represent a record as a binary payload wrapped with extra padding bytes. When splitting is applied to a binary data format, padding is removed if the value of `BatchStrategy` is set to `SingleRecord` . Padding is not removed if the value of `BatchStrategy` is set to `MultiRecord` .\n> \n> For more information about `RecordIO` , see [Create a Dataset Using RecordIO](https://docs.aws.amazon.com/https://mxnet.apache.org/api/faq/recordio) in the MXNet documentation. For more information about `TFRecord` , see [Consuming TFRecord data](https://docs.aws.amazon.com/https://www.tensorflow.org/guide/data#consuming_tfrecord_data) in the TensorFlow documentation.", + "title": "SplitType", "type": "string" } }, "required": [ - "Type", - "Properties" + "DataSource" ], "type": "object" }, - "AWS::SageMaker::PartnerApp.PartnerAppConfig": { + "AWS::SageMaker::ModelPackage.TransformJobDefinition": { "additionalProperties": false, "properties": { - "AdminUsers": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of users that will have administrative access to the Partner AI App.", - "title": "AdminUsers", - "type": "array" + "BatchStrategy": { + "markdownDescription": "A string that determines the number of records included in a single mini-batch.\n\n`SingleRecord` means only one record is used per mini-batch. `MultiRecord` means a mini-batch is set to contain as many records that can fit within the `MaxPayloadInMB` limit.", + "title": "BatchStrategy", + "type": "string" }, - "Arguments": { + "Environment": { "additionalProperties": true, - "markdownDescription": "Additional arguments passed to the Partner AI App during initialization or runtime.", + "markdownDescription": "The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "Arguments", + "title": "Environment", "type": "object" - } - }, - "type": "object" - }, - "AWS::SageMaker::PartnerApp.PartnerAppMaintenanceConfig": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowStart": { - "markdownDescription": "The maintenance window start day and time for the PartnerApp.", - "title": "MaintenanceWindowStart", - "type": "string" + }, + "MaxConcurrentTransforms": { + "markdownDescription": "The maximum number of parallel requests that can be sent to each instance in a transform job. The default value is 1.", + "title": "MaxConcurrentTransforms", + "type": "number" + }, + "MaxPayloadInMB": { + "markdownDescription": "The maximum payload size allowed, in MB. A payload is the data portion of a record (without metadata).", + "title": "MaxPayloadInMB", + "type": "number" + }, + "TransformInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformInput", + "markdownDescription": "A description of the input source and the way the transform job consumes it.", + "title": "TransformInput" + }, + "TransformOutput": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformOutput", + "markdownDescription": "Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.", + "title": "TransformOutput" + }, + "TransformResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformResources", + "markdownDescription": "Identifies the ML compute instances for the transform job.", + "title": "TransformResources" } }, "required": [ - "MaintenanceWindowStart" + "TransformInput", + "TransformOutput", + "TransformResources" ], "type": "object" }, - "AWS::SageMaker::Pipeline": { + "AWS::SageMaker::ModelPackage.TransformOutput": { "additionalProperties": false, "properties": { - "Condition": { + "Accept": { + "markdownDescription": "The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http call to transfer data from the transform job.", + "title": "Accept", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AssembleWith": { + "markdownDescription": "Defines how to assemble the results of the transform job as a single S3 object. Choose a format that is most convenient to you. To concatenate the results in binary format, specify `None` . To add a newline character at the end of every transformed record, specify `Line` .", + "title": "AssembleWith", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Pipeline.ParallelismConfiguration", - "markdownDescription": "The parallelism configuration applied to the pipeline.", - "title": "ParallelismConfiguration" - }, - "PipelineDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Pipeline.PipelineDefinition", - "markdownDescription": "The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.", - "title": "PipelineDefinition" - }, - "PipelineDescription": { - "markdownDescription": "The description of the pipeline.", - "title": "PipelineDescription", - "type": "string" - }, - "PipelineDisplayName": { - "markdownDescription": "The display name of the pipeline.", - "title": "PipelineDisplayName", - "type": "string" - }, - "PipelineName": { - "markdownDescription": "The name of the pipeline.", - "title": "PipelineName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role used to execute the pipeline.", - "title": "RoleArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags of the pipeline.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "PipelineDefinition", - "PipelineName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Pipeline" - ], + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The `KmsKeyId` can be any of the following formats:\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`\n\nIf you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see [KMS-Managed Encryption Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the *Amazon Simple Storage Service Developer Guide.*\n\nThe KMS key policy must grant permission to the IAM role that you specify in your [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see [Using Key Policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3OutputPath": { + "markdownDescription": "The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, `s3://bucket-name/key-name-prefix` .\n\nFor every S3 object used as input for the transform job, batch transform stores the transformed data with an . `out` suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at `s3://bucket-name/input-name-prefix/dataset01/data.csv` , batch transform stores the transformed data at `s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out` . Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an . `out` file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.", + "title": "S3OutputPath", "type": "string" } }, "required": [ - "Type", - "Properties" + "S3OutputPath" ], "type": "object" }, - "AWS::SageMaker::Pipeline.ParallelismConfiguration": { + "AWS::SageMaker::ModelPackage.TransformResources": { "additionalProperties": false, "properties": { - "MaxParallelExecutionSteps": { - "markdownDescription": "The max number of steps that can be executed in parallel.", - "title": "MaxParallelExecutionSteps", + "InstanceCount": { + "markdownDescription": "The number of ML compute instances to use in the transform job. The default value is `1` , and the maximum is `100` . For distributed transform jobs, specify a value greater than `1` .", + "title": "InstanceCount", "type": "number" + }, + "InstanceType": { + "markdownDescription": "The ML compute instance type for the transform job. If you are using built-in algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge or `ml.m5.large` instance types.", + "title": "InstanceType", + "type": "string" + }, + "VolumeKmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job.\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `VolumeKmsKeyId` when using an instance type with local storage.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) . \n\nThe `VolumeKmsKeyId` can be any of the following formats:\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`", + "title": "VolumeKmsKeyId", + "type": "string" } }, "required": [ - "MaxParallelExecutionSteps" + "InstanceCount", + "InstanceType" ], "type": "object" }, - "AWS::SageMaker::Pipeline.PipelineDefinition": { + "AWS::SageMaker::ModelPackage.ValidationProfile": { "additionalProperties": false, "properties": { - "PipelineDefinitionBody": { - "markdownDescription": "The [JSON pipeline definition](https://docs.aws.amazon.com/https://aws-sagemaker-mlops.github.io/sagemaker-model-building-pipeline-definition-JSON-schema/) of the pipeline.", - "title": "PipelineDefinitionBody", + "ProfileName": { + "markdownDescription": "The name of the profile for the model package.", + "title": "ProfileName", "type": "string" }, - "PipelineDefinitionS3Location": { - "$ref": "#/definitions/AWS::SageMaker::Pipeline.S3Location", - "markdownDescription": "The location of the pipeline definition stored in Amazon S3. If specified, SageMaker retrieves the pipeline definition from this location.", - "title": "PipelineDefinitionS3Location" + "TransformJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformJobDefinition", + "markdownDescription": "The `TransformJobDefinition` object that describes the transform job used for the validation of the model package.", + "title": "TransformJobDefinition" } }, + "required": [ + "ProfileName", + "TransformJobDefinition" + ], "type": "object" }, - "AWS::SageMaker::Pipeline.S3Location": { + "AWS::SageMaker::ModelPackage.ValidationSpecification": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the S3 bucket.", - "title": "Bucket", - "type": "string" - }, - "ETag": { - "markdownDescription": "A file checksum of the pipeline definition file.", - "title": "ETag", - "type": "string" - }, - "Key": { - "markdownDescription": "The object key (or key name) which uniquely identifies the object in an S3 bucket.", - "title": "Key", - "type": "string" + "ValidationProfiles": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ValidationProfile" + }, + "markdownDescription": "An array of `ModelPackageValidationProfile` objects, each of which specifies a batch transform job that SageMaker runs to validate your model package.", + "title": "ValidationProfiles", + "type": "array" }, - "Version": { - "markdownDescription": "The version ID of the pipeline definition file. If not specified, Amazon SageMaker will retrieve the latest version.", - "title": "Version", + "ValidationRole": { + "markdownDescription": "The IAM roles to be used for the validation of the model package.", + "title": "ValidationRole", "type": "string" } }, "required": [ - "Bucket", - "Key" + "ValidationProfiles", + "ValidationRole" ], "type": "object" }, - "AWS::SageMaker::PipelineExecution": { + "AWS::SageMaker::ModelPackageGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -369772,12 +339414,39 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "ModelPackageGroupDescription": { + "markdownDescription": "The description for the model group.", + "title": "ModelPackageGroupDescription", + "type": "string" + }, + "ModelPackageGroupName": { + "markdownDescription": "The name of the model group.", + "title": "ModelPackageGroupName", + "type": "string" + }, + "ModelPackageGroupPolicy": { + "markdownDescription": "A resouce policy to control access to a model group. For information about resoure policies, see [Identity-based policies and resource-based policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) in the *AWS Identity and Access Management User Guide.* .", + "title": "ModelPackageGroupPolicy", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ModelPackageGroupName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::PipelineExecution" + "AWS::SageMaker::ModelPackageGroup" ], "type": "string" }, @@ -369791,47 +339460,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::PipelineExecution.IamIdentity": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "PrincipalId": { - "type": "string" - }, - "SourceIdentity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::PipelineExecution.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "MaxParallelExecutionSteps": { - "type": "number" - } - }, - "required": [ - "MaxParallelExecutionSteps" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::PipelineExecution.UserContext": { - "additionalProperties": false, - "properties": { - "IamIdentity": { - "$ref": "#/definitions/AWS::SageMaker::PipelineExecution.IamIdentity" - } - }, - "type": "object" - }, - "AWS::SageMaker::ProcessingJob": { + "AWS::SageMaker::ModelQualityJobDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -369866,84 +339500,77 @@ "Properties": { "additionalProperties": false, "properties": { - "AppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.AppSpecification", - "markdownDescription": "Configuration to run a processing job in a specified container image.", - "title": "AppSpecification" + "EndpointName": { + "markdownDescription": "", + "title": "EndpointName", + "type": "string" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the Docker container.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Environment", - "type": "object" + "JobDefinitionName": { + "markdownDescription": "The name of the monitoring job definition.", + "title": "JobDefinitionName", + "type": "string" }, - "ExperimentConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ExperimentConfig", - "markdownDescription": "Associates a SageMaker job as a trial component with an experiment and trial. Specified when you call the [CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) API.", - "title": "ExperimentConfig" + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources", + "markdownDescription": "Identifies the resources to deploy for a monitoring job.", + "title": "JobResources" }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.NetworkConfig", - "markdownDescription": "Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.", - "title": "NetworkConfig" + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification", + "markdownDescription": "Container image configuration object for the monitoring job.", + "title": "ModelQualityAppSpecification" }, - "ProcessingInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingInputsObject" - }, - "markdownDescription": "List of input configurations for the processing job.", - "title": "ProcessingInputs", - "type": "array" + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig", + "markdownDescription": "Specifies the constraints and baselines for the monitoring job.", + "title": "ModelQualityBaselineConfig" }, - "ProcessingJobName": { - "markdownDescription": "The name of the processing job. If you don't provide a job name, then a unique name is automatically created for the job.", - "title": "ProcessingJobName", - "type": "string" + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput", + "markdownDescription": "A list of the inputs that are monitored. Currently endpoints are supported.", + "title": "ModelQualityJobInput" }, - "ProcessingOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingOutputConfig", - "markdownDescription": "Contains information about the output location for the compiled model and the target device that the model runs on. `TargetDevice` and `TargetPlatform` are mutually exclusive, so you need to choose one between the two to specify your target device or platform. If you cannot find your device you want to use from the `TargetDevice` list, use `TargetPlatform` to describe the platform of your edge device and `CompilerOptions` if there are specific settings that are required or recommended to use for particular TargetPlatform.", - "title": "ProcessingOutputConfig" + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig", + "markdownDescription": "The output configuration for monitoring jobs.", + "title": "ModelQualityJobOutputConfig" }, - "ProcessingResources": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingResources", - "markdownDescription": "Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.", - "title": "ProcessingResources" + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig", + "markdownDescription": "Specifies the network configuration for the monitoring job.", + "title": "NetworkConfig" }, "RoleArn": { - "markdownDescription": "The ARN of the role used to create the processing job.", + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.", "title": "RoleArn", "type": "string" }, "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.StoppingCondition", - "markdownDescription": "Configures conditions under which the processing job should be stopped, such as how long the processing job has been running. After the condition is met, the processing job is stopped.", + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition", + "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", "title": "StoppingCondition" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs. For more information, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL) in the *AWS Billing and Cost Management User Guide* .", + "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": [ - "AppSpecification", - "ProcessingResources", + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ProcessingJob" + "AWS::SageMaker::ModelQualityJobDefinition" ], "type": "string" }, @@ -369962,94 +339589,72 @@ ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.AppSpecification": { + "AWS::SageMaker::ModelQualityJobDefinition.BatchTransformInput": { "additionalProperties": false, "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "The arguments for a container used to run a processing job.", - "title": "ContainerArguments", - "type": "array" + "DataCapturedDestinationS3Uri": { + "markdownDescription": "The Amazon S3 location being used to capture the data.", + "title": "DataCapturedDestinationS3Uri", + "type": "string" }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "markdownDescription": "The entrypoint for a container used to run a processing job.", - "title": "ContainerEntrypoint", - "type": "array" + "DatasetFormat": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.DatasetFormat", + "markdownDescription": "The dataset format for your batch transform job.", + "title": "DatasetFormat" }, - "ImageUri": { - "markdownDescription": "The container image to be run by the processing job.", - "title": "ImageUri", - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ProcessingJob.AthenaDatasetDefinition": { - "additionalProperties": false, - "properties": { - "Catalog": { - "markdownDescription": "The name of the data catalog used in Athena query execution.", - "title": "Catalog", + "EndTimeOffset": { + "markdownDescription": "If specified, monitoring jobs subtract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", + "title": "EndTimeOffset", "type": "string" }, - "Database": { - "markdownDescription": "The name of the database used in the Athena query execution.", - "title": "Database", + "InferenceAttribute": { + "markdownDescription": "The attribute of the input data that represents the ground truth label.", + "title": "InferenceAttribute", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data generated from an Athena query execution.", - "title": "KmsKeyId", + "LocalPath": { + "markdownDescription": "Path to the filesystem where the batch transform data is available to the container.", + "title": "LocalPath", "type": "string" }, - "OutputCompression": { - "markdownDescription": "The compression used for Athena query results.", - "title": "OutputCompression", + "ProbabilityAttribute": { + "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "title": "ProbabilityAttribute", "type": "string" }, - "OutputFormat": { - "markdownDescription": "The data storage format for Athena query results.", - "title": "OutputFormat", - "type": "string" + "ProbabilityThresholdAttribute": { + "markdownDescription": "The threshold for the class probability to be evaluated as a positive result.", + "title": "ProbabilityThresholdAttribute", + "type": "number" }, - "OutputS3Uri": { - "markdownDescription": "The location in Amazon S3 where Athena query results are stored.", - "title": "OutputS3Uri", + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", "type": "string" }, - "QueryString": { - "markdownDescription": "The SQL query statements, to be executed.", - "title": "QueryString", + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", "type": "string" }, - "WorkGroup": { - "markdownDescription": "The name of the workgroup in which the Athena query is being started.", - "title": "WorkGroup", + "StartTimeOffset": { + "markdownDescription": "If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", + "title": "StartTimeOffset", "type": "string" } }, "required": [ - "Catalog", - "Database", - "OutputFormat", - "OutputS3Uri", - "QueryString" + "DataCapturedDestinationS3Uri", + "DatasetFormat", + "LocalPath" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.ClusterConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { "InstanceCount": { - "markdownDescription": "The number of ML compute instances to use in the processing job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", + "markdownDescription": "The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", "title": "InstanceCount", "type": "number" }, @@ -370059,12 +339664,12 @@ "type": "string" }, "VolumeKmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the processing job.\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `VolumeKmsKeyId` when using an instance type with local storage.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .", + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.", "title": "VolumeKmsKeyId", "type": "string" }, "VolumeSizeInGB": { - "markdownDescription": "The size of the ML storage volume in gigabytes that you want to provision. You must specify sufficient ML storage for your scenario.\n\n> Certain Nitro-based instances include local storage with a fixed total size, dependent on the instance type. When using these instances for processing, Amazon SageMaker mounts the local instance storage instead of Amazon EBS gp2 storage. You can't request a `VolumeSizeInGB` greater than the total size of the local instance storage.\n> \n> For a list of instance types that support local instance storage, including the total size per instance type, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .", + "markdownDescription": "The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.", "title": "VolumeSizeInGB", "type": "number" } @@ -370076,318 +339681,323 @@ ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.DatasetDefinition": { + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "AthenaDatasetDefinition": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.AthenaDatasetDefinition", - "markdownDescription": "Configuration for Athena Dataset Definition input.", - "title": "AthenaDatasetDefinition" - }, - "DataDistributionType": { - "markdownDescription": "Whether the generated dataset is `FullyReplicated` or `ShardedByS3Key` (default).", - "title": "DataDistributionType", - "type": "string" - }, - "InputMode": { - "markdownDescription": "Whether to use `File` or `Pipe` input mode. In `File` (default) mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your algorithm without using the EBS volume.", - "title": "InputMode", + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the constraints resource.", + "title": "S3Uri", "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.Csv": { + "additionalProperties": false, + "properties": { + "Header": { + "markdownDescription": "", + "title": "Header", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.DatasetFormat": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Csv", + "markdownDescription": "", + "title": "Csv" }, - "LocalPath": { - "markdownDescription": "The local path where you want Amazon SageMaker to download the Dataset Definition inputs to run a processing job. `LocalPath` is an absolute path to the input data. This is a required parameter when `AppManaged` is `False` (default).", - "title": "LocalPath", - "type": "string" + "Json": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Json", + "markdownDescription": "", + "title": "Json" }, - "RedshiftDatasetDefinition": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.RedshiftDatasetDefinition", - "markdownDescription": "Configuration for Redshift Dataset Definition input.", - "title": "RedshiftDatasetDefinition" + "Parquet": { + "markdownDescription": "", + "title": "Parquet", + "type": "boolean" } }, "type": "object" }, - "AWS::SageMaker::ProcessingJob.ExperimentConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "ExperimentName": { - "markdownDescription": "The name of an existing experiment to associate with the trial component.", - "title": "ExperimentName", + "EndTimeOffset": { + "markdownDescription": "If specified, monitoring jobs substract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", + "title": "EndTimeOffset", "type": "string" }, - "RunName": { - "markdownDescription": "The name of the experiment run to associate with the trial component.", - "title": "RunName", + "EndpointName": { + "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", + "title": "EndpointName", "type": "string" }, - "TrialComponentDisplayName": { - "markdownDescription": "The display name for the trial component. If this key isn't specified, the display name is the trial component name.", - "title": "TrialComponentDisplayName", + "InferenceAttribute": { + "markdownDescription": "The attribute of the input data that represents the ground truth label.", + "title": "InferenceAttribute", "type": "string" }, - "TrialName": { - "markdownDescription": "The name of an existing trial to associate the trial component with. If not specified, a new trial is created.", - "title": "TrialName", + "LocalPath": { + "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", + "title": "LocalPath", + "type": "string" + }, + "ProbabilityAttribute": { + "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "title": "ProbabilityAttribute", + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "markdownDescription": "The threshold for the class probability to be evaluated as a positive result.", + "title": "ProbabilityThresholdAttribute", + "type": "number" + }, + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", + "type": "string" + }, + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", + "type": "string" + }, + "StartTimeOffset": { + "markdownDescription": "If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", + "title": "StartTimeOffset", "type": "string" } }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.Json": { + "additionalProperties": false, + "properties": { + "Line": { + "markdownDescription": "", + "title": "Line", + "type": "boolean" + } + }, "type": "object" }, - "AWS::SageMaker::ProcessingJob.FeatureStoreOutput": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { - "FeatureGroupName": { - "markdownDescription": "The name of the Amazon SageMaker FeatureGroup to use as the destination for processing job output. Note that your processing script is responsible for putting records into your Feature Store.", - "title": "FeatureGroupName", + "ContainerArguments": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of arguments for the container used to run the monitoring job.", + "title": "ContainerArguments", + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the entrypoint for a container that the monitoring job runs.", + "title": "ContainerEntrypoint", + "type": "array" + }, + "Environment": { + "additionalProperties": true, + "markdownDescription": "Sets the environment variables in the container that the monitoring job runs.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Environment", + "type": "object" + }, + "ImageUri": { + "markdownDescription": "The address of the container image that the monitoring job runs.", + "title": "ImageUri", + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", + "title": "PostAnalyticsProcessorSourceUri", + "type": "string" + }, + "ProblemType": { + "markdownDescription": "The machine learning problem type of the model that the monitoring job monitors.", + "title": "ProblemType", + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", + "title": "RecordPreprocessorSourceUri", "type": "string" } }, "required": [ - "FeatureGroupName" + "ImageUri", + "ProblemType" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.NetworkConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", - "title": "EnableInterContainerTrafficEncryption", - "type": "boolean" - }, - "EnableNetworkIsolation": { - "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", - "title": "EnableNetworkIsolation", - "type": "boolean" + "BaseliningJobName": { + "markdownDescription": "The name of the job that performs baselining for the monitoring job.", + "title": "BaseliningJobName", + "type": "string" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.VpcConfig", - "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", - "title": "VpcConfig" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource", + "markdownDescription": "The constraints resource for a monitoring job.", + "title": "ConstraintsResource" } }, "type": "object" }, - "AWS::SageMaker::ProcessingJob.ProcessingInputsObject": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { "additionalProperties": false, "properties": { - "AppManaged": { - "markdownDescription": "When `True` , input operations such as data download are managed natively by the processing job application. When `False` (default), input operations are managed by Amazon SageMaker.", - "title": "AppManaged", - "type": "boolean" - }, - "DatasetDefinition": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.DatasetDefinition", - "markdownDescription": "Configuration for Dataset Definition inputs. The Dataset Definition input must specify exactly one of either `AthenaDatasetDefinition` or `RedshiftDatasetDefinition` types.", - "title": "DatasetDefinition" + "BatchTransformInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.BatchTransformInput", + "markdownDescription": "Input object for the batch transform job.", + "title": "BatchTransformInput" }, - "InputName": { - "markdownDescription": "The name for the processing job input.", - "title": "InputName", - "type": "string" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput", + "markdownDescription": "Input object for the endpoint", + "title": "EndpointInput" }, - "S3Input": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.S3Input", - "markdownDescription": "Configuration for downloading input data from Amazon S3 into the processing container.", - "title": "S3Input" + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input", + "markdownDescription": "The ground truth label provided for the model.", + "title": "GroundTruthS3Input" } }, "required": [ - "InputName" + "GroundTruthS3Input" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.ProcessingOutputConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the processing job output. `KmsKeyId` can be an ID of a KMS key, ARN of a KMS key, or alias of a KMS key. The `KmsKeyId` is applied to all outputs.", - "title": "KmsKeyId", + "S3Uri": { + "markdownDescription": "The address of the Amazon S3 location of the ground truth labels.", + "title": "S3Uri", "type": "string" - }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingOutputsObject" - }, - "markdownDescription": "An array of outputs configuring the data to upload from the processing container.", - "title": "Outputs", - "type": "array" } }, "required": [ - "Outputs" + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.ProcessingOutputsObject": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { - "AppManaged": { - "markdownDescription": "When `True` , output operations such as data upload are managed natively by the processing job application. When `False` (default), output operations are managed by Amazon SageMaker.", - "title": "AppManaged", - "type": "boolean" - }, - "FeatureStoreOutput": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.FeatureStoreOutput", - "markdownDescription": "Configuration for processing job outputs in Amazon SageMaker Feature Store.", - "title": "FeatureStoreOutput" - }, - "OutputName": { - "markdownDescription": "The name for the processing job output.", - "title": "OutputName", - "type": "string" - }, "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.S3Output", - "markdownDescription": "Configuration for uploading output data to Amazon S3 from the processing container.", + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output", + "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", "title": "S3Output" } }, "required": [ - "OutputName" + "S3Output" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.ProcessingResources": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ClusterConfig", - "markdownDescription": "The configuration for the resources in a cluster used to run the processing job.", - "title": "ClusterConfig" + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS ) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.", + "title": "KmsKeyId", + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" + }, + "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", + "title": "MonitoringOutputs", + "type": "array" } }, "required": [ - "ClusterConfig" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.RedshiftDatasetDefinition": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "ClusterId": { - "markdownDescription": "The Redshift cluster Identifier.", - "title": "ClusterId", - "type": "string" - }, - "ClusterRoleArn": { - "markdownDescription": "The IAM role attached to your Redshift cluster that Amazon SageMaker uses to generate datasets.", - "title": "ClusterRoleArn", - "type": "string" - }, - "Database": { - "markdownDescription": "The name of the Redshift database used in Redshift query execution.", - "title": "Database", - "type": "string" - }, - "DbUser": { - "markdownDescription": "The database user name used in Redshift query execution.", - "title": "DbUser", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data from a Redshift execution.", - "title": "KmsKeyId", - "type": "string" - }, - "OutputCompression": { - "markdownDescription": "The compression used for Redshift query results.", - "title": "OutputCompression", - "type": "string" - }, - "OutputFormat": { - "markdownDescription": "The data storage format for Redshift query results.", - "title": "OutputFormat", - "type": "string" - }, - "OutputS3Uri": { - "markdownDescription": "The location in Amazon S3 where the Redshift query results are stored.", - "title": "OutputS3Uri", - "type": "string" - }, - "QueryString": { - "markdownDescription": "The SQL query statements to be executed.", - "title": "QueryString", - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig", + "markdownDescription": "The configuration for the cluster resources used to run the processing job.", + "title": "ClusterConfig" } }, "required": [ - "ClusterId", - "ClusterRoleArn", - "Database", - "DbUser", - "OutputFormat", - "OutputS3Uri", - "QueryString" + "ClusterConfig" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.S3Input": { + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { - "LocalPath": { - "markdownDescription": "The local path in your container where you want Amazon SageMaker to write input data to. `LocalPath` is an absolute path to the input data and must begin with `/opt/ml/processing/` . `LocalPath` is a required parameter when `AppManaged` is `False` (default).", - "title": "LocalPath", - "type": "string" - }, - "S3CompressionType": { - "markdownDescription": "Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing container. `Gzip` can only be used when `Pipe` mode is specified as the `S3InputMode` . In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your container without using the EBS volume.", - "title": "S3CompressionType", - "type": "string" - }, - "S3DataDistributionType": { - "markdownDescription": "Whether to distribute the data from Amazon S3 to all processing instances with `FullyReplicated` , or whether the data from Amazon S3 is sharded by Amazon S3 key, downloading one shard of data to each processing instance.", - "title": "S3DataDistributionType", - "type": "string" - }, - "S3DataType": { - "markdownDescription": "Whether you use an `S3Prefix` or a `ManifestFile` for the data type. If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing job. If you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for the processing job.", - "title": "S3DataType", - "type": "string" + "EnableInterContainerTrafficEncryption": { + "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", + "title": "EnableInterContainerTrafficEncryption", + "type": "boolean" }, - "S3InputMode": { - "markdownDescription": "Whether to use `File` or `Pipe` input mode. In File mode, Amazon SageMaker copies the data from the input source onto the local ML storage volume before starting your processing container. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your processing container into named pipes without using the ML storage volume.", - "title": "S3InputMode", - "type": "string" + "EnableNetworkIsolation": { + "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", + "title": "EnableNetworkIsolation", + "type": "boolean" }, - "S3Uri": { - "markdownDescription": "The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.", - "title": "S3Uri", - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig", + "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", + "title": "VpcConfig" } }, - "required": [ - "S3DataType", - "S3Uri" - ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.S3Output": { + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { "additionalProperties": false, "properties": { "LocalPath": { - "markdownDescription": "The local path of a directory where you want Amazon SageMaker to upload its contents to Amazon S3. `LocalPath` is an absolute path to a directory containing output files. This directory will be created by the platform and exist when your container's entrypoint is invoked.", + "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", "title": "LocalPath", "type": "string" }, "S3UploadMode": { - "markdownDescription": "Whether to upload the results of the processing job continuously or after the job completes.", + "markdownDescription": "Whether to upload the results of the monitoring job continuously or after the job completes.", "title": "S3UploadMode", "type": "string" }, "S3Uri": { - "markdownDescription": "The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.", + "markdownDescription": "A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.", "title": "S3Uri", "type": "string" } }, "required": [ - "S3UploadMode", + "LocalPath", "S3Uri" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.StoppingCondition": { + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { "MaxRuntimeInSeconds": { @@ -370401,7 +340011,7 @@ ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.VpcConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -370427,7 +340037,7 @@ ], "type": "object" }, - "AWS::SageMaker::Project": { + "AWS::SageMaker::MonitoringSchedule": { "additionalProperties": false, "properties": { "Condition": { @@ -370462,51 +340072,54 @@ "Properties": { "additionalProperties": false, "properties": { - "ProjectDescription": { - "markdownDescription": "The description of the project.", - "title": "ProjectDescription", + "EndpointName": { + "markdownDescription": "The name of the endpoint using the monitoring schedule.", + "title": "EndpointName", "type": "string" }, - "ProjectName": { - "markdownDescription": "The name of the project.", - "title": "ProjectName", + "FailureReason": { + "markdownDescription": "Contains the reason a monitoring job failed, if it failed.", + "title": "FailureReason", "type": "string" }, - "ServiceCatalogProvisionedProductDetails": { - "$ref": "#/definitions/AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails", - "markdownDescription": "Details of a provisioned service catalog product. For information about service catalog, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .", - "title": "ServiceCatalogProvisionedProductDetails" + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary", + "markdownDescription": "Describes metadata on the last execution to run, if there was one.", + "title": "LastMonitoringExecutionSummary" }, - "ServiceCatalogProvisioningDetails": { - "$ref": "#/definitions/AWS::SageMaker::Project.ServiceCatalogProvisioningDetails", - "markdownDescription": "The product ID and provisioning artifact ID to provision a service catalog. For information, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .", - "title": "ServiceCatalogProvisioningDetails" + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig", + "markdownDescription": "The configuration object that specifies the monitoring schedule and defines the monitoring job.", + "title": "MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "markdownDescription": "The name of the monitoring schedule.", + "title": "MonitoringScheduleName", + "type": "string" + }, + "MonitoringScheduleStatus": { + "markdownDescription": "The status of the monitoring schedule.", + "title": "MonitoringScheduleStatus", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "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" - }, - "TemplateProviderDetails": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Project.TemplateProviderDetail" - }, - "markdownDescription": "An array of template providers associated with the project.", - "title": "TemplateProviderDetails", - "type": "array" } }, "required": [ - "ProjectName" + "MonitoringScheduleConfig", + "MonitoringScheduleName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Project" + "AWS::SageMaker::MonitoringSchedule" ], "type": "string" }, @@ -370525,583 +340138,984 @@ ], "type": "object" }, - "AWS::SageMaker::Project.CfnStackParameter": { + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The name of the CloudFormation parameter.", - "title": "Key", - "type": "string" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource", + "markdownDescription": "The Amazon S3 URI for the constraints resource.", + "title": "ConstraintsResource" }, - "Value": { - "markdownDescription": "The value of the CloudFormation parameter.", - "title": "Value", - "type": "string" + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource", + "markdownDescription": "The baseline statistics file in Amazon S3 that the current monitoring job should be validated against.", + "title": "StatisticsResource" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::SageMaker::Project.CfnTemplateProviderDetail": { + "AWS::SageMaker::MonitoringSchedule.BatchTransformInput": { "additionalProperties": false, "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Project.CfnStackParameter" - }, - "markdownDescription": "An array of CloudFormation stack parameters.", - "title": "Parameters", - "type": "array" + "DataCapturedDestinationS3Uri": { + "markdownDescription": "The Amazon S3 location being used to capture the data.", + "title": "DataCapturedDestinationS3Uri", + "type": "string" }, - "RoleARN": { - "markdownDescription": "The IAM role used by CloudFormation to create the stack.", - "title": "RoleARN", + "DatasetFormat": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.DatasetFormat", + "markdownDescription": "The dataset format for your batch transform job.", + "title": "DatasetFormat" + }, + "ExcludeFeaturesAttribute": { + "markdownDescription": "The attributes of the input data to exclude from the analysis.", + "title": "ExcludeFeaturesAttribute", "type": "string" }, - "TemplateName": { - "markdownDescription": "The unique identifier of the template within the project.", - "title": "TemplateName", + "LocalPath": { + "markdownDescription": "Path to the filesystem where the batch transform data is available to the container.", + "title": "LocalPath", "type": "string" }, - "TemplateURL": { - "markdownDescription": "The Amazon S3 URL of the CloudFormation template.", - "title": "TemplateURL", + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", + "type": "string" + }, + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", "type": "string" } }, "required": [ - "TemplateName", - "TemplateURL" + "DataCapturedDestinationS3Uri", + "DatasetFormat", + "LocalPath" ], "type": "object" }, - "AWS::SageMaker::Project.ProvisioningParameter": { + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key that identifies a provisioning parameter.", - "title": "Key", + "InstanceCount": { + "markdownDescription": "The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", + "title": "InstanceCount", + "type": "number" + }, + "InstanceType": { + "markdownDescription": "The ML compute instance type for the processing job.", + "title": "InstanceType", "type": "string" }, - "Value": { - "markdownDescription": "The value of the provisioning parameter.", - "title": "Value", + "VolumeKmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.", + "title": "VolumeKmsKeyId", "type": "string" + }, + "VolumeSizeInGB": { + "markdownDescription": "The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.", + "title": "VolumeSizeInGB", + "type": "number" } }, "required": [ - "Key", - "Value" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails": { + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { "additionalProperties": false, "properties": { - "ProvisionedProductId": { - "markdownDescription": "The ID of the provisioned product.", - "title": "ProvisionedProductId", + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the constraints resource.", + "title": "S3Uri", "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Csv": { + "additionalProperties": false, + "properties": { + "Header": { + "markdownDescription": "", + "title": "Header", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.DatasetFormat": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Csv", + "markdownDescription": "", + "title": "Csv" }, - "ProvisionedProductStatusMessage": { - "markdownDescription": "The current status of the product.\n\n- `AVAILABLE` - Stable state, ready to perform any operation. The most recent operation succeeded and completed.\n- `UNDER_CHANGE` - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.\n- `TAINTED` - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.\n- `ERROR` - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.\n- `PLAN_IN_PROGRESS` - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.", - "title": "ProvisionedProductStatusMessage", - "type": "string" + "Json": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Json", + "markdownDescription": "", + "title": "Json" + }, + "Parquet": { + "markdownDescription": "", + "title": "Parquet", + "type": "boolean" } }, "type": "object" }, - "AWS::SageMaker::Project.ServiceCatalogProvisioningDetails": { + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { "additionalProperties": false, "properties": { - "PathId": { - "markdownDescription": "The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path.", - "title": "PathId", + "EndpointName": { + "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", + "title": "EndpointName", "type": "string" }, - "ProductId": { - "markdownDescription": "The ID of the product to provision.", - "title": "ProductId", + "ExcludeFeaturesAttribute": { + "markdownDescription": "The attributes of the input data to exclude from the analysis.", + "title": "ExcludeFeaturesAttribute", "type": "string" }, - "ProvisioningArtifactId": { - "markdownDescription": "The ID of the provisioning artifact.", - "title": "ProvisioningArtifactId", + "LocalPath": { + "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", + "title": "LocalPath", "type": "string" }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Project.ProvisioningParameter" - }, - "markdownDescription": "A list of key value pairs that you specify when you provision a product.", - "title": "ProvisioningParameters", - "type": "array" + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", + "type": "string" + }, + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", + "type": "string" } }, "required": [ - "ProductId" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::SageMaker::Project.TemplateProviderDetail": { + "AWS::SageMaker::MonitoringSchedule.Json": { "additionalProperties": false, "properties": { - "CfnTemplateProviderDetail": { - "$ref": "#/definitions/AWS::SageMaker::Project.CfnTemplateProviderDetail", - "markdownDescription": "Details about a CloudFormation template provider configuration and associated provisioning information.", - "title": "CfnTemplateProviderDetail" + "Line": { + "markdownDescription": "", + "title": "Line", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of arguments for the container used to run the monitoring job.", + "title": "ContainerArguments", + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the entrypoint for a container used to run the monitoring job.", + "title": "ContainerEntrypoint", + "type": "array" + }, + "ImageUri": { + "markdownDescription": "The container image to be run by the monitoring job.", + "title": "ImageUri", + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", + "title": "PostAnalyticsProcessorSourceUri", + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", + "title": "RecordPreprocessorSourceUri", + "type": "string" } }, "required": [ - "CfnTemplateProviderDetail" + "ImageUri" ], "type": "object" }, - "AWS::SageMaker::Space": { + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { "additionalProperties": false, "properties": { - "Condition": { + "CreationTime": { + "markdownDescription": "The time at which the monitoring job was created.", + "title": "CreationTime", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "EndpointName": { + "markdownDescription": "The name of the endpoint used to run the monitoring job.", + "title": "EndpointName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "FailureReason": { + "markdownDescription": "Contains the reason a monitoring job failed, if it failed.", + "title": "FailureReason", + "type": "string" }, - "Metadata": { - "type": "object" + "LastModifiedTime": { + "markdownDescription": "A timestamp that indicates the last time the monitoring job was modified.", + "title": "LastModifiedTime", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainId": { - "markdownDescription": "The ID of the associated domain.", - "title": "DomainId", - "type": "string" - }, - "OwnershipSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.OwnershipSettings", - "markdownDescription": "The collection of ownership settings for a space.", - "title": "OwnershipSettings" - }, - "SpaceDisplayName": { - "markdownDescription": "The name of the space that appears in the Studio UI.", - "title": "SpaceDisplayName", - "type": "string" - }, - "SpaceName": { - "markdownDescription": "The name of the space.", - "title": "SpaceName", + "MonitoringExecutionStatus": { + "markdownDescription": "The status of the monitoring job.", + "title": "MonitoringExecutionStatus", + "type": "string" + }, + "MonitoringScheduleName": { + "markdownDescription": "The name of the monitoring schedule.", + "title": "MonitoringScheduleName", + "type": "string" + }, + "ProcessingJobArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the monitoring job.", + "title": "ProcessingJobArn", + "type": "string" + }, + "ScheduledTime": { + "markdownDescription": "The time the monitoring job was scheduled.", + "title": "ScheduledTime", + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "BatchTransformInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BatchTransformInput", + "markdownDescription": "Input object for the batch transform job.", + "title": "BatchTransformInput" + }, + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput", + "markdownDescription": "The endpoint for a monitoring job.", + "title": "EndpointInput" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig", + "markdownDescription": "Baseline configuration used to validate that the data conforms to the specified constraints and statistics", + "title": "BaselineConfig" + }, + "Environment": { + "additionalProperties": true, + "markdownDescription": "Sets the environment variables in the Docker container.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "SpaceSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceSettings", - "markdownDescription": "A collection of space settings.", - "title": "SpaceSettings" - }, - "SpaceSharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceSharingSettings", - "markdownDescription": "A collection of space sharing settings.", - "title": "SpaceSharingSettings" - }, - "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": [ - "DomainId", - "SpaceName" - ], + "title": "Environment", "type": "object" }, - "Type": { - "enum": [ - "AWS::SageMaker::Space" - ], - "type": "string" + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification", + "markdownDescription": "Configures the monitoring job to run a specified Docker container image.", + "title": "MonitoringAppSpecification" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "markdownDescription": "The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker AI Endpoint.", + "title": "MonitoringInputs", + "type": "array" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig", + "markdownDescription": "The array of outputs from the monitoring job to be uploaded to Amazon S3.", + "title": "MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources", + "markdownDescription": "Identifies the resources, ML compute instances, and ML storage volumes to deploy for a monitoring job. In distributed processing, you specify more than one instance.", + "title": "MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig", + "markdownDescription": "Specifies networking options for an monitoring job.", + "title": "NetworkConfig" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker AI can assume to perform tasks on your behalf.", + "title": "RoleArn", "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition", + "markdownDescription": "Specifies a time limit for how long the monitoring job is allowed to run.", + "title": "StoppingCondition" } }, "required": [ - "Type", - "Properties" + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" ], "type": "object" }, - "AWS::SageMaker::Space.CodeRepository": { + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { "additionalProperties": false, "properties": { - "RepositoryUrl": { - "markdownDescription": "The URL of the Git repository.", - "title": "RepositoryUrl", + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output", + "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", + "title": "S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS ) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.", + "title": "KmsKeyId", "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", + "title": "MonitoringOutputs", + "type": "array" } }, "required": [ - "RepositoryUrl" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SageMaker::Space.CustomFileSystem": { + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { "additionalProperties": false, "properties": { - "EFSFileSystem": { - "$ref": "#/definitions/AWS::SageMaker::Space.EFSFileSystem", - "markdownDescription": "A custom file system in Amazon EFS.", - "title": "EFSFileSystem" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig", + "markdownDescription": "The configuration for the cluster resources used to run the processing job.", + "title": "ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition", + "markdownDescription": "Defines the monitoring job.", + "title": "MonitoringJobDefinition" }, - "FSxLustreFileSystem": { - "$ref": "#/definitions/AWS::SageMaker::Space.FSxLustreFileSystem", - "markdownDescription": "A custom file system in Amazon FSx for Lustre.", - "title": "FSxLustreFileSystem" + "MonitoringJobDefinitionName": { + "markdownDescription": "The name of the monitoring job definition to schedule.", + "title": "MonitoringJobDefinitionName", + "type": "string" }, - "S3FileSystem": { - "$ref": "#/definitions/AWS::SageMaker::Space.S3FileSystem", - "markdownDescription": "A custom file system in Amazon S3. This is only supported in Amazon SageMaker Unified Studio.", - "title": "S3FileSystem" + "MonitoringType": { + "markdownDescription": "The type of the monitoring job definition to schedule.", + "title": "MonitoringType", + "type": "string" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig", + "markdownDescription": "Configures the monitoring schedule.", + "title": "ScheduleConfig" } }, "type": "object" }, - "AWS::SageMaker::Space.CustomImage": { + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { "additionalProperties": false, "properties": { - "AppImageConfigName": { - "markdownDescription": "The name of the AppImageConfig.", - "title": "AppImageConfigName", + "EnableInterContainerTrafficEncryption": { + "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", + "title": "EnableInterContainerTrafficEncryption", + "type": "boolean" + }, + "EnableNetworkIsolation": { + "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", + "title": "EnableNetworkIsolation", + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig", + "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .", + "title": "VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "markdownDescription": "The local path to the S3 storage location where SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", + "title": "LocalPath", "type": "string" }, - "ImageName": { - "markdownDescription": "The name of the CustomImage. Must be unique to your account.", - "title": "ImageName", + "S3UploadMode": { + "markdownDescription": "Whether to upload the results of the monitoring job continuously or after the job completes.", + "title": "S3UploadMode", "type": "string" }, - "ImageVersionNumber": { - "markdownDescription": "The version number of the CustomImage.", - "title": "ImageVersionNumber", - "type": "number" + "S3Uri": { + "markdownDescription": "A URI that identifies the S3 storage location where SageMaker saves the results of a monitoring job.", + "title": "S3Uri", + "type": "string" } }, "required": [ - "AppImageConfigName", - "ImageName" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::Space.EFSFileSystem": { + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { "additionalProperties": false, "properties": { - "FileSystemId": { - "markdownDescription": "The ID of your Amazon EFS file system.", - "title": "FileSystemId", + "DataAnalysisEndTime": { + "markdownDescription": "Sets the end time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to end the window one hour before the start of each monitoring job, you would specify: `\"-PT1H\"` .\n\nThe end time that you specify must not follow the start time that you specify by more than 24 hours. You specify the start time with the `DataAnalysisStartTime` parameter.\n\nIf you set `ScheduleExpression` to `NOW` , this parameter is required.", + "title": "DataAnalysisEndTime", + "type": "string" + }, + "DataAnalysisStartTime": { + "markdownDescription": "Sets the start time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to monitor the five hours of data in your dataset that precede the start of each monitoring job, you would specify: `\"-PT5H\"` .\n\nThe start time that you specify must not precede the end time that you specify by more than 24 hours. You specify the end time with the `DataAnalysisEndTime` parameter.\n\nIf you set `ScheduleExpression` to `NOW` , this parameter is required.", + "title": "DataAnalysisStartTime", + "type": "string" + }, + "ScheduleExpression": { + "markdownDescription": "A cron expression that describes details about the monitoring schedule.\n\nThe supported cron expressions are:\n\n- If you want to set the job to start every hour, use the following:\n\n`Hourly: cron(0 * ? * * *)`\n- If you want to start the job daily:\n\n`cron(0 [00-23] ? * * *)`\n- If you want to run the job one time, immediately, use the following keyword:\n\n`NOW`\n\nFor example, the following are valid cron expressions:\n\n- Daily at noon UTC: `cron(0 12 ? * * *)`\n- Daily at midnight UTC: `cron(0 0 ? * * *)`\n\nTo support running every 6, 12 hours, the following are also supported:\n\n`cron(0 [00-23]/[01-24] ? * * *)`\n\nFor example, the following are valid cron expressions:\n\n- Every 12 hours, starting at 5pm UTC: `cron(0 17/12 ? * * *)`\n- Every two hours starting at midnight: `cron(0 0/2 ? * * *)`\n\n> - Even though the cron expression is set to start at 5PM UTC, note that there could be a delay of 0-20 minutes from the actual requested time to run the execution.\n> - We recommend that if you would like a daily schedule, you do not provide this parameter. Amazon SageMaker AI will pick a time for running every day. \n\nYou can also specify the keyword `NOW` to run the monitoring job immediately, one time, without recurring.", + "title": "ScheduleExpression", "type": "string" } }, "required": [ - "FileSystemId" + "ScheduleExpression" ], "type": "object" }, - "AWS::SageMaker::Space.EbsStorageSettings": { + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { "additionalProperties": false, "properties": { - "EbsVolumeSizeInGb": { - "markdownDescription": "The size of an EBS storage volume for a space.", - "title": "EbsVolumeSizeInGb", - "type": "number" + "S3Uri": { + "markdownDescription": "The S3 URI for the statistics resource.", + "title": "S3Uri", + "type": "string" } }, - "required": [ - "EbsVolumeSizeInGb" - ], "type": "object" }, - "AWS::SageMaker::Space.FSxLustreFileSystem": { + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { "additionalProperties": false, "properties": { - "FileSystemId": { - "markdownDescription": "Amazon FSx for Lustre file system ID.", - "title": "FileSystemId", - "type": "string" + "MaxRuntimeInSeconds": { + "markdownDescription": "The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.\n\nFor compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.\n\nFor all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.\n\nThe maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.", + "title": "MaxRuntimeInSeconds", + "type": "number" } }, "required": [ - "FileSystemId" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::SageMaker::Space.JupyterServerAppSettings": { + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { "additionalProperties": false, "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the JupyterServer app. If you use the `LifecycleConfigArns` parameter, then this parameter is also required.", - "title": "DefaultResourceSpec" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", + "title": "SecurityGroupIds", + "type": "array" }, - "LifecycleConfigArns": { + "Subnets": { "items": { "type": "string" }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", + "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", + "title": "Subnets", "type": "array" } }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], "type": "object" }, - "AWS::SageMaker::Space.KernelGatewayAppSettings": { + "AWS::SageMaker::NotebookInstance": { "additionalProperties": false, "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Space.CustomImage" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "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" + }, + "markdownDescription": "An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .", + "title": "AdditionalCodeRepositories", + "type": "array" + }, + "DefaultCodeRepository": { + "markdownDescription": "The Git repository associated with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .", + "title": "DefaultCodeRepository", + "type": "string" + }, + "DirectInternetAccess": { + "markdownDescription": "Sets whether SageMaker AI provides internet access to the notebook instance. If you set this to `Disabled` this notebook instance is able to access resources only in your VPC, and is not be able to connect to SageMaker AI training and endpoint services unless you configure a NAT Gateway in your VPC.\n\nFor more information, see [Notebook Instances Are Internet-Enabled by Default](https://docs.aws.amazon.com/sagemaker/latest/dg/appendix-additional-considerations.html#appendix-notebook-and-internet-access) . You can set the value of this parameter to `Disabled` only if you set a value for the `SubnetId` parameter.", + "title": "DirectInternetAccess", + "type": "string" + }, + "InstanceMetadataServiceConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration", + "markdownDescription": "Information on the IMDS configuration of the notebook instance", + "title": "InstanceMetadataServiceConfiguration" + }, + "InstanceType": { + "markdownDescription": "The type of ML compute instance to launch for the notebook instance.\n\n> Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.", + "title": "InstanceType", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) of a AWS Key Management Service key that SageMaker AI uses to encrypt data on the storage volume attached to your notebook instance. The KMS key you provide must be enabled. For information, see [Enabling and Disabling Keys](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyId", + "type": "string" + }, + "LifecycleConfigName": { + "markdownDescription": "The name of a lifecycle configuration to associate with the notebook instance. For information about lifecycle configurations, see [Customize a Notebook Instance](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) in the *Amazon SageMaker Developer Guide* .", + "title": "LifecycleConfigName", + "type": "string" + }, + "NotebookInstanceName": { + "markdownDescription": "The name of the new notebook instance.", + "title": "NotebookInstanceName", + "type": "string" + }, + "PlatformIdentifier": { + "markdownDescription": "The platform identifier of the notebook instance runtime environment. The default value is `notebook-al2-v2` .", + "title": "PlatformIdentifier", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "When you send any requests to AWS resources from the notebook instance, SageMaker AI assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so SageMaker AI can perform these tasks. The policy must allow the SageMaker AI service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see [SageMaker AI Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .\n\n> To be able to pass this role to SageMaker AI, the caller of this API must have the `iam:PassRole` permission.", + "title": "RoleArn", + "type": "string" + }, + "RootAccess": { + "markdownDescription": "Whether root access is enabled or disabled for users of the notebook instance. The default value is `Enabled` .\n\n> Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.", + "title": "RootAccess", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .\n\nYou can add tags later by using the `CreateTags` API.", + "title": "Tags", + "type": "array" + }, + "VolumeSizeInGB": { + "markdownDescription": "The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.\n\n> Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.", + "title": "VolumeSizeInGB", + "type": "number" + } }, - "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a KernelGateway app.\n\nThe maximum number of custom images are as follows.\n\n- On a domain level: 200\n- On a space level: 5\n- On a user profile level: 5", - "title": "CustomImages", - "type": "array" + "required": [ + "InstanceType", + "RoleArn" + ], + "type": "object" }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.\n\n> The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.", - "title": "DefaultResourceSpec" + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstance" + ], + "type": "string" }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::Space.OwnershipSettings": { + "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { "additionalProperties": false, "properties": { - "OwnerUserProfileName": { - "markdownDescription": "The user profile who is the owner of the space.", - "title": "OwnerUserProfileName", + "MinimumInstanceMetadataServiceVersion": { + "markdownDescription": "Indicates the minimum IMDS version that the notebook instance supports. When passed as part of `CreateNotebookInstance` , if no value is selected, then it defaults to IMDSv1. This means that both IMDSv1 and IMDSv2 are supported. If passed as part of `UpdateNotebookInstance` , there is no default.", + "title": "MinimumInstanceMetadataServiceVersion", "type": "string" } }, "required": [ - "OwnerUserProfileName" + "MinimumInstanceMetadataServiceVersion" ], "type": "object" }, - "AWS::SageMaker::Space.ResourceSpec": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { - "InstanceType": { - "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", - "title": "InstanceType", + "Condition": { "type": "string" }, - "LifecycleConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", - "title": "LifecycleConfigArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SageMakerImageArn": { - "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", - "title": "SageMakerImageArn", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotebookInstanceLifecycleConfigName": { + "markdownDescription": "The name of the lifecycle configuration.", + "title": "NotebookInstanceLifecycleConfigName", + "type": "string" + }, + "OnCreate": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "markdownDescription": "A shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.", + "title": "OnCreate", + "type": "array" + }, + "OnStart": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "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" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstanceLifecycleConfig" + ], "type": "string" }, - "SageMakerImageVersionArn": { - "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", - "title": "SageMakerImageVersionArn", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::SageMaker::Space.S3FileSystem": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { "additionalProperties": false, "properties": { - "S3Uri": { - "markdownDescription": "The Amazon S3 URI that specifies the location in S3 where files are stored, which is mounted within the Studio environment. For example: `s3:////` .", - "title": "S3Uri", + "Content": { + "markdownDescription": "A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.", + "title": "Content", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::Space.SpaceAppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceIdleSettings", - "markdownDescription": "Settings related to idle shutdown of Studio applications.", - "title": "IdleSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Space.SpaceCodeEditorAppSettings": { + "AWS::SageMaker::PartnerApp": { "additionalProperties": false, "properties": { - "AppLifecycleManagement": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceAppLifecycleManagement", - "markdownDescription": "Settings that are used to configure and manage the lifecycle of CodeEditor applications in a space.", - "title": "AppLifecycleManagement" + "Condition": { + "type": "string" }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", - "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", - "title": "DefaultResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Space.SpaceIdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "markdownDescription": "The time that SageMaker waits after the application becomes idle before shutting it down.", - "title": "IdleTimeoutInMinutes", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::Space.SpaceJupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "AppLifecycleManagement": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceAppLifecycleManagement", - "markdownDescription": "Settings that are used to configure and manage the lifecycle of JupyterLab applications in a space.", - "title": "AppLifecycleManagement" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CodeRepositories": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Space.CodeRepository" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppVersion": { + "markdownDescription": "", + "title": "AppVersion", + "type": "string" + }, + "ApplicationConfig": { + "$ref": "#/definitions/AWS::SageMaker::PartnerApp.PartnerAppConfig", + "markdownDescription": "Configuration settings for the Partner AI App.", + "title": "ApplicationConfig" + }, + "AuthType": { + "markdownDescription": "Defines the authentication type used for the Partner AI App.", + "title": "AuthType", + "type": "string" + }, + "EnableAutoMinorVersionUpgrade": { + "markdownDescription": "", + "title": "EnableAutoMinorVersionUpgrade", + "type": "boolean" + }, + "EnableIamSessionBasedIdentity": { + "markdownDescription": "Enables IAM Session based Identity for PartnerApp.", + "title": "EnableIamSessionBasedIdentity", + "type": "boolean" + }, + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role of the user.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The AWS KMS customer managed key used to encrypt the data associated with the PartnerApp.", + "title": "KmsKeyId", + "type": "string" + }, + "MaintenanceConfig": { + "$ref": "#/definitions/AWS::SageMaker::PartnerApp.PartnerAppMaintenanceConfig", + "markdownDescription": "A collection of settings that specify the maintenance schedule for the PartnerApp.", + "title": "MaintenanceConfig" + }, + "Name": { + "markdownDescription": "The name of the Partner AI App. This name must be unique within your account and region.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags to apply to the PartnerApp.", + "title": "Tags", + "type": "array" + }, + "Tier": { + "markdownDescription": "Specifies the tier or level of the Partner AI App. The tier size impacts the speed and capabilities of the application. For more information, see [Set up Partner AI Apps](https://docs.aws.amazon.com/sagemaker/latest/dg/partner-app-onboard.html) .", + "title": "Tier", + "type": "string" + }, + "Type": { + "markdownDescription": "Specifies the type of Partner AI App being created.", + "title": "Type", + "type": "string" + } }, - "markdownDescription": "A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.", - "title": "CodeRepositories", - "type": "array" + "required": [ + "AuthType", + "ExecutionRoleArn", + "Name", + "Tier", + "Type" + ], + "type": "object" }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", - "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", - "title": "DefaultResourceSpec" + "Type": { + "enum": [ + "AWS::SageMaker::PartnerApp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::Space.SpaceSettings": { + "AWS::SageMaker::PartnerApp.PartnerAppConfig": { "additionalProperties": false, "properties": { - "AppType": { - "markdownDescription": "The type of app created within the space.\n\nIf using the [UpdateSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateSpace.html) API, you can't change the app type of your space by specifying a different value for this field.", - "title": "AppType", - "type": "string" - }, - "CodeEditorAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceCodeEditorAppSettings", - "markdownDescription": "The Code Editor application settings.", - "title": "CodeEditorAppSettings" - }, - "CustomFileSystems": { + "AdminUsers": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Space.CustomFileSystem" + "type": "string" }, - "markdownDescription": "A file system, created by you, that you assign to a space for an Amazon SageMaker AI Domain. Permitted users can access this file system in Amazon SageMaker AI Studio.", - "title": "CustomFileSystems", + "markdownDescription": "A list of users that will have administrative access to the Partner AI App.", + "title": "AdminUsers", "type": "array" }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceJupyterLabAppSettings", - "markdownDescription": "The settings for the JupyterLab application.", - "title": "JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.JupyterServerAppSettings", - "markdownDescription": "The JupyterServer app settings.", - "title": "JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.KernelGatewayAppSettings", - "markdownDescription": "The KernelGateway app settings.", - "title": "KernelGatewayAppSettings" - }, - "RemoteAccess": { - "markdownDescription": "A setting that enables or disables remote access for a SageMaker space. When enabled, this allows you to connect to the remote space from your local IDE.", - "title": "RemoteAccess", - "type": "string" - }, - "SpaceManagedResources": { - "markdownDescription": "If you enable this option, SageMaker AI creates the following resources on your behalf when you create the space:\n\n- The user profile that possesses the space.\n- The app that the space contains.", - "title": "SpaceManagedResources", - "type": "string" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceStorageSettings", - "markdownDescription": "The storage settings for a space.", - "title": "SpaceStorageSettings" + "Arguments": { + "additionalProperties": true, + "markdownDescription": "Additional arguments passed to the Partner AI App during initialization or runtime.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Arguments", + "type": "object" } }, "type": "object" }, - "AWS::SageMaker::Space.SpaceSharingSettings": { + "AWS::SageMaker::PartnerApp.PartnerAppMaintenanceConfig": { "additionalProperties": false, "properties": { - "SharingType": { - "markdownDescription": "Specifies the sharing type of the space.", - "title": "SharingType", + "MaintenanceWindowStart": { + "markdownDescription": "The maintenance window start day and time for the PartnerApp.", + "title": "MaintenanceWindowStart", "type": "string" } }, "required": [ - "SharingType" + "MaintenanceWindowStart" ], "type": "object" }, - "AWS::SageMaker::Space.SpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "EbsStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.EbsStorageSettings", - "markdownDescription": "A collection of EBS storage settings for a space.", - "title": "EbsStorageSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::StudioLifecycleConfig": { + "AWS::SageMaker::Pipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -371136,40 +341150,55 @@ "Properties": { "additionalProperties": false, "properties": { - "StudioLifecycleConfigAppType": { - "markdownDescription": "The App type to which the Lifecycle Configuration is attached.", - "title": "StudioLifecycleConfigAppType", + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Pipeline.ParallelismConfiguration", + "markdownDescription": "The parallelism configuration applied to the pipeline.", + "title": "ParallelismConfiguration" + }, + "PipelineDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Pipeline.PipelineDefinition", + "markdownDescription": "The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.", + "title": "PipelineDefinition" + }, + "PipelineDescription": { + "markdownDescription": "The description of the pipeline.", + "title": "PipelineDescription", "type": "string" }, - "StudioLifecycleConfigContent": { - "markdownDescription": "", - "title": "StudioLifecycleConfigContent", + "PipelineDisplayName": { + "markdownDescription": "The display name of the pipeline.", + "title": "PipelineDisplayName", "type": "string" }, - "StudioLifecycleConfigName": { - "markdownDescription": "The name of the Amazon SageMaker AI Studio Lifecycle Configuration.", - "title": "StudioLifecycleConfigName", + "PipelineName": { + "markdownDescription": "The name of the pipeline.", + "title": "PipelineName", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role used to execute the pipeline.", + "title": "RoleArn", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "The tags of the pipeline.", "title": "Tags", "type": "array" } }, "required": [ - "StudioLifecycleConfigAppType", - "StudioLifecycleConfigContent", - "StudioLifecycleConfigName" + "PipelineDefinition", + "PipelineName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::StudioLifecycleConfig" + "AWS::SageMaker::Pipeline" ], "type": "string" }, @@ -371188,7 +341217,67 @@ ], "type": "object" }, - "AWS::SageMaker::TrainingJob": { + "AWS::SageMaker::Pipeline.ParallelismConfiguration": { + "additionalProperties": false, + "properties": { + "MaxParallelExecutionSteps": { + "markdownDescription": "The max number of steps that can be executed in parallel.", + "title": "MaxParallelExecutionSteps", + "type": "number" + } + }, + "required": [ + "MaxParallelExecutionSteps" + ], + "type": "object" + }, + "AWS::SageMaker::Pipeline.PipelineDefinition": { + "additionalProperties": false, + "properties": { + "PipelineDefinitionBody": { + "markdownDescription": "The [JSON pipeline definition](https://docs.aws.amazon.com/https://aws-sagemaker-mlops.github.io/sagemaker-model-building-pipeline-definition-JSON-schema/) of the pipeline.", + "title": "PipelineDefinitionBody", + "type": "string" + }, + "PipelineDefinitionS3Location": { + "$ref": "#/definitions/AWS::SageMaker::Pipeline.S3Location", + "markdownDescription": "The location of the pipeline definition stored in Amazon S3. If specified, SageMaker retrieves the pipeline definition from this location.", + "title": "PipelineDefinitionS3Location" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the S3 bucket.", + "title": "Bucket", + "type": "string" + }, + "ETag": { + "markdownDescription": "A file checksum of the pipeline definition file.", + "title": "ETag", + "type": "string" + }, + "Key": { + "markdownDescription": "The object key (or key name) which uniquely identifies the object in an S3 bucket.", + "title": "Key", + "type": "string" + }, + "Version": { + "markdownDescription": "The version ID of the pipeline definition file. If not specified, Amazon SageMaker will retrieve the latest version.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::SageMaker::ProcessingJob": { "additionalProperties": false, "properties": { "Condition": { @@ -371223,116 +341312,84 @@ "Properties": { "additionalProperties": false, "properties": { - "AlgorithmSpecification": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.AlgorithmSpecification" - }, - "CheckpointConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.CheckpointConfig" - }, - "DebugHookConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.DebugHookConfig" - }, - "DebugRuleConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.DebugRuleConfiguration" - }, - "type": "array" - }, - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableManagedSpotTraining": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" + "AppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.AppSpecification", + "markdownDescription": "Configuration to run a processing job in a specified container image.", + "title": "AppSpecification" }, "Environment": { "additionalProperties": true, + "markdownDescription": "Sets the environment variables in the Docker container.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "Environment", "type": "object" }, "ExperimentConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ExperimentConfig" - }, - "HyperParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InfraCheckConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.InfraCheckConfig" - }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.Channel" - }, - "type": "array" - }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.OutputDataConfig" + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ExperimentConfig", + "markdownDescription": "Associates a SageMaker job as a trial component with an experiment and trial. Specified when you call the [CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) API.", + "title": "ExperimentConfig" }, - "ProfilerConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ProfilerConfig" + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.NetworkConfig", + "markdownDescription": "Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.", + "title": "NetworkConfig" }, - "ProfilerRuleConfigurations": { + "ProcessingInputs": { "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ProfilerRuleConfiguration" + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingInputsObject" }, + "markdownDescription": "List of input configurations for the processing job.", + "title": "ProcessingInputs", "type": "array" }, - "RemoteDebugConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.RemoteDebugConfig" + "ProcessingJobName": { + "markdownDescription": "The name of the processing job. If you don't provide a job name, then a unique name is automatically created for the job.", + "title": "ProcessingJobName", + "type": "string" }, - "ResourceConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ResourceConfig" + "ProcessingOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingOutputConfig", + "markdownDescription": "Contains information about the output location for the compiled model and the target device that the model runs on. `TargetDevice` and `TargetPlatform` are mutually exclusive, so you need to choose one between the two to specify your target device or platform. If you cannot find your device you want to use from the `TargetDevice` list, use `TargetPlatform` to describe the platform of your edge device and `CompilerOptions` if there are specific settings that are required or recommended to use for particular TargetPlatform.", + "title": "ProcessingOutputConfig" }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.RetryStrategy" + "ProcessingResources": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingResources", + "markdownDescription": "Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.", + "title": "ProcessingResources" }, "RoleArn": { + "markdownDescription": "The ARN of the role used to create the processing job.", + "title": "RoleArn", "type": "string" }, "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.StoppingCondition" + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.StoppingCondition", + "markdownDescription": "Configures conditions under which the processing job should be stopped, such as how long the processing job has been running. After the condition is met, the processing job is stopped.", + "title": "StoppingCondition" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "An array of key-value pairs. For more information, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL) in the *AWS Billing and Cost Management User Guide* .", + "title": "Tags", "type": "array" - }, - "TensorBoardOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.TensorBoardOutputConfig" - }, - "TrainingJobName": { - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.VpcConfig" } }, "required": [ - "AlgorithmSpecification", - "OutputDataConfig", - "ResourceConfig", - "RoleArn", - "StoppingCondition", - "TrainingJobName" + "AppSpecification", + "ProcessingResources", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::TrainingJob" + "AWS::SageMaker::ProcessingJob" ], "type": "string" }, @@ -371351,540 +341408,462 @@ ], "type": "object" }, - "AWS::SageMaker::TrainingJob.AlgorithmSpecification": { + "AWS::SageMaker::ProcessingJob.AppSpecification": { "additionalProperties": false, "properties": { - "AlgorithmName": { - "type": "string" - }, "ContainerArguments": { "items": { "type": "string" }, + "markdownDescription": "The arguments for a container used to run a processing job.", + "title": "ContainerArguments", "type": "array" }, "ContainerEntrypoint": { "items": { "type": "string" }, + "markdownDescription": "The entrypoint for a container used to run a processing job.", + "title": "ContainerEntrypoint", "type": "array" }, - "EnableSageMakerMetricsTimeSeries": { - "type": "boolean" - }, - "MetricDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.MetricDefinition" - }, - "type": "array" - }, - "TrainingImage": { - "type": "string" - }, - "TrainingImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.TrainingImageConfig" - }, - "TrainingInputMode": { + "ImageUri": { + "markdownDescription": "The container image to be run by the processing job.", + "title": "ImageUri", "type": "string" } }, "required": [ - "TrainingInputMode" + "ImageUri" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.Channel": { + "AWS::SageMaker::ProcessingJob.AthenaDatasetDefinition": { "additionalProperties": false, "properties": { - "ChannelName": { + "Catalog": { + "markdownDescription": "The name of the data catalog used in Athena query execution.", + "title": "Catalog", "type": "string" }, - "CompressionType": { + "Database": { + "markdownDescription": "The name of the database used in the Athena query execution.", + "title": "Database", "type": "string" }, - "ContentType": { + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data generated from an Athena query execution.", + "title": "KmsKeyId", "type": "string" }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.DataSource" + "OutputCompression": { + "markdownDescription": "The compression used for Athena query results.", + "title": "OutputCompression", + "type": "string" }, - "InputMode": { + "OutputFormat": { + "markdownDescription": "The data storage format for Athena query results.", + "title": "OutputFormat", "type": "string" }, - "RecordWrapperType": { + "OutputS3Uri": { + "markdownDescription": "The location in Amazon S3 where Athena query results are stored.", + "title": "OutputS3Uri", "type": "string" }, - "ShuffleConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ShuffleConfig" - } - }, - "required": [ - "ChannelName", - "DataSource" - ], - "type": "object" - }, - "AWS::SageMaker::TrainingJob.CheckpointConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { + "QueryString": { + "markdownDescription": "The SQL query statements, to be executed.", + "title": "QueryString", "type": "string" }, - "S3Uri": { + "WorkGroup": { + "markdownDescription": "The name of the workgroup in which the Athena query is being started.", + "title": "WorkGroup", "type": "string" } }, "required": [ - "S3Uri" + "Catalog", + "Database", + "OutputFormat", + "OutputS3Uri", + "QueryString" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.CollectionConfiguration": { - "additionalProperties": false, - "properties": { - "CollectionName": { - "type": "string" - }, - "CollectionParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.DataSource": { - "additionalProperties": false, - "properties": { - "FileSystemDataSource": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.FileSystemDataSource" - }, - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.S3DataSource" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.DebugHookConfig": { + "AWS::SageMaker::ProcessingJob.ClusterConfig": { "additionalProperties": false, "properties": { - "CollectionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.CollectionConfiguration" - }, - "type": "array" - }, - "HookParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "InstanceCount": { + "markdownDescription": "The number of ML compute instances to use in the processing job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", + "title": "InstanceCount", + "type": "number" }, - "LocalPath": { + "InstanceType": { + "markdownDescription": "The ML compute instance type for the processing job.", + "title": "InstanceType", "type": "string" }, - "S3OutputPath": { + "VolumeKmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the processing job.\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `VolumeKmsKeyId` when using an instance type with local storage.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .", + "title": "VolumeKmsKeyId", "type": "string" + }, + "VolumeSizeInGB": { + "markdownDescription": "The size of the ML storage volume in gigabytes that you want to provision. You must specify sufficient ML storage for your scenario.\n\n> Certain Nitro-based instances include local storage with a fixed total size, dependent on the instance type. When using these instances for processing, Amazon SageMaker mounts the local instance storage instead of Amazon EBS gp2 storage. You can't request a `VolumeSizeInGB` greater than the total size of the local instance storage.\n> \n> For a list of instance types that support local instance storage, including the total size per instance type, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .", + "title": "VolumeSizeInGB", + "type": "number" } }, "required": [ - "S3OutputPath" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.DebugRuleConfiguration": { + "AWS::SageMaker::ProcessingJob.DatasetDefinition": { "additionalProperties": false, "properties": { - "InstanceType": { - "type": "string" - }, - "LocalPath": { - "type": "string" + "AthenaDatasetDefinition": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.AthenaDatasetDefinition", + "markdownDescription": "Configuration for Athena Dataset Definition input.", + "title": "AthenaDatasetDefinition" }, - "RuleConfigurationName": { + "DataDistributionType": { + "markdownDescription": "Whether the generated dataset is `FullyReplicated` or `ShardedByS3Key` (default).", + "title": "DataDistributionType", "type": "string" }, - "RuleEvaluatorImage": { + "InputMode": { + "markdownDescription": "Whether to use `File` or `Pipe` input mode. In `File` (default) mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your algorithm without using the EBS volume.", + "title": "InputMode", "type": "string" }, - "RuleParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "S3OutputPath": { + "LocalPath": { + "markdownDescription": "The local path where you want Amazon SageMaker to download the Dataset Definition inputs to run a processing job. `LocalPath` is an absolute path to the input data. This is a required parameter when `AppManaged` is `False` (default).", + "title": "LocalPath", "type": "string" }, - "VolumeSizeInGB": { - "type": "number" + "RedshiftDatasetDefinition": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.RedshiftDatasetDefinition", + "markdownDescription": "Configuration for Redshift Dataset Definition input.", + "title": "RedshiftDatasetDefinition" } }, - "required": [ - "RuleConfigurationName", - "RuleEvaluatorImage" - ], "type": "object" }, - "AWS::SageMaker::TrainingJob.ExperimentConfig": { + "AWS::SageMaker::ProcessingJob.ExperimentConfig": { "additionalProperties": false, "properties": { "ExperimentName": { + "markdownDescription": "The name of an existing experiment to associate with the trial component.", + "title": "ExperimentName", "type": "string" }, "RunName": { + "markdownDescription": "The name of the experiment run to associate with the trial component.", + "title": "RunName", "type": "string" }, "TrialComponentDisplayName": { + "markdownDescription": "The display name for the trial component. If this key isn't specified, the display name is the trial component name.", + "title": "TrialComponentDisplayName", "type": "string" }, "TrialName": { + "markdownDescription": "The name of an existing trial to associate the trial component with. If not specified, a new trial is created.", + "title": "TrialName", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::TrainingJob.FileSystemDataSource": { + "AWS::SageMaker::ProcessingJob.FeatureStoreOutput": { "additionalProperties": false, "properties": { - "DirectoryPath": { - "type": "string" - }, - "FileSystemAccessMode": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "FileSystemType": { + "FeatureGroupName": { + "markdownDescription": "The name of the Amazon SageMaker FeatureGroup to use as the destination for processing job output. Note that your processing script is responsible for putting records into your Feature Store.", + "title": "FeatureGroupName", "type": "string" } }, "required": [ - "DirectoryPath", - "FileSystemAccessMode", - "FileSystemId", - "FileSystemType" + "FeatureGroupName" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.InfraCheckConfig": { + "AWS::SageMaker::ProcessingJob.NetworkConfig": { "additionalProperties": false, "properties": { - "EnableInfraCheck": { + "EnableInterContainerTrafficEncryption": { + "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", + "title": "EnableInterContainerTrafficEncryption", "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.InstanceGroup": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" }, - "InstanceGroupName": { - "type": "string" + "EnableNetworkIsolation": { + "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", + "title": "EnableNetworkIsolation", + "type": "boolean" }, - "InstanceType": { - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.VpcConfig", + "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", + "title": "VpcConfig" } }, - "required": [ - "InstanceCount", - "InstanceGroupName", - "InstanceType" - ], "type": "object" }, - "AWS::SageMaker::TrainingJob.MetricDefinition": { + "AWS::SageMaker::ProcessingJob.ProcessingInputsObject": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "AppManaged": { + "markdownDescription": "When `True` , input operations such as data download are managed natively by the processing job application. When `False` (default), input operations are managed by Amazon SageMaker.", + "title": "AppManaged", + "type": "boolean" }, - "Regex": { + "DatasetDefinition": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.DatasetDefinition", + "markdownDescription": "Configuration for Dataset Definition inputs. The Dataset Definition input must specify exactly one of either `AthenaDatasetDefinition` or `RedshiftDatasetDefinition` types.", + "title": "DatasetDefinition" + }, + "InputName": { + "markdownDescription": "The name for the processing job input.", + "title": "InputName", "type": "string" + }, + "S3Input": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.S3Input", + "markdownDescription": "Configuration for downloading input data from Amazon S3 into the processing container.", + "title": "S3Input" } }, "required": [ - "Name", - "Regex" + "InputName" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.OutputDataConfig": { + "AWS::SageMaker::ProcessingJob.ProcessingOutputConfig": { "additionalProperties": false, "properties": { - "CompressionType": { - "type": "string" - }, "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the processing job output. `KmsKeyId` can be an ID of a KMS key, ARN of a KMS key, or alias of a KMS key. The `KmsKeyId` is applied to all outputs.", + "title": "KmsKeyId", "type": "string" }, - "S3OutputPath": { - "type": "string" + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingOutputsObject" + }, + "markdownDescription": "An array of outputs configuring the data to upload from the processing container.", + "title": "Outputs", + "type": "array" } }, "required": [ - "S3OutputPath" + "Outputs" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.ProfilerConfig": { + "AWS::SageMaker::ProcessingJob.ProcessingOutputsObject": { "additionalProperties": false, "properties": { - "DisableProfiler": { + "AppManaged": { + "markdownDescription": "When `True` , output operations such as data upload are managed natively by the processing job application. When `False` (default), output operations are managed by Amazon SageMaker.", + "title": "AppManaged", "type": "boolean" }, - "ProfilingIntervalInMilliseconds": { - "type": "number" - }, - "ProfilingParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.ProfilerRuleConfiguration": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "RuleConfigurationName": { - "type": "string" - }, - "RuleEvaluatorImage": { - "type": "string" - }, - "RuleParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "FeatureStoreOutput": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.FeatureStoreOutput", + "markdownDescription": "Configuration for processing job outputs in Amazon SageMaker Feature Store.", + "title": "FeatureStoreOutput" }, - "S3OutputPath": { + "OutputName": { + "markdownDescription": "The name for the processing job output.", + "title": "OutputName", "type": "string" }, - "VolumeSizeInGB": { - "type": "number" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.S3Output", + "markdownDescription": "Configuration for uploading output data to Amazon S3 from the processing container.", + "title": "S3Output" } }, "required": [ - "RuleConfigurationName", - "RuleEvaluatorImage" + "OutputName" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.RemoteDebugConfig": { + "AWS::SageMaker::ProcessingJob.ProcessingResources": { "additionalProperties": false, "properties": { - "EnableRemoteDebug": { - "type": "boolean" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ClusterConfig", + "markdownDescription": "The configuration for the resources in a cluster used to run the processing job.", + "title": "ClusterConfig" } }, + "required": [ + "ClusterConfig" + ], "type": "object" }, - "AWS::SageMaker::TrainingJob.ResourceConfig": { + "AWS::SageMaker::ProcessingJob.RedshiftDatasetDefinition": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceGroups": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.InstanceGroup" - }, - "type": "array" + "ClusterId": { + "markdownDescription": "The Redshift cluster Identifier.", + "title": "ClusterId", + "type": "string" }, - "InstanceType": { + "ClusterRoleArn": { + "markdownDescription": "The IAM role attached to your Redshift cluster that Amazon SageMaker uses to generate datasets.", + "title": "ClusterRoleArn", "type": "string" }, - "KeepAlivePeriodInSeconds": { - "type": "number" + "Database": { + "markdownDescription": "The name of the Redshift database used in Redshift query execution.", + "title": "Database", + "type": "string" }, - "VolumeKmsKeyId": { + "DbUser": { + "markdownDescription": "The database user name used in Redshift query execution.", + "title": "DbUser", "type": "string" }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.RetryStrategy": { - "additionalProperties": false, - "properties": { - "MaximumRetryAttempts": { - "type": "number" - } - }, - "required": [ - "MaximumRetryAttempts" - ], - "type": "object" - }, - "AWS::SageMaker::TrainingJob.S3DataSource": { - "additionalProperties": false, - "properties": { - "AttributeNames": { - "items": { - "type": "string" - }, - "type": "array" + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data from a Redshift execution.", + "title": "KmsKeyId", + "type": "string" }, - "InstanceGroupNames": { - "items": { - "type": "string" - }, - "type": "array" + "OutputCompression": { + "markdownDescription": "The compression used for Redshift query results.", + "title": "OutputCompression", + "type": "string" }, - "S3DataDistributionType": { + "OutputFormat": { + "markdownDescription": "The data storage format for Redshift query results.", + "title": "OutputFormat", "type": "string" }, - "S3DataType": { + "OutputS3Uri": { + "markdownDescription": "The location in Amazon S3 where the Redshift query results are stored.", + "title": "OutputS3Uri", "type": "string" }, - "S3Uri": { + "QueryString": { + "markdownDescription": "The SQL query statements to be executed.", + "title": "QueryString", "type": "string" } }, "required": [ - "S3DataType", - "S3Uri" + "ClusterId", + "ClusterRoleArn", + "Database", + "DbUser", + "OutputFormat", + "OutputS3Uri", + "QueryString" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.SecondaryStatusTransition": { + "AWS::SageMaker::ProcessingJob.S3Input": { "additionalProperties": false, "properties": { - "EndTime": { + "LocalPath": { + "markdownDescription": "The local path in your container where you want Amazon SageMaker to write input data to. `LocalPath` is an absolute path to the input data and must begin with `/opt/ml/processing/` . `LocalPath` is a required parameter when `AppManaged` is `False` (default).", + "title": "LocalPath", "type": "string" }, - "StartTime": { + "S3CompressionType": { + "markdownDescription": "Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing container. `Gzip` can only be used when `Pipe` mode is specified as the `S3InputMode` . In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your container without using the EBS volume.", + "title": "S3CompressionType", "type": "string" }, - "Status": { + "S3DataDistributionType": { + "markdownDescription": "Whether to distribute the data from Amazon S3 to all processing instances with `FullyReplicated` , or whether the data from Amazon S3 is sharded by Amazon S3 key, downloading one shard of data to each processing instance.", + "title": "S3DataDistributionType", "type": "string" }, - "StatusMessage": { + "S3DataType": { + "markdownDescription": "Whether you use an `S3Prefix` or a `ManifestFile` for the data type. If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing job. If you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for the processing job.", + "title": "S3DataType", "type": "string" - } - }, - "required": [ - "StartTime", - "Status" - ], - "type": "object" - }, - "AWS::SageMaker::TrainingJob.ShuffleConfig": { - "additionalProperties": false, - "properties": { - "Seed": { - "type": "number" - } - }, - "required": [ - "Seed" - ], - "type": "object" - }, - "AWS::SageMaker::TrainingJob.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxPendingTimeInSeconds": { - "type": "number" - }, - "MaxRuntimeInSeconds": { - "type": "number" }, - "MaxWaitTimeInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.TensorBoardOutputConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { + "S3InputMode": { + "markdownDescription": "Whether to use `File` or `Pipe` input mode. In File mode, Amazon SageMaker copies the data from the input source onto the local ML storage volume before starting your processing container. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your processing container into named pipes without using the ML storage volume.", + "title": "S3InputMode", "type": "string" }, - "S3OutputPath": { + "S3Uri": { + "markdownDescription": "The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.", + "title": "S3Uri", "type": "string" } }, "required": [ - "S3OutputPath" + "S3DataType", + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.TrainingImageConfig": { + "AWS::SageMaker::ProcessingJob.S3Output": { "additionalProperties": false, "properties": { - "TrainingRepositoryAccessMode": { + "LocalPath": { + "markdownDescription": "The local path of a directory where you want Amazon SageMaker to upload its contents to Amazon S3. `LocalPath` is an absolute path to a directory containing output files. This directory will be created by the platform and exist when your container's entrypoint is invoked.", + "title": "LocalPath", + "type": "string" + }, + "S3UploadMode": { + "markdownDescription": "Whether to upload the results of the processing job continuously or after the job completes.", + "title": "S3UploadMode", "type": "string" }, - "TrainingRepositoryAuthConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.TrainingRepositoryAuthConfig" + "S3Uri": { + "markdownDescription": "The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.", + "title": "S3Uri", + "type": "string" } }, "required": [ - "TrainingRepositoryAccessMode" + "S3UploadMode", + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.TrainingRepositoryAuthConfig": { + "AWS::SageMaker::ProcessingJob.StoppingCondition": { "additionalProperties": false, "properties": { - "TrainingRepositoryCredentialsProviderArn": { - "type": "string" + "MaxRuntimeInSeconds": { + "markdownDescription": "The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.\n\nFor compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.\n\nFor all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.\n\nThe maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.", + "title": "MaxRuntimeInSeconds", + "type": "number" } }, "required": [ - "TrainingRepositoryCredentialsProviderArn" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.VpcConfig": { + "AWS::SageMaker::ProcessingJob.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { "items": { "type": "string" }, + "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", + "title": "SecurityGroupIds", "type": "array" }, "Subnets": { "items": { "type": "string" }, + "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", + "title": "Subnets", "type": "array" } }, @@ -371894,7 +341873,7 @@ ], "type": "object" }, - "AWS::SageMaker::TransformJob": { + "AWS::SageMaker::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -371929,66 +341908,51 @@ "Properties": { "additionalProperties": false, "properties": { - "BatchStrategy": { + "ProjectDescription": { + "markdownDescription": "The description of the project.", + "title": "ProjectDescription", "type": "string" }, - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.DataCaptureConfig" - }, - "DataProcessing": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.DataProcessing" - }, - "Environment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ExperimentConfig": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.ExperimentConfig" - }, - "MaxConcurrentTransforms": { - "type": "number" - }, - "MaxPayloadInMB": { - "type": "number" + "ProjectName": { + "markdownDescription": "The name of the project.", + "title": "ProjectName", + "type": "string" }, - "ModelClientConfig": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.ModelClientConfig" + "ServiceCatalogProvisionedProductDetails": { + "$ref": "#/definitions/AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails", + "markdownDescription": "Details of a provisioned service catalog product. For information about service catalog, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .", + "title": "ServiceCatalogProvisionedProductDetails" }, - "ModelName": { - "type": "string" + "ServiceCatalogProvisioningDetails": { + "$ref": "#/definitions/AWS::SageMaker::Project.ServiceCatalogProvisioningDetails", + "markdownDescription": "The product ID and provisioning artifact ID to provision a service catalog. For information, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .", + "title": "ServiceCatalogProvisioningDetails" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "title": "Tags", "type": "array" }, - "TransformInput": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.TransformInput" - }, - "TransformOutput": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.TransformOutput" - }, - "TransformResources": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.TransformResources" + "TemplateProviderDetails": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Project.TemplateProviderDetail" + }, + "markdownDescription": "An array of template providers associated with the project.", + "title": "TemplateProviderDetails", + "type": "array" } }, "required": [ - "ModelName", - "TransformInput", - "TransformOutput", - "TransformResources" + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::TransformJob" + "AWS::SageMaker::Project" ], "type": "string" }, @@ -372007,101 +341971,70 @@ ], "type": "object" }, - "AWS::SageMaker::TransformJob.DataCaptureConfig": { - "additionalProperties": false, - "properties": { - "DestinationS3Uri": { - "type": "string" - }, - "GenerateInferenceId": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "required": [ - "DestinationS3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::TransformJob.DataProcessing": { + "AWS::SageMaker::Project.CfnStackParameter": { "additionalProperties": false, "properties": { - "InputFilter": { - "type": "string" - }, - "JoinSource": { + "Key": { + "markdownDescription": "The name of the CloudFormation parameter.", + "title": "Key", "type": "string" }, - "OutputFilter": { + "Value": { + "markdownDescription": "The value of the CloudFormation parameter.", + "title": "Value", "type": "string" } }, - "type": "object" - }, - "AWS::SageMaker::TransformJob.DataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.S3DataSource" - } - }, "required": [ - "S3DataSource" + "Key", + "Value" ], "type": "object" }, - "AWS::SageMaker::TransformJob.ExperimentConfig": { + "AWS::SageMaker::Project.CfnTemplateProviderDetail": { "additionalProperties": false, "properties": { - "ExperimentName": { - "type": "string" - }, - "TrialComponentDisplayName": { - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Project.CfnStackParameter" + }, + "markdownDescription": "An array of CloudFormation stack parameters.", + "title": "Parameters", + "type": "array" }, - "TrialName": { + "RoleARN": { + "markdownDescription": "The IAM role used by CloudFormation to create the stack.", + "title": "RoleARN", "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::TransformJob.ModelClientConfig": { - "additionalProperties": false, - "properties": { - "InvocationsMaxRetries": { - "type": "number" }, - "InvocationsTimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::TransformJob.S3DataSource": { - "additionalProperties": false, - "properties": { - "S3DataType": { + "TemplateName": { + "markdownDescription": "The unique identifier of the template within the project.", + "title": "TemplateName", "type": "string" }, - "S3Uri": { + "TemplateURL": { + "markdownDescription": "The Amazon S3 URL of the CloudFormation template.", + "title": "TemplateURL", "type": "string" } }, "required": [ - "S3DataType", - "S3Uri" + "TemplateName", + "TemplateURL" ], "type": "object" }, - "AWS::SageMaker::TransformJob.TagsItems": { + "AWS::SageMaker::Project.ProvisioningParameter": { "additionalProperties": false, "properties": { "Key": { + "markdownDescription": "The key that identifies a provisioning parameter.", + "title": "Key", "type": "string" }, "Value": { + "markdownDescription": "The value of the provisioning parameter.", + "title": "Value", "type": "string" } }, @@ -372111,68 +342044,69 @@ ], "type": "object" }, - "AWS::SageMaker::TransformJob.TransformInput": { + "AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails": { "additionalProperties": false, "properties": { - "CompressionType": { - "type": "string" - }, - "ContentType": { + "ProvisionedProductId": { + "markdownDescription": "The ID of the provisioned product.", + "title": "ProvisionedProductId", "type": "string" }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.DataSource" - }, - "SplitType": { + "ProvisionedProductStatusMessage": { + "markdownDescription": "The current status of the product.\n\n- `AVAILABLE` - Stable state, ready to perform any operation. The most recent operation succeeded and completed.\n- `UNDER_CHANGE` - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.\n- `TAINTED` - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.\n- `ERROR` - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.\n- `PLAN_IN_PROGRESS` - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.", + "title": "ProvisionedProductStatusMessage", "type": "string" } }, - "required": [ - "DataSource" - ], "type": "object" }, - "AWS::SageMaker::TransformJob.TransformOutput": { + "AWS::SageMaker::Project.ServiceCatalogProvisioningDetails": { "additionalProperties": false, "properties": { - "Accept": { + "PathId": { + "markdownDescription": "The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path.", + "title": "PathId", "type": "string" }, - "AssembleWith": { + "ProductId": { + "markdownDescription": "The ID of the product to provision.", + "title": "ProductId", "type": "string" }, - "KmsKeyId": { + "ProvisioningArtifactId": { + "markdownDescription": "The ID of the provisioning artifact.", + "title": "ProvisioningArtifactId", "type": "string" }, - "S3OutputPath": { - "type": "string" + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Project.ProvisioningParameter" + }, + "markdownDescription": "A list of key value pairs that you specify when you provision a product.", + "title": "ProvisioningParameters", + "type": "array" } }, "required": [ - "S3OutputPath" + "ProductId" ], "type": "object" }, - "AWS::SageMaker::TransformJob.TransformResources": { + "AWS::SageMaker::Project.TemplateProviderDetail": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" + "CfnTemplateProviderDetail": { + "$ref": "#/definitions/AWS::SageMaker::Project.CfnTemplateProviderDetail", + "markdownDescription": "Details about a CloudFormation template provider configuration and associated provisioning information.", + "title": "CfnTemplateProviderDetail" } }, "required": [ - "InstanceCount", - "InstanceType" + "CfnTemplateProviderDetail" ], "type": "object" }, - "AWS::SageMaker::TrialComponent": { + "AWS::SageMaker::Space": { "additionalProperties": false, "properties": { "Condition": { @@ -372207,60 +342141,54 @@ "Properties": { "additionalProperties": false, "properties": { - "DisplayName": { + "DomainId": { + "markdownDescription": "The ID of the associated domain.", + "title": "DomainId", "type": "string" }, - "InputArtifacts": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TrialComponentArtifact" - } - }, - "type": "object" + "OwnershipSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.OwnershipSettings", + "markdownDescription": "The collection of ownership settings for a space.", + "title": "OwnershipSettings" }, - "MetadataProperties": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.MetadataProperties" + "SpaceDisplayName": { + "markdownDescription": "The name of the space that appears in the Studio UI.", + "title": "SpaceDisplayName", + "type": "string" }, - "OutputArtifacts": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TrialComponentArtifact" - } - }, - "type": "object" + "SpaceName": { + "markdownDescription": "The name of the space.", + "title": "SpaceName", + "type": "string" }, - "Parameters": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TrialComponentParameterValue" - } - }, - "type": "object" + "SpaceSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceSettings", + "markdownDescription": "A collection of space settings.", + "title": "SpaceSettings" }, - "Status": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TrialComponentStatus" + "SpaceSharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceSharingSettings", + "markdownDescription": "A collection of space sharing settings.", + "title": "SpaceSharingSettings" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TagsItems" + "$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" - }, - "TrialComponentName": { - "type": "string" } }, "required": [ - "TrialComponentName" + "DomainId", + "SpaceName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::TrialComponent" + "AWS::SageMaker::Space" ], "type": "string" }, @@ -372279,77 +342207,431 @@ ], "type": "object" }, - "AWS::SageMaker::TrialComponent.MetadataProperties": { + "AWS::SageMaker::Space.CodeRepository": { "additionalProperties": false, "properties": { - "CommitId": { + "RepositoryUrl": { + "markdownDescription": "The URL of the Git repository.", + "title": "RepositoryUrl", "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::Space.CustomFileSystem": { + "additionalProperties": false, + "properties": { + "EFSFileSystem": { + "$ref": "#/definitions/AWS::SageMaker::Space.EFSFileSystem", + "markdownDescription": "A custom file system in Amazon EFS.", + "title": "EFSFileSystem" }, - "GeneratedBy": { + "FSxLustreFileSystem": { + "$ref": "#/definitions/AWS::SageMaker::Space.FSxLustreFileSystem", + "markdownDescription": "A custom file system in Amazon FSx for Lustre.", + "title": "FSxLustreFileSystem" + }, + "S3FileSystem": { + "$ref": "#/definitions/AWS::SageMaker::Space.S3FileSystem", + "markdownDescription": "A custom file system in Amazon S3. This is only supported in Amazon SageMaker Unified Studio.", + "title": "S3FileSystem" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "markdownDescription": "The name of the AppImageConfig.", + "title": "AppImageConfigName", "type": "string" }, - "ProjectId": { + "ImageName": { + "markdownDescription": "The name of the CustomImage. Must be unique to your account.", + "title": "ImageName", "type": "string" }, - "Repository": { + "ImageVersionNumber": { + "markdownDescription": "The version number of the CustomImage.", + "title": "ImageVersionNumber", + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::Space.EFSFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "markdownDescription": "The ID of your Amazon EFS file system.", + "title": "FileSystemId", "type": "string" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, - "AWS::SageMaker::TrialComponent.TagsItems": { + "AWS::SageMaker::Space.EbsStorageSettings": { "additionalProperties": false, "properties": { - "Key": { + "EbsVolumeSizeInGb": { + "markdownDescription": "The size of an EBS storage volume for a space.", + "title": "EbsVolumeSizeInGb", + "type": "number" + } + }, + "required": [ + "EbsVolumeSizeInGb" + ], + "type": "object" + }, + "AWS::SageMaker::Space.FSxLustreFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "markdownDescription": "Amazon FSx for Lustre file system ID.", + "title": "FileSystemId", "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::Space.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the JupyterServer app. If you use the `LifecycleConfigArns` parameter, then this parameter is also required.", + "title": "DefaultResourceSpec" }, - "Value": { + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Space.CustomImage" + }, + "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a KernelGateway app.\n\nThe maximum number of custom images are as follows.\n\n- On a domain level: 200\n- On a space level: 5\n- On a user profile level: 5", + "title": "CustomImages", + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.\n\n> The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.", + "title": "DefaultResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.OwnershipSettings": { + "additionalProperties": false, + "properties": { + "OwnerUserProfileName": { + "markdownDescription": "The user profile who is the owner of the space.", + "title": "OwnerUserProfileName", "type": "string" } }, "required": [ - "Key", - "Value" + "OwnerUserProfileName" ], "type": "object" }, - "AWS::SageMaker::TrialComponent.TrialComponentArtifact": { + "AWS::SageMaker::Space.ResourceSpec": { "additionalProperties": false, "properties": { - "MediaType": { + "InstanceType": { + "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", + "title": "InstanceType", "type": "string" }, - "Value": { + "LifecycleConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", + "title": "LifecycleConfigArn", + "type": "string" + }, + "SageMakerImageArn": { + "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", + "title": "SageMakerImageArn", + "type": "string" + }, + "SageMakerImageVersionArn": { + "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", + "title": "SageMakerImageVersionArn", "type": "string" } }, - "required": [ - "Value" - ], "type": "object" }, - "AWS::SageMaker::TrialComponent.TrialComponentParameterValue": { + "AWS::SageMaker::Space.S3FileSystem": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "markdownDescription": "The Amazon S3 URI that specifies the location in S3 where files are stored, which is mounted within the Studio environment. For example: `s3:////` .", + "title": "S3Uri", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceAppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceIdleSettings", + "markdownDescription": "Settings related to idle shutdown of Studio applications.", + "title": "IdleSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceCodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "AppLifecycleManagement": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceAppLifecycleManagement", + "markdownDescription": "Settings that are used to configure and manage the lifecycle of CodeEditor applications in a space.", + "title": "AppLifecycleManagement" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", + "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", + "title": "DefaultResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceIdleSettings": { "additionalProperties": false, "properties": { - "NumberValue": { + "IdleTimeoutInMinutes": { + "markdownDescription": "The time that SageMaker waits after the application becomes idle before shutting it down.", + "title": "IdleTimeoutInMinutes", "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceJupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "AppLifecycleManagement": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceAppLifecycleManagement", + "markdownDescription": "Settings that are used to configure and manage the lifecycle of JupyterLab applications in a space.", + "title": "AppLifecycleManagement" }, - "StringValue": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Space.CodeRepository" + }, + "markdownDescription": "A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.", + "title": "CodeRepositories", + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", + "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", + "title": "DefaultResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceSettings": { + "additionalProperties": false, + "properties": { + "AppType": { + "markdownDescription": "The type of app created within the space.\n\nIf using the [UpdateSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateSpace.html) API, you can't change the app type of your space by specifying a different value for this field.", + "title": "AppType", + "type": "string" + }, + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceCodeEditorAppSettings", + "markdownDescription": "The Code Editor application settings.", + "title": "CodeEditorAppSettings" + }, + "CustomFileSystems": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Space.CustomFileSystem" + }, + "markdownDescription": "A file system, created by you, that you assign to a space for an Amazon SageMaker AI Domain. Permitted users can access this file system in Amazon SageMaker AI Studio.", + "title": "CustomFileSystems", + "type": "array" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceJupyterLabAppSettings", + "markdownDescription": "The settings for the JupyterLab application.", + "title": "JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.JupyterServerAppSettings", + "markdownDescription": "The JupyterServer app settings.", + "title": "JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.KernelGatewayAppSettings", + "markdownDescription": "The KernelGateway app settings.", + "title": "KernelGatewayAppSettings" + }, + "RemoteAccess": { + "markdownDescription": "A setting that enables or disables remote access for a SageMaker space. When enabled, this allows you to connect to the remote space from your local IDE.", + "title": "RemoteAccess", + "type": "string" + }, + "SpaceManagedResources": { + "markdownDescription": "If you enable this option, SageMaker AI creates the following resources on your behalf when you create the space:\n\n- The user profile that possesses the space.\n- The app that the space contains.", + "title": "SpaceManagedResources", "type": "string" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceStorageSettings", + "markdownDescription": "The storage settings for a space.", + "title": "SpaceStorageSettings" } }, "type": "object" }, - "AWS::SageMaker::TrialComponent.TrialComponentStatus": { + "AWS::SageMaker::Space.SpaceSharingSettings": { "additionalProperties": false, "properties": { - "Message": { + "SharingType": { + "markdownDescription": "Specifies the sharing type of the space.", + "title": "SharingType", + "type": "string" + } + }, + "required": [ + "SharingType" + ], + "type": "object" + }, + "AWS::SageMaker::Space.SpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.EbsStorageSettings", + "markdownDescription": "A collection of EBS storage settings for a space.", + "title": "EbsStorageSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::StudioLifecycleConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StudioLifecycleConfigAppType": { + "markdownDescription": "The App type to which the Lifecycle Configuration is attached.", + "title": "StudioLifecycleConfigAppType", + "type": "string" + }, + "StudioLifecycleConfigContent": { + "markdownDescription": "", + "title": "StudioLifecycleConfigContent", + "type": "string" + }, + "StudioLifecycleConfigName": { + "markdownDescription": "The name of the Amazon SageMaker AI Studio Lifecycle Configuration.", + "title": "StudioLifecycleConfigName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "StudioLifecycleConfigAppType", + "StudioLifecycleConfigContent", + "StudioLifecycleConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::StudioLifecycleConfig" + ], "type": "string" }, - "PrimaryStatus": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, "AWS::SageMaker::UserProfile": { @@ -372626,24 +342908,6 @@ ], "type": "object" }, - "AWS::SageMaker::UserProfile.EmrSettings": { - "additionalProperties": false, - "properties": { - "AssumableRoleArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExecutionRoleArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::SageMaker::UserProfile.FSxLustreFileSystemConfig": { "additionalProperties": false, "properties": { @@ -372742,9 +343006,6 @@ "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.", "title": "DefaultResourceSpec" }, - "EmrSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.EmrSettings" - }, "LifecycleConfigArns": { "items": { "type": "string" @@ -372840,9 +343101,6 @@ "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", "title": "SageMakerImageVersionArn", "type": "string" - }, - "TrainingPlanArn": { - "type": "string" } }, "type": "object" @@ -373009,195 +343267,6 @@ }, "type": "object" }, - "AWS::SageMaker::Workforce": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CognitoConfig": { - "$ref": "#/definitions/AWS::SageMaker::Workforce.CognitoConfig" - }, - "IpAddressType": { - "type": "string" - }, - "OidcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Workforce.OidcConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::SageMaker::Workforce.SourceIpConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkforceName": { - "type": "string" - }, - "WorkforceVpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Workforce.WorkforceVpcConfigRequest" - } - }, - "required": [ - "WorkforceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workforce" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Workforce.CognitoConfig": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "UserPool": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workforce.OidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "JwksUri": { - "type": "string" - }, - "LogoutEndpoint": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "Issuer", - "JwksUri", - "LogoutEndpoint", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::SageMaker::Workforce.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Cidrs" - ], - "type": "object" - }, - "AWS::SageMaker::Workforce.WorkforceVpcConfigRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, "AWS::SageMaker::Workteam": { "additionalProperties": false, "properties": { @@ -373232,179 +343301,49 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "A description of the work team.", - "title": "Description", - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "markdownDescription": "A list of `MemberDefinition` objects that contains objects that identify the workers that make up the work team.\n\nWorkforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces created using Amazon Cognito use `CognitoMemberDefinition` . For workforces created using your own OIDC identity provider (IdP) use `OidcMemberDefinition` .", - "title": "MemberDefinitions", - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration", - "markdownDescription": "Configures SNS notifications of available or expiring work items for work teams.", - "title": "NotificationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs.", - "title": "Tags", - "type": "array" - }, - "WorkforceName": { - "markdownDescription": "The name of the workforce.", - "title": "WorkforceName", - "type": "string" - }, - "WorkteamName": { - "markdownDescription": "The name of the work team.", - "title": "WorkteamName", - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "markdownDescription": "An identifier for an application client. You must create the app client ID using Amazon Cognito .", - "title": "CognitoClientId", - "type": "string" - }, - "CognitoUserGroup": { - "markdownDescription": "An identifier for a user group.", - "title": "CognitoUserGroup", - "type": "string" - }, - "CognitoUserPool": { - "markdownDescription": "An identifier for a user pool. The user pool must be in the same region as the service that you are calling.", - "title": "CognitoUserPool", - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition", - "markdownDescription": "The Amazon Cognito user group that is part of the work team.", - "title": "CognitoMemberDefinition" - }, - "OidcMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition", - "markdownDescription": "A list user groups that exist in your OIDC Identity Provider (IdP). One to ten groups can be used to create a single private work team. When you add a user group to the list of `Groups` , you can add that user group to one or more private work teams. If you add a user group to a private work team, all workers in that user group are added to the work team.", - "title": "OidcMemberDefinition" - } - }, - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "markdownDescription": "The ARN for the Amazon SNS topic to which notifications should be published.", - "title": "NotificationTopicArn", - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.OidcMemberDefinition": { - "additionalProperties": false, - "properties": { - "OidcGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "OidcGroups", - "type": "array" - } - }, - "required": [ - "OidcGroups" - ], - "type": "object" - }, - "AWS::SavingsPlans::SavingsPlan": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, + "properties": { + "Description": { + "markdownDescription": "A description of the work team.", + "title": "Description", + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "markdownDescription": "A list of `MemberDefinition` objects that contains objects that identify the workers that make up the work team.\n\nWorkforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces created using Amazon Cognito use `CognitoMemberDefinition` . For workforces created using your own OIDC identity provider (IdP) use `OidcMemberDefinition` .", + "title": "MemberDefinitions", + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration", + "markdownDescription": "Configures SNS notifications of available or expiring work items for work teams.", + "title": "NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs.", + "title": "Tags", + "type": "array" + }, + "WorkforceName": { + "markdownDescription": "The name of the workforce.", + "title": "WorkforceName", + "type": "string" + }, + "WorkteamName": { + "markdownDescription": "The name of the work team.", + "title": "WorkteamName", + "type": "string" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::SavingsPlans::SavingsPlan" + "AWS::SageMaker::Workteam" ], "type": "string" }, @@ -373422,6 +343361,79 @@ ], "type": "object" }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "markdownDescription": "An identifier for an application client. You must create the app client ID using Amazon Cognito .", + "title": "CognitoClientId", + "type": "string" + }, + "CognitoUserGroup": { + "markdownDescription": "An identifier for a user group.", + "title": "CognitoUserGroup", + "type": "string" + }, + "CognitoUserPool": { + "markdownDescription": "An identifier for a user pool. The user pool must be in the same region as the service that you are calling.", + "title": "CognitoUserPool", + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition", + "markdownDescription": "The Amazon Cognito user group that is part of the work team.", + "title": "CognitoMemberDefinition" + }, + "OidcMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition", + "markdownDescription": "A list user groups that exist in your OIDC Identity Provider (IdP). One to ten groups can be used to create a single private work team. When you add a user group to the list of `Groups` , you can add that user group to one or more private work teams. If you add a user group to a private work team, all workers in that user group are added to the work team.", + "title": "OidcMemberDefinition" + } + }, + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "markdownDescription": "The ARN for the Amazon SNS topic to which notifications should be published.", + "title": "NotificationTopicArn", + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.OidcMemberDefinition": { + "additionalProperties": false, + "properties": { + "OidcGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "OidcGroups", + "type": "array" + } + }, + "required": [ + "OidcGroups" + ], + "type": "object" + }, "AWS::Scheduler::Schedule": { "additionalProperties": false, "properties": { @@ -374660,34 +344672,6 @@ }, "type": "object" }, - "AWS::SecurityAgent::AgentSpace.BitbucketCapabilitiesResource": { - "additionalProperties": false, - "properties": { - "LeaveComments": { - "type": "boolean" - }, - "RemediateCode": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::AgentSpace.BitbucketRepositoryResource": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Workspace": { - "type": "string" - } - }, - "required": [ - "Name", - "Workspace" - ], - "type": "object" - }, "AWS::SecurityAgent::AgentSpace.CodeReviewSettings": { "additionalProperties": false, "properties": { @@ -374704,47 +344688,6 @@ ], "type": "object" }, - "AWS::SecurityAgent::AgentSpace.ConfluenceCapabilitiesResource": { - "additionalProperties": false, - "properties": { - "CreateDocument": { - "type": "boolean" - }, - "FetchDocument": { - "type": "boolean" - }, - "UpdateDocument": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::AgentSpace.ConfluenceDocumentResource": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PageId": { - "type": "string" - }, - "SpaceKey": { - "type": "string" - }, - "SpaceTitle": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "required": [ - "Name", - "PageId", - "SpaceKey" - ], - "type": "object" - }, "AWS::SecurityAgent::AgentSpace.GitHubCapabilitiesResource": { "additionalProperties": false, "properties": { @@ -374777,34 +344720,6 @@ ], "type": "object" }, - "AWS::SecurityAgent::AgentSpace.GitLabCapabilitiesResource": { - "additionalProperties": false, - "properties": { - "LeaveComments": { - "type": "boolean" - }, - "RemediateCode": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::AgentSpace.GitLabRepositoryResource": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Name", - "Namespace" - ], - "type": "object" - }, "AWS::SecurityAgent::AgentSpace.IntegratedResource": { "additionalProperties": false, "properties": { @@ -374827,31 +344742,17 @@ "AWS::SecurityAgent::AgentSpace.ProviderResource": { "additionalProperties": false, "properties": { - "BitbucketCapabilities": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.BitbucketCapabilitiesResource" - }, - "BitbucketRepository": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.BitbucketRepositoryResource" - }, - "ConfluenceCapabilities": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.ConfluenceCapabilitiesResource" - }, - "ConfluenceDocument": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.ConfluenceDocumentResource" - }, "GitHubCapabilities": { "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.GitHubCapabilitiesResource" }, "GitHubRepository": { "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.GitHubRepositoryResource" - }, - "GitLabCapabilities": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.GitLabCapabilitiesResource" - }, - "GitLabRepository": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.GitLabRepositoryResource" } }, + "required": [ + "GitHubCapabilities", + "GitHubRepository" + ], "type": "object" }, "AWS::SecurityAgent::AgentSpace.VpcConfig": { @@ -374960,82 +344861,6 @@ }, "type": "object" }, - "AWS::SecurityAgent::Artifact": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "type": "string" - }, - "ArtifactContent": { - "type": "string" - }, - "ArtifactType": { - "type": "string" - }, - "FileName": { - "type": "string" - } - }, - "required": [ - "AgentSpaceId", - "ArtifactType", - "FileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityAgent::Artifact" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::SecurityAgent::Pentest": { "additionalProperties": false, "properties": { @@ -375077,18 +344902,9 @@ "Assets": { "$ref": "#/definitions/AWS::SecurityAgent::Pentest.Assets" }, - "CleanUpStrategy": { - "type": "string" - }, "CodeRemediationStrategy": { "type": "string" }, - "DisableManagedSkills": { - "items": { - "type": "string" - }, - "type": "array" - }, "ExcludeRiskTypes": { "items": { "type": "string" @@ -375148,15 +344964,9 @@ "Description": { "type": "string" }, - "EnableEmailMfa": { - "type": "boolean" - }, "Identifier": { "type": "string" }, - "MfaForwardingAddress": { - "type": "string" - }, "Uris": { "items": { "type": "string" @@ -375262,9 +345072,6 @@ "AWS::SecurityAgent::Pentest.IntegratedRepository": { "additionalProperties": false, "properties": { - "Branch": { - "type": "string" - }, "IntegrationId": { "type": "string" }, @@ -375341,201 +345148,6 @@ }, "type": "object" }, - "AWS::SecurityAgent::PentestTask": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityAgent::PentestTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecurityAgent::PentestTask.Category": { - "additionalProperties": false, - "properties": { - "IsPrimary": { - "type": "boolean" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::PentestTask.Endpoint": { - "additionalProperties": false, - "properties": { - "Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::SecurityRequirementPack": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SecurityRequirements": { - "items": { - "$ref": "#/definitions/AWS::SecurityAgent::SecurityRequirementPack.SecurityRequirement" - }, - "type": "array" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityAgent::SecurityRequirementPack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityAgent::SecurityRequirementPack.SecurityRequirement": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Domain": { - "type": "string" - }, - "Evaluation": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Remediation": { - "type": "string" - } - }, - "required": [ - "Description", - "Domain", - "Evaluation", - "Name" - ], - "type": "object" - }, "AWS::SecurityAgent::TargetDomain": { "additionalProperties": false, "properties": { @@ -377126,156 +346738,6 @@ }, "type": "object" }, - "AWS::SecurityHub::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": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Provider": { - "$ref": "#/definitions/AWS::SecurityHub::Connector.Provider" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Name", - "Provider" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Connector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Connector.AzureProviderConfiguration": { - "additionalProperties": false, - "properties": { - "AWSConfigConnectorArn": { - "type": "string" - }, - "AzureRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScopeConfiguration": { - "$ref": "#/definitions/AWS::SecurityHub::Connector.AzureScopeConfiguration" - } - }, - "required": [ - "AWSConfigConnectorArn", - "AzureRegions", - "ScopeConfiguration" - ], - "type": "object" - }, - "AWS::SecurityHub::Connector.AzureScopeConfiguration": { - "additionalProperties": false, - "properties": { - "ScopeType": { - "type": "string" - }, - "ScopeValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ScopeType" - ], - "type": "object" - }, - "AWS::SecurityHub::Connector.HealthIssue": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "required": [ - "Code", - "Message" - ], - "type": "object" - }, - "AWS::SecurityHub::Connector.Provider": { - "additionalProperties": false, - "properties": { - "Azure": { - "$ref": "#/definitions/AWS::SecurityHub::Connector.AzureProviderConfiguration" - } - }, - "required": [ - "Azure" - ], - "type": "object" - }, "AWS::SecurityHub::ConnectorV2": { "additionalProperties": false, "properties": { @@ -377370,63 +346832,6 @@ ], "type": "object" }, - "AWS::SecurityHub::ConnectorV2.AzureProviderConfiguration": { - "additionalProperties": false, - "properties": { - "AWSConfigConnectorArn": { - "type": "string" - }, - "AzureRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScopeConfiguration": { - "$ref": "#/definitions/AWS::SecurityHub::ConnectorV2.AzureScopeConfiguration" - } - }, - "required": [ - "AWSConfigConnectorArn", - "AzureRegions", - "ScopeConfiguration" - ], - "type": "object" - }, - "AWS::SecurityHub::ConnectorV2.AzureScopeConfiguration": { - "additionalProperties": false, - "properties": { - "ScopeType": { - "type": "string" - }, - "ScopeValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ScopeType" - ], - "type": "object" - }, - "AWS::SecurityHub::ConnectorV2.HealthIssue": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "required": [ - "Code", - "Message" - ], - "type": "object" - }, "AWS::SecurityHub::ConnectorV2.JiraCloudProviderConfiguration": { "additionalProperties": false, "properties": { @@ -377444,9 +346849,6 @@ "AWS::SecurityHub::ConnectorV2.Provider": { "additionalProperties": false, "properties": { - "Azure": { - "$ref": "#/definitions/AWS::SecurityHub::ConnectorV2.AzureProviderConfiguration" - }, "JiraCloud": { "$ref": "#/definitions/AWS::SecurityHub::ConnectorV2.JiraCloudProviderConfiguration", "markdownDescription": "Details about a Jira Cloud integration.", @@ -379826,106 +349228,6 @@ }, "type": "object" }, - "AWS::ServerlessRepo::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": { - "Author": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HomePageUrl": { - "type": "string" - }, - "Labels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LicenseBody": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadmeBody": { - "type": "string" - }, - "SemanticVersion": { - "type": "string" - }, - "SourceCodeUrl": { - "type": "string" - }, - "SpdxLicenseId": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - } - }, - "required": [ - "Author", - "Description", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServerlessRepo::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::ServiceCatalog::AcceptedPortfolioShare": { "additionalProperties": false, "properties": { @@ -380175,18 +349477,6 @@ }, "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct.Info": { - "additionalProperties": false, - "properties": { - "ImportFromPhysicalId": { - "type": "string" - }, - "LoadTemplateFromURL": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { "additionalProperties": false, "properties": { @@ -380201,9 +349491,9 @@ "type": "boolean" }, "Info": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.Info", "markdownDescription": "Specify the template source with one of the following options, but not both. Keys accepted: [ `LoadTemplateFromURL` , `ImportFromPhysicalId` ]\n\nThe URL of the AWS CloudFormation template in Amazon S3 in JSON format. Specify the URL in JSON format as follows:\n\n`\"LoadTemplateFromURL\": \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/...\"`\n\n`ImportFromPhysicalId` : The physical id of the resource that contains the template. Currently only supports AWS CloudFormation stack arn. Specify the physical id in JSON format as follows: `ImportFromPhysicalId: \u201carn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]`", - "title": "Info" + "title": "Info", + "type": "object" }, "Name": { "markdownDescription": "The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.", @@ -382136,7 +351426,8 @@ } }, "required": [ - "Name" + "Name", + "Vpc" ], "type": "object" }, @@ -382378,13 +351669,7 @@ "type": "string" }, "ServiceAttributes": { - "additionalProperties": true, "markdownDescription": "A complex type that contains information about attributes associated with a specific service.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "title": "ServiceAttributes", "type": "object" }, @@ -382506,121 +351791,6 @@ }, "type": "object" }, - "AWS::ServiceQuotas::Quota": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "QuotaCode": { - "type": "string" - }, - "ServiceCode": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceQuotas::Quota" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceQuotas::Quota.MetricInfo": { - "additionalProperties": false, - "properties": { - "MetricDimensions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricStatisticRecommendation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ServiceQuotas::Quota.QuotaContextInfo": { - "additionalProperties": false, - "properties": { - "ContextId": { - "type": "string" - }, - "ContextScope": { - "type": "string" - }, - "ContextScopeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ServiceQuotas::Quota.QuotaPeriod": { - "additionalProperties": false, - "properties": { - "PeriodUnit": { - "type": "string" - }, - "PeriodValue": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Shield::DRTAccess": { "additionalProperties": false, "properties": { @@ -383116,121 +352286,6 @@ ], "type": "object" }, - "AWS::Signer::SigningJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProfileName": { - "type": "string" - } - }, - "required": [ - "ProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::SigningJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningJob.S3SignedObject": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Signer::SigningJob.S3Source": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "Version" - ], - "type": "object" - }, - "AWS::Signer::SigningJob.SignedObject": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::Signer::SigningJob.S3SignedObject" - } - }, - "type": "object" - }, - "AWS::Signer::SigningJob.Source": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::Signer::SigningJob.S3Source" - } - }, - "type": "object" - }, "AWS::Signer::SigningProfile": { "additionalProperties": false, "properties": { @@ -383435,77 +352490,6 @@ ], "type": "object" }, - "AWS::States::Execution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StateMachineArn": { - "type": "string" - } - }, - "required": [ - "StateMachineArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::States::Execution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::StepFunctions::Activity": { "additionalProperties": false, "properties": { @@ -383630,139 +352614,6 @@ ], "type": "object" }, - "AWS::StepFunctions::MapRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExecutionArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::MapRun" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::StepFunctions::MapRun.MapRunExecutionCounts": { - "additionalProperties": false, - "properties": { - "Aborted": { - "type": "number" - }, - "Failed": { - "type": "number" - }, - "FailuresNotRedrivable": { - "type": "number" - }, - "Pending": { - "type": "number" - }, - "PendingRedrive": { - "type": "number" - }, - "ResultsWritten": { - "type": "number" - }, - "Running": { - "type": "number" - }, - "Succeeded": { - "type": "number" - }, - "TimedOut": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::StepFunctions::MapRun.MapRunItemCounts": { - "additionalProperties": false, - "properties": { - "Aborted": { - "type": "number" - }, - "Failed": { - "type": "number" - }, - "FailuresNotRedrivable": { - "type": "number" - }, - "Pending": { - "type": "number" - }, - "PendingRedrive": { - "type": "number" - }, - "ResultsWritten": { - "type": "number" - }, - "Running": { - "type": "number" - }, - "Succeeded": { - "type": "number" - }, - "TimedOut": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, "AWS::StepFunctions::StateMachine": { "additionalProperties": false, "properties": { @@ -384241,87 +353092,6 @@ ], "type": "object" }, - "AWS::StorageGateway::TapePool": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PoolName": { - "type": "string" - }, - "RetentionLockTimeInDays": { - "type": "number" - }, - "RetentionLockType": { - "type": "string" - }, - "StorageClass": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PoolName", - "StorageClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StorageGateway::TapePool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -384566,167 +353336,6 @@ ], "type": "object" }, - "AWS::SupportAuthZ::SupportPermit": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Permit": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.Permit" - }, - "SigningKeyInfo": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.SigningKeyInfo" - }, - "SupportCaseDisplayId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Permit", - "SigningKeyInfo" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SupportAuthZ::SupportPermit" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.ActionSet": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllActions": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.Condition": { - "additionalProperties": false, - "properties": { - "AllowAfter": { - "type": "string" - }, - "AllowBefore": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.Permit": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.ActionSet" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.Condition" - }, - "type": "array" - }, - "Resources": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.ResourceSet" - } - }, - "required": [ - "Actions", - "Resources" - ], - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.ResourceSet": { - "additionalProperties": false, - "properties": { - "AllResourcesInRegion": { - "type": "object" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.SigningKeyInfo": { - "additionalProperties": false, - "properties": { - "KmsKey": { - "type": "string" - } - }, - "required": [ - "KmsKey" - ], - "type": "object" - }, "AWS::Synthetics::Canary": { "additionalProperties": false, "properties": { @@ -384800,9 +353409,6 @@ "title": "FailureRetentionPeriod", "type": "number" }, - "KmsKeyArn": { - "type": "string" - }, "Name": { "markdownDescription": "The name for this canary. Be sure to give it a descriptive name that distinguishes it from other canaries in your account.\n\nDo not include secrets or proprietary information in your canary names. The canary name makes up part of the canary ARN, and the ARN is included in outbound calls over the internet. For more information, see [Security Considerations for Synthetics Canaries](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html) .", "title": "Name", @@ -384813,12 +353419,6 @@ "title": "ProvisionedResourceCleanup", "type": "string" }, - "Replicas": { - "items": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Replica" - }, - "type": "array" - }, "ResourcesToReplicateTags": { "items": { "type": "string" @@ -385023,54 +353623,6 @@ ], "type": "object" }, - "AWS::Synthetics::Canary.Replica": { - "additionalProperties": false, - "properties": { - "CanaryState": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "LastModified": { - "type": "number" - }, - "Location": { - "type": "string" - }, - "ReplicationStatus": { - "$ref": "#/definitions/AWS::Synthetics::Canary.ReplicaReplicationStatus" - }, - "ResourcesToReplicateTags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.ReplicaReplicationStatus": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Synthetics::Canary.RetryConfig": { "additionalProperties": false, "properties": { @@ -385470,166 +354022,6 @@ }, "type": "object" }, - "AWS::Textract::Adapter": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdapterName": { - "type": "string" - }, - "AutoUpdate": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FeatureTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AdapterName", - "FeatureTypes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Textract::Adapter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ThinClient::SoftwareSet": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ThinClient::SoftwareSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ThinClient::SoftwareSet.Software": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Timestream::Database": { "additionalProperties": false, "properties": { @@ -385765,9 +354157,6 @@ "LogDeliveryConfiguration": { "$ref": "#/definitions/AWS::Timestream::InfluxDBCluster.LogDeliveryConfiguration" }, - "MaintenanceSchedule": { - "$ref": "#/definitions/AWS::Timestream::InfluxDBCluster.MaintenanceSchedule" - }, "Name": { "type": "string" }, @@ -385842,22 +354231,6 @@ ], "type": "object" }, - "AWS::Timestream::InfluxDBCluster.MaintenanceSchedule": { - "additionalProperties": false, - "properties": { - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "PreferredMaintenanceWindow", - "Timezone" - ], - "type": "object" - }, "AWS::Timestream::InfluxDBCluster.S3Configuration": { "additionalProperties": false, "properties": { @@ -386484,647 +354857,48 @@ "Properties": { "additionalProperties": false, "properties": { - "DatabaseName": { - "markdownDescription": "The name of the Timestream database that contains this table.\n\n*Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.", - "title": "DatabaseName", - "type": "string" - }, - "MagneticStoreWriteProperties": { - "$ref": "#/definitions/AWS::Timestream::Table.MagneticStoreWriteProperties", - "markdownDescription": "Contains properties to set on the table when enabling magnetic store writes.\n\nThis object has the following attributes:\n\n- *EnableMagneticStoreWrites* : A `boolean` flag to enable magnetic store writes.\n- *MagneticStoreRejectedDataLocation* : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only `S3Configuration` objects are allowed. The `S3Configuration` object has the following attributes:\n\n- *BucketName* : The name of the S3 bucket.\n- *EncryptionOption* : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( `SSE_S3` ) or AWS managed key ( `SSE_KMS` ).\n- *KmsKeyId* : The AWS KMS key ID to use when encrypting with an AWS managed key.\n- *ObjectKeyPrefix* : The prefix to use option for the objects stored in S3.\n\nBoth `BucketName` and `EncryptionOption` are *required* when `S3Configuration` is specified. If you specify `SSE_KMS` as your `EncryptionOption` then `KmsKeyId` is *required* .\n\n`EnableMagneticStoreWrites` attribute is *required* when `MagneticStoreWriteProperties` is specified. `MagneticStoreRejectedDataLocation` attribute is *required* when `EnableMagneticStoreWrites` is set to `true` .\n\nSee the following examples:\n\n*JSON*\n\n```json\n{ \"Type\" : AWS::Timestream::Table\", \"Properties\":{ \"DatabaseName\":\"TestDatabase\", \"TableName\":\"TestTable\", \"MagneticStoreWriteProperties\":{ \"EnableMagneticStoreWrites\":true, \"MagneticStoreRejectedDataLocation\":{ \"S3Configuration\":{ \"BucketName\":\" amzn-s3-demo-bucket \", \"EncryptionOption\":\"SSE_KMS\", \"KmsKeyId\":\"1234abcd-12ab-34cd-56ef-1234567890ab\", \"ObjectKeyPrefix\":\"prefix\" } } } }\n}\n```\n\n*YAML*\n\n```\nType: AWS::Timestream::Table\nDependsOn: TestDatabase\nProperties: TableName: \"TestTable\" DatabaseName: \"TestDatabase\" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: \" amzn-s3-demo-bucket \" EncryptionOption: \"SSE_KMS\" KmsKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\" ObjectKeyPrefix: \"prefix\"\n```", - "title": "MagneticStoreWriteProperties" - }, - "RetentionProperties": { - "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties", - "markdownDescription": "The retention duration for the memory store and magnetic store. This object has the following attributes:\n\n- *MemoryStoreRetentionPeriodInHours* : Retention duration for memory store, in hours.\n- *MagneticStoreRetentionPeriodInDays* : Retention duration for magnetic store, in days.\n\nBoth attributes are of type `string` . Both attributes are *required* when `RetentionProperties` is specified.\n\nSee the following examples:\n\n*JSON*\n\n`{ \"Type\" : AWS::Timestream::Table\", \"Properties\" : { \"DatabaseName\" : \"TestDatabase\", \"TableName\" : \"TestTable\", \"RetentionProperties\" : { \"MemoryStoreRetentionPeriodInHours\": \"24\", \"MagneticStoreRetentionPeriodInDays\": \"7\" } } }` \n\n*YAML*\n\n```\nType: AWS::Timestream::Table\nDependsOn: TestDatabase\nProperties: TableName: \"TestTable\" DatabaseName: \"TestDatabase\" RetentionProperties: MemoryStoreRetentionPeriodInHours: \"24\" MagneticStoreRetentionPeriodInDays: \"7\"\n```", - "title": "RetentionProperties" - }, - "Schema": { - "$ref": "#/definitions/AWS::Timestream::Table.Schema", - "markdownDescription": "The schema of the table.", - "title": "Schema" - }, - "TableName": { - "markdownDescription": "The name of the Timestream table.\n\n*Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.", - "title": "TableName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to add to the table", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Timestream::Table.MagneticStoreRejectedDataLocation": { - "additionalProperties": false, - "properties": { - "S3Configuration": { - "$ref": "#/definitions/AWS::Timestream::Table.S3Configuration", - "markdownDescription": "Configuration of an S3 location to write error reports for records rejected, asynchronously, during magnetic store writes.", - "title": "S3Configuration" - } - }, - "type": "object" - }, - "AWS::Timestream::Table.MagneticStoreWriteProperties": { - "additionalProperties": false, - "properties": { - "EnableMagneticStoreWrites": { - "markdownDescription": "A flag to enable magnetic store writes.", - "title": "EnableMagneticStoreWrites", - "type": "boolean" - }, - "MagneticStoreRejectedDataLocation": { - "$ref": "#/definitions/AWS::Timestream::Table.MagneticStoreRejectedDataLocation", - "markdownDescription": "The location to write error reports for records rejected asynchronously during magnetic store writes.", - "title": "MagneticStoreRejectedDataLocation" - } - }, - "required": [ - "EnableMagneticStoreWrites" - ], - "type": "object" - }, - "AWS::Timestream::Table.PartitionKey": { - "additionalProperties": false, - "properties": { - "EnforcementInRecord": { - "markdownDescription": "The level of enforcement for the specification of a dimension key in ingested records. Options are REQUIRED (dimension key must be specified) and OPTIONAL (dimension key does not have to be specified).", - "title": "EnforcementInRecord", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the attribute used for a dimension key.", - "title": "Name", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of the partition key. Options are DIMENSION (dimension key) and MEASURE (measure key).", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Timestream::Table.RetentionProperties": { - "additionalProperties": false, - "properties": { - "MagneticStoreRetentionPeriodInDays": { - "markdownDescription": "The duration for which data must be stored in the magnetic store.", - "title": "MagneticStoreRetentionPeriodInDays", - "type": "string" - }, - "MemoryStoreRetentionPeriodInHours": { - "markdownDescription": "The duration for which data must be stored in the memory store.", - "title": "MemoryStoreRetentionPeriodInHours", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Timestream::Table.S3Configuration": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The bucket name of the customer S3 bucket.", - "title": "BucketName", - "type": "string" - }, - "EncryptionOption": { - "markdownDescription": "The encryption option for the customer S3 location. Options are S3 server-side encryption with an S3 managed key or AWS managed key.", - "title": "EncryptionOption", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The AWS key ID for the customer S3 location when encrypting with an AWS managed key.", - "title": "KmsKeyId", - "type": "string" - }, - "ObjectKeyPrefix": { - "markdownDescription": "The object key preview for the customer S3 location.", - "title": "ObjectKeyPrefix", - "type": "string" - } - }, - "required": [ - "BucketName", - "EncryptionOption" - ], - "type": "object" - }, - "AWS::Timestream::Table.Schema": { - "additionalProperties": false, - "properties": { - "CompositePartitionKey": { - "items": { - "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" - }, - "markdownDescription": "A non-empty list of partition keys defining the attributes used to partition the table data. The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed.", - "title": "CompositePartitionKey", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Transcribe::CallAnalyticsJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CallAnalyticsJobName": { - "type": "string" - }, - "ChannelDefinitions": { - "items": { - "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsJob.ChannelDefinition" - }, - "type": "array" - }, - "DataAccessRoleArn": { - "type": "string" - }, - "Media": { - "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsJob.Media" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CallAnalyticsJobName", - "Media" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transcribe::CallAnalyticsJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transcribe::CallAnalyticsJob.ChannelDefinition": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "number" - }, - "ParticipantRole": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::CallAnalyticsJob.Media": { - "additionalProperties": false, - "properties": { - "MediaFileUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::CallAnalyticsJob.Transcript": { - "additionalProperties": false, - "properties": { - "TranscriptFileUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::MedicalScribeJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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::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": { - "type": "string" - } - }, - "required": [ - "LanguageCode", - "Media", - "MedicalTranscriptionJobName", - "Specialty", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transcribe::MedicalTranscriptionJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentRedaction": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.ContentRedaction" - }, - "LanguageCode": { + "DatabaseName": { + "markdownDescription": "The name of the Timestream database that contains this table.\n\n*Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.", + "title": "DatabaseName", "type": "string" }, - "Media": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.Media" - }, - "MediaFormat": { - "type": "string" + "MagneticStoreWriteProperties": { + "$ref": "#/definitions/AWS::Timestream::Table.MagneticStoreWriteProperties", + "markdownDescription": "Contains properties to set on the table when enabling magnetic store writes.\n\nThis object has the following attributes:\n\n- *EnableMagneticStoreWrites* : A `boolean` flag to enable magnetic store writes.\n- *MagneticStoreRejectedDataLocation* : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only `S3Configuration` objects are allowed. The `S3Configuration` object has the following attributes:\n\n- *BucketName* : The name of the S3 bucket.\n- *EncryptionOption* : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( `SSE_S3` ) or AWS managed key ( `SSE_KMS` ).\n- *KmsKeyId* : The AWS KMS key ID to use when encrypting with an AWS managed key.\n- *ObjectKeyPrefix* : The prefix to use option for the objects stored in S3.\n\nBoth `BucketName` and `EncryptionOption` are *required* when `S3Configuration` is specified. If you specify `SSE_KMS` as your `EncryptionOption` then `KmsKeyId` is *required* .\n\n`EnableMagneticStoreWrites` attribute is *required* when `MagneticStoreWriteProperties` is specified. `MagneticStoreRejectedDataLocation` attribute is *required* when `EnableMagneticStoreWrites` is set to `true` .\n\nSee the following examples:\n\n*JSON*\n\n```json\n{ \"Type\" : AWS::Timestream::Table\", \"Properties\":{ \"DatabaseName\":\"TestDatabase\", \"TableName\":\"TestTable\", \"MagneticStoreWriteProperties\":{ \"EnableMagneticStoreWrites\":true, \"MagneticStoreRejectedDataLocation\":{ \"S3Configuration\":{ \"BucketName\":\" amzn-s3-demo-bucket \", \"EncryptionOption\":\"SSE_KMS\", \"KmsKeyId\":\"1234abcd-12ab-34cd-56ef-1234567890ab\", \"ObjectKeyPrefix\":\"prefix\" } } } }\n}\n```\n\n*YAML*\n\n```\nType: AWS::Timestream::Table\nDependsOn: TestDatabase\nProperties: TableName: \"TestTable\" DatabaseName: \"TestDatabase\" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: \" amzn-s3-demo-bucket \" EncryptionOption: \"SSE_KMS\" KmsKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\" ObjectKeyPrefix: \"prefix\"\n```", + "title": "MagneticStoreWriteProperties" }, - "MediaSampleRateHertz": { - "type": "number" + "RetentionProperties": { + "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties", + "markdownDescription": "The retention duration for the memory store and magnetic store. This object has the following attributes:\n\n- *MemoryStoreRetentionPeriodInHours* : Retention duration for memory store, in hours.\n- *MagneticStoreRetentionPeriodInDays* : Retention duration for magnetic store, in days.\n\nBoth attributes are of type `string` . Both attributes are *required* when `RetentionProperties` is specified.\n\nSee the following examples:\n\n*JSON*\n\n`{ \"Type\" : AWS::Timestream::Table\", \"Properties\" : { \"DatabaseName\" : \"TestDatabase\", \"TableName\" : \"TestTable\", \"RetentionProperties\" : { \"MemoryStoreRetentionPeriodInHours\": \"24\", \"MagneticStoreRetentionPeriodInDays\": \"7\" } } }` \n\n*YAML*\n\n```\nType: AWS::Timestream::Table\nDependsOn: TestDatabase\nProperties: TableName: \"TestTable\" DatabaseName: \"TestDatabase\" RetentionProperties: MemoryStoreRetentionPeriodInHours: \"24\" MagneticStoreRetentionPeriodInDays: \"7\"\n```", + "title": "RetentionProperties" }, - "Settings": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.Settings" + "Schema": { + "$ref": "#/definitions/AWS::Timestream::Table.Schema", + "markdownDescription": "The schema of the table.", + "title": "Schema" }, - "Subtitles": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.Subtitles" + "TableName": { + "markdownDescription": "The name of the Timestream table.\n\n*Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.", + "title": "TableName", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags to add to the table", + "title": "Tags", "type": "array" - }, - "ToxicityDetection": { - "items": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.ToxicityDetectionSettings" - }, - "type": "array" - }, - "TranscriptionJobName": { - "type": "string" } }, "required": [ - "Media", - "TranscriptionJobName" + "DatabaseName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Transcribe::TranscriptionJob" + "AWS::Timestream::Table" ], "type": "string" }, @@ -387143,184 +354917,120 @@ ], "type": "object" }, - "AWS::Transcribe::TranscriptionJob.ContentRedaction": { - "additionalProperties": false, - "properties": { - "PiiEntityTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RedactionOutput": { - "type": "string" - }, - "RedactionType": { - "type": "string" - } - }, - "required": [ - "RedactionOutput", - "RedactionType" - ], - "type": "object" - }, - "AWS::Transcribe::TranscriptionJob.Media": { + "AWS::Timestream::Table.MagneticStoreRejectedDataLocation": { "additionalProperties": false, "properties": { - "MediaFileUri": { - "type": "string" + "S3Configuration": { + "$ref": "#/definitions/AWS::Timestream::Table.S3Configuration", + "markdownDescription": "Configuration of an S3 location to write error reports for records rejected, asynchronously, during magnetic store writes.", + "title": "S3Configuration" } }, "type": "object" }, - "AWS::Transcribe::TranscriptionJob.Settings": { + "AWS::Timestream::Table.MagneticStoreWriteProperties": { "additionalProperties": false, "properties": { - "ChannelIdentification": { - "type": "boolean" - }, - "MaxAlternatives": { - "type": "number" - }, - "MaxSpeakerLabels": { - "type": "number" - }, - "ShowAlternatives": { + "EnableMagneticStoreWrites": { + "markdownDescription": "A flag to enable magnetic store writes.", + "title": "EnableMagneticStoreWrites", "type": "boolean" }, - "ShowSpeakerLabels": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Transcribe::TranscriptionJob.Subtitles": { - "additionalProperties": false, - "properties": { - "Formats": { - "items": { - "type": "string" - }, - "type": "array" + "MagneticStoreRejectedDataLocation": { + "$ref": "#/definitions/AWS::Timestream::Table.MagneticStoreRejectedDataLocation", + "markdownDescription": "The location to write error reports for records rejected asynchronously during magnetic store writes.", + "title": "MagneticStoreRejectedDataLocation" } }, + "required": [ + "EnableMagneticStoreWrites" + ], "type": "object" }, - "AWS::Transcribe::TranscriptionJob.ToxicityDetectionSettings": { + "AWS::Timestream::Table.PartitionKey": { "additionalProperties": false, "properties": { - "ToxicityCategories": { - "items": { - "type": "string" - }, - "type": "array" + "EnforcementInRecord": { + "markdownDescription": "The level of enforcement for the specification of a dimension key in ingested records. Options are REQUIRED (dimension key must be specified) and OPTIONAL (dimension key does not have to be specified).", + "title": "EnforcementInRecord", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the attribute used for a dimension key.", + "title": "Name", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of the partition key. Options are DIMENSION (dimension key) and MEASURE (measure key).", + "title": "Type", + "type": "string" } }, "required": [ - "ToxicityCategories" + "Type" ], "type": "object" }, - "AWS::Transcribe::TranscriptionJob.Transcript": { + "AWS::Timestream::Table.RetentionProperties": { "additionalProperties": false, "properties": { - "RedactedTranscriptFileUri": { + "MagneticStoreRetentionPeriodInDays": { + "markdownDescription": "The duration for which data must be stored in the magnetic store.", + "title": "MagneticStoreRetentionPeriodInDays", "type": "string" }, - "TranscriptFileUri": { + "MemoryStoreRetentionPeriodInHours": { + "markdownDescription": "The duration for which data must be stored in the memory store.", + "title": "MemoryStoreRetentionPeriodInHours", "type": "string" } }, "type": "object" }, - "AWS::Transcribe::VocabularyFilter": { + "AWS::Timestream::Table.S3Configuration": { "additionalProperties": false, "properties": { - "Condition": { + "BucketName": { + "markdownDescription": "The bucket name of the customer S3 bucket.", + "title": "BucketName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "EncryptionOption": { + "markdownDescription": "The encryption option for the customer S3 location. Options are S3 server-side encryption with an S3 managed key or AWS managed key.", + "title": "EncryptionOption", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VocabularyFilterFileUri": { - "type": "string" - }, - "VocabularyFilterName": { - "type": "string" - }, - "Words": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "LanguageCode", - "VocabularyFilterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transcribe::VocabularyFilter" - ], + "KmsKeyId": { + "markdownDescription": "The AWS key ID for the customer S3 location when encrypting with an AWS managed key.", + "title": "KmsKeyId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ObjectKeyPrefix": { + "markdownDescription": "The object key preview for the customer S3 location.", + "title": "ObjectKeyPrefix", "type": "string" } }, "required": [ - "Type", - "Properties" + "BucketName", + "EncryptionOption" ], "type": "object" }, + "AWS::Timestream::Table.Schema": { + "additionalProperties": false, + "properties": { + "CompositePartitionKey": { + "items": { + "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" + }, + "markdownDescription": "A non-empty list of partition keys defining the attributes used to partition the table data. The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed.", + "title": "CompositePartitionKey", + "type": "array" + } + }, + "type": "object" + }, "AWS::Transfer::Agreement": { "additionalProperties": false, "properties": { @@ -387836,83 +355546,6 @@ }, "type": "object" }, - "AWS::Transfer::HostKey": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "HostKeyBody": { - "type": "string" - }, - "ServerId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ServerId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::HostKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Transfer::Profile": { "additionalProperties": false, "properties": { @@ -389003,135 +356636,6 @@ }, "type": "object" }, - "AWS::Translate::ParallelData": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "EncryptionKey": { - "$ref": "#/definitions/AWS::Translate::ParallelData.EncryptionKey" - }, - "Name": { - "type": "string" - }, - "ParallelDataConfig": { - "$ref": "#/definitions/AWS::Translate::ParallelData.ParallelDataConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Translate::ParallelData.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "Name", - "ParallelDataConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Translate::ParallelData" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Translate::ParallelData.EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::Translate::ParallelData.ParallelDataConfig": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "Format", - "S3Uri" - ], - "type": "object" - }, - "AWS::Translate::ParallelData.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::UXC::AccountCustomization": { "additionalProperties": false, "properties": { @@ -389205,212 +356709,6 @@ ], "type": "object" }, - "AWS::UserNotifications::ManagedNotificationConfiguration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "SubCategory": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::UserNotifications::ManagedNotificationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::UserNotifications::NotificationEvent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent.MessageComponents": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::UserNotifications::NotificationEvent.Dimension" - }, - "type": "array" - }, - "Headline": { - "type": "string" - }, - "ParagraphSummary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent.Resource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent.SourceEventMetadata": { - "additionalProperties": false, - "properties": { - "EventOccurrenceTime": { - "type": "string" - }, - "EventOriginRegion": { - "type": "string" - }, - "EventType": { - "type": "string" - }, - "EventTypeVersion": { - "type": "string" - }, - "RelatedAccount": { - "type": "string" - }, - "RelatedResources": { - "items": { - "$ref": "#/definitions/AWS::UserNotifications::NotificationEvent.Resource" - }, - "type": "array" - }, - "Source": { - "type": "string" - }, - "SourceEventId": { - "type": "string" - } - }, - "required": [ - "EventOccurrenceTime", - "EventType", - "EventTypeVersion", - "RelatedAccount", - "RelatedResources", - "Source", - "SourceEventId" - ], - "type": "object" - }, "AWS::VerifiedPermissions::IdentitySource": { "additionalProperties": false, "properties": { @@ -391366,9 +358664,6 @@ "markdownDescription": "Describes the DNS information of the service. This field is read-only.", "title": "DnsEntry" }, - "IdleTimeoutSeconds": { - "type": "number" - }, "Name": { "markdownDescription": "The name of the service. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.\n\nIf you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.", "title": "Name", @@ -394656,12 +361951,6 @@ "title": "PositionalConstraint", "type": "string" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "SearchString": { "markdownDescription": "A string value that you want AWS WAF to search for. AWS WAF searches only in the part of web requests that you designate for inspection in `FieldToMatch` . The maximum length of the value is 200 bytes. For alphabetic characters A-Z and a-z, the value is case sensitive.\n\nDon't encode this string. Provide the value that you want AWS WAF to search for. AWS CloudFormation automatically base64 encodes the value for you.\n\nFor example, suppose the value of `Type` is `HEADER` and the value of `Data` is `User-Agent` . If you want to search the `User-Agent` header for the value `BadBot` , you provide the string `BadBot` in the value of `SearchString` .\n\nYou must specify either `SearchString` or `SearchStringBase64` in a `ByteMatchStatement` .", "title": "SearchString", @@ -395329,22 +362618,6 @@ ], "type": "object" }, - "AWS::WAFv2::RuleGroup.PreParseTextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, "AWS::WAFv2::RuleGroup.Price": { "additionalProperties": false, "properties": { @@ -395623,12 +362896,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "RegexString": { "markdownDescription": "The string representing the regular expression.", "title": "RegexString", @@ -395663,12 +362930,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "TextTransformations": { "items": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" @@ -395815,12 +363076,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "Size": { "markdownDescription": "The size, in byte, to compare to the request part, after any transformations.", "title": "Size", @@ -395851,12 +363106,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "SensitivityLevel": { "markdownDescription": "The sensitivity that you want AWS WAF to use to inspect for SQL injection attacks.\n\n`HIGH` detects more attacks, but might generate more false positives, especially if your web requests frequently contain unusual strings. For information about identifying and mitigating false positives, see [Testing and tuning](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html) in the *AWS WAF Developer Guide* .\n\n`LOW` is generally a better choice for resources that already have other protections against SQL injection attacks or that have a low tolerance for false positives.\n\nDefault: `LOW`", "title": "SensitivityLevel", @@ -396018,12 +363267,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "TextTransformations": { "items": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" @@ -396438,12 +363681,6 @@ "title": "PositionalConstraint", "type": "string" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "SearchString": { "markdownDescription": "A string value that you want AWS WAF to search for. AWS WAF searches only in the part of web requests that you designate for inspection in `FieldToMatch` . The maximum length of the value is 200 bytes. For alphabetic characters A-Z and a-z, the value is case sensitive.\n\nDon't encode this string. Provide the value that you want AWS WAF to search for. AWS CloudFormation automatically base64 encodes the value for you.\n\nFor example, suppose the value of `Type` is `HEADER` and the value of `Data` is `User-Agent` . If you want to search the `User-Agent` header for the value `BadBot` , you provide the string `BadBot` in the value of `SearchString` .\n\nYou must specify either `SearchString` or `SearchStringBase64` in a `ByteMatchStatement` .", "title": "SearchString", @@ -397384,22 +364621,6 @@ ], "type": "object" }, - "AWS::WAFv2::WebACL.PreParseTextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, "AWS::WAFv2::WebACL.Price": { "additionalProperties": false, "properties": { @@ -397689,12 +364910,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "RegexString": { "markdownDescription": "The string representing the regular expression.", "title": "RegexString", @@ -397729,12 +364944,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "TextTransformations": { "items": { "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" @@ -398163,12 +365372,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "Size": { "markdownDescription": "The size, in byte, to compare to the request part, after any transformations.", "title": "Size", @@ -398199,12 +365402,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "SensitivityLevel": { "markdownDescription": "The sensitivity that you want AWS WAF to use to inspect for SQL injection attacks.\n\n`HIGH` detects more attacks, but might generate more false positives, especially if your web requests frequently contain unusual strings. For information about identifying and mitigating false positives, see [Testing and tuning](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html) in the *AWS WAF Developer Guide* .\n\n`LOW` is generally a better choice for resources that already have other protections against SQL injection attacks or that have a low tolerance for false positives.\n\nDefault: `LOW`", "title": "SensitivityLevel", @@ -398376,12 +365573,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "TextTransformations": { "items": { "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" @@ -398470,512 +365661,6 @@ ], "type": "object" }, - "AWS::WellArchitected::Lens": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JSONString": { - "type": "string" - }, - "LensVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::WellArchitected::Lens.TagsItems" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WellArchitected::Lens" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WellArchitected::Lens.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::WellArchitected::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": { - "ProfileDescription": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileQuestions": { - "items": { - "$ref": "#/definitions/AWS::WellArchitected::Profile.ProfileQuestionUpdate" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProfileDescription", - "ProfileName", - "ProfileQuestions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WellArchitected::Profile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WellArchitected::Profile.ProfileQuestionUpdate": { - "additionalProperties": false, - "properties": { - "QuestionId": { - "type": "string" - }, - "SelectedChoiceIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WellArchitected::ReviewTemplate": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Lenses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Notes": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::WellArchitected::ReviewTemplate.TagsItems" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Description", - "Lenses", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WellArchitected::ReviewTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WellArchitected::ReviewTemplate.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::WellArchitected::Workload": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ArchitecturalDesign": { - "type": "string" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "DiscoveryConfig": { - "$ref": "#/definitions/AWS::WellArchitected::Workload.DiscoveryConfig" - }, - "Environment": { - "type": "string" - }, - "Industry": { - "type": "string" - }, - "IndustryType": { - "type": "string" - }, - "Lenses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NonAwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Notes": { - "type": "string" - }, - "ReviewOwner": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::WellArchitected::Workload.TagsItems" - }, - "type": "array" - }, - "WorkloadName": { - "type": "string" - } - }, - "required": [ - "Description", - "Environment", - "Lenses", - "WorkloadName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WellArchitected::Workload" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WellArchitected::Workload.DiscoveryConfig": { - "additionalProperties": false, - "properties": { - "TrustedAdvisorIntegrationStatus": { - "type": "string" - }, - "WorkloadResourceDefinition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WellArchitected::Workload.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Wickr::Network": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLevel": { - "type": "string" - }, - "NetworkName": { - "type": "string" - } - }, - "required": [ - "AccessLevel", - "NetworkName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Wickr::Network" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Wisdom::AIAgent": { "additionalProperties": false, "properties": { @@ -401947,100 +368632,6 @@ }, "type": "object" }, - "AWS::Wisdom::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": { - "AssistantId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Wisdom::Session.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "AssistantId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Wisdom::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Wisdom::Session.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::WorkSpaces::ConnectionAlias": { "additionalProperties": false, "properties": { @@ -402142,63 +368733,6 @@ }, "type": "object" }, - "AWS::WorkSpaces::WorkSpaceApplication": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::WorkSpaces::WorkSpaceApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::WorkSpaces::Workspace": { "additionalProperties": false, "properties": { @@ -402234,171 +368768,60 @@ "Properties": { "additionalProperties": false, "properties": { - "BundleId": { - "markdownDescription": "The identifier of the bundle for the WorkSpace.", - "title": "BundleId", - "type": "string" - }, - "DirectoryId": { - "markdownDescription": "The identifier of the Directory Service directory for the WorkSpace.", - "title": "DirectoryId", - "type": "string" - }, - "RootVolumeEncryptionEnabled": { - "markdownDescription": "Indicates whether the data stored on the root volume is encrypted.", - "title": "RootVolumeEncryptionEnabled", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the WorkSpace.", - "title": "Tags", - "type": "array" - }, - "UserName": { - "markdownDescription": "The user name of the user for the WorkSpace. This user name must exist in the Directory Service directory for the WorkSpace.", - "title": "UserName", - "type": "string" - }, - "UserVolumeEncryptionEnabled": { - "markdownDescription": "Indicates whether the data stored on the user volume is encrypted.", - "title": "UserVolumeEncryptionEnabled", - "type": "boolean" - }, - "VolumeEncryptionKey": { - "markdownDescription": "The symmetric AWS KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.", - "title": "VolumeEncryptionKey", - "type": "string" - }, - "WorkspaceProperties": { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties", - "markdownDescription": "The WorkSpace properties.", - "title": "WorkspaceProperties" - } - }, - "required": [ - "BundleId", - "DirectoryId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::Workspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::Workspace.WorkspaceProperties": { - "additionalProperties": false, - "properties": { - "ComputeTypeName": { - "markdownDescription": "The compute type. For more information, see [Amazon WorkSpaces Bundles](https://docs.aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles) .", - "title": "ComputeTypeName", - "type": "string" - }, - "RootVolumeSizeGib": { - "markdownDescription": "The size of the root volume. For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .", - "title": "RootVolumeSizeGib", - "type": "number" - }, - "RunningMode": { - "markdownDescription": "The running mode. For more information, see [Manage the WorkSpace Running Mode](https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html) .", - "title": "RunningMode", - "type": "string" - }, - "RunningModeAutoStopTimeoutInMinutes": { - "markdownDescription": "The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60-minute intervals.", - "title": "RunningModeAutoStopTimeoutInMinutes", - "type": "number" - }, - "UserVolumeSizeGib": { - "markdownDescription": "The size of the user storage. For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .", - "title": "UserVolumeSizeGib", - "type": "number" - } - }, - "type": "object" - }, - "AWS::WorkSpaces::WorkspaceIpGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupDesc": { + "BundleId": { + "markdownDescription": "The identifier of the bundle for the WorkSpace.", + "title": "BundleId", "type": "string" }, - "GroupName": { + "DirectoryId": { + "markdownDescription": "The identifier of the Directory Service directory for the WorkSpace.", + "title": "DirectoryId", "type": "string" }, + "RootVolumeEncryptionEnabled": { + "markdownDescription": "Indicates whether the data stored on the root volume is encrypted.", + "title": "RootVolumeEncryptionEnabled", + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags for the WorkSpace.", + "title": "Tags", "type": "array" }, - "UserRules": { - "items": { - "$ref": "#/definitions/AWS::WorkSpaces::WorkspaceIpGroup.IpRuleItem" - }, - "type": "array" + "UserName": { + "markdownDescription": "The user name of the user for the WorkSpace. This user name must exist in the Directory Service directory for the WorkSpace.", + "title": "UserName", + "type": "string" + }, + "UserVolumeEncryptionEnabled": { + "markdownDescription": "Indicates whether the data stored on the user volume is encrypted.", + "title": "UserVolumeEncryptionEnabled", + "type": "boolean" + }, + "VolumeEncryptionKey": { + "markdownDescription": "The symmetric AWS KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.", + "title": "VolumeEncryptionKey", + "type": "string" + }, + "WorkspaceProperties": { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties", + "markdownDescription": "The WorkSpace properties.", + "title": "WorkspaceProperties" } }, "required": [ - "GroupName" + "BundleId", + "DirectoryId", + "UserName" ], "type": "object" }, "Type": { "enum": [ - "AWS::WorkSpaces::WorkspaceIpGroup" + "AWS::WorkSpaces::Workspace" ], "type": "string" }, @@ -402417,19 +368840,35 @@ ], "type": "object" }, - "AWS::WorkSpaces::WorkspaceIpGroup.IpRuleItem": { + "AWS::WorkSpaces::Workspace.WorkspaceProperties": { "additionalProperties": false, "properties": { - "IpRule": { + "ComputeTypeName": { + "markdownDescription": "The compute type. For more information, see [Amazon WorkSpaces Bundles](https://docs.aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles) .", + "title": "ComputeTypeName", "type": "string" }, - "RuleDesc": { + "RootVolumeSizeGib": { + "markdownDescription": "The size of the root volume. For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .", + "title": "RootVolumeSizeGib", + "type": "number" + }, + "RunningMode": { + "markdownDescription": "The running mode. For more information, see [Manage the WorkSpace Running Mode](https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html) .", + "title": "RunningMode", "type": "string" + }, + "RunningModeAutoStopTimeoutInMinutes": { + "markdownDescription": "The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60-minute intervals.", + "title": "RunningModeAutoStopTimeoutInMinutes", + "type": "number" + }, + "UserVolumeSizeGib": { + "markdownDescription": "The size of the user storage. For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .", + "title": "UserVolumeSizeGib", + "type": "number" } }, - "required": [ - "IpRule" - ], "type": "object" }, "AWS::WorkSpaces::WorkspacesPool": { @@ -408322,6 +374761,11 @@ "ManagedResourceTags": { "additionalProperties": false, "properties": { + "Propagate": { + "markdownDescription": "TODO", + "title": "Propagate", + "type": "boolean" + }, "Tags": { "markdownDescription": "TODO", "title": "Tags", @@ -415248,236 +381692,6 @@ "title": "ScheduleV2EventProperties", "type": "object" }, - "samtranslator__internal__schema_source__aws_serverless_webfunction__Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Authtype" - }, - "AutoDeploymentMode": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Autodeploymentmode" - }, - "CodeUri": { - "title": "Codeuri" - }, - "EndpointDescription": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Endpointdescription" - }, - "EndpointName": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Endpointname" - }, - "EndpointType": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Endpointtype" - }, - "EntryPoint": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Entrypoint" - }, - "EnvironmentVariables": { - "title": "Environmentvariables", - "type": "object" - }, - "ExecutionRoleArn": { - "title": "Executionrolearn" - }, - "FunctionName": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Functionname" - }, - "InlineCode": { - "title": "Inlinecode", - "type": "string" - }, - "KmsKeyArn": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Kmskeyarn" - }, - "LoggingConfig": { - "title": "Loggingconfig", - "type": "object" - }, - "MaxConcurrencyPerEnvironment": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "integer" - } - ], - "title": "Maxconcurrencyperenvironment" - }, - "ReplicaRegions": { - "title": "Replicaregions" - }, - "RevisionDescription": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Revisiondescription" - }, - "RevisionWeights": { - "title": "Revisionweights", - "type": "object" - }, - "Runtime": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Runtime" - }, - "ScalingConfig": { - "title": "Scalingconfig", - "type": "object" - }, - "Tags": { - "title": "Tags", - "type": "object" - }, - "ThrottleConfig": { - "title": "Throttleconfig", - "type": "object" - }, - "Timeout": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "integer" - } - ], - "title": "Timeout" - } - }, - "required": [ - "Runtime", - "AuthType" - ], - "title": "Properties", - "type": "object" - }, - "samtranslator__internal__schema_source__aws_serverless_webfunction__Resource": { - "additionalProperties": false, - "properties": { - "Condition": { - "$ref": "#/definitions/PassThroughProp" - }, - "DeletionPolicy": { - "$ref": "#/definitions/PassThroughProp" - }, - "DependsOn": { - "$ref": "#/definitions/PassThroughProp" - }, - "IgnoreGlobals": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "Ignoreglobals" - }, - "Metadata": { - "$ref": "#/definitions/PassThroughProp" - }, - "Properties": { - "$ref": "#/definitions/samtranslator__internal__schema_source__aws_serverless_webfunction__Properties" - }, - "Type": { - "enum": [ - "AWS::Serverless::WebFunction" - ], - "title": "Type", - "type": "string" - }, - "UpdateReplacePolicy": { - "$ref": "#/definitions/PassThroughProp" - } - }, - "required": [ - "Type", - "Properties" - ], - "title": "Resource", - "type": "object" - }, "samtranslator__internal__schema_source__aws_serverless_websocketapi__Domain": { "additionalProperties": false, "properties": { @@ -416000,9 +382214,6 @@ { "$ref": "#/definitions/samtranslator__internal__schema_source__aws_serverless_graphqlapi__Resource" }, - { - "$ref": "#/definitions/samtranslator__internal__schema_source__aws_serverless_webfunction__Resource" - }, { "$ref": "#/definitions/samtranslator__internal__schema_source__aws_serverless_capacity_provider__Resource" }, @@ -416054,21 +382265,6 @@ { "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" }, - { - "$ref": "#/definitions/AWS::AccessAnalyzer::ArchiveRule" - }, - { - "$ref": "#/definitions/AWS::AccountAccess::Application" - }, - { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement" - }, - { - "$ref": "#/definitions/AWS::AgentRegistry::Registry" - }, - { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord" - }, { "$ref": "#/definitions/AWS::AmazonMQ::Broker" }, @@ -416087,15 +382283,6 @@ { "$ref": "#/definitions/AWS::Amplify::Domain" }, - { - "$ref": "#/definitions/AWS::Amplify::Jobs" - }, - { - "$ref": "#/definitions/AWS::Amplify::Webhook" - }, - { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob" - }, { "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component" }, @@ -416198,9 +382385,6 @@ { "$ref": "#/definitions/AWS::ApiGatewayV2::Model" }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::PortalProduct" - }, { "$ref": "#/definitions/AWS::ApiGatewayV2::Route" }, @@ -416231,9 +382415,6 @@ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, - { - "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition" - }, { "$ref": "#/definitions/AWS::AppConfig::Extension" }, @@ -416372,9 +382553,6 @@ { "$ref": "#/definitions/AWS::AppSync::SourceApiAssociation" }, - { - "$ref": "#/definitions/AWS::AppSync::Type" - }, { "$ref": "#/definitions/AWS::AppTest::TestCase" }, @@ -416396,9 +382574,6 @@ { "$ref": "#/definitions/AWS::ApplicationSignals::ServiceLevelObjective" }, - { - "$ref": "#/definitions/AWS::Artifact::Report" - }, { "$ref": "#/definitions/AWS::Athena::CapacityReservation" }, @@ -416411,18 +382586,12 @@ { "$ref": "#/definitions/AWS::Athena::PreparedStatement" }, - { - "$ref": "#/definitions/AWS::Athena::Session" - }, { "$ref": "#/definitions/AWS::Athena::WorkGroup" }, { "$ref": "#/definitions/AWS::AuditManager::Assessment" }, - { - "$ref": "#/definitions/AWS::AuditManager::AssessmentFramework" - }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -416462,9 +382631,6 @@ { "$ref": "#/definitions/AWS::BCMDataExports::Export" }, - { - "$ref": "#/definitions/AWS::BCMDataExports::Table" - }, { "$ref": "#/definitions/AWS::Backup::BackupPlan" }, @@ -416477,9 +382643,6 @@ { "$ref": "#/definitions/AWS::Backup::Framework" }, - { - "$ref": "#/definitions/AWS::Backup::LegalHold" - }, { "$ref": "#/definitions/AWS::Backup::LogicallyAirGappedBackupVault" }, @@ -416498,12 +382661,6 @@ { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, - { - "$ref": "#/definitions/AWS::BackupSearch::SearchJob" - }, - { - "$ref": "#/definitions/AWS::BackupSearch::SearchResultExportJob" - }, { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" }, @@ -416537,9 +382694,6 @@ { "$ref": "#/definitions/AWS::Bedrock::ApplicationInferenceProfile" }, - { - "$ref": "#/definitions/AWS::Bedrock::AsyncInvoke" - }, { "$ref": "#/definitions/AWS::Bedrock::AutomatedReasoningPolicy" }, @@ -416558,9 +382712,6 @@ { "$ref": "#/definitions/AWS::Bedrock::DataSource" }, - { - "$ref": "#/definitions/AWS::Bedrock::DefaultPromptRouter" - }, { "$ref": "#/definitions/AWS::Bedrock::EnforcedGuardrailConfiguration" }, @@ -416570,39 +382721,21 @@ { "$ref": "#/definitions/AWS::Bedrock::FlowAlias" }, - { - "$ref": "#/definitions/AWS::Bedrock::FlowExecution" - }, { "$ref": "#/definitions/AWS::Bedrock::FlowVersion" }, - { - "$ref": "#/definitions/AWS::Bedrock::FoundationModel" - }, { "$ref": "#/definitions/AWS::Bedrock::Guardrail" }, { "$ref": "#/definitions/AWS::Bedrock::GuardrailVersion" }, - { - "$ref": "#/definitions/AWS::Bedrock::ImportedModel" - }, { "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter" }, { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase" }, - { - "$ref": "#/definitions/AWS::Bedrock::KnowledgeBasePolicy" - }, - { - "$ref": "#/definitions/AWS::Bedrock::ModelImportJob" - }, - { - "$ref": "#/definitions/AWS::Bedrock::ModelInvocationJob" - }, { "$ref": "#/definitions/AWS::Bedrock::Prompt" }, @@ -416612,9 +382745,6 @@ { "$ref": "#/definitions/AWS::Bedrock::ResourcePolicy" }, - { - "$ref": "#/definitions/AWS::Bedrock::Session" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::ApiKeyCredentialProvider" }, @@ -416627,21 +382757,12 @@ { "$ref": "#/definitions/AWS::BedrockAgentCore::BrowserProfile" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider" - }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreter" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom" }, { "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundleVersion" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::Dataset" }, @@ -416651,24 +382772,12 @@ { "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit" - }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget" }, { "$ref": "#/definitions/AWS::BedrockAgentCore::Harness" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::HarnessEndpoint" - }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::HarnessVersion" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::Memory" }, @@ -416693,9 +382802,6 @@ { "$ref": "#/definitions/AWS::BedrockAgentCore::PolicyEngine" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::PolicyGeneration" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::ResourcePolicy" }, @@ -416705,9 +382811,6 @@ { "$ref": "#/definitions/AWS::BedrockAgentCore::RuntimeEndpoint" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::TokenVault" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::WorkloadIdentity" }, @@ -416729,9 +382832,6 @@ { "$ref": "#/definitions/AWS::BillingConductor::PricingRule" }, - { - "$ref": "#/definitions/AWS::Braket::Job" - }, { "$ref": "#/definitions/AWS::Braket::SpendingLimit" }, @@ -416753,9 +382853,6 @@ { "$ref": "#/definitions/AWS::CUR::ReportDefinition" }, - { - "$ref": "#/definitions/AWS::Cases::Case" - }, { "$ref": "#/definitions/AWS::Cases::CaseRule" }, @@ -416774,9 +382871,6 @@ { "$ref": "#/definitions/AWS::Cassandra::Keyspace" }, - { - "$ref": "#/definitions/AWS::Cassandra::Stream" - }, { "$ref": "#/definitions/AWS::Cassandra::Table" }, @@ -416786,15 +382880,6 @@ { "$ref": "#/definitions/AWS::CertificateManager::Account" }, - { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::AcmeEndpoint" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::AcmeExternalAccountBinding" - }, { "$ref": "#/definitions/AWS::CertificateManager::Certificate" }, @@ -416813,12 +382898,6 @@ { "$ref": "#/definitions/AWS::Chime::AppInstanceBot" }, - { - "$ref": "#/definitions/AWS::Chime::AppInstanceUser" - }, - { - "$ref": "#/definitions/AWS::Chime::ChannelFlow" - }, { "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate" }, @@ -416837,9 +382916,6 @@ { "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation" }, - { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable" - }, { "$ref": "#/definitions/AWS::CleanRooms::Membership" }, @@ -416858,15 +382934,9 @@ { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, - { - "$ref": "#/definitions/AWS::CloudFormation::ChangeSet" - }, { "$ref": "#/definitions/AWS::CloudFormation::CustomResource" }, - { - "$ref": "#/definitions/AWS::CloudFormation::GeneratedTemplate" - }, { "$ref": "#/definitions/AWS::CloudFormation::GuardHook" }, @@ -416900,9 +382970,6 @@ { "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceScan" - }, { "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" }, @@ -416981,9 +383048,6 @@ { "$ref": "#/definitions/AWS::CloudFront::VpcOrigin" }, - { - "$ref": "#/definitions/AWS::CloudHSM::Cluster" - }, { "$ref": "#/definitions/AWS::CloudTrail::Channel" }, @@ -417029,21 +383093,12 @@ { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Package" - }, { "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup" }, { "$ref": "#/definitions/AWS::CodeArtifact::Repository" }, - { - "$ref": "#/definitions/AWS::CodeBuild::Build" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::BuildBatch" - }, { "$ref": "#/definitions/AWS::CodeBuild::Fleet" }, @@ -417053,9 +383108,6 @@ { "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" }, - { - "$ref": "#/definitions/AWS::CodeBuild::Sandbox" - }, { "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" }, @@ -417065,9 +383117,6 @@ { "$ref": "#/definitions/AWS::CodeConnections::Connection" }, - { - "$ref": "#/definitions/AWS::CodeConnections::Host" - }, { "$ref": "#/definitions/AWS::CodeDeploy::Application" }, @@ -417140,12 +383189,6 @@ { "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolReplica" - }, { "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" }, @@ -417161,33 +383204,12 @@ { "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" }, - { - "$ref": "#/definitions/AWS::CognitoSync::Dataset" - }, - { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassificationJob" - }, { "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier" }, - { - "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob" - }, - { - "$ref": "#/definitions/AWS::Comprehend::EntitiesDetectionJob" - }, { "$ref": "#/definitions/AWS::Comprehend::Flywheel" }, - { - "$ref": "#/definitions/AWS::Comprehend::FlywheelDataset" - }, - { - "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob" - }, - { - "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob" - }, { "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule" }, @@ -417206,9 +383228,6 @@ { "$ref": "#/definitions/AWS::Config::ConformancePack" }, - { - "$ref": "#/definitions/AWS::Config::Connector" - }, { "$ref": "#/definitions/AWS::Config::DeliveryChannel" }, @@ -417245,9 +383264,6 @@ { "$ref": "#/definitions/AWS::Connect::ContactFlowVersion" }, - { - "$ref": "#/definitions/AWS::Connect::DataLakeAssociation" - }, { "$ref": "#/definitions/AWS::Connect::DataTable" }, @@ -417275,9 +383291,6 @@ { "$ref": "#/definitions/AWS::Connect::IntegrationAssociation" }, - { - "$ref": "#/definitions/AWS::Connect::Metric" - }, { "$ref": "#/definitions/AWS::Connect::Notification" }, @@ -417311,9 +383324,6 @@ { "$ref": "#/definitions/AWS::Connect::TaskTemplate" }, - { - "$ref": "#/definitions/AWS::Connect::TestCase" - }, { "$ref": "#/definitions/AWS::Connect::TrafficDistributionGroup" }, @@ -417341,15 +383351,6 @@ { "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign" }, - { - "$ref": "#/definitions/AWS::ControlCatalog::CommonControl" - }, - { - "$ref": "#/definitions/AWS::ControlCatalog::Control" - }, - { - "$ref": "#/definitions/AWS::ControlCatalog::Objective" - }, { "$ref": "#/definitions/AWS::ControlTower::EnabledBaseline" }, @@ -417365,9 +383366,6 @@ { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::DomainObjectType" - }, { "$ref": "#/definitions/AWS::CustomerProfiles::EventStream" }, @@ -417431,12 +383429,6 @@ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, - { - "$ref": "#/definitions/AWS::DRS::RecoveryInstance" - }, - { - "$ref": "#/definitions/AWS::DRS::SourceNetwork" - }, { "$ref": "#/definitions/AWS::DSQL::Cluster" }, @@ -417458,21 +383450,6 @@ { "$ref": "#/definitions/AWS::DataBrew::Schedule" }, - { - "$ref": "#/definitions/AWS::DataExchange::Assets" - }, - { - "$ref": "#/definitions/AWS::DataExchange::DataSet" - }, - { - "$ref": "#/definitions/AWS::DataExchange::EntitledDataSets" - }, - { - "$ref": "#/definitions/AWS::DataExchange::EventAction" - }, - { - "$ref": "#/definitions/AWS::DataExchange::Job" - }, { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, @@ -417515,9 +383492,6 @@ { "$ref": "#/definitions/AWS::DataSync::Task" }, - { - "$ref": "#/definitions/AWS::DataSync::TaskExecution" - }, { "$ref": "#/definitions/AWS::DataZone::Connection" }, @@ -417569,18 +383543,12 @@ { "$ref": "#/definitions/AWS::DataZone::UserProfile" }, - { - "$ref": "#/definitions/AWS::Deadline::Budget" - }, { "$ref": "#/definitions/AWS::Deadline::Farm" }, { "$ref": "#/definitions/AWS::Deadline::Fleet" }, - { - "$ref": "#/definitions/AWS::Deadline::Job" - }, { "$ref": "#/definitions/AWS::Deadline::LicenseEndpoint" }, @@ -417608,9 +383576,6 @@ { "$ref": "#/definitions/AWS::Deadline::StorageProfile" }, - { - "$ref": "#/definitions/AWS::Deadline::Worker" - }, { "$ref": "#/definitions/AWS::Detective::Graph" }, @@ -417623,9 +383588,6 @@ { "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace" }, - { - "$ref": "#/definitions/AWS::DevOpsAgent::Asset" - }, { "$ref": "#/definitions/AWS::DevOpsAgent::Association" }, @@ -417635,9 +383597,6 @@ { "$ref": "#/definitions/AWS::DevOpsAgent::Service" }, - { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger" - }, { "$ref": "#/definitions/AWS::DevOpsGuru::LogAnomalyDetectionIntegration" }, @@ -417695,18 +383654,9 @@ { "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, - { - "$ref": "#/definitions/AWS::DynamoDB::Backup" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::Export" - }, { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" }, - { - "$ref": "#/definitions/AWS::DynamoDB::Stream" - }, { "$ref": "#/definitions/AWS::DynamoDB::Table" }, @@ -417755,15 +383705,9 @@ { "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" }, - { - "$ref": "#/definitions/AWS::EC2::ExportInstanceTask" - }, { "$ref": "#/definitions/AWS::EC2::FlowLog" }, - { - "$ref": "#/definitions/AWS::EC2::FpgaImage" - }, { "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" }, @@ -417809,9 +383753,6 @@ { "$ref": "#/definitions/AWS::EC2::IpPoolRouteTableAssociation" }, - { - "$ref": "#/definitions/AWS::EC2::IpamExternalResourceVerificationToken" - }, { "$ref": "#/definitions/AWS::EC2::KeyPair" }, @@ -417875,9 +383816,6 @@ { "$ref": "#/definitions/AWS::EC2::PrefixList" }, - { - "$ref": "#/definitions/AWS::EC2::ReplaceRootVolumeTask" - }, { "$ref": "#/definitions/AWS::EC2::Route" }, @@ -417977,15 +383915,6 @@ { "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTable" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableEntry" - }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -418070,9 +383999,6 @@ { "$ref": "#/definitions/AWS::EC2::VolumeAttachment" }, - { - "$ref": "#/definitions/AWS::EC2::VpnConnectionDeviceType" - }, { "$ref": "#/definitions/AWS::ECR::PublicRepository" }, @@ -418100,9 +384026,6 @@ { "$ref": "#/definitions/AWS::ECR::SigningConfiguration" }, - { - "$ref": "#/definitions/AWS::ECRPublic::Registry" - }, { "$ref": "#/definitions/AWS::ECS::CapacityProvider" }, @@ -418112,9 +384035,6 @@ { "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" }, - { - "$ref": "#/definitions/AWS::ECS::ContainerInstance" - }, { "$ref": "#/definitions/AWS::ECS::Daemon" }, @@ -418130,9 +384050,6 @@ { "$ref": "#/definitions/AWS::ECS::Service" }, - { - "$ref": "#/definitions/AWS::ECS::Task" - }, { "$ref": "#/definitions/AWS::ECS::TaskDefinition" }, @@ -418157,9 +384074,6 @@ { "$ref": "#/definitions/AWS::EKS::Capability" }, - { - "$ref": "#/definitions/AWS::EKS::CertificateAuthority" - }, { "$ref": "#/definitions/AWS::EKS::Cluster" }, @@ -418184,9 +384098,6 @@ { "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" }, - { - "$ref": "#/definitions/AWS::EMR::NotebookExecution" - }, { "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" }, @@ -418205,9 +384116,6 @@ { "$ref": "#/definitions/AWS::EMRContainers::Endpoint" }, - { - "$ref": "#/definitions/AWS::EMRContainers::JobRun" - }, { "$ref": "#/definitions/AWS::EMRContainers::SecurityConfiguration" }, @@ -418217,9 +384125,6 @@ { "$ref": "#/definitions/AWS::EMRServerless::Application" }, - { - "$ref": "#/definitions/AWS::EMRServerless::JobRun" - }, { "$ref": "#/definitions/AWS::EVS::Environment" }, @@ -418235,9 +384140,6 @@ { "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" }, - { - "$ref": "#/definitions/AWS::ElastiCache::ReservedCacheNode" - }, { "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" }, @@ -418247,9 +384149,6 @@ { "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache" }, - { - "$ref": "#/definitions/AWS::ElastiCache::ServerlessCacheSnapshot" - }, { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, @@ -418349,9 +384248,6 @@ { "$ref": "#/definitions/AWS::Events::EventBusPolicy" }, - { - "$ref": "#/definitions/AWS::Events::Replay" - }, { "$ref": "#/definitions/AWS::Events::Rule" }, @@ -418370,15 +384266,9 @@ { "$ref": "#/definitions/AWS::Evidently::Segment" }, - { - "$ref": "#/definitions/AWS::FIS::Experiment" - }, { "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" }, - { - "$ref": "#/definitions/AWS::FIS::SafetyLever" - }, { "$ref": "#/definitions/AWS::FIS::TargetAccountConfiguration" }, @@ -418484,9 +384374,6 @@ { "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" }, - { - "$ref": "#/definitions/AWS::Glue::Blueprint" - }, { "$ref": "#/definitions/AWS::Glue::Catalog" }, @@ -418547,27 +384434,18 @@ { "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" }, - { - "$ref": "#/definitions/AWS::Glue::Session" - }, { "$ref": "#/definitions/AWS::Glue::Table" }, { "$ref": "#/definitions/AWS::Glue::TableOptimizer" }, - { - "$ref": "#/definitions/AWS::Glue::TableVersion" - }, { "$ref": "#/definitions/AWS::Glue::Trigger" }, { "$ref": "#/definitions/AWS::Glue::UsageProfile" }, - { - "$ref": "#/definitions/AWS::Glue::UserDefinedFunction" - }, { "$ref": "#/definitions/AWS::Glue::Workflow" }, @@ -418622,15 +384500,9 @@ { "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" }, - { - "$ref": "#/definitions/AWS::GreengrassV2::Component" - }, { "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" }, - { - "$ref": "#/definitions/AWS::GreengrassV2::CoreDevice" - }, { "$ref": "#/definitions/AWS::GreengrassV2::Deployment" }, @@ -418646,9 +384518,6 @@ { "$ref": "#/definitions/AWS::GroundStation::MissionProfile" }, - { - "$ref": "#/definitions/AWS::GuardDuty::CustomDetectionRuleAssociation" - }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" }, @@ -418682,9 +384551,6 @@ { "$ref": "#/definitions/AWS::HealthImaging::Datastore" }, - { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile" - }, { "$ref": "#/definitions/AWS::HealthLake::FHIRDatastore" }, @@ -418739,9 +384605,6 @@ { "$ref": "#/definitions/AWS::IVS::Channel" }, - { - "$ref": "#/definitions/AWS::IVS::Composition" - }, { "$ref": "#/definitions/AWS::IVS::EncoderConfiguration" }, @@ -418775,24 +384638,12 @@ { "$ref": "#/definitions/AWS::IVSChat::Room" }, - { - "$ref": "#/definitions/AWS::IdentityStore::AllGroupMemberships" - }, { "$ref": "#/definitions/AWS::IdentityStore::Group" }, { "$ref": "#/definitions/AWS::IdentityStore::GroupMembership" }, - { - "$ref": "#/definitions/AWS::IdentityStore::User" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::AllImageBuildVersions" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::AllWorkflowBuildVersions" - }, { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, @@ -418814,21 +384665,12 @@ { "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" }, - { - "$ref": "#/definitions/AWS::ImageBuilder::LifecycleExecution" - }, { "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy" }, { "$ref": "#/definitions/AWS::ImageBuilder::Workflow" }, - { - "$ref": "#/definitions/AWS::ImageBuilder::WorkflowExecution" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::WorkflowStepExecution" - }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -418847,27 +384689,18 @@ { "$ref": "#/definitions/AWS::InspectorV2::CodeSecurityScanConfiguration" }, - { - "$ref": "#/definitions/AWS::InspectorV2::Connector" - }, { "$ref": "#/definitions/AWS::InspectorV2::Filter" }, { "$ref": "#/definitions/AWS::Interconnect::Connection" }, - { - "$ref": "#/definitions/AWS::InternetMonitor::InternetEvent" - }, { "$ref": "#/definitions/AWS::InternetMonitor::Monitor" }, { "$ref": "#/definitions/AWS::Invoicing::InvoiceUnit" }, - { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference" - }, { "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" }, @@ -418904,12 +384737,6 @@ { "$ref": "#/definitions/AWS::IoT::FleetMetric" }, - { - "$ref": "#/definitions/AWS::IoT::Index" - }, - { - "$ref": "#/definitions/AWS::IoT::Job" - }, { "$ref": "#/definitions/AWS::IoT::JobTemplate" }, @@ -418946,9 +384773,6 @@ { "$ref": "#/definitions/AWS::IoT::SoftwarePackageVersion" }, - { - "$ref": "#/definitions/AWS::IoT::Stream" - }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -418982,9 +384806,6 @@ { "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" }, - { - "$ref": "#/definitions/AWS::IoTDeviceAdvisor::SuiteRun" - }, { "$ref": "#/definitions/AWS::IoTEvents::AlarmModel" }, @@ -419015,9 +384836,6 @@ { "$ref": "#/definitions/AWS::IoTFleetWise::Vehicle" }, - { - "$ref": "#/definitions/AWS::IoTSecureTunneling::Tunnel" - }, { "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" }, @@ -419054,9 +384872,6 @@ { "$ref": "#/definitions/AWS::IoTTwinMaker::Entity" }, - { - "$ref": "#/definitions/AWS::IoTTwinMaker::MetadataTransferJob" - }, { "$ref": "#/definitions/AWS::IoTTwinMaker::Scene" }, @@ -419111,9 +384926,6 @@ { "$ref": "#/definitions/AWS::KafkaConnect::Connector" }, - { - "$ref": "#/definitions/AWS::KafkaConnect::ConnectorOperation" - }, { "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin" }, @@ -419129,12 +384941,6 @@ { "$ref": "#/definitions/AWS::Kendra::Index" }, - { - "$ref": "#/definitions/AWS::Kendra::QuerySuggestionsBlockList" - }, - { - "$ref": "#/definitions/AWS::Kendra::Thesaurus" - }, { "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan" }, @@ -419207,9 +385013,6 @@ { "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" }, - { - "$ref": "#/definitions/AWS::Lambda::DurableExecution" - }, { "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" }, @@ -419225,18 +385028,9 @@ { "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" }, - { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage" - }, - { - "$ref": "#/definitions/AWS::Lambda::NetworkConnector" - }, { "$ref": "#/definitions/AWS::Lambda::Permission" }, - { - "$ref": "#/definitions/AWS::Lambda::ResourcePolicy" - }, { "$ref": "#/definitions/AWS::Lambda::Url" }, @@ -419264,9 +385058,6 @@ { "$ref": "#/definitions/AWS::LicenseManager::License" }, - { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet" - }, { "$ref": "#/definitions/AWS::Lightsail::Alarm" }, @@ -419276,9 +385067,6 @@ { "$ref": "#/definitions/AWS::Lightsail::Certificate" }, - { - "$ref": "#/definitions/AWS::Lightsail::ContactMethod" - }, { "$ref": "#/definitions/AWS::Lightsail::Container" }, @@ -419300,9 +385088,6 @@ { "$ref": "#/definitions/AWS::Lightsail::Domain" }, - { - "$ref": "#/definitions/AWS::Lightsail::ExportSnapshotRecord" - }, { "$ref": "#/definitions/AWS::Lightsail::Instance" }, @@ -419324,9 +385109,6 @@ { "$ref": "#/definitions/AWS::Location::GeofenceCollection" }, - { - "$ref": "#/definitions/AWS::Location::Job" - }, { "$ref": "#/definitions/AWS::Location::Map" }, @@ -419381,9 +385163,6 @@ { "$ref": "#/definitions/AWS::Logs::ScheduledQuery" }, - { - "$ref": "#/definitions/AWS::Logs::StorageTierPolicy" - }, { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, @@ -419405,9 +385184,6 @@ { "$ref": "#/definitions/AWS::M2::Environment" }, - { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition" - }, { "$ref": "#/definitions/AWS::MPA::ApprovalTeam" }, @@ -419417,9 +385193,6 @@ { "$ref": "#/definitions/AWS::MSK::BatchScramSecret" }, - { - "$ref": "#/definitions/AWS::MSK::Channel" - }, { "$ref": "#/definitions/AWS::MSK::Cluster" }, @@ -419447,9 +385220,6 @@ { "$ref": "#/definitions/AWS::MWAAServerless::Workflow" }, - { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob" - }, { "$ref": "#/definitions/AWS::Macie::AllowList" }, @@ -419498,12 +385268,6 @@ { "$ref": "#/definitions/AWS::MediaConnect::Gateway" }, - { - "$ref": "#/definitions/AWS::MediaConnect::Offering" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::Reservation" - }, { "$ref": "#/definitions/AWS::MediaConnect::RouterInput" }, @@ -419558,12 +385322,6 @@ { "$ref": "#/definitions/AWS::MediaLive::Network" }, - { - "$ref": "#/definitions/AWS::MediaLive::Node" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Offering" - }, { "$ref": "#/definitions/AWS::MediaLive::SdiSource" }, @@ -419576,9 +385334,6 @@ { "$ref": "#/definitions/AWS::MediaPackage::Channel" }, - { - "$ref": "#/definitions/AWS::MediaPackage::HarvestJob" - }, { "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" }, @@ -419597,9 +385352,6 @@ { "$ref": "#/definitions/AWS::MediaPackageV2::ChannelPolicy" }, - { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob" - }, { "$ref": "#/definitions/AWS::MediaPackageV2::OriginEndpoint" }, @@ -419615,27 +385367,18 @@ { "$ref": "#/definitions/AWS::MediaTailor::ChannelPolicy" }, - { - "$ref": "#/definitions/AWS::MediaTailor::Function" - }, { "$ref": "#/definitions/AWS::MediaTailor::LiveSource" }, { "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration" }, - { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule" - }, { "$ref": "#/definitions/AWS::MediaTailor::SourceLocation" }, { "$ref": "#/definitions/AWS::MediaTailor::VodSource" }, - { - "$ref": "#/definitions/AWS::MedicalImaging::ImageSet" - }, { "$ref": "#/definitions/AWS::MemoryDB::ACL" }, @@ -419645,15 +385388,9 @@ { "$ref": "#/definitions/AWS::MemoryDB::MultiRegionCluster" }, - { - "$ref": "#/definitions/AWS::MemoryDB::MultiRegionParameterGroup" - }, { "$ref": "#/definitions/AWS::MemoryDB::ParameterGroup" }, - { - "$ref": "#/definitions/AWS::MemoryDB::ReservedNode" - }, { "$ref": "#/definitions/AWS::MemoryDB::SubnetGroup" }, @@ -419681,9 +385418,6 @@ { "$ref": "#/definitions/AWS::Neptune::GlobalCluster" }, - { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask" - }, { "$ref": "#/definitions/AWS::NeptuneGraph::Graph" }, @@ -419711,9 +385445,6 @@ { "$ref": "#/definitions/AWS::NetworkFirewall::VpcEndpointAssociation" }, - { - "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor" - }, { "$ref": "#/definitions/AWS::NetworkManager::ConnectAttachment" }, @@ -419789,9 +385520,6 @@ { "$ref": "#/definitions/AWS::NovaAct::WorkflowDefinition" }, - { - "$ref": "#/definitions/AWS::NovaAct::WorkflowRun" - }, { "$ref": "#/definitions/AWS::ODB::CloudAutonomousVmCluster" }, @@ -419810,9 +385538,6 @@ { "$ref": "#/definitions/AWS::OSIS::Pipeline" }, - { - "$ref": "#/definitions/AWS::OSIS::PipelineBlueprint" - }, { "$ref": "#/definitions/AWS::Oam::Link" }, @@ -419843,30 +385568,15 @@ { "$ref": "#/definitions/AWS::Omics::Configuration" }, - { - "$ref": "#/definitions/AWS::Omics::ReadSet" - }, - { - "$ref": "#/definitions/AWS::Omics::Reference" - }, { "$ref": "#/definitions/AWS::Omics::ReferenceStore" }, - { - "$ref": "#/definitions/AWS::Omics::Run" - }, - { - "$ref": "#/definitions/AWS::Omics::RunCache" - }, { "$ref": "#/definitions/AWS::Omics::RunGroup" }, { "$ref": "#/definitions/AWS::Omics::SequenceStore" }, - { - "$ref": "#/definitions/AWS::Omics::Task" - }, { "$ref": "#/definitions/AWS::Omics::VariantStore" }, @@ -419876,9 +385586,6 @@ { "$ref": "#/definitions/AWS::Omics::WorkflowVersion" }, - { - "$ref": "#/definitions/AWS::OpenSearch::DataSource" - }, { "$ref": "#/definitions/AWS::OpenSearchServerless::AccessPolicy" }, @@ -419948,12 +385655,6 @@ { "$ref": "#/definitions/AWS::Organizations::ResourcePolicy" }, - { - "$ref": "#/definitions/AWS::Organizations::Root" - }, - { - "$ref": "#/definitions/AWS::Outposts::Site" - }, { "$ref": "#/definitions/AWS::PCAConnectorAD::Connector" }, @@ -419993,42 +385694,18 @@ { "$ref": "#/definitions/AWS::Panorama::PackageVersion" }, - { - "$ref": "#/definitions/AWS::PartnerCentral::ConnectionPreferences" - }, - { - "$ref": "#/definitions/AWS::PartnerCentral::Partner" - }, { "$ref": "#/definitions/AWS::PaymentCryptography::Alias" }, { "$ref": "#/definitions/AWS::PaymentCryptography::Key" }, - { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob" - }, - { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob" - }, - { - "$ref": "#/definitions/AWS::Personalize::DataDeletionJob" - }, { "$ref": "#/definitions/AWS::Personalize::Dataset" }, { "$ref": "#/definitions/AWS::Personalize::DatasetGroup" }, - { - "$ref": "#/definitions/AWS::Personalize::EventTracker" - }, - { - "$ref": "#/definitions/AWS::Personalize::MetricAttribution" - }, - { - "$ref": "#/definitions/AWS::Personalize::Recipe" - }, { "$ref": "#/definitions/AWS::Personalize::Schema" }, @@ -420149,27 +385826,12 @@ { "$ref": "#/definitions/AWS::QuickSight::ActionConnector" }, - { - "$ref": "#/definitions/AWS::QuickSight::Agent" - }, { "$ref": "#/definitions/AWS::QuickSight::Analysis" }, - { - "$ref": "#/definitions/AWS::QuickSight::ApprovalPolicy" - }, - { - "$ref": "#/definitions/AWS::QuickSight::AssetBundleExportJob" - }, - { - "$ref": "#/definitions/AWS::QuickSight::AssetBundleImportJob" - }, { "$ref": "#/definitions/AWS::QuickSight::CustomPermissions" }, - { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting" - }, { "$ref": "#/definitions/AWS::QuickSight::Dashboard" }, @@ -420179,27 +385841,12 @@ { "$ref": "#/definitions/AWS::QuickSight::DataSource" }, - { - "$ref": "#/definitions/AWS::QuickSight::Flow" - }, { "$ref": "#/definitions/AWS::QuickSight::Folder" }, - { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase" - }, - { - "$ref": "#/definitions/AWS::QuickSight::LimitsProfile" - }, - { - "$ref": "#/definitions/AWS::QuickSight::OAuthClientApplication" - }, { "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule" }, - { - "$ref": "#/definitions/AWS::QuickSight::Space" - }, { "$ref": "#/definitions/AWS::QuickSight::Template" }, @@ -420209,9 +385856,6 @@ { "$ref": "#/definitions/AWS::QuickSight::Topic" }, - { - "$ref": "#/definitions/AWS::QuickSight::TopicV2" - }, { "$ref": "#/definitions/AWS::QuickSight::VPCConnection" }, @@ -420221,9 +385865,6 @@ { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, - { - "$ref": "#/definitions/AWS::RDS::ClusterSnapshot" - }, { "$ref": "#/definitions/AWS::RDS::CustomDBEngineVersion" }, @@ -420257,9 +385898,6 @@ { "$ref": "#/definitions/AWS::RDS::DBShardGroup" }, - { - "$ref": "#/definitions/AWS::RDS::DBSnapshot" - }, { "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" }, @@ -420275,9 +385913,6 @@ { "$ref": "#/definitions/AWS::RDS::OptionGroup" }, - { - "$ref": "#/definitions/AWS::RDS::ReservedDBInstance" - }, { "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink" }, @@ -420317,9 +385952,6 @@ { "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" }, - { - "$ref": "#/definitions/AWS::Redshift::DataShare" - }, { "$ref": "#/definitions/AWS::Redshift::EndpointAccess" }, @@ -420335,15 +385967,9 @@ { "$ref": "#/definitions/AWS::Redshift::ScheduledAction" }, - { - "$ref": "#/definitions/AWS::Redshift::SnapshotSchedule" - }, { "$ref": "#/definitions/AWS::RedshiftServerless::Namespace" }, - { - "$ref": "#/definitions/AWS::RedshiftServerless::RecoveryPoint" - }, { "$ref": "#/definitions/AWS::RedshiftServerless::Snapshot" }, @@ -420365,9 +385991,6 @@ { "$ref": "#/definitions/AWS::Rekognition::Collection" }, - { - "$ref": "#/definitions/AWS::Rekognition::Dataset" - }, { "$ref": "#/definitions/AWS::Rekognition::Project" }, @@ -420377,9 +386000,6 @@ { "$ref": "#/definitions/AWS::ResilienceHub::App" }, - { - "$ref": "#/definitions/AWS::ResilienceHub::RecommendationTemplate" - }, { "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy" }, @@ -420515,9 +386135,6 @@ { "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallConfig" - }, { "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" }, @@ -420644,12 +386261,6 @@ { "$ref": "#/definitions/AWS::S3Vectors::VectorBucketPolicy" }, - { - "$ref": "#/definitions/AWS::SCN::Dataset" - }, - { - "$ref": "#/definitions/AWS::SCN::Namespace" - }, { "$ref": "#/definitions/AWS::SDB::Domain" }, @@ -420731,9 +386342,6 @@ { "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration" }, - { - "$ref": "#/definitions/AWS::SMSVOICE::Registration" - }, { "$ref": "#/definitions/AWS::SMSVOICE::ResourcePolicy" }, @@ -420764,12 +386372,6 @@ { "$ref": "#/definitions/AWS::SSM::Association" }, - { - "$ref": "#/definitions/AWS::SSM::AutomationExecution" - }, - { - "$ref": "#/definitions/AWS::SSM::CloudConnector" - }, { "$ref": "#/definitions/AWS::SSM::Document" }, @@ -420782,12 +386384,6 @@ { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" }, - { - "$ref": "#/definitions/AWS::SSM::ManagedInstance" - }, - { - "$ref": "#/definitions/AWS::SSM::OpsItem" - }, { "$ref": "#/definitions/AWS::SSM::Parameter" }, @@ -420800,12 +386396,6 @@ { "$ref": "#/definitions/AWS::SSM::ResourcePolicy" }, - { - "$ref": "#/definitions/AWS::SSM::ServiceSetting" - }, - { - "$ref": "#/definitions/AWS::SSM::Session" - }, { "$ref": "#/definitions/AWS::SSMContacts::Contact" }, @@ -420839,9 +386429,6 @@ { "$ref": "#/definitions/AWS::SSO::ApplicationAssignment" }, - { - "$ref": "#/definitions/AWS::SSO::ApplicationProvider" - }, { "$ref": "#/definitions/AWS::SSO::Assignment" }, @@ -420854,33 +386441,18 @@ { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, - { - "$ref": "#/definitions/AWS::SageMaker::Action" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Algorithm" - }, { "$ref": "#/definitions/AWS::SageMaker::App" }, { "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" }, - { - "$ref": "#/definitions/AWS::SageMaker::Artifact" - }, - { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob" - }, { "$ref": "#/definitions/AWS::SageMaker::Cluster" }, { "$ref": "#/definitions/AWS::SageMaker::CodeRepository" }, - { - "$ref": "#/definitions/AWS::SageMaker::Context" - }, { "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" }, @@ -420899,24 +386471,9 @@ { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" }, - { - "$ref": "#/definitions/AWS::SageMaker::Experiment" - }, { "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" }, - { - "$ref": "#/definitions/AWS::SageMaker::Hub" - }, - { - "$ref": "#/definitions/AWS::SageMaker::HubContentVersion" - }, - { - "$ref": "#/definitions/AWS::SageMaker::HumanTaskUi" - }, - { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob" - }, { "$ref": "#/definitions/AWS::SageMaker::Image" }, @@ -420944,9 +386501,6 @@ { "$ref": "#/definitions/AWS::SageMaker::ModelCard" }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelCardExportJob" - }, { "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" }, @@ -420962,27 +386516,18 @@ { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" }, - { - "$ref": "#/definitions/AWS::SageMaker::MonitoringScheduleAlert" - }, { "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" }, { "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" }, - { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob" - }, { "$ref": "#/definitions/AWS::SageMaker::PartnerApp" }, { "$ref": "#/definitions/AWS::SageMaker::Pipeline" }, - { - "$ref": "#/definitions/AWS::SageMaker::PipelineExecution" - }, { "$ref": "#/definitions/AWS::SageMaker::ProcessingJob" }, @@ -420995,27 +386540,12 @@ { "$ref": "#/definitions/AWS::SageMaker::StudioLifecycleConfig" }, - { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob" - }, - { - "$ref": "#/definitions/AWS::SageMaker::TransformJob" - }, - { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent" - }, { "$ref": "#/definitions/AWS::SageMaker::UserProfile" }, - { - "$ref": "#/definitions/AWS::SageMaker::Workforce" - }, { "$ref": "#/definitions/AWS::SageMaker::Workteam" }, - { - "$ref": "#/definitions/AWS::SavingsPlans::SavingsPlan" - }, { "$ref": "#/definitions/AWS::Scheduler::Schedule" }, @@ -421040,18 +386570,9 @@ { "$ref": "#/definitions/AWS::SecurityAgent::Application" }, - { - "$ref": "#/definitions/AWS::SecurityAgent::Artifact" - }, { "$ref": "#/definitions/AWS::SecurityAgent::Pentest" }, - { - "$ref": "#/definitions/AWS::SecurityAgent::PentestTask" - }, - { - "$ref": "#/definitions/AWS::SecurityAgent::SecurityRequirementPack" - }, { "$ref": "#/definitions/AWS::SecurityAgent::TargetDomain" }, @@ -421067,9 +386588,6 @@ { "$ref": "#/definitions/AWS::SecurityHub::ConfigurationPolicy" }, - { - "$ref": "#/definitions/AWS::SecurityHub::Connector" - }, { "$ref": "#/definitions/AWS::SecurityHub::ConnectorV2" }, @@ -421115,9 +386633,6 @@ { "$ref": "#/definitions/AWS::SecurityLake::SubscriberNotification" }, - { - "$ref": "#/definitions/AWS::ServerlessRepo::Application" - }, { "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" }, @@ -421193,9 +386708,6 @@ { "$ref": "#/definitions/AWS::ServiceDiscovery::Service" }, - { - "$ref": "#/definitions/AWS::ServiceQuotas::Quota" - }, { "$ref": "#/definitions/AWS::Shield::DRTAccess" }, @@ -421211,24 +386723,15 @@ { "$ref": "#/definitions/AWS::Signer::ProfilePermission" }, - { - "$ref": "#/definitions/AWS::Signer::SigningJob" - }, { "$ref": "#/definitions/AWS::Signer::SigningProfile" }, { "$ref": "#/definitions/AWS::SimSpaceWeaver::Simulation" }, - { - "$ref": "#/definitions/AWS::States::Execution" - }, { "$ref": "#/definitions/AWS::StepFunctions::Activity" }, - { - "$ref": "#/definitions/AWS::StepFunctions::MapRun" - }, { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, @@ -421238,9 +386741,6 @@ { "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" }, - { - "$ref": "#/definitions/AWS::StorageGateway::TapePool" - }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" }, @@ -421250,9 +386750,6 @@ { "$ref": "#/definitions/AWS::SupportApp::SlackWorkspaceConfiguration" }, - { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit" - }, { "$ref": "#/definitions/AWS::Synthetics::Canary" }, @@ -421262,12 +386759,6 @@ { "$ref": "#/definitions/AWS::SystemsManagerSAP::Application" }, - { - "$ref": "#/definitions/AWS::Textract::Adapter" - }, - { - "$ref": "#/definitions/AWS::ThinClient::SoftwareSet" - }, { "$ref": "#/definitions/AWS::Timestream::Database" }, @@ -421283,21 +386774,6 @@ { "$ref": "#/definitions/AWS::Timestream::Table" }, - { - "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsJob" - }, - { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob" - }, - { - "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob" - }, - { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob" - }, - { - "$ref": "#/definitions/AWS::Transcribe::VocabularyFilter" - }, { "$ref": "#/definitions/AWS::Transfer::Agreement" }, @@ -421307,9 +386783,6 @@ { "$ref": "#/definitions/AWS::Transfer::Connector" }, - { - "$ref": "#/definitions/AWS::Transfer::HostKey" - }, { "$ref": "#/definitions/AWS::Transfer::Profile" }, @@ -421325,18 +386798,9 @@ { "$ref": "#/definitions/AWS::Transfer::Workflow" }, - { - "$ref": "#/definitions/AWS::Translate::ParallelData" - }, { "$ref": "#/definitions/AWS::UXC::AccountCustomization" }, - { - "$ref": "#/definitions/AWS::UserNotifications::ManagedNotificationConfiguration" - }, - { - "$ref": "#/definitions/AWS::UserNotifications::NotificationEvent" - }, { "$ref": "#/definitions/AWS::VerifiedPermissions::IdentitySource" }, @@ -421469,21 +386933,6 @@ { "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" }, - { - "$ref": "#/definitions/AWS::WellArchitected::Lens" - }, - { - "$ref": "#/definitions/AWS::WellArchitected::Profile" - }, - { - "$ref": "#/definitions/AWS::WellArchitected::ReviewTemplate" - }, - { - "$ref": "#/definitions/AWS::WellArchitected::Workload" - }, - { - "$ref": "#/definitions/AWS::Wickr::Network" - }, { "$ref": "#/definitions/AWS::Wisdom::AIAgent" }, @@ -421520,21 +386969,12 @@ { "$ref": "#/definitions/AWS::Wisdom::QuickResponse" }, - { - "$ref": "#/definitions/AWS::Wisdom::Session" - }, { "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" }, - { - "$ref": "#/definitions/AWS::WorkSpaces::WorkSpaceApplication" - }, { "$ref": "#/definitions/AWS::WorkSpaces::Workspace" }, - { - "$ref": "#/definitions/AWS::WorkSpaces::WorkspaceIpGroup" - }, { "$ref": "#/definitions/AWS::WorkSpaces::WorkspacesPool" }, diff --git a/samtranslator/sdk/resource.py b/samtranslator/sdk/resource.py index c8f075246..d61f2a05a 100644 --- a/samtranslator/sdk/resource.py +++ b/samtranslator/sdk/resource.py @@ -64,7 +64,6 @@ class SamResourceType(Enum): Api = "AWS::Serverless::Api" Function = "AWS::Serverless::Function" - WebFunction = "AWS::Serverless::WebFunction" SimpleTable = "AWS::Serverless::SimpleTable" Application = "AWS::Serverless::Application" LambdaLayerVersion = "AWS::Serverless::LayerVersion" diff --git a/samtranslator/translator/translator.py b/samtranslator/translator/translator.py index 9f2a4ad51..2aeadbe2c 100644 --- a/samtranslator/translator/translator.py +++ b/samtranslator/translator/translator.py @@ -268,7 +268,6 @@ def _get_resources_to_iterate( """ functions = [] - webfunctions = [] statemachines = [] apis = [] others = [] @@ -283,8 +282,6 @@ def _get_resources_to_iterate( continue if resource["Type"] == "AWS::Serverless::Function": functions.append(data) - elif resource["Type"] == "AWS::Serverless::WebFunction": - webfunctions.append(data) elif resource["Type"] == "AWS::Serverless::StateMachine": statemachines.append(data) elif resource["Type"] in ( @@ -298,7 +295,7 @@ def _get_resources_to_iterate( else: others.append(data) - return functions + webfunctions + statemachines + apis + others + connectors + return functions + statemachines + apis + others + connectors @staticmethod def _update_resources(connectors_list: list[Resource]) -> dict[str, Any]: diff --git a/samtranslator/translator/verify_logical_id.py b/samtranslator/translator/verify_logical_id.py index 751e5d08b..7da2c7911 100644 --- a/samtranslator/translator/verify_logical_id.py +++ b/samtranslator/translator/verify_logical_id.py @@ -5,7 +5,6 @@ do_not_verify = { # type_after_transform: type_before_transform "AWS::Lambda::Function": "AWS::Serverless::Function", - "AWS::Lambda::WebFunction": "AWS::Serverless::WebFunction", "AWS::Lambda::LayerVersion": "AWS::Serverless::LayerVersion", "AWS::Lambda::CapacityProvider": "AWS::Serverless::CapacityProvider", "AWS::Lambda::MicrovmImage": "AWS::Serverless::MicrovmImage", diff --git a/samtranslator/validator/sam_schema/schema_new.json b/samtranslator/validator/sam_schema/schema_new.json index 64ec95fb9..65bca0b8b 100644 --- a/samtranslator/validator/sam_schema/schema_new.json +++ b/samtranslator/validator/sam_schema/schema_new.json @@ -106,7 +106,6 @@ "AWS::Serverless::Api", "AWS::Serverless::Application", "AWS::Serverless::Function", - "AWS::Serverless::WebFunction", "AWS::Serverless::HttpApi", "AWS::Serverless::WebSocketApi", "AWS::Serverless::LayerVersion", diff --git a/schema_source/cloudformation.schema.json b/schema_source/cloudformation.schema.json index be4573b3e..4c56ed19f 100644 --- a/schema_source/cloudformation.schema.json +++ b/schema_source/cloudformation.schema.json @@ -1846,18 +1846,6 @@ ], "type": "object" }, - "AWS::APS::Scraper.CloudWatchConfiguration": { - "additionalProperties": false, - "properties": { - "DatasetArn": { - "type": "string" - } - }, - "required": [ - "DatasetArn" - ], - "type": "object" - }, "AWS::APS::Scraper.CloudWatchLogDestination": { "additionalProperties": false, "properties": { @@ -1893,11 +1881,11 @@ "$ref": "#/definitions/AWS::APS::Scraper.AmpConfiguration", "markdownDescription": "The Amazon Managed Service for Prometheus workspace to send metrics to.", "title": "AmpConfiguration" - }, - "CloudWatchConfiguration": { - "$ref": "#/definitions/AWS::APS::Scraper.CloudWatchConfiguration" } }, + "required": [ + "AmpConfiguration" + ], "type": "object" }, "AWS::APS::Scraper.EksConfiguration": { @@ -2998,9 +2986,6 @@ "RdsPromoteReadReplicaConfig": { "$ref": "#/definitions/AWS::ARCRegionSwitch::Plan.RdsPromoteReadReplicaConfiguration" }, - "RdsSwitchoverReadReplicaConfig": { - "$ref": "#/definitions/AWS::ARCRegionSwitch::Plan.RdsSwitchoverReadReplicaConfiguration" - }, "RegionSwitchPlanConfig": { "$ref": "#/definitions/AWS::ARCRegionSwitch::Plan.RegionSwitchPlanConfiguration", "markdownDescription": "A Region switch plan execution block.", @@ -3281,45 +3266,6 @@ ], "type": "object" }, - "AWS::ARCRegionSwitch::Plan.RdsSwitchoverReadReplicaConfiguration": { - "additionalProperties": false, - "properties": { - "CrossAccountRole": { - "type": "string" - }, - "DbInstanceArnMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ExternalId": { - "type": "string" - }, - "TimeoutMinutes": { - "type": "number" - }, - "Ungraceful": { - "$ref": "#/definitions/AWS::ARCRegionSwitch::Plan.RdsUngraceful" - } - }, - "required": [ - "DbInstanceArnMap" - ], - "type": "object" - }, - "AWS::ARCRegionSwitch::Plan.RdsUngraceful": { - "additionalProperties": false, - "properties": { - "Ungraceful": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ARCRegionSwitch::Plan.RegionSwitchPlanConfiguration": { "additionalProperties": false, "properties": { @@ -4172,7 +4118,7 @@ }, "type": "object" }, - "AWS::AccessAnalyzer::ArchiveRule": { + "AWS::AmazonMQ::Broker": { "additionalProperties": false, "properties": { "Condition": { @@ -4207,32 +4153,131 @@ "Properties": { "additionalProperties": false, "properties": { - "AnalyzerName": { + "AuthenticationStrategy": { + "markdownDescription": "Optional. The authentication strategy used to secure the broker. The default is `SIMPLE` .", + "title": "AuthenticationStrategy", "type": "string" }, - "Filter": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AccessAnalyzer::ArchiveRule.FilterItems" - } + "AutoMinorVersionUpgrade": { + "markdownDescription": "Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot. Set to `true` by default, if no value is specified.\n\n> Must be set to `true` for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" + }, + "BrokerName": { + "markdownDescription": "Required. The broker's name. This value must be unique in your AWS account , 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.\n\n> Do not add personally identifiable information (PII) or other confidential or sensitive information in broker names. Broker names are accessible to other AWS services, including CloudWatch Logs . Broker names are not intended to be used for private or sensitive data.", + "title": "BrokerName", + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId", + "markdownDescription": "A list of information about the configuration.", + "title": "Configuration" + }, + "DataReplicationMode": { + "markdownDescription": "Defines whether this broker is a part of a data replication pair.", + "title": "DataReplicationMode", + "type": "string" + }, + "DataReplicationPrimaryBrokerArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.", + "title": "DataReplicationPrimaryBrokerArn", + "type": "string" + }, + "DeploymentMode": { + "markdownDescription": "Required. The broker's deployment mode.", + "title": "DeploymentMode", + "type": "string" + }, + "EncryptionOptions": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions", + "markdownDescription": "Encryption options for the broker.", + "title": "EncryptionOptions" + }, + "EngineType": { + "markdownDescription": "Required. The type of broker engine. Currently, Amazon MQ supports `ACTIVEMQ` and `RABBITMQ` .", + "title": "EngineType", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The broker engine version. Defaults to the latest available version for the specified broker engine type. For more information, see the [ActiveMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html) and the [RabbitMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html) sections in the Amazon MQ Developer Guide.", + "title": "EngineVersion", + "type": "string" + }, + "HostInstanceType": { + "markdownDescription": "Required. The broker's instance type.", + "title": "HostInstanceType", + "type": "string" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata", + "markdownDescription": "Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not apply to RabbitMQ brokers.", + "title": "LdapServerMetadata" + }, + "Logs": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList", + "markdownDescription": "Enables Amazon CloudWatch logging for brokers.", + "title": "Logs" + }, + "MaintenanceWindowStartTime": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow", + "markdownDescription": "The parameters that determine the WeeklyStartTime.", + "title": "MaintenanceWindowStartTime" + }, + "PubliclyAccessible": { + "markdownDescription": "Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to `false` by default, if no value is provided.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "SecurityGroups": { + "items": { + "type": "string" }, - "type": "object" + "markdownDescription": "The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.", + "title": "SecurityGroups", + "type": "array" }, - "RuleName": { + "StorageType": { + "markdownDescription": "The broker's storage type.", + "title": "StorageType", "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment has no subnet requirements when deployed with public accessibility. Deployment without public accessibility requires at least one subnet.\n\n> If you specify subnets in a [shared VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html) for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your AWS account . Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your AWS account .", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" + }, + "markdownDescription": "Create tags when creating the broker.", + "title": "Tags", + "type": "array" + }, + "Users": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" + }, + "markdownDescription": "The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web console.\n\nWhen OAuth 2.0 is enabled, the broker accepts one or no users.", + "title": "Users", + "type": "array" } }, "required": [ - "AnalyzerName", - "Filter", - "RuleName" + "BrokerName", + "DeploymentMode", + "EngineType", + "HostInstanceType", + "PubliclyAccessible" ], "type": "object" }, "Type": { "enum": [ - "AWS::AccessAnalyzer::ArchiveRule" + "AWS::AmazonMQ::Broker" ], "type": "string" }, @@ -4251,34 +4296,218 @@ ], "type": "object" }, - "AWS::AccessAnalyzer::ArchiveRule.FilterItems": { + "AWS::AmazonMQ::Broker.ConfigurationId": { "additionalProperties": false, "properties": { - "Contains": { - "items": { - "type": "string" - }, - "type": "array" + "Id": { + "markdownDescription": "Required. The unique ID that Amazon MQ generates for the configuration.", + "title": "Id", + "type": "string" }, - "Eq": { + "Revision": { + "markdownDescription": "The revision number of the configuration.", + "title": "Revision", + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.EncryptionOptions": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "markdownDescription": "The customer master key (CMK) to use for the A AWS (KMS). This key is used to encrypt your data at rest. If not provided, Amazon MQ will use a default CMK to encrypt your data.", + "title": "KmsKeyId", + "type": "string" + }, + "UseAwsOwnedKey": { + "markdownDescription": "Enables the use of an AWS owned CMK using AWS (KMS). Set to `true` by default, if no value is provided, for example, for RabbitMQ brokers.", + "title": "UseAwsOwnedKey", + "type": "boolean" + } + }, + "required": [ + "UseAwsOwnedKey" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { "items": { "type": "string" }, + "markdownDescription": "", + "title": "Hosts", "type": "array" }, - "Exists": { + "RoleBase": { + "markdownDescription": "", + "title": "RoleBase", + "type": "string" + }, + "RoleName": { + "markdownDescription": "", + "title": "RoleName", + "type": "string" + }, + "RoleSearchMatching": { + "markdownDescription": "", + "title": "RoleSearchMatching", + "type": "string" + }, + "RoleSearchSubtree": { + "markdownDescription": "", + "title": "RoleSearchSubtree", "type": "boolean" }, - "Neq": { + "ServiceAccountPassword": { + "markdownDescription": "", + "title": "ServiceAccountPassword", + "type": "string" + }, + "ServiceAccountUsername": { + "markdownDescription": "", + "title": "ServiceAccountUsername", + "type": "string" + }, + "UserBase": { + "markdownDescription": "", + "title": "UserBase", + "type": "string" + }, + "UserRoleName": { + "markdownDescription": "", + "title": "UserRoleName", + "type": "string" + }, + "UserSearchMatching": { + "markdownDescription": "", + "title": "UserSearchMatching", + "type": "string" + }, + "UserSearchSubtree": { + "markdownDescription": "", + "title": "UserSearchSubtree", + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LogList": { + "additionalProperties": false, + "properties": { + "Audit": { + "markdownDescription": "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers.", + "title": "Audit", + "type": "boolean" + }, + "General": { + "markdownDescription": "Enables general logging.", + "title": "General", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AmazonMQ::Broker.MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DayOfWeek": { + "markdownDescription": "Required. The day of the week.", + "title": "DayOfWeek", + "type": "string" + }, + "TimeOfDay": { + "markdownDescription": "Required. The time, in 24-hour format.", + "title": "TimeOfDay", + "type": "string" + }, + "TimeZone": { + "markdownDescription": "The time zone, UTC by default, in either the Country/City format, or the UTC offset format.", + "title": "TimeZone", + "type": "string" + } + }, + "required": [ + "DayOfWeek", + "TimeOfDay", + "TimeZone" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.User": { + "additionalProperties": false, + "properties": { + "ConsoleAccess": { + "markdownDescription": "Enables access to the ActiveMQ Web Console for the ActiveMQ user. Does not apply to RabbitMQ brokers.", + "title": "ConsoleAccess", + "type": "boolean" + }, + "Groups": { "items": { "type": "string" }, + "markdownDescription": "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. Does not apply to RabbitMQ brokers.", + "title": "Groups", "type": "array" + }, + "Password": { + "markdownDescription": "Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas, colons, or equal signs (,:=).", + "title": "Password", + "type": "string" + }, + "ReplicationUser": { + "markdownDescription": "Defines if this user is intended for CRDR replication purposes.", + "title": "ReplicationUser", + "type": "boolean" + }, + "Username": { + "markdownDescription": "The username of the broker user. The following restrictions apply to broker usernames:\n\n- For Amazon MQ for ActiveMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.\n- For Amazon MQ for RabbitMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores (- . _). This value must not contain a tilde (~) character. Amazon MQ prohibts using `guest` as a valid usename. This value must be 2-100 characters long.\n\n> Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other AWS services, including CloudWatch Logs . Broker usernames are not intended to be used for private or sensitive data.", + "title": "Username", + "type": "string" } }, + "required": [ + "Password", + "Username" + ], "type": "object" }, - "AWS::AccountAccess::Application": { + "AWS::AmazonMQ::Configuration": { "additionalProperties": false, "properties": { "Condition": { @@ -4313,24 +4542,54 @@ "Properties": { "additionalProperties": false, "properties": { - "IdentitySource": { - "$ref": "#/definitions/AWS::AccountAccess::Application.IdentitySource" + "AuthenticationStrategy": { + "markdownDescription": "Optional. The authentication strategy associated with the configuration. The default is `SIMPLE` .", + "title": "AuthenticationStrategy", + "type": "string" + }, + "Data": { + "markdownDescription": "Amazon MQ for Active MQ: The base64-encoded XML configuration. Amazon MQ for RabbitMQ: the base64-encoded Cuttlefish configuration.", + "title": "Data", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the configuration.", + "title": "Description", + "type": "string" + }, + "EngineType": { + "markdownDescription": "Required. The type of broker engine. Currently, Amazon MQ supports `ACTIVEMQ` and `RABBITMQ` .", + "title": "EngineType", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The broker engine version. Defaults to the latest available version for the specified broker engine type. For more information, see the [ActiveMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html) and the [RabbitMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html) sections in the Amazon MQ Developer Guide.", + "title": "EngineVersion", + "type": "string" + }, + "Name": { + "markdownDescription": "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.", + "title": "Name", + "type": "string" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" }, + "markdownDescription": "Create tags when creating the configuration.", + "title": "Tags", "type": "array" } }, "required": [ - "IdentitySource" + "EngineType", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::AccountAccess::Application" + "AWS::AmazonMQ::Configuration" ], "type": "string" }, @@ -4349,34 +4608,27 @@ ], "type": "object" }, - "AWS::AccountAccess::Application.IdentityCenter": { + "AWS::AmazonMQ::Configuration.TagsEntry": { "additionalProperties": false, "properties": { - "ApplicationArn": { + "Key": { + "markdownDescription": "", + "title": "Key", "type": "string" }, - "InstanceArn": { + "Value": { + "markdownDescription": "", + "title": "Value", "type": "string" } }, "required": [ - "InstanceArn" - ], - "type": "object" - }, - "AWS::AccountAccess::Application.IdentitySource": { - "additionalProperties": false, - "properties": { - "IdentityCenter": { - "$ref": "#/definitions/AWS::AccountAccess::Application.IdentityCenter" - } - }, - "required": [ - "IdentityCenter" + "Key", + "Value" ], "type": "object" }, - "AWS::AccountAccess::Entitlement": { + "AWS::AmazonMQ::ConfigurationAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -4411,22 +4663,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationArn": { + "Broker": { + "markdownDescription": "", + "title": "Broker", "type": "string" }, - "Entitlement": { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement.Entitlement" + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId", + "markdownDescription": "Returns information about all configurations.", + "title": "Configuration" } }, "required": [ - "ApplicationArn", - "Entitlement" + "Broker", + "Configuration" ], "type": "object" }, "Type": { "enum": [ - "AWS::AccountAccess::Entitlement" + "AWS::AmazonMQ::ConfigurationAssociation" ], "type": "string" }, @@ -4445,62 +4701,27 @@ ], "type": "object" }, - "AWS::AccountAccess::Entitlement.Entitlement": { - "additionalProperties": false, - "properties": { - "PrincipalRole": { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement.PrincipalRoleEntitlement" - } - }, - "required": [ - "PrincipalRole" - ], - "type": "object" - }, - "AWS::AccountAccess::Entitlement.IdentityCenterPrincipal": { - "additionalProperties": false, - "properties": { - "GroupId": { - "type": "string" - }, - "UserId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AccountAccess::Entitlement.Principal": { - "additionalProperties": false, - "properties": { - "IdentityCenter": { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement.IdentityCenterPrincipal" - } - }, - "required": [ - "IdentityCenter" - ], - "type": "object" - }, - "AWS::AccountAccess::Entitlement.PrincipalRoleEntitlement": { + "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { "additionalProperties": false, "properties": { - "Account": { + "Id": { + "markdownDescription": "Required. The unique ID that Amazon MQ generates for the configuration.", + "title": "Id", "type": "string" }, - "Principal": { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement.Principal" - }, - "RoleArn": { - "type": "string" + "Revision": { + "markdownDescription": "The revision number of the configuration.", + "title": "Revision", + "type": "number" } }, "required": [ - "Principal", - "RoleArn" + "Id", + "Revision" ], "type": "object" }, - "AWS::AgentRegistry::Registry": { + "AWS::Amplify::App": { "additionalProperties": false, "properties": { "Condition": { @@ -4535,25 +4756,103 @@ "Properties": { "additionalProperties": false, "properties": { - "ApprovalConfiguration": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.ApprovalConfiguration" + "AccessToken": { + "markdownDescription": "The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.\n\nUse `AccessToken` for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use `OauthToken` .\n\nYou must specify either `AccessToken` or `OauthToken` when you create a new app.\n\nExisting Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .", + "title": "AccessToken", + "type": "string" }, - "AuthorizerType": { + "AutoBranchCreationConfig": { + "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig", + "markdownDescription": "Sets the configuration for your automatic branch creation.", + "title": "AutoBranchCreationConfig" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig", + "markdownDescription": "The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .", + "title": "BasicAuthConfig" + }, + "BuildSpec": { + "markdownDescription": "The build specification (build spec) for an Amplify app.", + "title": "BuildSpec", + "type": "string" + }, + "CacheConfig": { + "$ref": "#/definitions/AWS::Amplify::App.CacheConfig", + "markdownDescription": "The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting.", + "title": "CacheConfig" + }, + "ComputeRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for an SSR app. The Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .", + "title": "ComputeRoleArn", + "type": "string" + }, + "CustomHeaders": { + "markdownDescription": "The custom HTTP headers for an Amplify app.", + "title": "CustomHeaders", "type": "string" }, + "CustomRules": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.CustomRule" + }, + "markdownDescription": "The custom rewrite and redirect rules for an Amplify app.", + "title": "CustomRules", + "type": "array" + }, "Description": { + "markdownDescription": "The description of the Amplify app.", + "title": "Description", + "type": "string" + }, + "EnableBranchAutoDeletion": { + "markdownDescription": "Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository.", + "title": "EnableBranchAutoDeletion", + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "markdownDescription": "The environment variables for the Amplify app.\n\nFor a list of the environment variables that are accessible to Amplify by default, see [Amplify Environment variables](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html) in the *Amplify Hosting User Guide* .", + "title": "EnvironmentVariables", + "type": "array" + }, + "IAMServiceRole": { + "markdownDescription": "AWS Identity and Access Management ( IAM ) service role for the Amazon Resource Name (ARN) of the Amplify app.", + "title": "IAMServiceRole", "type": "string" }, - "DiscoveryConfiguration": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.DiscoveryConfiguration" + "JobConfig": { + "$ref": "#/definitions/AWS::Amplify::App.JobConfig", + "markdownDescription": "The configuration details that apply to the jobs for an Amplify app.", + "title": "JobConfig" }, "Name": { + "markdownDescription": "The name of the Amplify app.", + "title": "Name", + "type": "string" + }, + "OauthToken": { + "markdownDescription": "The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.\n\nUse `OauthToken` for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use `AccessToken` .\n\nYou must specify either `OauthToken` or `AccessToken` when you create a new app.\n\nExisting Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .", + "title": "OauthToken", + "type": "string" + }, + "Platform": { + "markdownDescription": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* .", + "title": "Platform", + "type": "string" + }, + "Repository": { + "markdownDescription": "The Git repository for the Amplify app.", + "title": "Repository", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tag for an Amplify app.", + "title": "Tags", "type": "array" } }, @@ -4564,7 +4863,7 @@ }, "Type": { "enum": [ - "AWS::AgentRegistry::Registry" + "AWS::Amplify::App" ], "type": "string" }, @@ -4583,127 +4882,170 @@ ], "type": "object" }, - "AWS::AgentRegistry::Registry.ApprovalConfiguration": { + "AWS::Amplify::App.AutoBranchCreationConfig": { "additionalProperties": false, "properties": { - "AutoApprovalRules": { + "AutoBranchCreationPatterns": { "items": { "type": "string" }, + "markdownDescription": "Automated branch creation glob patterns for the Amplify app.", + "title": "AutoBranchCreationPatterns", "type": "array" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig", + "markdownDescription": "Sets password protection for your auto created branch.", + "title": "BasicAuthConfig" + }, + "BuildSpec": { + "markdownDescription": "The build specification (build spec) for the autocreated branch.", + "title": "BuildSpec", + "type": "string" + }, + "EnableAutoBranchCreation": { + "markdownDescription": "Enables automated branch creation for the Amplify app.", + "title": "EnableAutoBranchCreation", + "type": "boolean" + }, + "EnableAutoBuild": { + "markdownDescription": "Enables auto building for the auto created branch.", + "title": "EnableAutoBuild", + "type": "boolean" + }, + "EnablePerformanceMode": { + "markdownDescription": "Enables performance mode for the branch.\n\nPerformance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.", + "title": "EnablePerformanceMode", + "type": "boolean" + }, + "EnablePullRequestPreview": { + "markdownDescription": "Sets whether pull request previews are enabled for each branch that Amplify Hosting automatically creates for your app. Amplify creates previews by deploying your app to a unique URL whenever a pull request is opened for the branch. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch.\n\nTo provide backend support for your preview, Amplify Hosting automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property.\n\nFor more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* .", + "title": "EnablePullRequestPreview", + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "markdownDescription": "The environment variables for the autocreated branch.", + "title": "EnvironmentVariables", + "type": "array" + }, + "Framework": { + "markdownDescription": "The framework for the autocreated branch.", + "title": "Framework", + "type": "string" + }, + "PullRequestEnvironmentName": { + "markdownDescription": "If pull request previews are enabled, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI.\n\nTo enable pull request previews, set the `EnablePullRequestPreview` property to `true` .\n\nIf you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify deletes this environment when the pull request is closed.\n\nFor more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* .", + "title": "PullRequestEnvironmentName", + "type": "string" + }, + "Stage": { + "markdownDescription": "Stage for the auto created branch.", + "title": "Stage", + "type": "string" } }, "type": "object" }, - "AWS::AgentRegistry::Registry.AuthorizerConfiguration": { - "additionalProperties": false, - "properties": { - "CustomJWTAuthorizer": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.CustomJWTAuthorizerConfiguration" - } - }, - "required": [ - "CustomJWTAuthorizer" - ], - "type": "object" - }, - "AWS::AgentRegistry::Registry.AuthorizingClaimMatchValueType": { + "AWS::Amplify::App.BasicAuthConfig": { "additionalProperties": false, "properties": { - "ClaimMatchOperator": { + "EnableBasicAuth": { + "markdownDescription": "Enables basic authorization for the Amplify app's branches.", + "title": "EnableBasicAuth", + "type": "boolean" + }, + "Password": { + "markdownDescription": "The password for basic authorization.", + "title": "Password", "type": "string" }, - "ClaimMatchValue": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.ClaimMatchValueType" + "Username": { + "markdownDescription": "The user name for basic authorization.", + "title": "Username", + "type": "string" } }, - "required": [ - "ClaimMatchOperator", - "ClaimMatchValue" - ], "type": "object" }, - "AWS::AgentRegistry::Registry.ClaimMatchValueType": { + "AWS::Amplify::App.CacheConfig": { "additionalProperties": false, "properties": { - "MatchValueString": { + "Type": { + "markdownDescription": "The type of cache configuration to use for an Amplify app.\n\nThe `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules.\n\nThe `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. This is the default setting.", + "title": "Type", "type": "string" - }, - "MatchValueStringList": { - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "AWS::AgentRegistry::Registry.CustomClaimValidationType": { + "AWS::Amplify::App.CustomRule": { "additionalProperties": false, "properties": { - "AuthorizingClaimMatchValue": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.AuthorizingClaimMatchValueType" + "Condition": { + "markdownDescription": "The condition for a URL rewrite or redirect rule, such as a country code.", + "title": "Condition", + "type": "string" }, - "InboundTokenClaimName": { + "Source": { + "markdownDescription": "The source pattern for a URL rewrite or redirect rule.", + "title": "Source", "type": "string" }, - "InboundTokenClaimValueType": { + "Status": { + "markdownDescription": "The status code for a URL rewrite or redirect rule.\n\n- **200** - Represents a 200 rewrite rule.\n- **301** - Represents a 301 (moved pemanently) redirect rule. This and all future requests should be directed to the target URL.\n- **302** - Represents a 302 temporary redirect rule.\n- **404** - Represents a 404 redirect rule.\n- **404-200** - Represents a 404 rewrite rule.", + "title": "Status", + "type": "string" + }, + "Target": { + "markdownDescription": "The target pattern for a URL rewrite or redirect rule.", + "title": "Target", "type": "string" } }, "required": [ - "AuthorizingClaimMatchValue", - "InboundTokenClaimName", - "InboundTokenClaimValueType" + "Source", + "Target" ], "type": "object" }, - "AWS::AgentRegistry::Registry.CustomJWTAuthorizerConfiguration": { + "AWS::Amplify::App.EnvironmentVariable": { "additionalProperties": false, "properties": { - "AllowedAudience": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedClients": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CustomClaims": { - "items": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.CustomClaimValidationType" - }, - "type": "array" + "Name": { + "markdownDescription": "The environment variable name.", + "title": "Name", + "type": "string" }, - "DiscoveryUrl": { + "Value": { + "markdownDescription": "The environment variable value.", + "title": "Value", "type": "string" } }, "required": [ - "DiscoveryUrl" + "Name", + "Value" ], "type": "object" }, - "AWS::AgentRegistry::Registry.DiscoveryConfiguration": { + "AWS::Amplify::App.JobConfig": { "additionalProperties": false, "properties": { - "AuthorizerConfiguration": { - "$ref": "#/definitions/AWS::AgentRegistry::Registry.AuthorizerConfiguration" + "BuildComputeType": { + "markdownDescription": "Specifies the size of the build instance. Amplify supports three instance sizes: `STANDARD_8GB` , `LARGE_16GB` , and `XLARGE_72GB` . If you don't specify a value, Amplify uses the `STANDARD_8GB` default.\n\nThe following list describes the CPU, memory, and storage capacity for each build instance type:\n\n- **STANDARD_8GB** - - vCPUs: 4\n- Memory: 8 GiB\n- Disk space: 128 GB\n- **LARGE_16GB** - - vCPUs: 8\n- Memory: 16 GiB\n- Disk space: 128 GB\n- **XLARGE_72GB** - - vCPUs: 36\n- Memory: 72 GiB\n- Disk space: 256 GB", + "title": "BuildComputeType", + "type": "string" } }, + "required": [ + "BuildComputeType" + ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord": { + "AWS::Amplify::Branch": { "additionalProperties": false, "properties": { "Condition": { @@ -4738,45 +5080,102 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AppId": { + "markdownDescription": "The unique ID for an Amplify app.", + "title": "AppId", "type": "string" }, - "Descriptors": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.Descriptors" + "Backend": { + "$ref": "#/definitions/AWS::Amplify::Branch.Backend", + "markdownDescription": "The backend for a `Branch` of an Amplify app. Use for a backend created from an CloudFormation stack.\n\nThis field is available to Amplify Gen 2 apps only. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.", + "title": "Backend" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig", + "markdownDescription": "The basic authorization credentials for a branch of an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .", + "title": "BasicAuthConfig" }, - "DisplayName": { + "BranchName": { + "markdownDescription": "The name for the branch.", + "title": "BranchName", "type": "string" }, - "Name": { + "BuildSpec": { + "markdownDescription": "The build specification (build spec) for the branch.", + "title": "BuildSpec", "type": "string" }, - "RecordType": { + "ComputeRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to assign to a branch of an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .", + "title": "ComputeRoleArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description for the branch that is part of an Amplify app.", + "title": "Description", + "type": "string" + }, + "EnableAutoBuild": { + "markdownDescription": "Enables auto building for the branch.", + "title": "EnableAutoBuild", + "type": "boolean" + }, + "EnablePerformanceMode": { + "markdownDescription": "Enables performance mode for the branch.\n\nPerformance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.", + "title": "EnablePerformanceMode", + "type": "boolean" + }, + "EnablePullRequestPreview": { + "markdownDescription": "Specifies whether Amplify Hosting creates a preview for each pull request that is made for this branch. If this property is enabled, Amplify deploys your app to a unique preview URL after each pull request is opened. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch.\n\nTo provide backend support for your preview, Amplify automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property.\n\nFor more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* .", + "title": "EnablePullRequestPreview", + "type": "boolean" + }, + "EnableSkewProtection": { + "markdownDescription": "Specifies whether the skew protection feature is enabled for the branch.\n\nDeployment skew protection is available to Amplify applications to eliminate version skew issues between client and servers in web applications. When you apply skew protection to a branch, you can ensure that your clients always interact with the correct version of server-side assets, regardless of when a deployment occurs. For more information about skew protection, see [Skew protection for Amplify deployments](https://docs.aws.amazon.com/amplify/latest/userguide/skew-protection.html) in the *Amplify User Guide* .", + "title": "EnableSkewProtection", + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" + }, + "markdownDescription": "The environment variables for the branch.", + "title": "EnvironmentVariables", + "type": "array" + }, + "Framework": { + "markdownDescription": "The framework for the branch.", + "title": "Framework", "type": "string" }, - "RecordVersion": { + "PullRequestEnvironmentName": { + "markdownDescription": "If pull request previews are enabled for this branch, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI and mapped to this branch.\n\nTo enable pull request previews, set the `EnablePullRequestPreview` property to `true` .\n\nIf you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify Hosting deletes this environment when the pull request is closed.\n\nFor more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* .", + "title": "PullRequestEnvironmentName", "type": "string" }, - "RegistryId": { + "Stage": { + "markdownDescription": "Describes the current stage for the branch.", + "title": "Stage", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tag for the branch.", + "title": "Tags", "type": "array" } }, "required": [ - "Descriptors", - "Name", - "RecordType", - "RegistryId" + "AppId", + "BranchName" ], "type": "object" }, "Type": { "enum": [ - "AWS::AgentRegistry::RegistryRecord" + "AWS::Amplify::Branch" ], "type": "string" }, @@ -4795,248 +5194,225 @@ ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.A2aAgentCardDescriptor": { + "AWS::Amplify::Branch.Backend": { "additionalProperties": false, "properties": { - "Data": { - "type": "string" - }, - "DataSchemaVersion": { + "StackArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the CloudFormation stack.", + "title": "StackArn", "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.DescriptorSource" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.AgentSkillsAdditionalData": { - "additionalProperties": false, - "properties": { - "SkillMd": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgentSkillsMdDescriptor" } }, "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.AgentSkillsDefinitionDescriptor": { + "AWS::Amplify::Branch.BasicAuthConfig": { "additionalProperties": false, "properties": { - "AdditionalData": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgentSkillsAdditionalData" - }, - "Data": { - "type": "string" + "EnableBasicAuth": { + "markdownDescription": "Enables basic authorization for the branch.", + "title": "EnableBasicAuth", + "type": "boolean" }, - "DataSchemaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.AgentSkillsMdDescriptor": { - "additionalProperties": false, - "properties": { - "Data": { + "Password": { + "markdownDescription": "The password for basic authorization.", + "title": "Password", "type": "string" }, - "DataSchemaVersion": { + "Username": { + "markdownDescription": "", + "title": "Username", "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SkillMdSource" } }, + "required": [ + "Password", + "Username" + ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.CustomDescriptor": { + "AWS::Amplify::Branch.EnvironmentVariable": { "additionalProperties": false, "properties": { - "Data": { + "Name": { + "markdownDescription": "The environment variable name.", + "title": "Name", "type": "string" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.DescriptorSource": { - "additionalProperties": false, - "properties": { - "FromUrl": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.DescriptorSourceFromUrl" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.DescriptorSourceFromUrl": { - "additionalProperties": false, - "properties": { - "CredentialProviderConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.RegistryRecordCredentialProviderConfiguration" - }, - "type": "array" }, - "Url": { + "Value": { + "markdownDescription": "The environment variable value.", + "title": "Value", "type": "string" } }, "required": [ - "Url" + "Name", + "Value" ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.Descriptors": { - "additionalProperties": false, - "properties": { - "A2aAgentCard": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.A2aAgentCardDescriptor" - }, - "AgentSkillsDefinition": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.AgentSkillsDefinitionDescriptor" - }, - "Custom": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.CustomDescriptor" - }, - "McpServer": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.McpServerDescriptor" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.McpServerAdditionalData": { - "additionalProperties": false, - "properties": { - "Tools": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.McpToolsDescriptor" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.McpServerDescriptor": { + "AWS::Amplify::Domain": { "additionalProperties": false, "properties": { - "AdditionalData": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.McpServerAdditionalData" - }, - "Data": { + "Condition": { "type": "string" }, - "DataSchemaVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.DescriptorSource" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.McpToolsDescriptor": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "markdownDescription": "The unique ID for an Amplify app.", + "title": "AppId", + "type": "string" + }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "markdownDescription": "Sets the branch patterns for automatic subdomain creation.", + "title": "AutoSubDomainCreationPatterns", + "type": "array" + }, + "AutoSubDomainIAMRole": { + "markdownDescription": "The required AWS Identity and Access Management (IAMlong) service role for the Amazon Resource Name (ARN) for automatically creating subdomains.", + "title": "AutoSubDomainIAMRole", + "type": "string" + }, + "CertificateSettings": { + "$ref": "#/definitions/AWS::Amplify::Domain.CertificateSettings", + "markdownDescription": "The type of SSL/TLS certificate to use for your custom domain. If you don't specify a certificate type, Amplify uses the default certificate that it provisions and manages for you.", + "title": "CertificateSettings" + }, + "DomainName": { + "markdownDescription": "The domain name for the domain association.", + "title": "DomainName", + "type": "string" + }, + "EnableAutoSubDomain": { + "markdownDescription": "Enables the automated creation of subdomains for branches.", + "title": "EnableAutoSubDomain", + "type": "boolean" + }, + "SubDomainSettings": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" + }, + "markdownDescription": "The setting for the subdomain.", + "title": "SubDomainSettings", + "type": "array" + } + }, + "required": [ + "AppId", + "DomainName", + "SubDomainSettings" + ], + "type": "object" }, - "DataSchemaVersion": { + "Type": { + "enum": [ + "AWS::Amplify::Domain" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.RegistryRecordCredentialProviderConfiguration": { - "additionalProperties": false, - "properties": { - "CredentialProvider": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.RegistryRecordCredentialProviderUnion" }, - "CredentialProviderType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "CredentialProvider", - "CredentialProviderType" + "Type", + "Properties" ], "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.RegistryRecordCredentialProviderUnion": { - "additionalProperties": false, - "properties": { - "IamCredentialProvider": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.RegistryRecordIamCredentialProvider" - }, - "OauthCredentialProvider": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.RegistryRecordOAuthCredentialProvider" - } - }, - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.RegistryRecordIamCredentialProvider": { + "AWS::Amplify::Domain.Certificate": { "additionalProperties": false, "properties": { - "Region": { + "CertificateArn": { + "markdownDescription": "The Amazon resource name (ARN) for a custom certificate that you have already added to Certificate Manager in your AWS account .\n\nThis field is required only when the certificate type is `CUSTOM` .", + "title": "CertificateArn", "type": "string" }, - "RoleArn": { + "CertificateType": { + "markdownDescription": "The type of SSL/TLS certificate that you want to use.\n\nSpecify `AMPLIFY_MANAGED` to use the default certificate that Amplify provisions for you.\n\nSpecify `CUSTOM` to use your own certificate that you have already added to Certificate Manager in your AWS account . Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see [Importing certificates into Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *ACM User guide* .", + "title": "CertificateType", "type": "string" }, - "Service": { + "CertificateVerificationDNSRecord": { + "markdownDescription": "The DNS record for certificate verification.", + "title": "CertificateVerificationDNSRecord", "type": "string" } }, "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.RegistryRecordOAuthCredentialProvider": { + "AWS::Amplify::Domain.CertificateSettings": { "additionalProperties": false, "properties": { - "CustomParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "GrantType": { + "CertificateType": { + "markdownDescription": "The certificate type.\n\nSpecify `AMPLIFY_MANAGED` to use the default certificate that Amplify provisions for you.\n\nSpecify `CUSTOM` to use your own certificate that you have already added to Certificate Manager in your AWS account . Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see [Importing certificates into Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *ACM User guide* .", + "title": "CertificateType", "type": "string" }, - "ProviderArn": { + "CustomCertificateArn": { + "markdownDescription": "The Amazon resource name (ARN) for the custom certificate that you have already added to Certificate Manager in your AWS account .\n\nThis field is required only when the certificate type is `CUSTOM` .", + "title": "CustomCertificateArn", "type": "string" - }, - "Scopes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ProviderArn" - ], - "type": "object" - }, - "AWS::AgentRegistry::RegistryRecord.SkillMdSource": { - "additionalProperties": false, - "properties": { - "FromUrl": { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord.SkillMdSourceFromUrl" } }, "type": "object" }, - "AWS::AgentRegistry::RegistryRecord.SkillMdSourceFromUrl": { + "AWS::Amplify::Domain.SubDomainSetting": { "additionalProperties": false, "properties": { - "Url": { + "BranchName": { + "markdownDescription": "The branch name setting for the subdomain.\n\n*Length Constraints:* Minimum length of 1. Maximum length of 255.\n\n*Pattern:* (?s).+", + "title": "BranchName", + "type": "string" + }, + "Prefix": { + "markdownDescription": "The prefix setting for the subdomain.", + "title": "Prefix", "type": "string" } }, "required": [ - "Url" + "BranchName", + "Prefix" ], "type": "object" }, - "AWS::AmazonMQ::Broker": { + "AWS::AmplifyUIBuilder::Component": { "additionalProperties": false, "properties": { "Condition": { @@ -5071,140 +5447,118 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthenticationStrategy": { - "markdownDescription": "Optional. The authentication strategy used to secure the broker. The default is `SIMPLE` .", - "title": "AuthenticationStrategy", - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "markdownDescription": "Enables automatic upgrades to new patch versions for brokers as new versions are released and supported by Amazon MQ. Automatic upgrades occur during the scheduled maintenance window or after a manual broker reboot. Set to `true` by default, if no value is specified.\n\n> Must be set to `true` for ActiveMQ brokers version 5.18 and above and for RabbitMQ brokers version 3.13 and above.", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" - }, - "BrokerName": { - "markdownDescription": "Required. The broker's name. This value must be unique in your AWS account , 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain white spaces, brackets, wildcard characters, or special characters.\n\n> Do not add personally identifiable information (PII) or other confidential or sensitive information in broker names. Broker names are accessible to other AWS services, including CloudWatch Logs . Broker names are not intended to be used for private or sensitive data.", - "title": "BrokerName", + "AppId": { + "markdownDescription": "The unique ID of the Amplify app associated with the component.", + "title": "AppId", "type": "string" }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId", - "markdownDescription": "A list of information about the configuration.", - "title": "Configuration" + "BindingProperties": { + "additionalProperties": false, + "markdownDescription": "The information to connect a component's properties to data at runtime. You can't specify `tags` as a valid property for `bindingProperties` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue" + } + }, + "title": "BindingProperties", + "type": "object" }, - "DataReplicationMode": { - "markdownDescription": "Defines whether this broker is a part of a data replication pair.", - "title": "DataReplicationMode", - "type": "string" + "Children": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild" + }, + "markdownDescription": "A list of the component's `ComponentChild` instances.", + "title": "Children", + "type": "array" }, - "DataReplicationPrimaryBrokerArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the primary broker that is used to replicate data from in a data replication pair, and is applied to the replica broker. Must be set when dataReplicationMode is set to CRDR.", - "title": "DataReplicationPrimaryBrokerArn", - "type": "string" + "CollectionProperties": { + "additionalProperties": false, + "markdownDescription": "The data binding configuration for the component's properties. Use this for a collection component. You can't specify `tags` as a valid property for `collectionProperties` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration" + } + }, + "title": "CollectionProperties", + "type": "object" }, - "DeploymentMode": { - "markdownDescription": "Required. The broker's deployment mode.", - "title": "DeploymentMode", + "ComponentType": { + "markdownDescription": "The type of the component. This can be an Amplify custom UI component or another custom component.", + "title": "ComponentType", "type": "string" }, - "EncryptionOptions": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions", - "markdownDescription": "Encryption options for the broker.", - "title": "EncryptionOptions" - }, - "EngineType": { - "markdownDescription": "Required. The type of broker engine. Currently, Amazon MQ supports `ACTIVEMQ` and `RABBITMQ` .", - "title": "EngineType", + "EnvironmentName": { + "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", + "title": "EnvironmentName", "type": "string" }, - "EngineVersion": { - "markdownDescription": "The broker engine version. Defaults to the latest available version for the specified broker engine type. For more information, see the [ActiveMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html) and the [RabbitMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html) sections in the Amazon MQ Developer Guide.", - "title": "EngineVersion", - "type": "string" + "Events": { + "additionalProperties": false, + "markdownDescription": "Describes the events that can be raised on the component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent" + } + }, + "title": "Events", + "type": "object" }, - "HostInstanceType": { - "markdownDescription": "Required. The broker's instance type.", - "title": "HostInstanceType", + "Name": { + "markdownDescription": "The name of the component.", + "title": "Name", "type": "string" }, - "LdapServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata", - "markdownDescription": "Optional. The metadata of the LDAP server used to authenticate and authorize connections to the broker. Does not apply to RabbitMQ brokers.", - "title": "LdapServerMetadata" - }, - "Logs": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList", - "markdownDescription": "Enables Amazon CloudWatch logging for brokers.", - "title": "Logs" - }, - "MaintenanceWindowStartTime": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow", - "markdownDescription": "The parameters that determine the WeeklyStartTime.", - "title": "MaintenanceWindowStartTime" - }, - "PubliclyAccessible": { - "markdownDescription": "Enables connections from applications outside of the VPC that hosts the broker's subnets. Set to `false` by default, if no value is provided.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ResourceShareArns": { - "items": { - "type": "string" - }, - "type": "array" + "Overrides": { + "markdownDescription": "Describes the component's properties that can be overriden in a customized instance of the component. You can't specify `tags` as a valid property for `overrides` .", + "title": "Overrides", + "type": "object" }, - "SecurityGroups": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "markdownDescription": "Describes the component's properties. You can't specify `tags` as a valid property for `properties` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" + } }, - "markdownDescription": "The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.", - "title": "SecurityGroups", - "type": "array" - }, - "StorageSize": { - "type": "number" + "title": "Properties", + "type": "object" }, - "StorageType": { - "markdownDescription": "The broker's storage type.", - "title": "StorageType", + "SchemaVersion": { + "markdownDescription": "The schema version of the component when it was imported.", + "title": "SchemaVersion", "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of groups that define which subnets and IP ranges the broker can use from different Availability Zones. If you specify more than one subnet, the subnets must be in different Availability Zones. Amazon MQ will not be able to create VPC endpoints for your broker with multiple subnets in the same Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ deployment has no subnet requirements when deployed with public accessibility. Deployment without public accessibility requires at least one subnet.\n\n> If you specify subnets in a [shared VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html) for a RabbitMQ broker, the associated VPC to which the specified subnets belong must be owned by your AWS account . Amazon MQ will not be able to create VPC endpoints in VPCs that are not owned by your AWS account .", - "title": "SubnetIds", - "type": "array" + "SourceId": { + "markdownDescription": "The unique ID of the component in its original source system, such as Figma.", + "title": "SourceId", + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" + "additionalProperties": true, + "markdownDescription": "One or more key-value pairs to use when tagging the component.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "Create tags when creating the broker.", "title": "Tags", - "type": "array" + "type": "object" }, - "Users": { + "Variants": { "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentVariant" }, - "markdownDescription": "The list of broker users (persons or applications) who can access queues and topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user is accepted and created when a broker is first provisioned. All subsequent broker users are created by making RabbitMQ API calls directly to brokers or via the RabbitMQ web console.\n\nWhen OAuth 2.0 is enabled, the broker accepts one or no users.", - "title": "Users", + "markdownDescription": "A list of the component's variants. A variant is a unique style configuration of a main component.", + "title": "Variants", "type": "array" } }, - "required": [ - "BrokerName", - "DeploymentMode", - "EngineType", - "HostInstanceType", - "PubliclyAccessible" - ], "type": "object" }, "Type": { "enum": [ - "AWS::AmazonMQ::Broker" + "AWS::AmplifyUIBuilder::Component" ], "type": "string" }, @@ -5218,437 +5572,530 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::AmazonMQ::Broker.ConfigurationId": { + "AWS::AmplifyUIBuilder::Component.ActionParameters": { "additionalProperties": false, "properties": { + "Anchor": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The HTML anchor link to the location to open. Specify this value for a navigation action.", + "title": "Anchor" + }, + "Fields": { + "additionalProperties": false, + "markdownDescription": "A dictionary of key-value pairs mapping Amplify Studio properties to fields in a data model. Use when the action performs an operation on an Amplify DataStore model.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" + } + }, + "title": "Fields", + "type": "object" + }, + "Global": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "Specifies whether the user should be signed out globally. Specify this value for an auth sign out action.", + "title": "Global" + }, "Id": { - "markdownDescription": "Required. The unique ID that Amazon MQ generates for the configuration.", - "title": "Id", + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The unique ID of the component that the `ActionParameters` apply to.", + "title": "Id" + }, + "Model": { + "markdownDescription": "The name of the data model. Use when the action performs an operation on an Amplify DataStore model.", + "title": "Model", "type": "string" }, - "Revision": { - "markdownDescription": "The revision number of the configuration.", - "title": "Revision", - "type": "number" + "State": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter", + "markdownDescription": "A key-value pair that specifies the state property name and its initial value.", + "title": "State" + }, + "Target": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The element within the same component to modify when the action occurs.", + "title": "Target" + }, + "Type": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The type of navigation action. Valid values are `url` and `anchor` . This value is required for a navigation action.", + "title": "Type" + }, + "Url": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The URL to the location to open. Specify this value for a navigation action.", + "title": "Url" } }, - "required": [ - "Id", - "Revision" - ], "type": "object" }, - "AWS::AmazonMQ::Broker.EncryptionOptions": { + "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "The customer master key (CMK) to use for the A AWS (KMS). This key is used to encrypt your data at rest. If not provided, Amazon MQ will use a default CMK to encrypt your data.", - "title": "KmsKeyId", + "BindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties", + "markdownDescription": "Describes the properties to customize with data at runtime.", + "title": "BindingProperties" + }, + "DefaultValue": { + "markdownDescription": "The default value of the property.", + "title": "DefaultValue", "type": "string" }, - "UseAwsOwnedKey": { - "markdownDescription": "Enables the use of an AWS owned CMK using AWS (KMS). Set to `true` by default, if no value is provided, for example, for RabbitMQ brokers.", - "title": "UseAwsOwnedKey", - "type": "boolean" + "Type": { + "markdownDescription": "The property type.", + "title": "Type", + "type": "string" } }, - "required": [ - "UseAwsOwnedKey" - ], "type": "object" }, - "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties": { "additionalProperties": false, "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Hosts", - "type": "array" - }, - "RoleBase": { - "markdownDescription": "", - "title": "RoleBase", - "type": "string" - }, - "RoleName": { - "markdownDescription": "", - "title": "RoleName", + "Bucket": { + "markdownDescription": "An Amazon S3 bucket.", + "title": "Bucket", "type": "string" }, - "RoleSearchMatching": { - "markdownDescription": "", - "title": "RoleSearchMatching", + "DefaultValue": { + "markdownDescription": "The default value to assign to the property.", + "title": "DefaultValue", "type": "string" }, - "RoleSearchSubtree": { - "markdownDescription": "", - "title": "RoleSearchSubtree", - "type": "boolean" - }, - "ServiceAccountPassword": { - "markdownDescription": "", - "title": "ServiceAccountPassword", + "Field": { + "markdownDescription": "The field to bind the data to.", + "title": "Field", "type": "string" }, - "ServiceAccountUsername": { - "markdownDescription": "", - "title": "ServiceAccountUsername", + "Key": { + "markdownDescription": "The storage key for an Amazon S3 bucket.", + "title": "Key", "type": "string" }, - "UserBase": { - "markdownDescription": "", - "title": "UserBase", + "Model": { + "markdownDescription": "An Amplify DataStore model.", + "title": "Model", "type": "string" }, - "UserRoleName": { - "markdownDescription": "", - "title": "UserRoleName", + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" + }, + "markdownDescription": "A list of predicates for binding a component's properties to data.", + "title": "Predicates", + "type": "array" + }, + "SlotName": { + "markdownDescription": "The name of a component slot.", + "title": "SlotName", "type": "string" }, - "UserSearchMatching": { - "markdownDescription": "", - "title": "UserSearchMatching", + "UserAttribute": { + "markdownDescription": "An authenticated user attribute.", + "title": "UserAttribute", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Component.ComponentChild": { + "additionalProperties": false, + "properties": { + "Children": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild" + }, + "markdownDescription": "The list of `ComponentChild` instances for this component.", + "title": "Children", + "type": "array" + }, + "ComponentType": { + "markdownDescription": "The type of the child component.", + "title": "ComponentType", "type": "string" }, - "UserSearchSubtree": { - "markdownDescription": "", - "title": "UserSearchSubtree", - "type": "boolean" + "Events": { + "additionalProperties": false, + "markdownDescription": "Describes the events that can be raised on the child component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent" + } + }, + "title": "Events", + "type": "object" + }, + "Name": { + "markdownDescription": "The name of the child component.", + "title": "Name", + "type": "string" + }, + "Properties": { + "additionalProperties": false, + "markdownDescription": "Describes the properties of the child component. You can't specify `tags` as a valid property for `properties` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" + } + }, + "title": "Properties", + "type": "object" + }, + "SourceId": { + "markdownDescription": "The unique ID of the child component in its original source system, such as Figma.", + "title": "SourceId", + "type": "string" } }, "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" + "ComponentType", + "Name", + "Properties" ], "type": "object" }, - "AWS::AmazonMQ::Broker.LogList": { + "AWS::AmplifyUIBuilder::Component.ComponentConditionProperty": { "additionalProperties": false, "properties": { - "Audit": { - "markdownDescription": "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged. Does not apply to RabbitMQ brokers.", - "title": "Audit", - "type": "boolean" + "Else": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The value to assign to the property if the condition is not met.", + "title": "Else" }, - "General": { - "markdownDescription": "Enables general logging.", - "title": "General", - "type": "boolean" + "Field": { + "markdownDescription": "The name of a field. Specify this when the property is a data model.", + "title": "Field", + "type": "string" + }, + "Operand": { + "markdownDescription": "The value of the property to evaluate.", + "title": "Operand", + "type": "string" + }, + "OperandType": { + "markdownDescription": "The type of the property to evaluate.", + "title": "OperandType", + "type": "string" + }, + "Operator": { + "markdownDescription": "The operator to use to perform the evaluation, such as `eq` to represent equals.", + "title": "Operator", + "type": "string" + }, + "Property": { + "markdownDescription": "The name of the conditional property.", + "title": "Property", + "type": "string" + }, + "Then": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The value to assign to the property if the condition is met.", + "title": "Then" } }, "type": "object" }, - "AWS::AmazonMQ::Broker.MaintenanceWindow": { + "AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration": { "additionalProperties": false, "properties": { - "DayOfWeek": { - "markdownDescription": "Required. The day of the week.", - "title": "DayOfWeek", - "type": "string" + "Identifiers": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IDs to use to bind data to a component. Use this property to bind specifically chosen data, rather than data retrieved from a query.", + "title": "Identifiers", + "type": "array" }, - "TimeOfDay": { - "markdownDescription": "Required. The time, in 24-hour format.", - "title": "TimeOfDay", + "Model": { + "markdownDescription": "The name of the data model to use to bind data to a component.", + "title": "Model", "type": "string" }, - "TimeZone": { - "markdownDescription": "The time zone, UTC by default, in either the Country/City format, or the UTC offset format.", - "title": "TimeZone", - "type": "string" + "Predicate": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate", + "markdownDescription": "Represents the conditional logic to use when binding data to a component. Use this property to retrieve only a subset of the data in a collection.", + "title": "Predicate" + }, + "Sort": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.SortProperty" + }, + "markdownDescription": "Describes how to sort the component's properties.", + "title": "Sort", + "type": "array" } }, "required": [ - "DayOfWeek", - "TimeOfDay", - "TimeZone" + "Model" ], "type": "object" }, - "AWS::AmazonMQ::Broker.TagsEntry": { + "AWS::AmplifyUIBuilder::Component.ComponentEvent": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "", - "title": "Key", + "Action": { + "markdownDescription": "The action to perform when a specific event is raised.", + "title": "Action", "type": "string" }, - "Value": { - "markdownDescription": "", - "title": "Value", + "BindingEvent": { + "markdownDescription": "Binds an event to an action on a component. When you specify a `bindingEvent` , the event is called when the action is performed.", + "title": "BindingEvent", "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ActionParameters", + "markdownDescription": "Describes information about the action.", + "title": "Parameters" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::AmazonMQ::Broker.User": { + "AWS::AmplifyUIBuilder::Component.ComponentProperty": { "additionalProperties": false, "properties": { - "ConsoleAccess": { - "markdownDescription": "Enables access to the ActiveMQ Web Console for the ActiveMQ user. Does not apply to RabbitMQ brokers.", - "title": "ConsoleAccess", - "type": "boolean" + "BindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties", + "markdownDescription": "The information to bind the component property to data at runtime.", + "title": "BindingProperties" }, - "Groups": { + "Bindings": { + "additionalProperties": false, + "markdownDescription": "The information to bind the component property to form data.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.FormBindingElement" + } + }, + "title": "Bindings", + "type": "object" + }, + "CollectionBindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties", + "markdownDescription": "The information to bind the component property to data at runtime. Use this for collection components.", + "title": "CollectionBindingProperties" + }, + "ComponentName": { + "markdownDescription": "The name of the component that is affected by an event.", + "title": "ComponentName", + "type": "string" + }, + "Concat": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" }, - "markdownDescription": "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. Does not apply to RabbitMQ brokers.", - "title": "Groups", + "markdownDescription": "A list of component properties to concatenate to create the value to assign to this component property.", + "title": "Concat", "type": "array" }, - "Password": { - "markdownDescription": "Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas, colons, or equal signs (,:=).", - "title": "Password", - "type": "string" + "Condition": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentConditionProperty", + "markdownDescription": "The conditional expression to use to assign a value to the component property.", + "title": "Condition" }, - "ReplicationUser": { - "markdownDescription": "Defines if this user is intended for CRDR replication purposes.", - "title": "ReplicationUser", + "Configured": { + "markdownDescription": "Specifies whether the user configured the property in Amplify Studio after importing it.", + "title": "Configured", "type": "boolean" }, - "Username": { - "markdownDescription": "The username of the broker user. The following restrictions apply to broker usernames:\n\n- For Amazon MQ for ActiveMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long.\n- For Amazon MQ for RabbitMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores (- . _). This value must not contain a tilde (~) character. Amazon MQ prohibts using `guest` as a valid usename. This value must be 2-100 characters long.\n\n> Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other AWS services, including CloudWatch Logs . Broker usernames are not intended to be used for private or sensitive data.", - "title": "Username", + "DefaultValue": { + "markdownDescription": "The default value to assign to the component property.", + "title": "DefaultValue", + "type": "string" + }, + "Event": { + "markdownDescription": "An event that occurs in your app. Use this for workflow data binding.", + "title": "Event", + "type": "string" + }, + "ImportedValue": { + "markdownDescription": "The default value assigned to the property when the component is imported into an app.", + "title": "ImportedValue", + "type": "string" + }, + "Model": { + "markdownDescription": "The data model to use to assign a value to the component property.", + "title": "Model", + "type": "string" + }, + "Property": { + "markdownDescription": "The name of the component's property that is affected by an event.", + "title": "Property", + "type": "string" + }, + "Type": { + "markdownDescription": "The component type.", + "title": "Type", + "type": "string" + }, + "UserAttribute": { + "markdownDescription": "An authenticated user attribute to use to assign a value to the component property.", + "title": "UserAttribute", + "type": "string" + }, + "Value": { + "markdownDescription": "The value to assign to the component property.", + "title": "Value", "type": "string" } }, - "required": [ - "Password", - "Username" - ], "type": "object" }, - "AWS::AmazonMQ::Configuration": { + "AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties": { "additionalProperties": false, "properties": { - "Condition": { + "Field": { + "markdownDescription": "The data field to bind the property to.", + "title": "Field", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Property": { + "markdownDescription": "The component property to bind to the data field.", + "title": "Property", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { + } + }, + "required": [ + "Property" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Component.ComponentVariant": { + "additionalProperties": false, + "properties": { + "Overrides": { + "markdownDescription": "The properties of the component variant that can be overriden when customizing an instance of the component. You can't specify `tags` as a valid property for `overrides` .", + "title": "Overrides", "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "markdownDescription": "Optional. The authentication strategy associated with the configuration. The default is `SIMPLE` .", - "title": "AuthenticationStrategy", - "type": "string" - }, - "Data": { - "markdownDescription": "Amazon MQ for Active MQ: The base64-encoded XML configuration. Amazon MQ for RabbitMQ: the base64-encoded Cuttlefish configuration.", - "title": "Data", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the configuration.", - "title": "Description", - "type": "string" - }, - "EngineType": { - "markdownDescription": "Required. The type of broker engine. Currently, Amazon MQ supports `ACTIVEMQ` and `RABBITMQ` .", - "title": "EngineType", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The broker engine version. Defaults to the latest available version for the specified broker engine type. For more information, see the [ActiveMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/activemq-version-management.html) and the [RabbitMQ version management](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/rabbitmq-version-management.html) sections in the Amazon MQ Developer Guide.", - "title": "EngineVersion", - "type": "string" - }, - "Name": { - "markdownDescription": "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.", - "title": "Name", + "VariantValues": { + "additionalProperties": true, + "markdownDescription": "The combination of variants that comprise this variant.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" - }, - "markdownDescription": "Create tags when creating the configuration.", - "title": "Tags", - "type": "array" } }, - "required": [ - "EngineType", - "Name" - ], + "title": "VariantValues", "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Configuration" - ], + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Component.FormBindingElement": { + "additionalProperties": false, + "properties": { + "Element": { + "markdownDescription": "The name of the component to retrieve a value from.", + "title": "Element", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Property": { + "markdownDescription": "The property to retrieve a value from.", + "title": "Property", "type": "string" } }, "required": [ - "Type", - "Properties" + "Element", + "Property" ], "type": "object" }, - "AWS::AmazonMQ::Configuration.TagsEntry": { + "AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "", - "title": "Key", + "ComponentName": { + "markdownDescription": "The name of the component that is being modified.", + "title": "ComponentName", "type": "string" }, - "Value": { - "markdownDescription": "", - "title": "Value", + "Property": { + "markdownDescription": "The name of the component property to apply the state configuration to.", + "title": "Property", "type": "string" + }, + "Set": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", + "markdownDescription": "The state configuration to assign to the property.", + "title": "Set" } }, "required": [ - "Key", - "Value" + "ComponentName", + "Property", + "Set" ], "type": "object" }, - "AWS::AmazonMQ::ConfigurationAssociation": { + "AWS::AmplifyUIBuilder::Component.Predicate": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "And": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" + }, + "markdownDescription": "A list of predicates to combine logically.", + "title": "And", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Field": { + "markdownDescription": "The field to query.", + "title": "Field", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Broker": { - "markdownDescription": "", - "title": "Broker", - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId", - "markdownDescription": "Returns information about all configurations.", - "title": "Configuration" - } - }, - "required": [ - "Broker", - "Configuration" - ], - "type": "object" + "Operand": { + "markdownDescription": "The value to use when performing the evaluation.", + "title": "Operand", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AmazonMQ::ConfigurationAssociation" - ], + "OperandType": { + "markdownDescription": "The type of value to use when performing the evaluation.", + "title": "OperandType", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Operator": { + "markdownDescription": "The operator to use to perform the evaluation.", + "title": "Operator", "type": "string" + }, + "Or": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" + }, + "markdownDescription": "A list of predicates to combine logically.", + "title": "Or", + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { + "AWS::AmplifyUIBuilder::Component.SortProperty": { "additionalProperties": false, "properties": { - "Id": { - "markdownDescription": "Required. The unique ID that Amazon MQ generates for the configuration.", - "title": "Id", + "Direction": { + "markdownDescription": "The direction of the sort, either ascending or descending.", + "title": "Direction", "type": "string" }, - "Revision": { - "markdownDescription": "The revision number of the configuration.", - "title": "Revision", - "type": "number" + "Field": { + "markdownDescription": "The field to perform the sort on.", + "title": "Field", + "type": "string" } }, "required": [ - "Id", - "Revision" + "Direction", + "Field" ], "type": "object" }, - "AWS::Amplify::App": { + "AWS::AmplifyUIBuilder::Form": { "additionalProperties": false, "properties": { "Condition": { @@ -5683,114 +6130,90 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.\n\nUse `AccessToken` for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use `OauthToken` .\n\nYou must specify either `AccessToken` or `OauthToken` when you create a new app.\n\nExisting Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .", - "title": "AccessToken", - "type": "string" - }, - "AutoBranchCreationConfig": { - "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig", - "markdownDescription": "Sets the configuration for your automatic branch creation.", - "title": "AutoBranchCreationConfig" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig", - "markdownDescription": "The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .", - "title": "BasicAuthConfig" - }, - "BuildSpec": { - "markdownDescription": "The build specification (build spec) for an Amplify app.", - "title": "BuildSpec", + "AppId": { + "markdownDescription": "The unique ID of the Amplify app associated with the form.", + "title": "AppId", "type": "string" }, - "CacheConfig": { - "$ref": "#/definitions/AWS::Amplify::App.CacheConfig", - "markdownDescription": "The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting.", - "title": "CacheConfig" + "Cta": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormCTA", + "markdownDescription": "The `FormCTA` object that stores the call to action configuration for the form.", + "title": "Cta" }, - "ComputeRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for an SSR app. The Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .", - "title": "ComputeRoleArn", - "type": "string" + "DataType": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormDataTypeConfig", + "markdownDescription": "The type of data source to use to create the form.", + "title": "DataType" }, - "CustomHeaders": { - "markdownDescription": "The custom HTTP headers for an Amplify app.", - "title": "CustomHeaders", + "EnvironmentName": { + "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", + "title": "EnvironmentName", "type": "string" }, - "CustomRules": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.CustomRule" + "Fields": { + "additionalProperties": false, + "markdownDescription": "The configuration information for the form's fields.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldConfig" + } }, - "markdownDescription": "The custom rewrite and redirect rules for an Amplify app.", - "title": "CustomRules", - "type": "array" + "title": "Fields", + "type": "object" }, - "Description": { - "markdownDescription": "The description of the Amplify app.", - "title": "Description", + "FormActionType": { + "markdownDescription": "Specifies whether to perform a create or update action on the form.", + "title": "FormActionType", "type": "string" }, - "EnableBranchAutoDeletion": { - "markdownDescription": "Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository.", - "title": "EnableBranchAutoDeletion", - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "markdownDescription": "The environment variables for the Amplify app.\n\nFor a list of the environment variables that are accessible to Amplify by default, see [Amplify Environment variables](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html) in the *Amplify Hosting User Guide* .", - "title": "EnvironmentVariables", - "type": "array" - }, - "IAMServiceRole": { - "markdownDescription": "AWS Identity and Access Management ( IAM ) service role for the Amazon Resource Name (ARN) of the Amplify app.", - "title": "IAMServiceRole", + "LabelDecorator": { + "markdownDescription": "Specifies an icon or decoration to display on the form.", + "title": "LabelDecorator", "type": "string" }, - "JobConfig": { - "$ref": "#/definitions/AWS::Amplify::App.JobConfig", - "markdownDescription": "The configuration details that apply to the jobs for an Amplify app.", - "title": "JobConfig" - }, "Name": { - "markdownDescription": "The name of the Amplify app.", + "markdownDescription": "The name of the form.", "title": "Name", "type": "string" }, - "OauthToken": { - "markdownDescription": "The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.\n\nUse `OauthToken` for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use `AccessToken` .\n\nYou must specify either `OauthToken` or `AccessToken` when you create a new app.\n\nExisting Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .", - "title": "OauthToken", + "SchemaVersion": { + "markdownDescription": "The schema version of the form.", + "title": "SchemaVersion", "type": "string" }, - "Platform": { - "markdownDescription": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* .", - "title": "Platform", - "type": "string" + "SectionalElements": { + "additionalProperties": false, + "markdownDescription": "The configuration information for the visual helper elements for the form. These elements are not associated with any data.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.SectionalElement" + } + }, + "title": "SectionalElements", + "type": "object" }, - "Repository": { - "markdownDescription": "The Git repository for the Amplify app.", - "title": "Repository", - "type": "string" + "Style": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyle", + "markdownDescription": "The configuration for the form's style.", + "title": "Style" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "One or more key-value pairs to use when tagging the form data.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The tag for an Amplify app.", "title": "Tags", - "type": "array" + "type": "object" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::App" + "AWS::AmplifyUIBuilder::Form" ], "type": "string" }, @@ -5804,191 +6227,509 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Amplify::App.AutoBranchCreationConfig": { + "AWS::AmplifyUIBuilder::Form.FieldConfig": { "additionalProperties": false, "properties": { - "AutoBranchCreationPatterns": { + "Excluded": { + "markdownDescription": "Specifies whether to hide a field.", + "title": "Excluded", + "type": "boolean" + }, + "InputType": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldInputConfig", + "markdownDescription": "Describes the configuration for the default input value to display for a field.", + "title": "InputType" + }, + "Label": { + "markdownDescription": "The label for the field.", + "title": "Label", + "type": "string" + }, + "Position": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", + "markdownDescription": "Specifies the field position.", + "title": "Position" + }, + "Validations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration" }, - "markdownDescription": "Automated branch creation glob patterns for the Amplify app.", - "title": "AutoBranchCreationPatterns", + "markdownDescription": "The validations to perform on the value in the field.", + "title": "Validations", "type": "array" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FieldInputConfig": { + "additionalProperties": false, + "properties": { + "DefaultChecked": { + "markdownDescription": "Specifies whether a field has a default value.", + "title": "DefaultChecked", + "type": "boolean" }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig", - "markdownDescription": "Sets password protection for your auto created branch.", - "title": "BasicAuthConfig" + "DefaultCountryCode": { + "markdownDescription": "The default country code for a phone number.", + "title": "DefaultCountryCode", + "type": "string" }, - "BuildSpec": { - "markdownDescription": "The build specification (build spec) for the autocreated branch.", - "title": "BuildSpec", + "DefaultValue": { + "markdownDescription": "The default value for the field.", + "title": "DefaultValue", "type": "string" }, - "EnableAutoBranchCreation": { - "markdownDescription": "Enables automated branch creation for the Amplify app.", - "title": "EnableAutoBranchCreation", - "type": "boolean" + "DescriptiveText": { + "markdownDescription": "The text to display to describe the field.", + "title": "DescriptiveText", + "type": "string" }, - "EnableAutoBuild": { - "markdownDescription": "Enables auto building for the auto created branch.", - "title": "EnableAutoBuild", + "FileUploaderConfig": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig", + "markdownDescription": "The configuration for the file uploader field.", + "title": "FileUploaderConfig" + }, + "IsArray": { + "markdownDescription": "Specifies whether to render the field as an array. This property is ignored if the `dataSourceType` for the form is a Data Store.", + "title": "IsArray", "type": "boolean" }, - "EnablePerformanceMode": { - "markdownDescription": "Enables performance mode for the branch.\n\nPerformance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.", - "title": "EnablePerformanceMode", + "MaxValue": { + "markdownDescription": "The maximum value to display for the field.", + "title": "MaxValue", + "type": "number" + }, + "MinValue": { + "markdownDescription": "The minimum value to display for the field.", + "title": "MinValue", + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the field.", + "title": "Name", + "type": "string" + }, + "Placeholder": { + "markdownDescription": "The text to display as a placeholder for the field.", + "title": "Placeholder", + "type": "string" + }, + "ReadOnly": { + "markdownDescription": "Specifies a read only field.", + "title": "ReadOnly", "type": "boolean" }, - "EnablePullRequestPreview": { - "markdownDescription": "Sets whether pull request previews are enabled for each branch that Amplify Hosting automatically creates for your app. Amplify creates previews by deploying your app to a unique URL whenever a pull request is opened for the branch. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch.\n\nTo provide backend support for your preview, Amplify Hosting automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property.\n\nFor more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* .", - "title": "EnablePullRequestPreview", + "Required": { + "markdownDescription": "Specifies a field that requires input.", + "title": "Required", "type": "boolean" }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "markdownDescription": "The environment variables for the autocreated branch.", - "title": "EnvironmentVariables", - "type": "array" + "Step": { + "markdownDescription": "The stepping increment for a numeric value in a field.", + "title": "Step", + "type": "number" }, - "Framework": { - "markdownDescription": "The framework for the autocreated branch.", - "title": "Framework", + "Type": { + "markdownDescription": "The input type for the field.", + "title": "Type", "type": "string" }, - "PullRequestEnvironmentName": { - "markdownDescription": "If pull request previews are enabled, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI.\n\nTo enable pull request previews, set the `EnablePullRequestPreview` property to `true` .\n\nIf you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify deletes this environment when the pull request is closed.\n\nFor more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* .", - "title": "PullRequestEnvironmentName", + "Value": { + "markdownDescription": "The value for the field.", + "title": "Value", "type": "string" }, - "Stage": { - "markdownDescription": "Stage for the auto created branch.", - "title": "Stage", - "type": "string" + "ValueMappings": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMappings", + "markdownDescription": "The information to use to customize the input fields with data at runtime.", + "title": "ValueMappings" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Amplify::App.BasicAuthConfig": { + "AWS::AmplifyUIBuilder::Form.FieldPosition": { "additionalProperties": false, "properties": { - "EnableBasicAuth": { - "markdownDescription": "Enables basic authorization for the Amplify app's branches.", - "title": "EnableBasicAuth", - "type": "boolean" + "Below": { + "markdownDescription": "The field position is below the field specified by the string.", + "title": "Below", + "type": "string" }, - "Password": { - "markdownDescription": "The password for basic authorization.", - "title": "Password", + "Fixed": { + "markdownDescription": "The field position is fixed and doesn't change in relation to other fields.", + "title": "Fixed", "type": "string" }, - "Username": { - "markdownDescription": "The user name for basic authorization.", - "title": "Username", + "RightOf": { + "markdownDescription": "The field position is to the right of the field specified by the string.", + "title": "RightOf", "type": "string" } }, "type": "object" }, - "AWS::Amplify::App.CacheConfig": { + "AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration": { "additionalProperties": false, "properties": { + "NumValues": { + "items": { + "type": "number" + }, + "markdownDescription": "The validation to perform on a number value.", + "title": "NumValues", + "type": "array" + }, + "StrValues": { + "items": { + "type": "string" + }, + "markdownDescription": "The validation to perform on a string value.", + "title": "StrValues", + "type": "array" + }, "Type": { - "markdownDescription": "The type of cache configuration to use for an Amplify app.\n\nThe `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules.\n\nThe `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. This is the default setting.", + "markdownDescription": "The validation to perform on an object type. ``", "title": "Type", "type": "string" + }, + "ValidationMessage": { + "markdownDescription": "The validation message to display.", + "title": "ValidationMessage", + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Amplify::App.CustomRule": { + "AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig": { "additionalProperties": false, "properties": { - "Condition": { - "markdownDescription": "The condition for a URL rewrite or redirect rule, such as a country code.", - "title": "Condition", - "type": "string" + "AcceptedFileTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The file types that are allowed to be uploaded by the file uploader. Provide this information in an array of strings specifying the valid file extensions.", + "title": "AcceptedFileTypes", + "type": "array" }, - "Source": { - "markdownDescription": "The source pattern for a URL rewrite or redirect rule.", - "title": "Source", + "AccessLevel": { + "markdownDescription": "The access level to assign to the uploaded files in the Amazon S3 bucket where they are stored. The valid values for this property are `private` , `protected` , or `public` . For detailed information about the permissions associated with each access level, see [File access levels](https://docs.aws.amazon.com/https://docs.amplify.aws/lib/storage/configureaccess/q/platform/js/) in the *Amplify documentation* .", + "title": "AccessLevel", "type": "string" }, - "Status": { - "markdownDescription": "The status code for a URL rewrite or redirect rule.\n\n- **200** - Represents a 200 rewrite rule.\n- **301** - Represents a 301 (moved pemanently) redirect rule. This and all future requests should be directed to the target URL.\n- **302** - Represents a 302 temporary redirect rule.\n- **404** - Represents a 404 redirect rule.\n- **404-200** - Represents a 404 rewrite rule.", - "title": "Status", - "type": "string" + "IsResumable": { + "markdownDescription": "Allows the file upload operation to be paused and resumed. The default value is `false` .\n\nWhen `isResumable` is set to `true` , the file uploader uses a multipart upload to break the files into chunks before upload. The progress of the upload isn't continuous, because the file uploader uploads a chunk at a time.", + "title": "IsResumable", + "type": "boolean" }, - "Target": { - "markdownDescription": "The target pattern for a URL rewrite or redirect rule.", - "title": "Target", - "type": "string" + "MaxFileCount": { + "markdownDescription": "Specifies the maximum number of files that can be selected to upload. The default value is an unlimited number of files.", + "title": "MaxFileCount", + "type": "number" + }, + "MaxSize": { + "markdownDescription": "The maximum file size in bytes that the file uploader will accept. The default value is an unlimited file size.", + "title": "MaxSize", + "type": "number" + }, + "ShowThumbnails": { + "markdownDescription": "Specifies whether to display or hide the image preview after selecting a file for upload. The default value is `true` to display the image preview.", + "title": "ShowThumbnails", + "type": "boolean" } }, "required": [ - "Source", - "Target" + "AcceptedFileTypes", + "AccessLevel" ], "type": "object" }, - "AWS::Amplify::App.EnvironmentVariable": { + "AWS::AmplifyUIBuilder::Form.FormButton": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The environment variable name.", - "title": "Name", + "Children": { + "markdownDescription": "Describes the button's properties.", + "title": "Children", "type": "string" }, - "Value": { - "markdownDescription": "The environment variable value.", - "title": "Value", + "Excluded": { + "markdownDescription": "Specifies whether the button is visible on the form.", + "title": "Excluded", + "type": "boolean" + }, + "Position": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", + "markdownDescription": "The position of the button.", + "title": "Position" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormCTA": { + "additionalProperties": false, + "properties": { + "Cancel": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", + "markdownDescription": "Displays a cancel button.", + "title": "Cancel" + }, + "Clear": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", + "markdownDescription": "Displays a clear button.", + "title": "Clear" + }, + "Position": { + "markdownDescription": "The position of the button.", + "title": "Position", "type": "string" + }, + "Submit": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", + "markdownDescription": "Displays a submit button.", + "title": "Submit" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, - "AWS::Amplify::App.JobConfig": { + "AWS::AmplifyUIBuilder::Form.FormDataTypeConfig": { "additionalProperties": false, "properties": { - "BuildComputeType": { - "markdownDescription": "Specifies the size of the build instance. Amplify supports three instance sizes: `STANDARD_8GB` , `LARGE_16GB` , and `XLARGE_72GB` . If you don't specify a value, Amplify uses the `STANDARD_8GB` default.\n\nThe following list describes the CPU, memory, and storage capacity for each build instance type:\n\n- **STANDARD_8GB** - - vCPUs: 4\n- Memory: 8 GiB\n- Disk space: 128 GB\n- **LARGE_16GB** - - vCPUs: 8\n- Memory: 16 GiB\n- Disk space: 128 GB\n- **XLARGE_72GB** - - vCPUs: 36\n- Memory: 72 GiB\n- Disk space: 256 GB", - "title": "BuildComputeType", + "DataSourceType": { + "markdownDescription": "The data source type, either an Amplify DataStore model or a custom data type.", + "title": "DataSourceType", + "type": "string" + }, + "DataTypeName": { + "markdownDescription": "The unique name of the data type you are using as the data source for the form.", + "title": "DataTypeName", "type": "string" } }, "required": [ - "BuildComputeType" + "DataSourceType", + "DataTypeName" ], "type": "object" }, - "AWS::Amplify::Branch": { + "AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValue": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "BindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValueProperties", + "markdownDescription": "Describes the properties to customize with data at runtime.", + "title": "BindingProperties" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Type": { + "markdownDescription": "The property type.", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValueProperties": { + "additionalProperties": false, + "properties": { + "Model": { + "markdownDescription": "An Amplify DataStore model.", + "title": "Model", "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormInputValueProperty": { + "additionalProperties": false, + "properties": { + "BindingProperties": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValuePropertyBindingProperties", + "markdownDescription": "The information to bind fields to data at runtime.", + "title": "BindingProperties" }, - "DependsOn": { - "anyOf": [ - { + "Concat": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty" + }, + "markdownDescription": "A list of form properties to concatenate to create the value to assign to this field property.", + "title": "Concat", + "type": "array" + }, + "Value": { + "markdownDescription": "The value to assign to the input field.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormInputValuePropertyBindingProperties": { + "additionalProperties": false, + "properties": { + "Field": { + "markdownDescription": "The data field to bind the property to.", + "title": "Field", + "type": "string" + }, + "Property": { + "markdownDescription": "The form property to bind to the data field.", + "title": "Property", + "type": "string" + } + }, + "required": [ + "Property" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormStyle": { + "additionalProperties": false, + "properties": { + "HorizontalGap": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", + "markdownDescription": "The spacing for the horizontal gap.", + "title": "HorizontalGap" + }, + "OuterPadding": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", + "markdownDescription": "The size of the outer padding for the form.", + "title": "OuterPadding" + }, + "VerticalGap": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", + "markdownDescription": "The spacing for the vertical gap.", + "title": "VerticalGap" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.FormStyleConfig": { + "additionalProperties": false, + "properties": { + "TokenReference": { + "markdownDescription": "A reference to a design token to use to bind the form's style properties to an existing theme.", + "title": "TokenReference", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the style setting.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.SectionalElement": { + "additionalProperties": false, + "properties": { + "Excluded": { + "markdownDescription": "Excludes a sectional element that was generated by default for a specified data model.", + "title": "Excluded", + "type": "boolean" + }, + "Level": { + "markdownDescription": "Specifies the size of the font for a `Heading` sectional element. Valid values are `1 | 2 | 3 | 4 | 5 | 6` .", + "title": "Level", + "type": "number" + }, + "Orientation": { + "markdownDescription": "Specifies the orientation for a `Divider` sectional element. Valid values are `horizontal` or `vertical` .", + "title": "Orientation", + "type": "string" + }, + "Position": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", + "markdownDescription": "Specifies the position of the text in a field for a `Text` sectional element.", + "title": "Position" + }, + "Text": { + "markdownDescription": "The text for a `Text` sectional element.", + "title": "Text", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of sectional element. Valid values are `Heading` , `Text` , and `Divider` .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.ValueMapping": { + "additionalProperties": false, + "properties": { + "DisplayValue": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty", + "markdownDescription": "The value to display for the complex object.", + "title": "DisplayValue" + }, + "Value": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty", + "markdownDescription": "The complex object.", + "title": "Value" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Form.ValueMappings": { + "additionalProperties": false, + "properties": { + "BindingProperties": { + "additionalProperties": false, + "markdownDescription": "The information to bind fields to data at runtime.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValue" + } + }, + "title": "BindingProperties", + "type": "object" + }, + "Values": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMapping" + }, + "markdownDescription": "The value and display value pairs.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::AmplifyUIBuilder::Theme": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, @@ -6008,101 +6749,53 @@ "additionalProperties": false, "properties": { "AppId": { - "markdownDescription": "The unique ID for an Amplify app.", + "markdownDescription": "The unique ID for the Amplify app associated with the theme.", "title": "AppId", "type": "string" }, - "Backend": { - "$ref": "#/definitions/AWS::Amplify::Branch.Backend", - "markdownDescription": "The backend for a `Branch` of an Amplify app. Use for a backend created from an CloudFormation stack.\n\nThis field is available to Amplify Gen 2 apps only. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.", - "title": "Backend" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig", - "markdownDescription": "The basic authorization credentials for a branch of an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .", - "title": "BasicAuthConfig" - }, - "BranchName": { - "markdownDescription": "The name for the branch.", - "title": "BranchName", - "type": "string" - }, - "BuildSpec": { - "markdownDescription": "The build specification (build spec) for the branch.", - "title": "BuildSpec", - "type": "string" - }, - "ComputeRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to assign to a branch of an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .", - "title": "ComputeRoleArn", + "EnvironmentName": { + "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", + "title": "EnvironmentName", "type": "string" }, - "Description": { - "markdownDescription": "The description for the branch that is part of an Amplify app.", - "title": "Description", + "Name": { + "markdownDescription": "The name of the theme.", + "title": "Name", "type": "string" }, - "EnableAutoBuild": { - "markdownDescription": "Enables auto building for the branch.", - "title": "EnableAutoBuild", - "type": "boolean" - }, - "EnablePerformanceMode": { - "markdownDescription": "Enables performance mode for the branch.\n\nPerformance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.", - "title": "EnablePerformanceMode", - "type": "boolean" - }, - "EnablePullRequestPreview": { - "markdownDescription": "Specifies whether Amplify Hosting creates a preview for each pull request that is made for this branch. If this property is enabled, Amplify deploys your app to a unique preview URL after each pull request is opened. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch.\n\nTo provide backend support for your preview, Amplify automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property.\n\nFor more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* .", - "title": "EnablePullRequestPreview", - "type": "boolean" - }, - "EnableSkewProtection": { - "markdownDescription": "Specifies whether the skew protection feature is enabled for the branch.\n\nDeployment skew protection is available to Amplify applications to eliminate version skew issues between client and servers in web applications. When you apply skew protection to a branch, you can ensure that your clients always interact with the correct version of server-side assets, regardless of when a deployment occurs. For more information about skew protection, see [Skew protection for Amplify deployments](https://docs.aws.amazon.com/amplify/latest/userguide/skew-protection.html) in the *Amplify User Guide* .", - "title": "EnableSkewProtection", - "type": "boolean" - }, - "EnvironmentVariables": { + "Overrides": { "items": { - "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" }, - "markdownDescription": "The environment variables for the branch.", - "title": "EnvironmentVariables", + "markdownDescription": "Describes the properties that can be overriden to customize a theme.", + "title": "Overrides", "type": "array" }, - "Framework": { - "markdownDescription": "The framework for the branch.", - "title": "Framework", - "type": "string" - }, - "PullRequestEnvironmentName": { - "markdownDescription": "If pull request previews are enabled for this branch, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI and mapped to this branch.\n\nTo enable pull request previews, set the `EnablePullRequestPreview` property to `true` .\n\nIf you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify Hosting deletes this environment when the pull request is closed.\n\nFor more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* .", - "title": "PullRequestEnvironmentName", - "type": "string" - }, - "Stage": { - "markdownDescription": "Describes the current stage for the branch.", - "title": "Stage", - "type": "string" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "One or more key-value pairs to use when tagging the theme.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The tag for the branch.", "title": "Tags", + "type": "object" + }, + "Values": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + }, + "markdownDescription": "A list of key-value pairs that defines the properties of the theme.", + "title": "Values", "type": "array" } }, - "required": [ - "AppId", - "BranchName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::Branch" + "AWS::AmplifyUIBuilder::Theme" ], "type": "string" }, @@ -6116,68 +6809,109 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Amplify::Branch.Backend": { + "AWS::AmplifyUIBuilder::Theme.ThemeValue": { "additionalProperties": false, "properties": { - "StackArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the CloudFormation stack.", - "title": "StackArn", + "Children": { + "items": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + }, + "markdownDescription": "A list of key-value pairs that define the theme's properties.", + "title": "Children", + "type": "array" + }, + "Value": { + "markdownDescription": "The value of a theme property.", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::Amplify::Branch.BasicAuthConfig": { + "AWS::AmplifyUIBuilder::Theme.ThemeValues": { "additionalProperties": false, "properties": { - "EnableBasicAuth": { - "markdownDescription": "Enables basic authorization for the branch.", - "title": "EnableBasicAuth", - "type": "boolean" - }, - "Password": { - "markdownDescription": "The password for basic authorization.", - "title": "Password", + "Key": { + "markdownDescription": "The name of the property.", + "title": "Key", "type": "string" }, - "Username": { - "markdownDescription": "", - "title": "Username", - "type": "string" + "Value": { + "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValue", + "markdownDescription": "The value of the property.", + "title": "Value" } }, - "required": [ - "Password", - "Username" - ], "type": "object" }, - "AWS::Amplify::Branch.EnvironmentVariable": { + "AWS::ApiGateway::Account": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The environment variable name.", - "title": "Name", + "Condition": { "type": "string" }, - "Value": { - "markdownDescription": "The environment variable 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": { + "CloudWatchRoleArn": { + "markdownDescription": "The ARN of an Amazon CloudWatch role for the current Account.", + "title": "CloudWatchRoleArn", + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name", - "Value" + "Type" ], "type": "object" }, - "AWS::Amplify::Domain": { + "AWS::ApiGateway::ApiKey": { "additionalProperties": false, "properties": { "Condition": { @@ -6212,58 +6946,58 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { - "markdownDescription": "The unique ID for an Amplify app.", - "title": "AppId", + "CustomerId": { + "markdownDescription": "An AWS Marketplace customer identifier, when integrating with the AWS SaaS Marketplace.", + "title": "CustomerId", "type": "string" }, - "AutoSubDomainCreationPatterns": { - "items": { - "type": "string" - }, - "markdownDescription": "Sets the branch patterns for automatic subdomain creation.", - "title": "AutoSubDomainCreationPatterns", - "type": "array" - }, - "AutoSubDomainIAMRole": { - "markdownDescription": "The required AWS Identity and Access Management (IAMlong) service role for the Amazon Resource Name (ARN) for automatically creating subdomains.", - "title": "AutoSubDomainIAMRole", + "Description": { + "markdownDescription": "The description of the ApiKey.", + "title": "Description", "type": "string" }, - "CertificateSettings": { - "$ref": "#/definitions/AWS::Amplify::Domain.CertificateSettings", - "markdownDescription": "The type of SSL/TLS certificate to use for your custom domain. If you don't specify a certificate type, Amplify uses the default certificate that it provisions and manages for you.", - "title": "CertificateSettings" + "Enabled": { + "markdownDescription": "Specifies whether the ApiKey can be used by callers.", + "title": "Enabled", + "type": "boolean" }, - "DomainName": { - "markdownDescription": "The domain name for the domain association.", - "title": "DomainName", + "GenerateDistinctId": { + "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.", + "title": "GenerateDistinctId", + "type": "boolean" + }, + "Name": { + "markdownDescription": "A name for the API key. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\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": "Name", "type": "string" }, - "EnableAutoSubDomain": { - "markdownDescription": "Enables the automated creation of subdomains for branches.", - "title": "EnableAutoSubDomain", - "type": "boolean" + "StageKeys": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" + }, + "markdownDescription": "DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.", + "title": "StageKeys", + "type": "array" }, - "SubDomainSettings": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The setting for the subdomain.", - "title": "SubDomainSettings", + "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with `aws:` . The tag value can be up to 256 characters.", + "title": "Tags", "type": "array" + }, + "Value": { + "markdownDescription": "Specifies a value of the API key.", + "title": "Value", + "type": "string" } }, - "required": [ - "AppId", - "DomainName", - "SubDomainSettings" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::Domain" + "AWS::ApiGateway::ApiKey" ], "type": "string" }, @@ -6277,69 +7011,27 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Amplify::Domain.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "markdownDescription": "The Amazon resource name (ARN) for a custom certificate that you have already added to Certificate Manager in your AWS account .\n\nThis field is required only when the certificate type is `CUSTOM` .", - "title": "CertificateArn", - "type": "string" - }, - "CertificateType": { - "markdownDescription": "The type of SSL/TLS certificate that you want to use.\n\nSpecify `AMPLIFY_MANAGED` to use the default certificate that Amplify provisions for you.\n\nSpecify `CUSTOM` to use your own certificate that you have already added to Certificate Manager in your AWS account . Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see [Importing certificates into Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *ACM User guide* .", - "title": "CertificateType", - "type": "string" - }, - "CertificateVerificationDNSRecord": { - "markdownDescription": "The DNS record for certificate verification.", - "title": "CertificateVerificationDNSRecord", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::Domain.CertificateSettings": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "markdownDescription": "The certificate type.\n\nSpecify `AMPLIFY_MANAGED` to use the default certificate that Amplify provisions for you.\n\nSpecify `CUSTOM` to use your own certificate that you have already added to Certificate Manager in your AWS account . Make sure you request (or import) the certificate in the US East (N. Virginia) Region (us-east-1). For more information about using ACM, see [Importing certificates into Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) in the *ACM User guide* .", - "title": "CertificateType", - "type": "string" - }, - "CustomCertificateArn": { - "markdownDescription": "The Amazon resource name (ARN) for the custom certificate that you have already added to Certificate Manager in your AWS account .\n\nThis field is required only when the certificate type is `CUSTOM` .", - "title": "CustomCertificateArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::Domain.SubDomainSetting": { + "AWS::ApiGateway::ApiKey.StageKey": { "additionalProperties": false, "properties": { - "BranchName": { - "markdownDescription": "The branch name setting for the subdomain.\n\n*Length Constraints:* Minimum length of 1. Maximum length of 255.\n\n*Pattern:* (?s).+", - "title": "BranchName", + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", "type": "string" }, - "Prefix": { - "markdownDescription": "The prefix setting for the subdomain.", - "title": "Prefix", + "StageName": { + "markdownDescription": "The stage name associated with the stage key.", + "title": "StageName", "type": "string" } }, - "required": [ - "BranchName", - "Prefix" - ], "type": "object" }, - "AWS::Amplify::Jobs": { + "AWS::ApiGateway::Authorizer": { "additionalProperties": false, "properties": { "Condition": { @@ -6374,22 +7066,70 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { + "AuthType": { + "markdownDescription": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact.", + "title": "AuthType", "type": "string" }, - "BranchName": { + "AuthorizerCredentials": { + "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.", + "title": "AuthorizerCredentials", + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "markdownDescription": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.", + "title": "AuthorizerResultTtlInSeconds", + "type": "number" + }, + "AuthorizerUri": { + "markdownDescription": "Specifies the authorizer's Uniform Resource Identifier (URI). For `TOKEN` or `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations` . In general, the URI has this form `arn:aws:apigateway:{region}:lambda:path/{service_api}` , where `{region}` is the same as the region hosting the Lambda function, `path` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .", + "title": "AuthorizerUri", + "type": "string" + }, + "IdentitySource": { + "markdownDescription": "The identity source for which authorization is requested. For a `TOKEN` or `COGNITO_USER_POOLS` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is `Auth` , the header mapping expression is `method.request.header.Auth` . For the `REQUEST` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an `Auth` header, a `Name` query string parameter are defined as identity sources, this value is `method.request.header.Auth, method.request.querystring.Name` . These parameters will be used to derive the authorization caching key and to perform runtime validation of the `REQUEST` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.", + "title": "IdentitySource", + "type": "string" + }, + "IdentityValidationExpression": { + "markdownDescription": "A validation expression for the incoming identity token. For `TOKEN` authorizers, this value is a regular expression. For `COGNITO_USER_POOLS` authorizers, API Gateway will match the `aud` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the `REQUEST` authorizer.", + "title": "IdentityValidationExpression", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the authorizer.", + "title": "Name", + "type": "string" + }, + "ProviderARNs": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the Amazon Cognito user pool ARNs for the `COGNITO_USER_POOLS` authorizer. Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}` . For a `TOKEN` or `REQUEST` authorizer, this is not defined.", + "title": "ProviderARNs", + "type": "array" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" + }, + "Type": { + "markdownDescription": "The authorizer type. Valid values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, and `COGNITO_USER_POOLS` for using an Amazon Cognito user pool.", + "title": "Type", "type": "string" } }, "required": [ - "AppId", - "BranchName" + "Name", + "RestApiId", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::Jobs" + "AWS::ApiGateway::Authorizer" ], "type": "string" }, @@ -6408,7 +7148,7 @@ ], "type": "object" }, - "AWS::Amplify::Webhook": { + "AWS::ApiGateway::BasePathMapping": { "additionalProperties": false, "properties": { "Condition": { @@ -6443,30 +7183,38 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { + "BasePath": { + "markdownDescription": "The base path name that callers of the API must provide as part of the URL after the domain name.", + "title": "BasePath", "type": "string" }, - "BranchName": { + "DomainName": { + "markdownDescription": "The domain name of the BasePathMapping resource to be described.", + "title": "DomainName", "type": "string" }, - "Description": { + "Id": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" + }, + "Stage": { + "markdownDescription": "The name of the associated stage.", + "title": "Stage", + "type": "string" } }, "required": [ - "BranchName" + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Amplify::Webhook" + "AWS::ApiGateway::BasePathMapping" ], "type": "string" }, @@ -6485,7 +7233,7 @@ ], "type": "object" }, - "AWS::AmplifyUIBuilder::CodegenJob": { + "AWS::ApiGateway::BasePathMappingV2": { "additionalProperties": false, "properties": { "Condition": { @@ -6520,30 +7268,36 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { + "BasePath": { + "markdownDescription": "The base path name that callers of the private API must provide as part of the URL after the domain name.", + "title": "BasePath", "type": "string" }, - "AutoGenerateForms": { - "type": "boolean" - }, - "EnvironmentName": { + "DomainNameArn": { + "markdownDescription": "The ARN of the domain name for the BasePathMappingV2 resource to be described.", + "title": "DomainNameArn", "type": "string" }, - "Features": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.CodegenFeatureFlags" + "RestApiId": { + "markdownDescription": "The private API's identifier. This identifier is unique across all of your APIs in API Gateway.", + "title": "RestApiId", + "type": "string" }, - "RenderConfig": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.CodegenJobRenderConfig" + "Stage": { + "markdownDescription": "Represents a unique identifier for a version of a deployed private RestApi that is callable by users. The Stage must depend on the `RestApi` 's stage. To create a dependency, add a DependsOn attribute to the BasePathMappingV2 resource.", + "title": "Stage", + "type": "string" } }, "required": [ - "RenderConfig" + "DomainNameArn", + "RestApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::AmplifyUIBuilder::CodegenJob" + "AWS::ApiGateway::BasePathMappingV2" ], "type": "string" }, @@ -6562,98 +7316,78 @@ ], "type": "object" }, - "AWS::AmplifyUIBuilder::CodegenJob.ApiConfiguration": { - "additionalProperties": false, - "properties": { - "DataStoreConfig": { - "type": "object" - }, - "GraphQLConfig": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.GraphQLRenderConfig" - }, - "NoApiConfig": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::CodegenJob.CodegenFeatureFlags": { - "additionalProperties": false, - "properties": { - "IsNonModelSupported": { - "type": "boolean" - }, - "IsRelationshipSupported": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::CodegenJob.CodegenJobRenderConfig": { - "additionalProperties": false, - "properties": { - "React": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.ReactStartCodegenJobData" - } - }, - "required": [ - "React" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::CodegenJob.GraphQLRenderConfig": { + "AWS::ApiGateway::ClientCertificate": { "additionalProperties": false, "properties": { - "FragmentsFilePath": { - "type": "string" - }, - "MutationsFilePath": { - "type": "string" - }, - "QueriesFilePath": { - "type": "string" - }, - "SubscriptionsFilePath": { + "Condition": { "type": "string" }, - "TypesFilePath": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "FragmentsFilePath", - "MutationsFilePath", - "QueriesFilePath", - "SubscriptionsFilePath", - "TypesFilePath" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::CodegenJob.ReactStartCodegenJobData": { - "additionalProperties": false, - "properties": { - "ApiConfiguration": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob.ApiConfiguration" }, - "InlineSourceMap": { - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Module": { - "type": "string" + "Metadata": { + "type": "object" }, - "RenderTypeDeclarations": { - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "The description of the client certificate.", + "title": "Description", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" }, - "Script": { + "Type": { + "enum": [ + "AWS::ApiGateway::ClientCertificate" + ], "type": "string" }, - "Target": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::AmplifyUIBuilder::Component": { + "AWS::ApiGateway::Deployment": { "additionalProperties": false, "properties": { "Condition": { @@ -6688,118 +7422,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { - "markdownDescription": "The unique ID of the Amplify app associated with the component.", - "title": "AppId", - "type": "string" - }, - "BindingProperties": { - "additionalProperties": false, - "markdownDescription": "The information to connect a component's properties to data at runtime. You can't specify `tags` as a valid property for `bindingProperties` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue" - } - }, - "title": "BindingProperties", - "type": "object" - }, - "Children": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild" - }, - "markdownDescription": "A list of the component's `ComponentChild` instances.", - "title": "Children", - "type": "array" - }, - "CollectionProperties": { - "additionalProperties": false, - "markdownDescription": "The data binding configuration for the component's properties. Use this for a collection component. You can't specify `tags` as a valid property for `collectionProperties` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration" - } - }, - "title": "CollectionProperties", - "type": "object" - }, - "ComponentType": { - "markdownDescription": "The type of the component. This can be an Amplify custom UI component or another custom component.", - "title": "ComponentType", - "type": "string" + "DeploymentCanarySettings": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings", + "markdownDescription": "The input configuration for a canary deployment.", + "title": "DeploymentCanarySettings" }, - "EnvironmentName": { - "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", - "title": "EnvironmentName", + "Description": { + "markdownDescription": "The description for the Deployment resource to create.", + "title": "Description", "type": "string" }, - "Events": { - "additionalProperties": false, - "markdownDescription": "Describes the events that can be raised on the component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent" - } - }, - "title": "Events", - "type": "object" - }, - "Name": { - "markdownDescription": "The name of the component.", - "title": "Name", + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", "type": "string" }, - "Overrides": { - "markdownDescription": "Describes the component's properties that can be overriden in a customized instance of the component. You can't specify `tags` as a valid property for `overrides` .", - "title": "Overrides", - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "markdownDescription": "Describes the component's properties. You can't specify `tags` as a valid property for `properties` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" - } - }, - "title": "Properties", - "type": "object" - }, - "SchemaVersion": { - "markdownDescription": "The schema version of the component when it was imported.", - "title": "SchemaVersion", - "type": "string" + "StageDescription": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription", + "markdownDescription": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.", + "title": "StageDescription" }, - "SourceId": { - "markdownDescription": "The unique ID of the component in its original source system, such as Figma.", - "title": "SourceId", + "StageName": { + "markdownDescription": "The name of the Stage resource for the Deployment resource to create.", + "title": "StageName", "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "One or more key-value pairs to use when tagging the component.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - }, - "Variants": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentVariant" - }, - "markdownDescription": "A list of the component's variants. A variant is a unique style configuration of a main component.", - "title": "Variants", - "type": "array" } }, + "required": [ + "RestApiId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::AmplifyUIBuilder::Component" + "AWS::ApiGateway::Deployment" ], "type": "string" }, @@ -6813,530 +7469,439 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ActionParameters": { + "AWS::ApiGateway::Deployment.AccessLogSetting": { "additionalProperties": false, "properties": { - "Anchor": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The HTML anchor link to the location to open. Specify this value for a navigation action.", - "title": "Anchor" + "DestinationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` .", + "title": "DestinationArn", + "type": "string" }, - "Fields": { - "additionalProperties": false, - "markdownDescription": "A dictionary of key-value pairs mapping Amplify Studio properties to fields in a data model. Use when the action performs an operation on an Amplify DataStore model.", + "Format": { + "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least `$context.requestId` .", + "title": "Format", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.CanarySetting": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.", + "title": "PercentTraffic", + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "markdownDescription": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.", "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" + "type": "string" } }, - "title": "Fields", + "title": "StageVariableOverrides", "type": "object" }, - "Global": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "Specifies whether the user should be signed out globally. Specify this value for an auth sign out action.", - "title": "Global" - }, - "Id": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The unique ID of the component that the `ActionParameters` apply to.", - "title": "Id" - }, - "Model": { - "markdownDescription": "The name of the data model. Use when the action performs an operation on an Amplify DataStore model.", - "title": "Model", - "type": "string" - }, - "State": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter", - "markdownDescription": "A key-value pair that specifies the state property name and its initial value.", - "title": "State" - }, - "Target": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The element within the same component to modify when the action occurs.", - "title": "Target" - }, - "Type": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The type of navigation action. Valid values are `url` and `anchor` . This value is required for a navigation action.", - "title": "Type" - }, - "Url": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The URL to the location to open. Specify this value for a navigation action.", - "title": "Url" + "UseStageCache": { + "markdownDescription": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", + "title": "UseStageCache", + "type": "boolean" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValue": { + "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { "additionalProperties": false, "properties": { - "BindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties", - "markdownDescription": "Describes the properties to customize with data at runtime.", - "title": "BindingProperties" + "PercentTraffic": { + "markdownDescription": "The percentage (0.0-100.0) of traffic routed to the canary deployment.", + "title": "PercentTraffic", + "type": "number" }, - "DefaultValue": { - "markdownDescription": "The default value of the property.", - "title": "DefaultValue", - "type": "string" + "StageVariableOverrides": { + "additionalProperties": true, + "markdownDescription": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "StageVariableOverrides", + "type": "object" }, - "Type": { - "markdownDescription": "The property type.", - "title": "Type", - "type": "string" + "UseStageCache": { + "markdownDescription": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.", + "title": "UseStageCache", + "type": "boolean" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ComponentBindingPropertiesValueProperties": { + "AWS::ApiGateway::Deployment.MethodSetting": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "An Amazon S3 bucket.", - "title": "Bucket", - "type": "string" + "CacheDataEncrypted": { + "markdownDescription": "Specifies whether the cached responses are encrypted.", + "title": "CacheDataEncrypted", + "type": "boolean" }, - "DefaultValue": { - "markdownDescription": "The default value to assign to the property.", - "title": "DefaultValue", - "type": "string" + "CacheTtlInSeconds": { + "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", + "title": "CacheTtlInSeconds", + "type": "number" }, - "Field": { - "markdownDescription": "The field to bind the data to.", - "title": "Field", - "type": "string" + "CachingEnabled": { + "markdownDescription": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", + "title": "CachingEnabled", + "type": "boolean" }, - "Key": { - "markdownDescription": "The storage key for an Amazon S3 bucket.", - "title": "Key", + "DataTraceEnabled": { + "markdownDescription": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", + "title": "DataTraceEnabled", + "type": "boolean" + }, + "HttpMethod": { + "markdownDescription": "The HTTP method.", + "title": "HttpMethod", "type": "string" }, - "Model": { - "markdownDescription": "An Amplify DataStore model.", - "title": "Model", + "LoggingLevel": { + "markdownDescription": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are `OFF` , `ERROR` , and `INFO` . Choose `ERROR` to write only error-level entries to CloudWatch Logs, or choose `INFO` to include all `ERROR` events as well as extra informational events.", + "title": "LoggingLevel", "type": "string" }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" - }, - "markdownDescription": "A list of predicates for binding a component's properties to data.", - "title": "Predicates", - "type": "array" + "MetricsEnabled": { + "markdownDescription": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", + "title": "MetricsEnabled", + "type": "boolean" }, - "SlotName": { - "markdownDescription": "The name of a component slot.", - "title": "SlotName", + "ResourcePath": { + "markdownDescription": "The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ).", + "title": "ResourcePath", "type": "string" }, - "UserAttribute": { - "markdownDescription": "An authenticated user attribute.", - "title": "UserAttribute", - "type": "string" + "ThrottlingBurstLimit": { + "markdownDescription": "Specifies the throttling burst limit.", + "title": "ThrottlingBurstLimit", + "type": "number" + }, + "ThrottlingRateLimit": { + "markdownDescription": "Specifies the throttling rate limit.", + "title": "ThrottlingRateLimit", + "type": "number" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ComponentChild": { + "AWS::ApiGateway::Deployment.StageDescription": { "additionalProperties": false, "properties": { - "Children": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentChild" - }, - "markdownDescription": "The list of `ComponentChild` instances for this component.", - "title": "Children", - "type": "array" + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting", + "markdownDescription": "Specifies settings for logging access in this stage.", + "title": "AccessLogSetting" }, - "ComponentType": { - "markdownDescription": "The type of the child component.", - "title": "ComponentType", + "CacheClusterEnabled": { + "markdownDescription": "Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set `CachingEnabled` to `true` for a method.", + "title": "CacheClusterEnabled", + "type": "boolean" + }, + "CacheClusterSize": { + "markdownDescription": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference* .", + "title": "CacheClusterSize", "type": "string" }, - "Events": { - "additionalProperties": false, - "markdownDescription": "Describes the events that can be raised on the child component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentEvent" - } - }, - "title": "Events", - "type": "object" + "CacheDataEncrypted": { + "markdownDescription": "Indicates whether the cached responses are encrypted.", + "title": "CacheDataEncrypted", + "type": "boolean" }, - "Name": { - "markdownDescription": "The name of the child component.", - "title": "Name", - "type": "string" + "CacheTtlInSeconds": { + "markdownDescription": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.", + "title": "CacheTtlInSeconds", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "markdownDescription": "Describes the properties of the child component. You can't specify `tags` as a valid property for `properties` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" - } - }, - "title": "Properties", - "type": "object" + "CachingEnabled": { + "markdownDescription": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide* .", + "title": "CachingEnabled", + "type": "boolean" }, - "SourceId": { - "markdownDescription": "The unique ID of the child component in its original source system, such as Figma.", - "title": "SourceId", - "type": "string" - } - }, - "required": [ - "ComponentType", - "Name", - "Properties" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentConditionProperty": { - "additionalProperties": false, - "properties": { - "Else": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The value to assign to the property if the condition is not met.", - "title": "Else" + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting", + "markdownDescription": "Specifies settings for the canary deployment in this stage.", + "title": "CanarySetting" }, - "Field": { - "markdownDescription": "The name of a field. Specify this when the property is a data model.", - "title": "Field", + "ClientCertificateId": { + "markdownDescription": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.", + "title": "ClientCertificateId", "type": "string" }, - "Operand": { - "markdownDescription": "The value of the property to evaluate.", - "title": "Operand", - "type": "string" + "DataTraceEnabled": { + "markdownDescription": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.", + "title": "DataTraceEnabled", + "type": "boolean" }, - "OperandType": { - "markdownDescription": "The type of the property to evaluate.", - "title": "OperandType", + "Description": { + "markdownDescription": "A description of the purpose of the stage.", + "title": "Description", "type": "string" }, - "Operator": { - "markdownDescription": "The operator to use to perform the evaluation, such as `eq` to represent equals.", - "title": "Operator", + "DocumentationVersion": { + "markdownDescription": "The version identifier of the API documentation snapshot.", + "title": "DocumentationVersion", "type": "string" }, - "Property": { - "markdownDescription": "The name of the conditional property.", - "title": "Property", + "LoggingLevel": { + "markdownDescription": "The logging level for this method. For valid values, see the `loggingLevel` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference* .", + "title": "LoggingLevel", "type": "string" }, - "Then": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The value to assign to the property if the condition is met.", - "title": "Then" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentDataConfiguration": { - "additionalProperties": false, - "properties": { - "Identifiers": { + "MethodSettings": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" }, - "markdownDescription": "A list of IDs to use to bind data to a component. Use this property to bind specifically chosen data, rather than data retrieved from a query.", - "title": "Identifiers", + "markdownDescription": "Configures settings for all of the stage's methods.", + "title": "MethodSettings", "type": "array" }, - "Model": { - "markdownDescription": "The name of the data model to use to bind data to a component.", - "title": "Model", - "type": "string" - }, - "Predicate": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate", - "markdownDescription": "Represents the conditional logic to use when binding data to a component. Use this property to retrieve only a subset of the data in a collection.", - "title": "Predicate" + "MetricsEnabled": { + "markdownDescription": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.", + "title": "MetricsEnabled", + "type": "boolean" }, - "Sort": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.SortProperty" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "Describes how to sort the component's properties.", - "title": "Sort", + "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the stage.", + "title": "Tags", "type": "array" - } - }, - "required": [ - "Model" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentEvent": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action to perform when a specific event is raised.", - "title": "Action", - "type": "string" }, - "BindingEvent": { - "markdownDescription": "Binds an event to an action on a component. When you specify a `bindingEvent` , the event is called when the action is performed.", - "title": "BindingEvent", - "type": "string" + "ThrottlingBurstLimit": { + "markdownDescription": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .", + "title": "ThrottlingBurstLimit", + "type": "number" }, - "Parameters": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ActionParameters", - "markdownDescription": "Describes information about the action.", - "title": "Parameters" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentProperty": { - "additionalProperties": false, - "properties": { - "BindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties", - "markdownDescription": "The information to bind the component property to data at runtime.", - "title": "BindingProperties" + "ThrottlingRateLimit": { + "markdownDescription": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .", + "title": "ThrottlingRateLimit", + "type": "number" }, - "Bindings": { - "additionalProperties": false, - "markdownDescription": "The information to bind the component property to form data.", + "TracingEnabled": { + "markdownDescription": "Specifies whether active tracing with X-ray is enabled for this stage.\n\nFor more information, see [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide* .", + "title": "TracingEnabled", + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "markdownDescription": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .", "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.FormBindingElement" + "type": "string" } }, - "title": "Bindings", + "title": "Variables", "type": "object" - }, - "CollectionBindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties", - "markdownDescription": "The information to bind the component property to data at runtime. Use this for collection components.", - "title": "CollectionBindingProperties" - }, - "ComponentName": { - "markdownDescription": "The name of the component that is affected by an event.", - "title": "ComponentName", - "type": "string" - }, - "Concat": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty" - }, - "markdownDescription": "A list of component properties to concatenate to create the value to assign to this component property.", - "title": "Concat", - "type": "array" - }, - "Condition": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentConditionProperty", - "markdownDescription": "The conditional expression to use to assign a value to the component property.", - "title": "Condition" - }, - "Configured": { - "markdownDescription": "Specifies whether the user configured the property in Amplify Studio after importing it.", - "title": "Configured", - "type": "boolean" - }, - "DefaultValue": { - "markdownDescription": "The default value to assign to the component property.", - "title": "DefaultValue", - "type": "string" - }, - "Event": { - "markdownDescription": "An event that occurs in your app. Use this for workflow data binding.", - "title": "Event", - "type": "string" - }, - "ImportedValue": { - "markdownDescription": "The default value assigned to the property when the component is imported into an app.", - "title": "ImportedValue", - "type": "string" - }, - "Model": { - "markdownDescription": "The data model to use to assign a value to the component property.", - "title": "Model", - "type": "string" - }, - "Property": { - "markdownDescription": "The name of the component's property that is affected by an event.", - "title": "Property", - "type": "string" - }, - "Type": { - "markdownDescription": "The component type.", - "title": "Type", - "type": "string" - }, - "UserAttribute": { - "markdownDescription": "An authenticated user attribute to use to assign a value to the component property.", - "title": "UserAttribute", - "type": "string" - }, - "Value": { - "markdownDescription": "The value to assign to the component property.", - "title": "Value", - "type": "string" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Component.ComponentPropertyBindingProperties": { + "AWS::ApiGateway::DocumentationPart": { "additionalProperties": false, "properties": { - "Field": { - "markdownDescription": "The data field to bind the property to.", - "title": "Field", + "Condition": { "type": "string" }, - "Property": { - "markdownDescription": "The component property to bind to the data field.", - "title": "Property", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Property" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.ComponentVariant": { - "additionalProperties": false, - "properties": { - "Overrides": { - "markdownDescription": "The properties of the component variant that can be overriden when customizing an instance of the component. You can't specify `tags` as a valid property for `overrides` .", - "title": "Overrides", + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "VariantValues": { - "additionalProperties": true, - "markdownDescription": "The combination of variants that comprise this variant.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "Location": { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location", + "markdownDescription": "The location of the targeted API entity of the to-be-created documentation part.", + "title": "Location" + }, + "Properties": { + "markdownDescription": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.", + "title": "Properties", + "type": "string" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", "type": "string" } }, - "title": "VariantValues", + "required": [ + "Location", + "Properties", + "RestApiId" + ], "type": "object" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.FormBindingElement": { - "additionalProperties": false, - "properties": { - "Element": { - "markdownDescription": "The name of the component to retrieve a value from.", - "title": "Element", + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationPart" + ], "type": "string" }, - "Property": { - "markdownDescription": "The property to retrieve a value from.", - "title": "Property", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Element", - "Property" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Component.MutationActionSetStateParameter": { + "AWS::ApiGateway::DocumentationPart.Location": { "additionalProperties": false, "properties": { - "ComponentName": { - "markdownDescription": "The name of the component that is being modified.", - "title": "ComponentName", + "Method": { + "markdownDescription": "The HTTP verb of a method. It is a valid field for the API entity types of `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `*` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other `location` attributes, the child entity's `method` attribute must match that of the parent entity exactly.", + "title": "Method", "type": "string" }, - "Property": { - "markdownDescription": "The name of the component property to apply the state configuration to.", - "title": "Property", + "Name": { + "markdownDescription": "The name of the targeted API entity. It is a valid and required field for the API entity types of `AUTHORIZER` , `MODEL` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` and `RESPONSE_HEADER` . It is an invalid field for any other entity type.", + "title": "Name", "type": "string" }, - "Set": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.ComponentProperty", - "markdownDescription": "The state configuration to assign to the property.", - "title": "Set" + "Path": { + "markdownDescription": "The URL path of the target. It is a valid field for the API entity types of `RESOURCE` , `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `/` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other `location` attributes, the child entity's `path` attribute must match that of the parent entity as a prefix.", + "title": "Path", + "type": "string" + }, + "StatusCode": { + "markdownDescription": "The HTTP status code of a response. It is a valid field for the API entity types of `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `*` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other `location` attributes, the child entity's `statusCode` attribute must match that of the parent entity exactly.", + "title": "StatusCode", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of API entity to which the documentation content applies. Valid values are `API` , `AUTHORIZER` , `MODEL` , `RESOURCE` , `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . Content inheritance does not apply to any entity of the `API` , `AUTHORIZER` , `METHOD` , `MODEL` , `REQUEST_BODY` , or `RESOURCE` type.", + "title": "Type", + "type": "string" } }, - "required": [ - "ComponentName", - "Property", - "Set" - ], "type": "object" }, - "AWS::AmplifyUIBuilder::Component.Predicate": { + "AWS::ApiGateway::DocumentationVersion": { "additionalProperties": false, "properties": { - "And": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" - }, - "markdownDescription": "A list of predicates to combine logically.", - "title": "And", - "type": "array" - }, - "Field": { - "markdownDescription": "The field to query.", - "title": "Field", + "Condition": { "type": "string" }, - "Operand": { - "markdownDescription": "The value to use when performing the evaluation.", - "title": "Operand", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OperandType": { - "markdownDescription": "The type of value to use when performing the evaluation.", - "title": "OperandType", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Operator": { - "markdownDescription": "The operator to use to perform the evaluation.", - "title": "Operator", - "type": "string" + "Metadata": { + "type": "object" }, - "Or": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component.Predicate" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description about the new documentation snapshot.", + "title": "Description", + "type": "string" + }, + "DocumentationVersion": { + "markdownDescription": "The version identifier of the to-be-updated documentation version.", + "title": "DocumentationVersion", + "type": "string" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" + } }, - "markdownDescription": "A list of predicates to combine logically.", - "title": "Or", - "type": "array" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Component.SortProperty": { - "additionalProperties": false, - "properties": { - "Direction": { - "markdownDescription": "The direction of the sort, either ascending or descending.", - "title": "Direction", + "required": [ + "DocumentationVersion", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationVersion" + ], "type": "string" }, - "Field": { - "markdownDescription": "The field to perform the sort on.", - "title": "Field", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Direction", - "Field" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form": { + "AWS::ApiGateway::DomainName": { "additionalProperties": false, "properties": { "Condition": { @@ -7371,90 +7936,65 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { - "markdownDescription": "The unique ID of the Amplify app associated with the form.", - "title": "AppId", + "CertificateArn": { + "markdownDescription": "The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. Certificate Manager is the only supported source.", + "title": "CertificateArn", "type": "string" }, - "Cta": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormCTA", - "markdownDescription": "The `FormCTA` object that stores the call to action configuration for the form.", - "title": "Cta" - }, - "DataType": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormDataTypeConfig", - "markdownDescription": "The type of data source to use to create the form.", - "title": "DataType" + "DomainName": { + "markdownDescription": "The custom domain name as an API host name, for example, `my-api.example.com` .", + "title": "DomainName", + "type": "string" }, - "EnvironmentName": { - "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", - "title": "EnvironmentName", + "EndpointAccessMode": { + "markdownDescription": "The endpoint access mode for your DomainName.", + "title": "EndpointAccessMode", "type": "string" }, - "Fields": { - "additionalProperties": false, - "markdownDescription": "The configuration information for the form's fields.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldConfig" - } - }, - "title": "Fields", - "type": "object" + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration", + "markdownDescription": "The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.", + "title": "EndpointConfiguration" }, - "FormActionType": { - "markdownDescription": "Specifies whether to perform a create or update action on the form.", - "title": "FormActionType", - "type": "string" + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication", + "markdownDescription": "The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.", + "title": "MutualTlsAuthentication" }, - "LabelDecorator": { - "markdownDescription": "Specifies an icon or decoration to display on the form.", - "title": "LabelDecorator", + "OwnershipVerificationCertificateArn": { + "markdownDescription": "The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.", + "title": "OwnershipVerificationCertificateArn", "type": "string" }, - "Name": { - "markdownDescription": "The name of the form.", - "title": "Name", + "RegionalCertificateArn": { + "markdownDescription": "The reference to an AWS -managed certificate that will be used for validating the regional domain name. Certificate Manager is the only supported source.", + "title": "RegionalCertificateArn", "type": "string" }, - "SchemaVersion": { - "markdownDescription": "The schema version of the form.", - "title": "SchemaVersion", + "RoutingMode": { + "markdownDescription": "The routing mode for this domain name. The routing mode determines how API Gateway sends traffic from your custom domain name to your public APIs.", + "title": "RoutingMode", "type": "string" }, - "SectionalElements": { - "additionalProperties": false, - "markdownDescription": "The configuration information for the visual helper elements for the form. These elements are not associated with any data.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.SectionalElement" - } - }, - "title": "SectionalElements", - "type": "object" - }, - "Style": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyle", - "markdownDescription": "The configuration for the form's style.", - "title": "Style" + "SecurityPolicy": { + "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this DomainName.", + "title": "SecurityPolicy", + "type": "string" }, "Tags": { - "additionalProperties": true, - "markdownDescription": "One or more key-value pairs to use when tagging the form data.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", "title": "Tags", - "type": "object" + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::AmplifyUIBuilder::Form" + "AWS::ApiGateway::DomainName" ], "type": "string" }, @@ -7472,177 +8012,221 @@ ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FieldConfig": { + "AWS::ApiGateway::DomainName.EndpointConfiguration": { "additionalProperties": false, "properties": { - "Excluded": { - "markdownDescription": "Specifies whether to hide a field.", - "title": "Excluded", - "type": "boolean" - }, - "InputType": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldInputConfig", - "markdownDescription": "Describes the configuration for the default input value to display for a field.", - "title": "InputType" - }, - "Label": { - "markdownDescription": "The label for the field.", - "title": "Label", + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke this DomainName. Use `ipv4` to allow only IPv4 addresses to invoke this DomainName, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke this DomainName. For the `PRIVATE` endpoint type, only `dualstack` is supported.", + "title": "IpAddressType", "type": "string" }, - "Position": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", - "markdownDescription": "Specifies the field position.", - "title": "Position" - }, - "Validations": { + "Types": { "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration" + "type": "string" }, - "markdownDescription": "The validations to perform on the value in the field.", - "title": "Validations", + "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", + "title": "Types", "type": "array" } }, "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FieldInputConfig": { + "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { "additionalProperties": false, "properties": { - "DefaultChecked": { - "markdownDescription": "Specifies whether a field has a default value.", - "title": "DefaultChecked", - "type": "boolean" - }, - "DefaultCountryCode": { - "markdownDescription": "The default country code for a phone number.", - "title": "DefaultCountryCode", - "type": "string" - }, - "DefaultValue": { - "markdownDescription": "The default value for the field.", - "title": "DefaultValue", + "TruststoreUri": { + "markdownDescription": "An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example `s3://bucket-name/key-name` . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.", + "title": "TruststoreUri", "type": "string" }, - "DescriptiveText": { - "markdownDescription": "The text to display to describe the field.", - "title": "DescriptiveText", + "TruststoreVersion": { + "markdownDescription": "The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.", + "title": "TruststoreVersion", "type": "string" - }, - "FileUploaderConfig": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig", - "markdownDescription": "The configuration for the file uploader field.", - "title": "FileUploaderConfig" - }, - "IsArray": { - "markdownDescription": "Specifies whether to render the field as an array. This property is ignored if the `dataSourceType` for the form is a Data Store.", - "title": "IsArray", - "type": "boolean" - }, - "MaxValue": { - "markdownDescription": "The maximum value to display for the field.", - "title": "MaxValue", - "type": "number" - }, - "MinValue": { - "markdownDescription": "The minimum value to display for the field.", - "title": "MinValue", - "type": "number" - }, - "Name": { - "markdownDescription": "The name of the field.", - "title": "Name", + } + }, + "type": "object" + }, + "AWS::ApiGateway::DomainNameAccessAssociation": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "Placeholder": { - "markdownDescription": "The text to display as a placeholder for the field.", - "title": "Placeholder", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ReadOnly": { - "markdownDescription": "Specifies a read only field.", - "title": "ReadOnly", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Required": { - "markdownDescription": "Specifies a field that requires input.", - "title": "Required", - "type": "boolean" + "Metadata": { + "type": "object" }, - "Step": { - "markdownDescription": "The stepping increment for a numeric value in a field.", - "title": "Step", - "type": "number" + "Properties": { + "additionalProperties": false, + "properties": { + "AccessAssociationSource": { + "markdownDescription": "The identifier of the domain name access association source. For a `VPCE` , the value is the VPC endpoint ID.", + "title": "AccessAssociationSource", + "type": "string" + }, + "AccessAssociationSourceType": { + "markdownDescription": "The type of the domain name access association source. Only `VPCE` is currently supported.", + "title": "AccessAssociationSourceType", + "type": "string" + }, + "DomainNameArn": { + "markdownDescription": "The ARN of the domain name.", + "title": "DomainNameArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "AccessAssociationSource", + "AccessAssociationSourceType", + "DomainNameArn" + ], + "type": "object" }, "Type": { - "markdownDescription": "The input type for the field.", - "title": "Type", + "enum": [ + "AWS::ApiGateway::DomainNameAccessAssociation" + ], "type": "string" }, - "Value": { - "markdownDescription": "The value for the field.", - "title": "Value", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "ValueMappings": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMappings", - "markdownDescription": "The information to use to customize the input fields with data at runtime.", - "title": "ValueMappings" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FieldPosition": { + "AWS::ApiGateway::DomainNameV2": { "additionalProperties": false, "properties": { - "Below": { - "markdownDescription": "The field position is below the field specified by the string.", - "title": "Below", + "Condition": { "type": "string" }, - "Fixed": { - "markdownDescription": "The field position is fixed and doesn't change in relation to other fields.", - "title": "Fixed", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RightOf": { - "markdownDescription": "The field position is to the right of the field specified by the string.", - "title": "RightOf", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FieldValidationConfiguration": { - "additionalProperties": false, - "properties": { - "NumValues": { - "items": { - "type": "number" - }, - "markdownDescription": "The validation to perform on a number value.", - "title": "NumValues", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "StrValues": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "markdownDescription": "The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name. AWS Certificate Manager is the only supported source.", + "title": "CertificateArn", + "type": "string" + }, + "DomainName": { + "markdownDescription": "Represents a custom domain name as a user-friendly host name of an API (RestApi).", + "title": "DomainName", + "type": "string" + }, + "EndpointAccessMode": { + "markdownDescription": "The endpoint access mode for your DomainName.", + "title": "EndpointAccessMode", + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::DomainNameV2.EndpointConfiguration", + "markdownDescription": "The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.", + "title": "EndpointConfiguration" + }, + "Policy": { + "markdownDescription": "A stringified JSON policy document that applies to the `execute-api` service for this DomainName regardless of the caller and Method configuration. You can use `Fn::ToJsonString` to enter your `policy` . For more information, see [Fn::ToJsonString](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ToJsonString.html) .", + "title": "Policy", + "type": "object" + }, + "RoutingMode": { + "markdownDescription": "The routing mode for this domain name. The routing mode determines how API Gateway sends traffic from your custom domain name to your private APIs.", + "title": "RoutingMode", + "type": "string" + }, + "SecurityPolicy": { + "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this DomainName.", + "title": "SecurityPolicy", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "The validation to perform on a string value.", - "title": "StrValues", - "type": "array" + "type": "object" }, "Type": { - "markdownDescription": "The validation to perform on an object type. ``", - "title": "Type", + "enum": [ + "AWS::ApiGateway::DomainNameV2" + ], "type": "string" }, - "ValidationMessage": { - "markdownDescription": "The validation message to display.", - "title": "ValidationMessage", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, @@ -7651,310 +8235,126 @@ ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FileUploaderFieldConfig": { + "AWS::ApiGateway::DomainNameV2.EndpointConfiguration": { "additionalProperties": false, "properties": { - "AcceptedFileTypes": { + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke an API (RestApi) or a DomainName. Use `ipv4` to allow only IPv4 addresses to invoke an API or DomainName, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke an API or a DomainName. For the `PRIVATE` endpoint type, only `dualstack` is supported.", + "title": "IpAddressType", + "type": "string" + }, + "Types": { "items": { "type": "string" }, - "markdownDescription": "The file types that are allowed to be uploaded by the file uploader. Provide this information in an array of strings specifying the valid file extensions.", - "title": "AcceptedFileTypes", + "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", + "title": "Types", "type": "array" - }, - "AccessLevel": { - "markdownDescription": "The access level to assign to the uploaded files in the Amazon S3 bucket where they are stored. The valid values for this property are `private` , `protected` , or `public` . For detailed information about the permissions associated with each access level, see [File access levels](https://docs.aws.amazon.com/https://docs.amplify.aws/lib/storage/configureaccess/q/platform/js/) in the *Amplify documentation* .", - "title": "AccessLevel", - "type": "string" - }, - "IsResumable": { - "markdownDescription": "Allows the file upload operation to be paused and resumed. The default value is `false` .\n\nWhen `isResumable` is set to `true` , the file uploader uses a multipart upload to break the files into chunks before upload. The progress of the upload isn't continuous, because the file uploader uploads a chunk at a time.", - "title": "IsResumable", - "type": "boolean" - }, - "MaxFileCount": { - "markdownDescription": "Specifies the maximum number of files that can be selected to upload. The default value is an unlimited number of files.", - "title": "MaxFileCount", - "type": "number" - }, - "MaxSize": { - "markdownDescription": "The maximum file size in bytes that the file uploader will accept. The default value is an unlimited file size.", - "title": "MaxSize", - "type": "number" - }, - "ShowThumbnails": { - "markdownDescription": "Specifies whether to display or hide the image preview after selecting a file for upload. The default value is `true` to display the image preview.", - "title": "ShowThumbnails", - "type": "boolean" } }, - "required": [ - "AcceptedFileTypes", - "AccessLevel" - ], "type": "object" }, - "AWS::AmplifyUIBuilder::Form.FormButton": { + "AWS::ApiGateway::GatewayResponse": { "additionalProperties": false, "properties": { - "Children": { - "markdownDescription": "Describes the button's properties.", - "title": "Children", + "Condition": { "type": "string" }, - "Excluded": { - "markdownDescription": "Specifies whether the button is visible on the form.", - "title": "Excluded", - "type": "boolean" - }, - "Position": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", - "markdownDescription": "The position of the button.", - "title": "Position" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormCTA": { - "additionalProperties": false, - "properties": { - "Cancel": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", - "markdownDescription": "Displays a cancel button.", - "title": "Cancel" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Clear": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", - "markdownDescription": "Displays a clear button.", - "title": "Clear" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Position": { - "markdownDescription": "The position of the button.", - "title": "Position", - "type": "string" + "Metadata": { + "type": "object" }, - "Submit": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormButton", - "markdownDescription": "Displays a submit button.", - "title": "Submit" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormDataTypeConfig": { - "additionalProperties": false, - "properties": { - "DataSourceType": { - "markdownDescription": "The data source type, either an Amplify DataStore model or a custom data type.", - "title": "DataSourceType", - "type": "string" - }, - "DataTypeName": { - "markdownDescription": "The unique name of the data type you are using as the data source for the form.", - "title": "DataTypeName", - "type": "string" - } - }, - "required": [ - "DataSourceType", - "DataTypeName" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValue": { - "additionalProperties": false, - "properties": { - "BindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValueProperties", - "markdownDescription": "Describes the properties to customize with data at runtime.", - "title": "BindingProperties" - }, - "Type": { - "markdownDescription": "The property type.", - "title": "Type", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValueProperties": { - "additionalProperties": false, - "properties": { - "Model": { - "markdownDescription": "An Amplify DataStore model.", - "title": "Model", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormInputValueProperty": { - "additionalProperties": false, - "properties": { - "BindingProperties": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValuePropertyBindingProperties", - "markdownDescription": "The information to bind fields to data at runtime.", - "title": "BindingProperties" - }, - "Concat": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty" - }, - "markdownDescription": "A list of form properties to concatenate to create the value to assign to this field property.", - "title": "Concat", - "type": "array" - }, - "Value": { - "markdownDescription": "The value to assign to the input field.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormInputValuePropertyBindingProperties": { - "additionalProperties": false, - "properties": { - "Field": { - "markdownDescription": "The data field to bind the property to.", - "title": "Field", - "type": "string" - }, - "Property": { - "markdownDescription": "The form property to bind to the data field.", - "title": "Property", - "type": "string" - } - }, - "required": [ - "Property" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormStyle": { - "additionalProperties": false, - "properties": { - "HorizontalGap": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", - "markdownDescription": "The spacing for the horizontal gap.", - "title": "HorizontalGap" - }, - "OuterPadding": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", - "markdownDescription": "The size of the outer padding for the form.", - "title": "OuterPadding" - }, - "VerticalGap": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormStyleConfig", - "markdownDescription": "The spacing for the vertical gap.", - "title": "VerticalGap" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.FormStyleConfig": { - "additionalProperties": false, - "properties": { - "TokenReference": { - "markdownDescription": "A reference to a design token to use to bind the form's style properties to an existing theme.", - "title": "TokenReference", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of the style setting.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.SectionalElement": { - "additionalProperties": false, - "properties": { - "Excluded": { - "markdownDescription": "Excludes a sectional element that was generated by default for a specified data model.", - "title": "Excluded", - "type": "boolean" - }, - "Level": { - "markdownDescription": "Specifies the size of the font for a `Heading` sectional element. Valid values are `1 | 2 | 3 | 4 | 5 | 6` .", - "title": "Level", - "type": "number" - }, - "Orientation": { - "markdownDescription": "Specifies the orientation for a `Divider` sectional element. Valid values are `horizontal` or `vertical` .", - "title": "Orientation", - "type": "string" - }, - "Position": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FieldPosition", - "markdownDescription": "Specifies the position of the text in a field for a `Text` sectional element.", - "title": "Position" - }, - "Text": { - "markdownDescription": "The text for a `Text` sectional element.", - "title": "Text", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of sectional element. Valid values are `Heading` , `Text` , and `Divider` .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.ValueMapping": { - "additionalProperties": false, - "properties": { - "DisplayValue": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty", - "markdownDescription": "The value to display for the complex object.", - "title": "DisplayValue" - }, - "Value": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputValueProperty", - "markdownDescription": "The complex object.", - "title": "Value" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::AmplifyUIBuilder::Form.ValueMappings": { - "additionalProperties": false, - "properties": { - "BindingProperties": { + "Properties": { "additionalProperties": false, - "markdownDescription": "The information to bind fields to data at runtime.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.FormInputBindingPropertiesValue" + "properties": { + "ResponseParameters": { + "additionalProperties": true, + "markdownDescription": "Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ResponseParameters", + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "markdownDescription": "Response templates of the GatewayResponse as a string-to-string map of key-value pairs.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ResponseTemplates", + "type": "object" + }, + "ResponseType": { + "markdownDescription": "The response type of the associated GatewayResponse.", + "title": "ResponseType", + "type": "string" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" + }, + "StatusCode": { + "markdownDescription": "The HTTP status code for this GatewayResponse.", + "title": "StatusCode", + "type": "string" } }, - "title": "BindingProperties", + "required": [ + "ResponseType", + "RestApiId" + ], "type": "object" }, - "Values": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Form.ValueMapping" - }, - "markdownDescription": "The value and display value pairs.", - "title": "Values", - "type": "array" + "Type": { + "enum": [ + "AWS::ApiGateway::GatewayResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Values" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Theme": { + "AWS::ApiGateway::Method": { "additionalProperties": false, "properties": { "Condition": { @@ -7989,54 +8389,100 @@ "Properties": { "additionalProperties": false, "properties": { - "AppId": { - "markdownDescription": "The unique ID for the Amplify app associated with the theme.", - "title": "AppId", + "ApiKeyRequired": { + "markdownDescription": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.", + "title": "ApiKeyRequired", + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of authorization scopes configured on the method. The scopes are used with a `COGNITO_USER_POOLS` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.", + "title": "AuthorizationScopes", + "type": "array" + }, + "AuthorizationType": { + "markdownDescription": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference* .\n\n> If you specify the `AuthorizerId` property, specify `CUSTOM` or `COGNITO_USER_POOLS` for this property.", + "title": "AuthorizationType", "type": "string" }, - "EnvironmentName": { - "markdownDescription": "The name of the backend environment that is a part of the Amplify app.", - "title": "EnvironmentName", + "AuthorizerId": { + "markdownDescription": "The identifier of an authorizer to use on this method. The method's authorization type must be `CUSTOM` or `COGNITO_USER_POOLS` .", + "title": "AuthorizerId", "type": "string" }, - "Name": { - "markdownDescription": "The name of the theme.", - "title": "Name", + "HttpMethod": { + "markdownDescription": "The method's HTTP verb.", + "title": "HttpMethod", "type": "string" }, - "Overrides": { + "Integration": { + "$ref": "#/definitions/AWS::ApiGateway::Method.Integration", + "markdownDescription": "Represents an `HTTP` , `HTTP_PROXY` , `AWS` , `AWS_PROXY` , or Mock integration.", + "title": "Integration" + }, + "MethodResponses": { "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" }, - "markdownDescription": "Describes the properties that can be overriden to customize a theme.", - "title": "Overrides", + "markdownDescription": "Gets a method response associated with a given HTTP status code.", + "title": "MethodResponses", "type": "array" }, - "Tags": { + "OperationName": { + "markdownDescription": "A human-friendly operation identifier for the method. For example, you can assign the `operationName` of `ListPets` for the `GET /pets` method in the `PetStore` example.", + "title": "OperationName", + "type": "string" + }, + "RequestModels": { "additionalProperties": true, - "markdownDescription": "One or more key-value pairs to use when tagging the theme.", + "markdownDescription": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "Tags", + "title": "RequestModels", "type": "object" }, - "Values": { - "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + "RequestParameters": { + "additionalProperties": true, + "markdownDescription": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of `method.request.{location}.{name}` , where `location` is `querystring` , `path` , or `header` and `name` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required ( `true` ) or optional ( `false` ). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A list of key-value pairs that defines the properties of the theme.", - "title": "Values", - "type": "array" + "title": "RequestParameters", + "type": "object" + }, + "RequestValidatorId": { + "markdownDescription": "The identifier of a RequestValidator for request validation.", + "title": "RequestValidatorId", + "type": "string" + }, + "ResourceId": { + "markdownDescription": "The Resource identifier for the MethodResponse resource.", + "title": "ResourceId", + "type": "string" + }, + "RestApiId": { + "markdownDescription": "The string identifier of the associated RestApi.", + "title": "RestApiId", + "type": "string" } }, + "required": [ + "HttpMethod", + "ResourceId", + "RestApiId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::AmplifyUIBuilder::Theme" + "AWS::ApiGateway::Method" ], "type": "string" }, @@ -8050,100 +8496,110 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::AmplifyUIBuilder::Theme.ThemeValue": { + "AWS::ApiGateway::Method.Integration": { "additionalProperties": false, "properties": { - "Children": { + "CacheKeyParameters": { "items": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValues" + "type": "string" }, - "markdownDescription": "A list of key-value pairs that define the theme's properties.", - "title": "Children", + "markdownDescription": "A list of request parameters whose values API Gateway caches. To be valid values for `cacheKeyParameters` , these parameters must also be specified for Method `requestParameters` .", + "title": "CacheKeyParameters", "type": "array" }, - "Value": { - "markdownDescription": "The value of a theme property.", - "title": "Value", + "CacheNamespace": { + "markdownDescription": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the `cacheNamespace` . You can specify the same `cacheNamespace` across resources to return the same cached data for requests to different resources.", + "title": "CacheNamespace", "type": "string" - } - }, - "type": "object" - }, - "AWS::AmplifyUIBuilder::Theme.ThemeValues": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The name of the property.", - "title": "Key", + }, + "ConnectionId": { + "markdownDescription": "The ID of the VpcLink used for the integration when `connectionType=VPC_LINK` and undefined, otherwise.", + "title": "ConnectionId", "type": "string" }, - "Value": { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::Theme.ThemeValue", - "markdownDescription": "The value of the property.", - "title": "Value" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Account": { - "additionalProperties": false, - "properties": { - "Condition": { + "ConnectionType": { + "markdownDescription": "The type of the network connection to the integration endpoint. The valid value is `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and a network load balancer in a VPC. The default value is `INTERNET` .", + "title": "ConnectionType", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentHandling": { + "markdownDescription": "Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\nIf this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the `passthroughBehavior` is configured to support payload pass-through.", + "title": "ContentHandling", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "Credentials": { + "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::\\*:user/\\*` . To use resource-based permissions on supported AWS services, specify null.", + "title": "Credentials", + "type": "string" + }, + "IntegrationHttpMethod": { + "markdownDescription": "Specifies the integration's HTTP method type. For the Type property, if you specify `MOCK` , this property is optional. For Lambda integrations, you must set the integration method to `POST` . For all other types, you must specify this property.", + "title": "IntegrationHttpMethod", + "type": "string" + }, + "IntegrationResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" + }, + "markdownDescription": "Specifies the integration's responses.", + "title": "IntegrationResponses", + "type": "array" + }, + "IntegrationTarget": { + "markdownDescription": "The ALB or NLB listener to send the request to. Only supported for private integrations that use VPC links V2.", + "title": "IntegrationTarget", + "type": "string" + }, + "PassthroughBehavior": { + "markdownDescription": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in `requestTemplates` . The valid value is one of the following: `WHEN_NO_MATCH` : passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. `WHEN_NO_TEMPLATES` : passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. `NEVER` : rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.", + "title": "PassthroughBehavior", + "type": "string" + }, + "RequestParameters": { + "additionalProperties": true, + "markdownDescription": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of `method.request.{location}.{name}` , where `location` is `querystring` , `path` , or `header` and `name` must be a valid and unique method request parameter name.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { + }, + "title": "RequestParameters", "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchRoleArn": { - "markdownDescription": "The ARN of an Amazon CloudWatch role for the current Account.", - "title": "CloudWatchRoleArn", + "RequestTemplates": { + "additionalProperties": true, + "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "RequestTemplates", "type": "object" }, + "ResponseTransferMode": { + "markdownDescription": "The response transfer mode of the integration. Use `STREAM` to have API Gateway stream response your back to you or use `BUFFERED` to have API Gateway wait to receive the complete response before beginning transmission.", + "title": "ResponseTransferMode", + "type": "string" + }, + "TimeoutInMillis": { + "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds. You can increase the default value to longer than 29 seconds for Regional or private APIs only.", + "title": "TimeoutInMillis", + "type": "number" + }, "Type": { - "enum": [ - "AWS::ApiGateway::Account" - ], + "markdownDescription": "Specifies an API method integration type. The valid value is one of the following:\n\nFor the HTTP and HTTP proxy integrations, each integration can specify a protocol ( `http/https` ), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a `connectionType` of `VPC_LINK` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.", + "title": "Type", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Uri": { + "markdownDescription": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n\nFor `HTTP` or `HTTP_PROXY` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If `connectionType` is `VPC_LINK` specify the Network Load Balancer DNS name. For `AWS` or `AWS_PROXY` integrations, the URI is of the form `arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}` . Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either `arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}` or `arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}`", + "title": "Uri", "type": "string" } }, @@ -8152,127 +8608,89 @@ ], "type": "object" }, - "AWS::ApiGateway::ApiKey": { + "AWS::ApiGateway::Method.IntegrationResponse": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentHandling": { + "markdownDescription": "Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\nIf this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", + "title": "ContentHandling", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "ResponseParameters": { + "additionalProperties": true, + "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of `method.response.header.{name}` , where `name` is a valid and unique header name. The mapped non-static value must match the pattern of `integration.response.header.{name}` or `integration.response.body.{JSON-expression}` , where `name` is a valid and unique response header name and `JSON-expression` is a valid JSON expression without the `$` prefix.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" } - ] - }, - "Metadata": { + }, + "title": "ResponseParameters", "type": "object" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerId": { - "markdownDescription": "An AWS Marketplace customer identifier, when integrating with the AWS SaaS Marketplace.", - "title": "CustomerId", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the ApiKey.", - "title": "Description", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Specifies whether the ApiKey can be used by callers.", - "title": "Enabled", - "type": "boolean" - }, - "GenerateDistinctId": { - "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.", - "title": "GenerateDistinctId", - "type": "boolean" - }, - "Name": { - "markdownDescription": "A name for the API key. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\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": "Name", - "type": "string" - }, - "StageKeys": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" - }, - "markdownDescription": "DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.", - "title": "StageKeys", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with `aws:` . The tag value can be up to 256 characters.", - "title": "Tags", - "type": "array" - }, - "Value": { - "markdownDescription": "Specifies a value of the API key.", - "title": "Value", + "ResponseTemplates": { + "additionalProperties": true, + "markdownDescription": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "ResponseTemplates", "type": "object" }, - "Type": { - "enum": [ - "AWS::ApiGateway::ApiKey" - ], + "SelectionPattern": { + "markdownDescription": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the `.+` regex to match error response. However, make sure that the error response does not contain any newline ( `\\n` ) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.", + "title": "SelectionPattern", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StatusCode": { + "markdownDescription": "Specifies the status code that is used to map the integration response to an existing MethodResponse.", + "title": "StatusCode", "type": "string" } }, "required": [ - "Type" + "StatusCode" ], "type": "object" }, - "AWS::ApiGateway::ApiKey.StageKey": { + "AWS::ApiGateway::Method.MethodResponse": { "additionalProperties": false, "properties": { - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" + "ResponseModels": { + "additionalProperties": true, + "markdownDescription": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ResponseModels", + "type": "object" }, - "StageName": { - "markdownDescription": "The stage name associated with the stage key.", - "title": "StageName", + "ResponseParameters": { + "additionalProperties": true, + "markdownDescription": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern `method.response.header.{name}` , where `name` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in `integration.response.header.{name}` , a static value enclosed within a pair of single quotes (e.g., `'application/json'` ), or a JSON expression from the back-end response payload in the form of `integration.response.body.{JSON-expression}` , where `JSON-expression` is a valid JSON expression without the `$` prefix.)", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "ResponseParameters", + "type": "object" + }, + "StatusCode": { + "markdownDescription": "The method response's status code.", + "title": "StatusCode", "type": "string" } }, + "required": [ + "StatusCode" + ], "type": "object" }, - "AWS::ApiGateway::Authorizer": { + "AWS::ApiGateway::Model": { "additionalProperties": false, "properties": { "Condition": { @@ -8307,70 +8725,40 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthType": { - "markdownDescription": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact.", - "title": "AuthType", - "type": "string" - }, - "AuthorizerCredentials": { - "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.", - "title": "AuthorizerCredentials", - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "markdownDescription": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.", - "title": "AuthorizerResultTtlInSeconds", - "type": "number" - }, - "AuthorizerUri": { - "markdownDescription": "Specifies the authorizer's Uniform Resource Identifier (URI). For `TOKEN` or `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations` . In general, the URI has this form `arn:aws:apigateway:{region}:lambda:path/{service_api}` , where `{region}` is the same as the region hosting the Lambda function, `path` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .", - "title": "AuthorizerUri", - "type": "string" - }, - "IdentitySource": { - "markdownDescription": "The identity source for which authorization is requested. For a `TOKEN` or `COGNITO_USER_POOLS` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is `Auth` , the header mapping expression is `method.request.header.Auth` . For the `REQUEST` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an `Auth` header, a `Name` query string parameter are defined as identity sources, this value is `method.request.header.Auth, method.request.querystring.Name` . These parameters will be used to derive the authorization caching key and to perform runtime validation of the `REQUEST` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.", - "title": "IdentitySource", + "ContentType": { + "markdownDescription": "The content-type for the model.", + "title": "ContentType", "type": "string" }, - "IdentityValidationExpression": { - "markdownDescription": "A validation expression for the incoming identity token. For `TOKEN` authorizers, this value is a regular expression. For `COGNITO_USER_POOLS` authorizers, API Gateway will match the `aud` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the `REQUEST` authorizer.", - "title": "IdentityValidationExpression", + "Description": { + "markdownDescription": "The description of the model.", + "title": "Description", "type": "string" }, "Name": { - "markdownDescription": "The name of the authorizer.", + "markdownDescription": "A name for the model. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the model 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": "Name", "type": "string" }, - "ProviderARNs": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the Amazon Cognito user pool ARNs for the `COGNITO_USER_POOLS` authorizer. Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}` . For a `TOKEN` or `REQUEST` authorizer, this is not defined.", - "title": "ProviderARNs", - "type": "array" - }, "RestApiId": { "markdownDescription": "The string identifier of the associated RestApi.", "title": "RestApiId", "type": "string" }, - "Type": { - "markdownDescription": "The authorizer type. Valid values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, and `COGNITO_USER_POOLS` for using an Amazon Cognito user pool.", - "title": "Type", - "type": "string" + "Schema": { + "markdownDescription": "The schema for the model. For `application/json` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.", + "title": "Schema", + "type": "object" } }, "required": [ - "Name", - "RestApiId", - "Type" + "RestApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Authorizer" + "AWS::ApiGateway::Model" ], "type": "string" }, @@ -8389,7 +8777,7 @@ ], "type": "object" }, - "AWS::ApiGateway::BasePathMapping": { + "AWS::ApiGateway::RequestValidator": { "additionalProperties": false, "properties": { "Condition": { @@ -8424,17 +8812,9 @@ "Properties": { "additionalProperties": false, "properties": { - "BasePath": { - "markdownDescription": "The base path name that callers of the API must provide as part of the URL after the domain name.", - "title": "BasePath", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The domain name of the BasePathMapping resource to be described.", - "title": "DomainName", - "type": "string" - }, - "Id": { + "Name": { + "markdownDescription": "The name of this RequestValidator", + "title": "Name", "type": "string" }, "RestApiId": { @@ -8442,20 +8822,25 @@ "title": "RestApiId", "type": "string" }, - "Stage": { - "markdownDescription": "The name of the associated stage.", - "title": "Stage", - "type": "string" + "ValidateRequestBody": { + "markdownDescription": "A Boolean flag to indicate whether to validate a request body according to the configured Model schema.", + "title": "ValidateRequestBody", + "type": "boolean" + }, + "ValidateRequestParameters": { + "markdownDescription": "A Boolean flag to indicate whether to validate request parameters ( `true` ) or not ( `false` ).", + "title": "ValidateRequestParameters", + "type": "boolean" } }, "required": [ - "DomainName" + "RestApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::BasePathMapping" + "AWS::ApiGateway::RequestValidator" ], "type": "string" }, @@ -8474,7 +8859,7 @@ ], "type": "object" }, - "AWS::ApiGateway::BasePathMappingV2": { + "AWS::ApiGateway::Resource": { "additionalProperties": false, "properties": { "Condition": { @@ -8509,36 +8894,32 @@ "Properties": { "additionalProperties": false, "properties": { - "BasePath": { - "markdownDescription": "The base path name that callers of the private API must provide as part of the URL after the domain name.", - "title": "BasePath", + "ParentId": { + "markdownDescription": "The parent resource's identifier.", + "title": "ParentId", "type": "string" }, - "DomainNameArn": { - "markdownDescription": "The ARN of the domain name for the BasePathMappingV2 resource to be described.", - "title": "DomainNameArn", + "PathPart": { + "markdownDescription": "The last path segment for this resource.", + "title": "PathPart", "type": "string" }, "RestApiId": { - "markdownDescription": "The private API's identifier. This identifier is unique across all of your APIs in API Gateway.", + "markdownDescription": "The string identifier of the associated RestApi.", "title": "RestApiId", "type": "string" - }, - "Stage": { - "markdownDescription": "Represents a unique identifier for a version of a deployed private RestApi that is callable by users. The Stage must depend on the `RestApi` 's stage. To create a dependency, add a DependsOn attribute to the BasePathMappingV2 resource.", - "title": "Stage", - "type": "string" } }, "required": [ - "DomainNameArn", + "ParentId", + "PathPart", "RestApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::BasePathMappingV2" + "AWS::ApiGateway::Resource" ], "type": "string" }, @@ -8557,7 +8938,7 @@ ], "type": "object" }, - "AWS::ApiGateway::ClientCertificate": { + "AWS::ApiGateway::RestApi": { "additionalProperties": false, "properties": { "Condition": { @@ -8592,16 +8973,100 @@ "Properties": { "additionalProperties": false, "properties": { + "ApiKeySourceType": { + "markdownDescription": "The source of the API key for metering requests according to a usage plan. Valid values are: `HEADER` to read the API key from the `X-API-Key` header of a request. `AUTHORIZER` to read the API key from the `UsageIdentifierKey` from a custom authorizer.", + "title": "ApiKeySourceType", + "type": "string" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", + "title": "BinaryMediaTypes", + "type": "array" + }, + "Body": { + "markdownDescription": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.", + "title": "Body", + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location", + "markdownDescription": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format.", + "title": "BodyS3Location" + }, + "CloneFrom": { + "markdownDescription": "The ID of the RestApi that you want to clone from.", + "title": "CloneFrom", + "type": "string" + }, "Description": { - "markdownDescription": "The description of the client certificate.", + "markdownDescription": "The description of the RestApi.", "title": "Description", "type": "string" }, + "DisableExecuteApiEndpoint": { + "markdownDescription": "Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default `https://{api_id}.execute-api.{region}.amazonaws.com` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint", + "title": "DisableExecuteApiEndpoint", + "type": "boolean" + }, + "EndpointAccessMode": { + "markdownDescription": "The endpoint access mode for your RestApi.", + "title": "EndpointAccessMode", + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration", + "markdownDescription": "A list of the endpoint types and IP address types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the `Parameters` property.", + "title": "EndpointConfiguration" + }, + "FailOnWarnings": { + "markdownDescription": "A query parameter to indicate whether to rollback the API update ( `true` ) or not ( `false` ) when a warning is encountered. The default value is `false` .", + "title": "FailOnWarnings", + "type": "boolean" + }, + "MinimumCompressionSize": { + "markdownDescription": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.", + "title": "MinimumCompressionSize", + "type": "number" + }, + "Mode": { + "markdownDescription": "This property applies only when you use OpenAPI to define your REST API. The `Mode` determines how API Gateway handles resource updates.\n\nValid values are `overwrite` or `merge` .\n\nFor `overwrite` , the new API definition replaces the existing one. The existing API identifier remains unchanged.\n\nFor `merge` , the new API definition is merged with the existing API.\n\nIf you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is `overwrite` . For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API.\n\nUse the default mode to define top-level `RestApi` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.", + "title": "Mode", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.", + "title": "Name", + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "markdownDescription": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set `ignore=documentation` as a `parameters` value, as in the AWS CLI command of `aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" + }, + "Policy": { + "markdownDescription": "A policy document that contains the permissions for the `RestApi` resource. To set the ARN for the policy, use the `!Join` intrinsic function with `\"\"` as delimiter and values of `\"execute-api:/\"` and `\"*\"` .", + "title": "Policy", + "type": "object" + }, + "SecurityPolicy": { + "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this RestApi.", + "title": "SecurityPolicy", + "type": "string" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with `aws:` . The tag value can be up to 256 characters.", "title": "Tags", "type": "array" } @@ -8610,7 +9075,7 @@ }, "Type": { "enum": [ - "AWS::ApiGateway::ClientCertificate" + "AWS::ApiGateway::RestApi" ], "type": "string" }, @@ -8628,7 +9093,60 @@ ], "type": "object" }, - "AWS::ApiGateway::Deployment": { + "AWS::ApiGateway::RestApi.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke an API (RestApi). Use `ipv4` to allow only IPv4 addresses to invoke an API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke an API. For the `PRIVATE` endpoint type, only `dualstack` is supported.", + "title": "IpAddressType", + "type": "string" + }, + "Types": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", + "title": "Types", + "type": "array" + }, + "VpcEndpointIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for `PRIVATE` endpoint type.", + "title": "VpcEndpointIds", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGateway::RestApi.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the S3 bucket where the OpenAPI file is stored.", + "title": "Bucket", + "type": "string" + }, + "ETag": { + "markdownDescription": "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file.", + "title": "ETag", + "type": "string" + }, + "Key": { + "markdownDescription": "The file name of the OpenAPI file (Amazon S3 object name).", + "title": "Key", + "type": "string" + }, + "Version": { + "markdownDescription": "For versioning-enabled buckets, a specific version of the OpenAPI file.", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage": { "additionalProperties": false, "properties": { "Condition": { @@ -8663,30 +9181,87 @@ "Properties": { "additionalProperties": false, "properties": { - "DeploymentCanarySettings": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings", - "markdownDescription": "The input configuration for a canary deployment.", - "title": "DeploymentCanarySettings" + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting", + "markdownDescription": "Access log settings, including the access log format and access log destination ARN.", + "title": "AccessLogSetting" + }, + "CacheClusterEnabled": { + "markdownDescription": "Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set `CachingEnabled` to `true` for a method.", + "title": "CacheClusterEnabled", + "type": "boolean" + }, + "CacheClusterSize": { + "markdownDescription": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) .", + "title": "CacheClusterSize", + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting", + "markdownDescription": "Settings for the canary deployment in this stage.", + "title": "CanarySetting" + }, + "ClientCertificateId": { + "markdownDescription": "The identifier of a client certificate for an API stage.", + "title": "ClientCertificateId", + "type": "string" + }, + "DeploymentId": { + "markdownDescription": "The identifier of the Deployment that the stage points to.", + "title": "DeploymentId", + "type": "string" }, "Description": { - "markdownDescription": "The description for the Deployment resource to create.", + "markdownDescription": "The stage's description.", "title": "Description", "type": "string" }, + "DocumentationVersion": { + "markdownDescription": "The version of the associated API documentation.", + "title": "DocumentationVersion", + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" + }, + "markdownDescription": "A map that defines the method settings for a Stage resource. Keys (designated as `/{method_setting_key` below) are method paths defined as `{resource_path}/{http_method}` for an individual method override, or `/\\*/\\*` for overriding all methods in the stage.", + "title": "MethodSettings", + "type": "array" + }, "RestApiId": { "markdownDescription": "The string identifier of the associated RestApi.", "title": "RestApiId", "type": "string" }, - "StageDescription": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription", - "markdownDescription": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.", - "title": "StageDescription" - }, "StageName": { - "markdownDescription": "The name of the Stage resource for the Deployment resource to create.", + "markdownDescription": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", "title": "StageName", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + }, + "TracingEnabled": { + "markdownDescription": "Specifies whether active tracing with X-ray is enabled for the Stage.", + "title": "TracingEnabled", + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "markdownDescription": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Variables", + "type": "object" } }, "required": [ @@ -8696,7 +9271,7 @@ }, "Type": { "enum": [ - "AWS::ApiGateway::Deployment" + "AWS::ApiGateway::Stage" ], "type": "string" }, @@ -8715,25 +9290,30 @@ ], "type": "object" }, - "AWS::ApiGateway::Deployment.AccessLogSetting": { + "AWS::ApiGateway::Stage.AccessLogSetting": { "additionalProperties": false, "properties": { "DestinationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` .", + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` . This parameter is required to enable access logging.", "title": "DestinationArn", "type": "string" }, "Format": { - "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least `$context.requestId` .", + "markdownDescription": "A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference) . The format must include at least `$context.requestId` . This parameter is required to enable access logging.", "title": "Format", "type": "string" } }, "type": "object" }, - "AWS::ApiGateway::Deployment.CanarySetting": { + "AWS::ApiGateway::Stage.CanarySetting": { "additionalProperties": false, "properties": { + "DeploymentId": { + "markdownDescription": "The ID of the canary deployment.", + "title": "DeploymentId", + "type": "string" + }, "PercentTraffic": { "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.", "title": "PercentTraffic", @@ -8758,34 +9338,7 @@ }, "type": "object" }, - "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "markdownDescription": "The percentage (0.0-100.0) of traffic routed to the canary deployment.", - "title": "PercentTraffic", - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "markdownDescription": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "StageVariableOverrides", - "type": "object" - }, - "UseStageCache": { - "markdownDescription": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.", - "title": "UseStageCache", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.MethodSetting": { + "AWS::ApiGateway::Stage.MethodSetting": { "additionalProperties": false, "properties": { "CacheDataEncrypted": { @@ -8809,7 +9362,7 @@ "type": "boolean" }, "HttpMethod": { - "markdownDescription": "The HTTP method.", + "markdownDescription": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .", "title": "HttpMethod", "type": "string" }, @@ -8824,7 +9377,7 @@ "type": "boolean" }, "ResourcePath": { - "markdownDescription": "The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ).", + "markdownDescription": "The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ). To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .", "title": "ResourcePath", "type": "string" }, @@ -8841,120 +9394,165 @@ }, "type": "object" }, - "AWS::ApiGateway::Deployment.StageDescription": { + "AWS::ApiGateway::UsagePlan": { "additionalProperties": false, "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting", - "markdownDescription": "Specifies settings for logging access in this stage.", - "title": "AccessLogSetting" - }, - "CacheClusterEnabled": { - "markdownDescription": "Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set `CachingEnabled` to `true` for a method.", - "title": "CacheClusterEnabled", - "type": "boolean" - }, - "CacheClusterSize": { - "markdownDescription": "The size of the stage's cache cluster. For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference* .", - "title": "CacheClusterSize", + "Condition": { "type": "string" }, - "CacheDataEncrypted": { - "markdownDescription": "Indicates whether the cached responses are encrypted.", - "title": "CacheDataEncrypted", - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CacheTtlInSeconds": { - "markdownDescription": "The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.", - "title": "CacheTtlInSeconds", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "CachingEnabled": { - "markdownDescription": "Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide* .", - "title": "CachingEnabled", - "type": "boolean" + "Metadata": { + "type": "object" }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting", - "markdownDescription": "Specifies settings for the canary deployment in this stage.", - "title": "CanarySetting" + "Properties": { + "additionalProperties": false, + "properties": { + "ApiStages": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" + }, + "markdownDescription": "The associated API stages of a usage plan.", + "title": "ApiStages", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of a usage plan.", + "title": "Description", + "type": "string" + }, + "Quota": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings", + "markdownDescription": "The target maximum number of permitted requests per a given unit time interval.", + "title": "Quota" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "title": "Tags", + "type": "array" + }, + "Throttle": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings", + "markdownDescription": "A map containing method level throttling information for API stage in a usage plan.", + "title": "Throttle" + }, + "UsagePlanName": { + "markdownDescription": "The name of a usage plan.", + "title": "UsagePlanName", + "type": "string" + } + }, + "type": "object" }, - "ClientCertificateId": { - "markdownDescription": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.", - "title": "ClientCertificateId", + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlan" + ], "type": "string" }, - "DataTraceEnabled": { - "markdownDescription": "Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.", - "title": "DataTraceEnabled", - "type": "boolean" - }, - "Description": { - "markdownDescription": "A description of the purpose of the stage.", - "title": "Description", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "DocumentationVersion": { - "markdownDescription": "The version identifier of the API documentation snapshot.", - "title": "DocumentationVersion", + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ApiStage": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "API Id of the associated API stage in a usage plan.", + "title": "ApiId", "type": "string" }, - "LoggingLevel": { - "markdownDescription": "The logging level for this method. For valid values, see the `loggingLevel` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference* .", - "title": "LoggingLevel", + "Stage": { + "markdownDescription": "API stage name of the associated API stage in a usage plan.", + "title": "Stage", "type": "string" }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" - }, - "markdownDescription": "Configures settings for all of the stage's methods.", - "title": "MethodSettings", - "type": "array" - }, - "MetricsEnabled": { - "markdownDescription": "Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.", - "title": "MetricsEnabled", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "Throttle": { + "additionalProperties": false, + "markdownDescription": "Map containing method level throttling information for API stage in a usage plan.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + } }, - "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the stage.", - "title": "Tags", - "type": "array" - }, - "ThrottlingBurstLimit": { - "markdownDescription": "The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .", - "title": "ThrottlingBurstLimit", + "title": "Throttle", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.QuotaSettings": { + "additionalProperties": false, + "properties": { + "Limit": { + "markdownDescription": "The target maximum number of requests that can be made in a given time period.", + "title": "Limit", "type": "number" }, - "ThrottlingRateLimit": { - "markdownDescription": "The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .", - "title": "ThrottlingRateLimit", + "Offset": { + "markdownDescription": "The number of requests subtracted from the given limit in the initial time period.", + "title": "Offset", "type": "number" }, - "TracingEnabled": { - "markdownDescription": "Specifies whether active tracing with X-ray is enabled for this stage.\n\nFor more information, see [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide* .", - "title": "TracingEnabled", - "type": "boolean" + "Period": { + "markdownDescription": "The time period in which the limit applies. Valid values are \"DAY\", \"WEEK\" or \"MONTH\".", + "title": "Period", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ThrottleSettings": { + "additionalProperties": false, + "properties": { + "BurstLimit": { + "markdownDescription": "The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.", + "title": "BurstLimit", + "type": "number" }, - "Variables": { - "additionalProperties": true, - "markdownDescription": "A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Variables", - "type": "object" + "RateLimit": { + "markdownDescription": "The API target request rate limit.", + "title": "RateLimit", + "type": "number" } }, "type": "object" }, - "AWS::ApiGateway::DocumentationPart": { + "AWS::ApiGateway::UsagePlanKey": { "additionalProperties": false, "properties": { "Condition": { @@ -8989,32 +9587,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Location": { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location", - "markdownDescription": "The location of the targeted API entity of the to-be-created documentation part.", - "title": "Location" + "KeyId": { + "markdownDescription": "The Id of the UsagePlanKey resource.", + "title": "KeyId", + "type": "string" }, - "Properties": { - "markdownDescription": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.", - "title": "Properties", + "KeyType": { + "markdownDescription": "The type of a UsagePlanKey resource for a plan customer.", + "title": "KeyType", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", + "UsagePlanId": { + "markdownDescription": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", + "title": "UsagePlanId", "type": "string" } }, "required": [ - "Location", - "Properties", - "RestApiId" + "KeyId", + "KeyType", + "UsagePlanId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DocumentationPart" + "AWS::ApiGateway::UsagePlanKey" ], "type": "string" }, @@ -9033,38 +9631,7 @@ ], "type": "object" }, - "AWS::ApiGateway::DocumentationPart.Location": { - "additionalProperties": false, - "properties": { - "Method": { - "markdownDescription": "The HTTP verb of a method. It is a valid field for the API entity types of `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `*` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other `location` attributes, the child entity's `method` attribute must match that of the parent entity exactly.", - "title": "Method", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the targeted API entity. It is a valid and required field for the API entity types of `AUTHORIZER` , `MODEL` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` and `RESPONSE_HEADER` . It is an invalid field for any other entity type.", - "title": "Name", - "type": "string" - }, - "Path": { - "markdownDescription": "The URL path of the target. It is a valid field for the API entity types of `RESOURCE` , `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `/` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other `location` attributes, the child entity's `path` attribute must match that of the parent entity as a prefix.", - "title": "Path", - "type": "string" - }, - "StatusCode": { - "markdownDescription": "The HTTP status code of a response. It is a valid field for the API entity types of `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . The default value is `*` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other `location` attributes, the child entity's `statusCode` attribute must match that of the parent entity exactly.", - "title": "StatusCode", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of API entity to which the documentation content applies. Valid values are `API` , `AUTHORIZER` , `MODEL` , `RESOURCE` , `METHOD` , `PATH_PARAMETER` , `QUERY_PARAMETER` , `REQUEST_HEADER` , `REQUEST_BODY` , `RESPONSE` , `RESPONSE_HEADER` , and `RESPONSE_BODY` . Content inheritance does not apply to any entity of the `API` , `AUTHORIZER` , `METHOD` , `MODEL` , `REQUEST_BODY` , or `RESOURCE` type.", - "title": "Type", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationVersion": { + "AWS::ApiGateway::VpcLink": { "additionalProperties": false, "properties": { "Condition": { @@ -9100,30 +9667,41 @@ "additionalProperties": false, "properties": { "Description": { - "markdownDescription": "A description about the new documentation snapshot.", + "markdownDescription": "The description of the VPC link.", "title": "Description", "type": "string" }, - "DocumentationVersion": { - "markdownDescription": "The version identifier of the to-be-updated documentation version.", - "title": "DocumentationVersion", + "Name": { + "markdownDescription": "The name used to label and identify the VPC link.", + "title": "Name", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the VPC link.", + "title": "Tags", + "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.", + "title": "TargetArns", + "type": "array" } }, "required": [ - "DocumentationVersion", - "RestApiId" + "Name", + "TargetArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DocumentationVersion" + "AWS::ApiGateway::VpcLink" ], "type": "string" }, @@ -9142,7 +9720,7 @@ ], "type": "object" }, - "AWS::ApiGateway::DomainName": { + "AWS::ApiGatewayV2::Api": { "additionalProperties": false, "properties": { "Condition": { @@ -9177,65 +9755,108 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. Certificate Manager is the only supported source.", - "title": "CertificateArn", + "ApiKeySelectionExpression": { + "markdownDescription": "An API key selection expression. Supported only for WebSocket APIs. See [API Key Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) .", + "title": "ApiKeySelectionExpression", "type": "string" }, - "DomainName": { - "markdownDescription": "The custom domain name as an API host name, for example, `my-api.example.com` .", - "title": "DomainName", + "BasePath": { + "markdownDescription": "Specifies how to interpret the base path of the API during import. Valid values are `ignore` , `prepend` , and `split` . The default value is `ignore` . To learn more, see [Set the OpenAPI basePath Property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api-basePath.html) . Supported only for HTTP APIs.", + "title": "BasePath", "type": "string" }, - "EndpointAccessMode": { - "markdownDescription": "The endpoint access mode for your DomainName.", - "title": "EndpointAccessMode", + "Body": { + "markdownDescription": "The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.", + "title": "Body", + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location", + "markdownDescription": "The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.", + "title": "BodyS3Location" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors", + "markdownDescription": "A CORS configuration. Supported only for HTTP APIs. See [Configuring CORS](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) for more information.", + "title": "CorsConfiguration" + }, + "CredentialsArn": { + "markdownDescription": "This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, specify `null` . Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.", + "title": "CredentialsArn", "type": "string" }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration", - "markdownDescription": "The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.", - "title": "EndpointConfiguration" + "Description": { + "markdownDescription": "The description of the API.", + "title": "Description", + "type": "string" }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication", - "markdownDescription": "The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.", - "title": "MutualTlsAuthentication" + "DisableExecuteApiEndpoint": { + "markdownDescription": "Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.", + "title": "DisableExecuteApiEndpoint", + "type": "boolean" }, - "OwnershipVerificationCertificateArn": { - "markdownDescription": "The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.", - "title": "OwnershipVerificationCertificateArn", + "DisableSchemaValidation": { + "markdownDescription": "Avoid validating models when creating a deployment. Supported only for WebSocket APIs.", + "title": "DisableSchemaValidation", + "type": "boolean" + }, + "FailOnWarnings": { + "markdownDescription": "Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.", + "title": "FailOnWarnings", + "type": "boolean" + }, + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke the API. Use `ipv4` to allow only IPv4 addresses to invoke your API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your API.\n\nDon\u2019t use IP address type for an HTTP API based on an OpenAPI specification. Instead, specify the IP address type in the OpenAPI specification.", + "title": "IpAddressType", "type": "string" }, - "RegionalCertificateArn": { - "markdownDescription": "The reference to an AWS -managed certificate that will be used for validating the regional domain name. Certificate Manager is the only supported source.", - "title": "RegionalCertificateArn", + "Name": { + "markdownDescription": "The name of the API. Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .", + "title": "Name", "type": "string" }, - "RoutingMode": { - "markdownDescription": "The routing mode for this domain name. The routing mode determines how API Gateway sends traffic from your custom domain name to your public APIs.", - "title": "RoutingMode", + "ProtocolType": { + "markdownDescription": "The API protocol. Valid values are `WEBSOCKET` or `HTTP` . Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .", + "title": "ProtocolType", "type": "string" }, - "SecurityPolicy": { - "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this DomainName.", - "title": "SecurityPolicy", + "RouteKey": { + "markdownDescription": "This property is part of quick create. If you don't specify a `routeKey` , a default route of `$default` is created. The `$default` route acts as a catch-all for any request made to your API, for a particular stage. The `$default` route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.", + "title": "RouteKey", + "type": "string" + }, + "RouteSelectionExpression": { + "markdownDescription": "The route selection expression for the API. For HTTP APIs, the `routeSelectionExpression` must be `${request.method} ${request.path}` . If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.", + "title": "RouteSelectionExpression", "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, + "additionalProperties": true, "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, "title": "Tags", - "type": "array" + "type": "object" + }, + "Target": { + "markdownDescription": "This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.", + "title": "Target", + "type": "string" + }, + "Version": { + "markdownDescription": "A version identifier for the API.", + "title": "Version", + "type": "string" } }, "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DomainName" + "AWS::ApiGatewayV2::Api" ], "type": "string" }, @@ -9253,42 +9874,306 @@ ], "type": "object" }, - "AWS::ApiGateway::DomainName.EndpointConfiguration": { + "AWS::ApiGatewayV2::Api.BodyS3Location": { "additionalProperties": false, "properties": { - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke this DomainName. Use `ipv4` to allow only IPv4 addresses to invoke this DomainName, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke this DomainName. For the `PRIVATE` endpoint type, only `dualstack` is supported.", - "title": "IpAddressType", + "Bucket": { + "markdownDescription": "The S3 bucket that contains the OpenAPI definition to import. Required if you specify a `BodyS3Location` for an API.", + "title": "Bucket", "type": "string" }, - "Types": { + "Etag": { + "markdownDescription": "The Etag of the S3 object.", + "title": "Etag", + "type": "string" + }, + "Key": { + "markdownDescription": "The key of the S3 object. Required if you specify a `BodyS3Location` for an API.", + "title": "Key", + "type": "string" + }, + "Version": { + "markdownDescription": "The version of the S3 object.", + "title": "Version", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Api.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "markdownDescription": "Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.", + "title": "AllowCredentials", + "type": "boolean" + }, + "AllowHeaders": { "items": { "type": "string" }, - "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", - "title": "Types", + "markdownDescription": "Represents a collection of allowed headers. Supported only for HTTP APIs.", + "title": "AllowHeaders", + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.", + "title": "AllowMethods", + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents a collection of allowed origins. Supported only for HTTP APIs.", + "title": "AllowOrigins", + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "markdownDescription": "Represents a collection of exposed headers. Supported only for HTTP APIs.", + "title": "ExposeHeaders", "type": "array" + }, + "MaxAge": { + "markdownDescription": "The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.", + "title": "MaxAge", + "type": "number" } }, "type": "object" }, - "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { "additionalProperties": false, "properties": { - "TruststoreUri": { - "markdownDescription": "An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example `s3://bucket-name/key-name` . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.", - "title": "TruststoreUri", + "Condition": { "type": "string" }, - "TruststoreVersion": { - "markdownDescription": "The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.", - "title": "TruststoreVersion", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "The ID of the API for which to override the configuration of API Gateway-managed resources.", + "title": "ApiId", + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides", + "markdownDescription": "Overrides the integration configuration for an API Gateway-managed integration.", + "title": "Integration" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides", + "markdownDescription": "Overrides the route configuration for an API Gateway-managed route.", + "title": "Route" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides", + "markdownDescription": "Overrides the stage configuration for an API Gateway-managed stage.", + "title": "Stage" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ApiGateway::DomainNameAccessAssociation": { + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "markdownDescription": "The ARN of the CloudWatch Logs log group to receive access logs.", + "title": "DestinationArn", + "type": "string" + }, + "Format": { + "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.", + "title": "Format", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "The description of the integration.", + "title": "Description", + "type": "string" + }, + "IntegrationMethod": { + "markdownDescription": "Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .", + "title": "IntegrationMethod", + "type": "string" + }, + "PayloadFormatVersion": { + "markdownDescription": "Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .", + "title": "PayloadFormatVersion", + "type": "string" + }, + "TimeoutInMillis": { + "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.", + "title": "TimeoutInMillis", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "The authorization scopes supported by this route.", + "title": "AuthorizationScopes", + "type": "array" + }, + "AuthorizationType": { + "markdownDescription": "The authorization type for the route. To learn more, see [AuthorizationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationtype) .", + "title": "AuthorizationType", + "type": "string" + }, + "AuthorizerId": { + "markdownDescription": "The identifier of the `Authorizer` resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", + "title": "AuthorizerId", + "type": "string" + }, + "OperationName": { + "markdownDescription": "The operation name for the route.", + "title": "OperationName", + "type": "string" + }, + "Target": { + "markdownDescription": "For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively.", + "title": "Target", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", + "title": "DataTraceEnabled", + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "markdownDescription": "Specifies whether detailed metrics are enabled.", + "title": "DetailedMetricsEnabled", + "type": "boolean" + }, + "LoggingLevel": { + "markdownDescription": "Specifies the logging level for this route: `INFO` , `ERROR` , or `OFF` . This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", + "title": "LoggingLevel", + "type": "string" + }, + "ThrottlingBurstLimit": { + "markdownDescription": "Specifies the throttling burst limit.", + "title": "ThrottlingBurstLimit", + "type": "number" + }, + "ThrottlingRateLimit": { + "markdownDescription": "Specifies the throttling rate limit.", + "title": "ThrottlingRateLimit", + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings", + "markdownDescription": "Settings for logging access in a stage.", + "title": "AccessLogSettings" + }, + "AutoDeploy": { + "markdownDescription": "Specifies whether updates to an API automatically trigger a new deployment. The default value is `true` .", + "title": "AutoDeploy", + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings", + "markdownDescription": "The default route settings for the stage.", + "title": "DefaultRouteSettings" + }, + "Description": { + "markdownDescription": "The description for the API stage.", + "title": "Description", + "type": "string" + }, + "RouteSettings": { + "markdownDescription": "Route settings for the stage.", + "title": "RouteSettings", + "type": "object" + }, + "StageVariables": { + "markdownDescription": "A map that defines the stage variables for a `Stage` . Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", + "title": "StageVariables", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiMapping": { "additionalProperties": false, "properties": { "Condition": { @@ -9323,40 +10208,37 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessAssociationSource": { - "markdownDescription": "The identifier of the domain name access association source. For a `VPCE` , the value is the VPC endpoint ID.", - "title": "AccessAssociationSource", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "AccessAssociationSourceType": { - "markdownDescription": "The type of the domain name access association source. Only `VPCE` is currently supported.", - "title": "AccessAssociationSourceType", + "ApiMappingKey": { + "markdownDescription": "The API mapping key.", + "title": "ApiMappingKey", "type": "string" }, - "DomainNameArn": { - "markdownDescription": "The ARN of the domain name.", - "title": "DomainNameArn", + "DomainName": { + "markdownDescription": "The domain name.", + "title": "DomainName", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "title": "Tags", - "type": "array" + "Stage": { + "markdownDescription": "The API stage.", + "title": "Stage", + "type": "string" } }, "required": [ - "AccessAssociationSource", - "AccessAssociationSourceType", - "DomainNameArn" + "ApiId", + "DomainName", + "Stage" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DomainNameAccessAssociation" + "AWS::ApiGatewayV2::ApiMapping" ], "type": "string" }, @@ -9375,7 +10257,7 @@ ], "type": "object" }, - "AWS::ApiGateway::DomainNameV2": { + "AWS::ApiGatewayV2::Authorizer": { "additionalProperties": false, "properties": { "Condition": { @@ -9410,55 +10292,75 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name. AWS Certificate Manager is the only supported source.", - "title": "CertificateArn", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "DomainName": { - "markdownDescription": "Represents a custom domain name as a user-friendly host name of an API (RestApi).", - "title": "DomainName", + "AuthorizerCredentialsArn": { + "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for `REQUEST` authorizers.", + "title": "AuthorizerCredentialsArn", "type": "string" }, - "EndpointAccessMode": { - "markdownDescription": "The endpoint access mode for your DomainName.", - "title": "EndpointAccessMode", + "AuthorizerPayloadFormatVersion": { + "markdownDescription": "Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are `1.0` and `2.0` . To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .", + "title": "AuthorizerPayloadFormatVersion", "type": "string" }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::DomainNameV2.EndpointConfiguration", - "markdownDescription": "The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.", - "title": "EndpointConfiguration" - }, - "Policy": { - "markdownDescription": "A stringified JSON policy document that applies to the `execute-api` service for this DomainName regardless of the caller and Method configuration. You can use `Fn::ToJsonString` to enter your `policy` . For more information, see [Fn::ToJsonString](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ToJsonString.html) .", - "title": "Policy", - "type": "object" + "AuthorizerResultTtlInSeconds": { + "markdownDescription": "The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.", + "title": "AuthorizerResultTtlInSeconds", + "type": "number" }, - "RoutingMode": { - "markdownDescription": "The routing mode for this domain name. The routing mode determines how API Gateway sends traffic from your custom domain name to your private APIs.", - "title": "RoutingMode", + "AuthorizerType": { + "markdownDescription": "The authorizer type. Specify `REQUEST` for a Lambda function using incoming request parameters. Specify `JWT` to use JSON Web Tokens (supported only for HTTP APIs).", + "title": "AuthorizerType", "type": "string" }, - "SecurityPolicy": { - "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this DomainName.", - "title": "SecurityPolicy", + "AuthorizerUri": { + "markdownDescription": "The authorizer's Uniform Resource Identifier (URI). For `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2: *{account_id}* :function: *{lambda_function_name}* /invocations` . In general, the URI has this form: `arn:aws:apigateway: *{region}* :lambda:path/ *{service_api}*` , where *{region}* is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .", + "title": "AuthorizerUri", "type": "string" }, - "Tags": { + "EnableSimpleResponses": { + "markdownDescription": "Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .", + "title": "EnableSimpleResponses", + "type": "boolean" + }, + "IdentitySource": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "title": "Tags", + "markdownDescription": "The identity source for which authorization is requested.\n\nFor a `REQUEST` authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with `$` , for example, `$request.header.Auth` , `$request.querystring.Name` . These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .\n\nFor `JWT` , a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example `$request.header.Authorization` .", + "title": "IdentitySource", "type": "array" + }, + "IdentityValidationExpression": { + "markdownDescription": "This parameter is not used.", + "title": "IdentityValidationExpression", + "type": "string" + }, + "JwtConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration", + "markdownDescription": "The `JWTConfiguration` property specifies the configuration of a JWT authorizer. Required for the `JWT` authorizer type. Supported only for HTTP APIs.", + "title": "JwtConfiguration" + }, + "Name": { + "markdownDescription": "The name of the authorizer.", + "title": "Name", + "type": "string" } }, + "required": [ + "ApiId", + "AuthorizerType", + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::DomainNameV2" + "AWS::ApiGatewayV2::Authorizer" ], "type": "string" }, @@ -9472,30 +10374,31 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::DomainNameV2.EndpointConfiguration": { + "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { "additionalProperties": false, "properties": { - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke an API (RestApi) or a DomainName. Use `ipv4` to allow only IPv4 addresses to invoke an API or DomainName, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke an API or a DomainName. For the `PRIVATE` endpoint type, only `dualstack` is supported.", - "title": "IpAddressType", - "type": "string" - }, - "Types": { + "Audience": { "items": { "type": "string" }, - "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", - "title": "Types", + "markdownDescription": "A list of the intended recipients of the JWT. A valid JWT must provide an `aud` that matches at least one entry in this list. See [RFC 7519](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc7519#section-4.1.3) . Required for the `JWT` authorizer type. Supported only for HTTP APIs.", + "title": "Audience", "type": "array" + }, + "Issuer": { + "markdownDescription": "The base domain of the identity provider that issues JSON Web Tokens. For example, an Amazon Cognito user pool has the following format: `https://cognito-idp. {region} .amazonaws.com/ {userPoolId}` . Required for the `JWT` authorizer type. Supported only for HTTP APIs.", + "title": "Issuer", + "type": "string" } }, "type": "object" }, - "AWS::ApiGateway::GatewayResponse": { + "AWS::ApiGatewayV2::Deployment": { "additionalProperties": false, "properties": { "Condition": { @@ -9530,53 +10433,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ResponseParameters": { - "additionalProperties": true, - "markdownDescription": "Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ResponseParameters", - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "markdownDescription": "Response templates of the GatewayResponse as a string-to-string map of key-value pairs.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ResponseTemplates", - "type": "object" - }, - "ResponseType": { - "markdownDescription": "The response type of the associated GatewayResponse.", - "title": "ResponseType", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", + "Description": { + "markdownDescription": "The description for the deployment resource.", + "title": "Description", "type": "string" }, - "StatusCode": { - "markdownDescription": "The HTTP status code for this GatewayResponse.", - "title": "StatusCode", + "StageName": { + "markdownDescription": "The name of an existing stage to associate with the deployment.", + "title": "StageName", "type": "string" } }, "required": [ - "ResponseType", - "RestApiId" + "ApiId" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::GatewayResponse" + "AWS::ApiGatewayV2::Deployment" ], "type": "string" }, @@ -9595,7 +10475,7 @@ ], "type": "object" }, - "AWS::ApiGateway::Method": { + "AWS::ApiGatewayV2::DomainName": { "additionalProperties": false, "properties": { "Condition": { @@ -9630,100 +10510,49 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKeyRequired": { - "markdownDescription": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.", - "title": "ApiKeyRequired", - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of authorization scopes configured on the method. The scopes are used with a `COGNITO_USER_POOLS` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.", - "title": "AuthorizationScopes", - "type": "array" - }, - "AuthorizationType": { - "markdownDescription": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference* .\n\n> If you specify the `AuthorizerId` property, specify `CUSTOM` or `COGNITO_USER_POOLS` for this property.", - "title": "AuthorizationType", - "type": "string" - }, - "AuthorizerId": { - "markdownDescription": "The identifier of an authorizer to use on this method. The method's authorization type must be `CUSTOM` or `COGNITO_USER_POOLS` .", - "title": "AuthorizerId", - "type": "string" - }, - "HttpMethod": { - "markdownDescription": "The method's HTTP verb.", - "title": "HttpMethod", + "DomainName": { + "markdownDescription": "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore ( `_` ) character are not supported.", + "title": "DomainName", "type": "string" }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGateway::Method.Integration", - "markdownDescription": "Represents an `HTTP` , `HTTP_PROXY` , `AWS` , `AWS_PROXY` , or Mock integration.", - "title": "Integration" - }, - "MethodResponses": { + "DomainNameConfigurations": { "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" }, - "markdownDescription": "Gets a method response associated with a given HTTP status code.", - "title": "MethodResponses", + "markdownDescription": "The domain name configurations.", + "title": "DomainNameConfigurations", "type": "array" }, - "OperationName": { - "markdownDescription": "A human-friendly operation identifier for the method. For example, you can assign the `operationName` of `ListPets` for the `GET /pets` method in the `PetStore` example.", - "title": "OperationName", - "type": "string" + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication", + "markdownDescription": "The mutual TLS authentication configuration for a custom domain name.", + "title": "MutualTlsAuthentication" }, - "RequestModels": { - "additionalProperties": true, - "markdownDescription": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "RequestModels", - "type": "object" + "RoutingMode": { + "markdownDescription": "The routing mode API Gateway uses to route traffic to your APIs.", + "title": "RoutingMode", + "type": "string" }, - "RequestParameters": { + "Tags": { "additionalProperties": true, - "markdownDescription": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of `method.request.{location}.{name}` , where `location` is `querystring` , `path` , or `header` and `name` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required ( `true` ) or optional ( `false` ). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.", + "markdownDescription": "The collection of tags associated with a domain name.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "RequestParameters", + "title": "Tags", "type": "object" - }, - "RequestValidatorId": { - "markdownDescription": "The identifier of a RequestValidator for request validation.", - "title": "RequestValidatorId", - "type": "string" - }, - "ResourceId": { - "markdownDescription": "The Resource identifier for the MethodResponse resource.", - "title": "ResourceId", - "type": "string" - }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" } }, "required": [ - "HttpMethod", - "ResourceId", - "RestApiId" + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Method" + "AWS::ApiGatewayV2::DomainName" ], "type": "string" }, @@ -9742,196 +10571,370 @@ ], "type": "object" }, - "AWS::ApiGateway::Method.Integration": { + "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { "additionalProperties": false, "properties": { - "CacheKeyParameters": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of request parameters whose values API Gateway caches. To be valid values for `cacheKeyParameters` , these parameters must also be specified for Method `requestParameters` .", - "title": "CacheKeyParameters", - "type": "array" + "CertificateArn": { + "markdownDescription": "An AWS -managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.", + "title": "CertificateArn", + "type": "string" }, - "CacheNamespace": { - "markdownDescription": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the `cacheNamespace` . You can specify the same `cacheNamespace` across resources to return the same cached data for requests to different resources.", - "title": "CacheNamespace", + "CertificateName": { + "markdownDescription": "The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.", + "title": "CertificateName", "type": "string" }, - "ConnectionId": { - "markdownDescription": "The ID of the VpcLink used for the integration when `connectionType=VPC_LINK` and undefined, otherwise.", - "title": "ConnectionId", + "EndpointType": { + "markdownDescription": "The endpoint type.", + "title": "EndpointType", "type": "string" }, - "ConnectionType": { - "markdownDescription": "The type of the network connection to the integration endpoint. The valid value is `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and a network load balancer in a VPC. The default value is `INTERNET` .", - "title": "ConnectionType", + "IpAddressType": { + "markdownDescription": "The IP address types that can invoke the domain name. Use `ipv4` to allow only IPv4 addresses to invoke your domain name, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your domain name.", + "title": "IpAddressType", "type": "string" }, - "ContentHandling": { - "markdownDescription": "Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\nIf this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the `passthroughBehavior` is configured to support payload pass-through.", - "title": "ContentHandling", + "OwnershipVerificationCertificateArn": { + "markdownDescription": "The Amazon resource name (ARN) for the public certificate issued by Certificate Manager . This ARN is used to validate custom domain ownership. It's required only if you configure mutual TLS and use either an ACM-imported or a private CA certificate ARN as the regionalCertificateArn.", + "title": "OwnershipVerificationCertificateArn", "type": "string" }, - "Credentials": { - "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::\\*:user/\\*` . To use resource-based permissions on supported AWS services, specify null.", - "title": "Credentials", + "SecurityPolicy": { + "markdownDescription": "The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are `TLS_1_0` and `TLS_1_2` .", + "title": "SecurityPolicy", "type": "string" - }, - "IntegrationHttpMethod": { - "markdownDescription": "Specifies the integration's HTTP method type. For the Type property, if you specify `MOCK` , this property is optional. For Lambda integrations, you must set the integration method to `POST` . For all other types, you must specify this property.", - "title": "IntegrationHttpMethod", + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "markdownDescription": "An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3:// bucket-name / key-name` . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.", + "title": "TruststoreUri", "type": "string" }, - "IntegrationResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" - }, - "markdownDescription": "Specifies the integration's responses.", - "title": "IntegrationResponses", - "type": "array" - }, - "IntegrationTarget": { - "markdownDescription": "The ALB or NLB listener to send the request to. Only supported for private integrations that use VPC links V2.", - "title": "IntegrationTarget", + "TruststoreVersion": { + "markdownDescription": "The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.", + "title": "TruststoreVersion", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "PassthroughBehavior": { - "markdownDescription": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in `requestTemplates` . The valid value is one of the following: `WHEN_NO_MATCH` : passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. `WHEN_NO_TEMPLATES` : passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. `NEVER` : rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.", - "title": "PassthroughBehavior", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RequestParameters": { - "additionalProperties": true, - "markdownDescription": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of `method.request.{location}.{name}` , where `location` is `querystring` , `path` , or `header` and `name` must be a valid and unique method request parameter name.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "title": "RequestParameters", + ] + }, + "Metadata": { "type": "object" }, - "RequestTemplates": { - "additionalProperties": true, - "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", + "type": "string" + }, + "ConnectionId": { + "markdownDescription": "The ID of the VPC link for a private integration. Supported only for HTTP APIs.", + "title": "ConnectionId", + "type": "string" + }, + "ConnectionType": { + "markdownDescription": "The type of the network connection to the integration endpoint. Specify `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and resources in a VPC. The default value is `INTERNET` .", + "title": "ConnectionType", + "type": "string" + }, + "ContentHandlingStrategy": { + "markdownDescription": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\n`CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.\n\n`CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.\n\nIf this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", + "title": "ContentHandlingStrategy", + "type": "string" + }, + "CredentialsArn": { + "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, don't specify this parameter.", + "title": "CredentialsArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the integration.", + "title": "Description", + "type": "string" + }, + "IntegrationMethod": { + "markdownDescription": "Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .", + "title": "IntegrationMethod", + "type": "string" + }, + "IntegrationSubtype": { + "markdownDescription": "Supported only for HTTP API `AWS_PROXY` integrations. Specifies the AWS service action to invoke. To learn more, see [Integration subtype reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) .", + "title": "IntegrationSubtype", + "type": "string" + }, + "IntegrationType": { + "markdownDescription": "The integration type of an integration. One of the following:\n\n`AWS` : for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.\n\n`AWS_PROXY` : for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.\n\n`HTTP` : for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.\n\n`HTTP_PROXY` : for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an `HTTP_PROXY` integration.\n\n`MOCK` : for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.", + "title": "IntegrationType", + "type": "string" + }, + "IntegrationUri": { + "markdownDescription": "For a Lambda integration, specify the URI of a Lambda function.\n\nFor an HTTP integration, specify a fully-qualified URL.\n\nFor an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses `DiscoverInstances` to identify resources. You can use query parameters to target specific resources. To learn more, see [DiscoverInstances](https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html) . For private integrations, all resources must be owned by the same AWS account .", + "title": "IntegrationUri", + "type": "string" + }, + "PassthroughBehavior": { + "markdownDescription": "Specifies the pass-through behavior for incoming requests based on the `Content-Type` header in the request, and the available mapping templates specified as the `requestTemplates` property on the `Integration` resource. There are three valid values: `WHEN_NO_MATCH` , `WHEN_NO_TEMPLATES` , and `NEVER` . Supported only for WebSocket APIs.\n\n`WHEN_NO_MATCH` passes the request body for unmapped content types through to the integration backend without transformation.\n\n`NEVER` rejects unmapped content types with an `HTTP 415 Unsupported Media Type` response.\n\n`WHEN_NO_TEMPLATES` allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same `HTTP 415 Unsupported Media Type` response.", + "title": "PassthroughBehavior", + "type": "string" + }, + "PayloadFormatVersion": { + "markdownDescription": "Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .", + "title": "PayloadFormatVersion", + "type": "string" + }, + "RequestParameters": { + "additionalProperties": true, + "markdownDescription": "For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of `method.request. {location} . {name}` , where `{location}` is `querystring` , `path` , or `header` ; and `{name}` must be a valid and unique method request parameter name.\n\nFor HTTP API integrations with a specified `integrationSubtype` , request parameters are a key-value map specifying parameters that are passed to `AWS_PROXY` integrations. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Working with AWS service integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html) .\n\nFor HTTP API integrations without a specified `integrationSubtype` request parameters are a key-value map specifying how to transform HTTP requests before sending them to the backend. The key should follow the pattern :. where action can be `append` , `overwrite` or `remove` . For values, you can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "RequestParameters", + "type": "object" + }, + "RequestTemplates": { + "additionalProperties": true, + "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "RequestTemplates", + "type": "object" + }, + "ResponseParameters": { + "additionalProperties": false, + "markdownDescription": "Supported only for HTTP APIs. You use response parameters to transform the HTTP response from a backend integration before returning the response to clients. Specify a key-value map from a selection key to response parameters. The selection key must be a valid HTTP status code within the range of 200-599. The value is of type [`ResponseParameterList`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameterlist.html) . To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameterMap" + } + }, + "title": "ResponseParameters", + "type": "object" + }, + "TemplateSelectionExpression": { + "markdownDescription": "The template selection expression for the integration. Supported only for WebSocket APIs.", + "title": "TemplateSelectionExpression", "type": "string" + }, + "TimeoutInMillis": { + "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.", + "title": "TimeoutInMillis", + "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig", + "markdownDescription": "The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.", + "title": "TlsConfig" } }, - "title": "RequestTemplates", + "required": [ + "ApiId", + "IntegrationType" + ], "type": "object" }, - "ResponseTransferMode": { - "markdownDescription": "The response transfer mode of the integration. Use `STREAM` to have API Gateway stream response your back to you or use `BUFFERED` to have API Gateway wait to receive the complete response before beginning transmission.", - "title": "ResponseTransferMode", - "type": "string" - }, - "TimeoutInMillis": { - "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds. You can increase the default value to longer than 29 seconds for Regional or private APIs only.", - "title": "TimeoutInMillis", - "type": "number" - }, "Type": { - "markdownDescription": "Specifies an API method integration type. The valid value is one of the following:\n\nFor the HTTP and HTTP proxy integrations, each integration can specify a protocol ( `http/https` ), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a `connectionType` of `VPC_LINK` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.", - "title": "Type", + "enum": [ + "AWS::ApiGatewayV2::Integration" + ], "type": "string" }, - "Uri": { - "markdownDescription": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n\nFor `HTTP` or `HTTP_PROXY` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If `connectionType` is `VPC_LINK` specify the Network Load Balancer DNS name. For `AWS` or `AWS_PROXY` integrations, the URI is of the form `arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}` . Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either `arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}` or `arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}`", - "title": "Uri", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::Method.IntegrationResponse": { + "AWS::ApiGatewayV2::Integration.ResponseParameter": { "additionalProperties": false, "properties": { - "ContentHandling": { - "markdownDescription": "Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\nIf this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", - "title": "ContentHandling", + "Destination": { + "markdownDescription": "Specifies the location of the response to modify, and how to modify it. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", + "title": "Destination", "type": "string" }, + "Source": { + "markdownDescription": "Specifies the data to update the parameter with. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", + "title": "Source", + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameterMap": { + "additionalProperties": false, + "properties": { "ResponseParameters": { - "additionalProperties": true, - "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of `method.response.header.{name}` , where `name` is a valid and unique header name. The mapped non-static value must match the pattern of `integration.response.header.{name}` or `integration.response.body.{JSON-expression}` , where `name` is a valid and unique response header name and `JSON-expression` is a valid JSON expression without the `$` prefix.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" }, + "markdownDescription": "", "title": "ResponseParameters", - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "markdownDescription": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ResponseTemplates", - "type": "object" - }, - "SelectionPattern": { - "markdownDescription": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the `.+` regex to match error response. However, make sure that the error response does not contain any newline ( `\\n` ) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.", - "title": "SelectionPattern", - "type": "string" - }, - "StatusCode": { - "markdownDescription": "Specifies the status code that is used to map the integration response to an existing MethodResponse.", - "title": "StatusCode", + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "markdownDescription": "If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.", + "title": "ServerNameToVerify", "type": "string" } }, - "required": [ - "StatusCode" - ], "type": "object" }, - "AWS::ApiGateway::Method.MethodResponse": { + "AWS::ApiGatewayV2::IntegrationResponse": { "additionalProperties": false, "properties": { - "ResponseModels": { - "additionalProperties": true, - "markdownDescription": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "title": "ResponseModels", + ] + }, + "Metadata": { "type": "object" }, - "ResponseParameters": { - "additionalProperties": true, - "markdownDescription": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern `method.response.header.{name}` , where `name` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in `integration.response.header.{name}` , a static value enclosed within a pair of single quotes (e.g., `'application/json'` ), or a JSON expression from the back-end response payload in the form of `integration.response.body.{JSON-expression}` , where `JSON-expression` is a valid JSON expression without the `$` prefix.)", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", + "type": "string" + }, + "ContentHandlingStrategy": { + "markdownDescription": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\n`CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.\n\n`CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.\n\nIf this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", + "title": "ContentHandlingStrategy", + "type": "string" + }, + "IntegrationId": { + "markdownDescription": "The integration ID.", + "title": "IntegrationId", + "type": "string" + }, + "IntegrationResponseKey": { + "markdownDescription": "The integration response key.", + "title": "IntegrationResponseKey", + "type": "string" + }, + "ResponseParameters": { + "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of `method.response.header. *{name}*` , where name is a valid and unique header name. The mapped non-static value must match the pattern of `integration.response.header. *{name}*` or `integration.response.body. *{JSON-expression}*` , where `*{name}*` is a valid and unique response header name and `*{JSON-expression}*` is a valid JSON expression without the `$` prefix.", + "title": "ResponseParameters", + "type": "object" + }, + "ResponseTemplates": { + "markdownDescription": "The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", + "title": "ResponseTemplates", + "type": "object" + }, + "TemplateSelectionExpression": { + "markdownDescription": "The template selection expression for the integration response. Supported only for WebSocket APIs.", + "title": "TemplateSelectionExpression", "type": "string" } }, - "title": "ResponseParameters", + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], "type": "object" }, - "StatusCode": { - "markdownDescription": "The method response's status code.", - "title": "StatusCode", + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "StatusCode" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::Model": { + "AWS::ApiGatewayV2::Model": { "additionalProperties": false, "properties": { "Condition": { @@ -9966,8 +10969,13 @@ "Properties": { "additionalProperties": false, "properties": { + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", + "type": "string" + }, "ContentType": { - "markdownDescription": "The content-type for the model.", + "markdownDescription": "The content-type for the model, for example, \"application/json\".", "title": "ContentType", "type": "string" }, @@ -9977,29 +10985,26 @@ "type": "string" }, "Name": { - "markdownDescription": "A name for the model. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the model 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.", + "markdownDescription": "The name of the model.", "title": "Name", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" - }, "Schema": { - "markdownDescription": "The schema for the model. For `application/json` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.", + "markdownDescription": "The schema for the model. For application/json models, this should be JSON schema draft 4 model.", "title": "Schema", "type": "object" } }, "required": [ - "RestApiId" + "ApiId", + "Name", + "Schema" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Model" + "AWS::ApiGatewayV2::Model" ], "type": "string" }, @@ -10018,7 +11023,7 @@ ], "type": "object" }, - "AWS::ApiGateway::RequestValidator": { + "AWS::ApiGatewayV2::Route": { "additionalProperties": false, "properties": { "Condition": { @@ -10053,35 +11058,79 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of this RequestValidator", - "title": "Name", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", + "ApiKeyRequired": { + "markdownDescription": "Specifies whether an API key is required for the route. Supported only for WebSocket APIs.", + "title": "ApiKeyRequired", + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "The authorization scopes supported by this route.", + "title": "AuthorizationScopes", + "type": "array" + }, + "AuthorizationType": { + "markdownDescription": "The authorization type for the route. For WebSocket APIs, valid values are `NONE` for open access, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer. For HTTP APIs, valid values are `NONE` for open access, `JWT` for using JSON Web Tokens, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.", + "title": "AuthorizationType", "type": "string" }, - "ValidateRequestBody": { - "markdownDescription": "A Boolean flag to indicate whether to validate a request body according to the configured Model schema.", - "title": "ValidateRequestBody", - "type": "boolean" + "AuthorizerId": { + "markdownDescription": "The identifier of the `Authorizer` resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", + "title": "AuthorizerId", + "type": "string" }, - "ValidateRequestParameters": { - "markdownDescription": "A Boolean flag to indicate whether to validate request parameters ( `true` ) or not ( `false` ).", - "title": "ValidateRequestParameters", - "type": "boolean" + "ModelSelectionExpression": { + "markdownDescription": "The model selection expression for the route. Supported only for WebSocket APIs.", + "title": "ModelSelectionExpression", + "type": "string" + }, + "OperationName": { + "markdownDescription": "The operation name for the route.", + "title": "OperationName", + "type": "string" + }, + "RequestModels": { + "markdownDescription": "The request models for the route. Supported only for WebSocket APIs.", + "title": "RequestModels", + "type": "object" + }, + "RequestParameters": { + "markdownDescription": "The request parameters for the route. Supported only for WebSocket APIs.", + "title": "RequestParameters", + "type": "object" + }, + "RouteKey": { + "markdownDescription": "The route key for the route. For HTTP APIs, the route key can be either `$default` , or a combination of an HTTP method and resource path, for example, `GET /pets` .", + "title": "RouteKey", + "type": "string" + }, + "RouteResponseSelectionExpression": { + "markdownDescription": "The route response selection expression for the route. Supported only for WebSocket APIs.", + "title": "RouteResponseSelectionExpression", + "type": "string" + }, + "Target": { + "markdownDescription": "The target for the route.", + "title": "Target", + "type": "string" } }, "required": [ - "RestApiId" + "ApiId", + "RouteKey" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::RequestValidator" + "AWS::ApiGatewayV2::Route" ], "type": "string" }, @@ -10100,7 +11149,7 @@ ], "type": "object" }, - "AWS::ApiGateway::Resource": { + "AWS::ApiGatewayV2::RouteResponse": { "additionalProperties": false, "properties": { "Condition": { @@ -10135,32 +11184,53 @@ "Properties": { "additionalProperties": false, "properties": { - "ParentId": { - "markdownDescription": "The parent resource's identifier.", - "title": "ParentId", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "PathPart": { - "markdownDescription": "The last path segment for this resource.", - "title": "PathPart", + "ModelSelectionExpression": { + "markdownDescription": "The model selection expression for the route response. Supported only for WebSocket APIs.", + "title": "ModelSelectionExpression", "type": "string" }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", + "ResponseModels": { + "markdownDescription": "The response models for the route response.", + "title": "ResponseModels", + "type": "object" + }, + "ResponseParameters": { + "additionalProperties": false, + "markdownDescription": "The route response parameters.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse.ParameterConstraints" + } + }, + "title": "ResponseParameters", + "type": "object" + }, + "RouteId": { + "markdownDescription": "The route ID.", + "title": "RouteId", + "type": "string" + }, + "RouteResponseKey": { + "markdownDescription": "The route response key.", + "title": "RouteResponseKey", "type": "string" } }, "required": [ - "ParentId", - "PathPart", - "RestApiId" + "ApiId", + "RouteId", + "RouteResponseKey" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Resource" + "AWS::ApiGatewayV2::RouteResponse" ], "type": "string" }, @@ -10179,7 +11249,21 @@ ], "type": "object" }, - "AWS::ApiGateway::RestApi": { + "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "markdownDescription": "Specifies whether the parameter is required.", + "title": "Required", + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RoutingRule": { "additionalProperties": false, "properties": { "Condition": { @@ -10214,112 +11298,44 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKeySourceType": { - "markdownDescription": "The source of the API key for metering requests according to a usage plan. Valid values are: `HEADER` to read the API key from the `X-API-Key` header of a request. `AUTHORIZER` to read the API key from the `UsageIdentifierKey` from a custom authorizer.", - "title": "ApiKeySourceType", - "type": "string" - }, - "BinaryMediaTypes": { + "Actions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.Action" }, - "markdownDescription": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", - "title": "BinaryMediaTypes", + "markdownDescription": "The resulting action based on matching a routing rules condition. Only InvokeApi is supported.", + "title": "Actions", "type": "array" }, - "Body": { - "markdownDescription": "An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.", - "title": "Body", - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location", - "markdownDescription": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format.", - "title": "BodyS3Location" - }, - "CloneFrom": { - "markdownDescription": "The ID of the RestApi that you want to clone from.", - "title": "CloneFrom", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the RestApi.", - "title": "Description", - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "markdownDescription": "Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default `https://{api_id}.execute-api.{region}.amazonaws.com` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint", - "title": "DisableExecuteApiEndpoint", - "type": "boolean" - }, - "EndpointAccessMode": { - "markdownDescription": "The endpoint access mode for your RestApi.", - "title": "EndpointAccessMode", - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration", - "markdownDescription": "A list of the endpoint types and IP address types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the `Parameters` property.", - "title": "EndpointConfiguration" - }, - "FailOnWarnings": { - "markdownDescription": "A query parameter to indicate whether to rollback the API update ( `true` ) or not ( `false` ) when a warning is encountered. The default value is `false` .", - "title": "FailOnWarnings", - "type": "boolean" - }, - "MinimumCompressionSize": { - "markdownDescription": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.", - "title": "MinimumCompressionSize", - "type": "number" - }, - "Mode": { - "markdownDescription": "This property applies only when you use OpenAPI to define your REST API. The `Mode` determines how API Gateway handles resource updates.\n\nValid values are `overwrite` or `merge` .\n\nFor `overwrite` , the new API definition replaces the existing one. The existing API identifier remains unchanged.\n\nFor `merge` , the new API definition is merged with the existing API.\n\nIf you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is `overwrite` . For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API.\n\nUse the default mode to define top-level `RestApi` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.", - "title": "Mode", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.", - "title": "Name", - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set `ignore=documentation` as a `parameters` value, as in the AWS CLI command of `aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "Policy": { - "markdownDescription": "A policy document that contains the permissions for the `RestApi` resource. To set the ARN for the policy, use the `!Join` intrinsic function with `\"\"` as delimiter and values of `\"execute-api:/\"` and `\"*\"` .", - "title": "Policy", - "type": "object" - }, - "SecurityPolicy": { - "markdownDescription": "The Transport Layer Security (TLS) version + cipher suite for this RestApi.", - "title": "SecurityPolicy", - "type": "string" - }, - "Tags": { + "Conditions": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.Condition" }, - "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with `aws:` . The tag value can be up to 256 characters.", - "title": "Tags", + "markdownDescription": "The conditions of the routing rule.", + "title": "Conditions", "type": "array" }, - "Version": { + "DomainNameArn": { + "markdownDescription": "The ARN of the domain name.", + "title": "DomainNameArn", "type": "string" + }, + "Priority": { + "markdownDescription": "The order in which API Gateway evaluates a rule. Priority is evaluated from the lowest value to the highest value. Rules can't have the same priority. Priority values 1-1,000,000 are supported.", + "title": "Priority", + "type": "number" } }, + "required": [ + "Actions", + "Conditions", + "DomainNameArn", + "Priority" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::RestApi" + "AWS::ApiGatewayV2::RoutingRule" ], "type": "string" }, @@ -10333,64 +11349,121 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::RestApi.EndpointConfiguration": { + "AWS::ApiGatewayV2::RoutingRule.Action": { "additionalProperties": false, "properties": { - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke an API (RestApi). Use `ipv4` to allow only IPv4 addresses to invoke an API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke an API. For the `PRIVATE` endpoint type, only `dualstack` is supported.", - "title": "IpAddressType", + "InvokeApi": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.ActionInvokeApi", + "markdownDescription": "Represents an InvokeApi action.", + "title": "InvokeApi" + } + }, + "required": [ + "InvokeApi" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RoutingRule.ActionInvokeApi": { + "additionalProperties": false, + "properties": { + "ApiId": { + "markdownDescription": "The API identifier of the target API.", + "title": "ApiId", "type": "string" }, - "Types": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `\"EDGE\"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` .", - "title": "Types", - "type": "array" + "Stage": { + "markdownDescription": "The name of the target stage.", + "title": "Stage", + "type": "string" }, - "VpcEndpointIds": { + "StripBasePath": { + "markdownDescription": "The strip base path setting. When true, API Gateway strips the incoming matched base path when forwarding the request to the target API.", + "title": "StripBasePath", + "type": "boolean" + } + }, + "required": [ + "ApiId", + "Stage" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RoutingRule.Condition": { + "additionalProperties": false, + "properties": { + "MatchBasePaths": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchBasePaths", + "markdownDescription": "The base path to be matched.", + "title": "MatchBasePaths" + }, + "MatchHeaders": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchHeaders", + "markdownDescription": "The headers to be matched.", + "title": "MatchHeaders" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::RoutingRule.MatchBasePaths": { + "additionalProperties": false, + "properties": { + "AnyOf": { "items": { "type": "string" }, - "markdownDescription": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for `PRIVATE` endpoint type.", - "title": "VpcEndpointIds", + "markdownDescription": "The string of the case sensitive base path to be matched.", + "title": "AnyOf", "type": "array" } }, + "required": [ + "AnyOf" + ], "type": "object" }, - "AWS::ApiGateway::RestApi.S3Location": { + "AWS::ApiGatewayV2::RoutingRule.MatchHeaderValue": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the S3 bucket where the OpenAPI file is stored.", - "title": "Bucket", - "type": "string" - }, - "ETag": { - "markdownDescription": "The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file.", - "title": "ETag", - "type": "string" - }, - "Key": { - "markdownDescription": "The file name of the OpenAPI file (Amazon S3 object name).", - "title": "Key", + "Header": { + "markdownDescription": "The case insensitive header name to be matched. The header name must be less than 40 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~.` .", + "title": "Header", "type": "string" }, - "Version": { - "markdownDescription": "For versioning-enabled buckets, a specific version of the OpenAPI file.", - "title": "Version", + "ValueGlob": { + "markdownDescription": "The case sensitive header glob value to be matched against entire header value. The header glob value must be less than 128 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~` . Wildcard matching is supported for header glob values but must be for `*prefix-match` , `suffix-match*` , or `*infix*-match` .", + "title": "ValueGlob", "type": "string" } }, + "required": [ + "Header", + "ValueGlob" + ], "type": "object" }, - "AWS::ApiGateway::Stage": { + "AWS::ApiGatewayV2::RoutingRule.MatchHeaders": { + "additionalProperties": false, + "properties": { + "AnyOf": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchHeaderValue" + }, + "markdownDescription": "The header name and header value glob to be matched. The matchHeaders condition is matched if any of the header name and header value globs are matched.", + "title": "AnyOf", + "type": "array" + } + }, + "required": [ + "AnyOf" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage": { "additionalProperties": false, "properties": { "Condition": { @@ -10425,97 +11498,71 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting", - "markdownDescription": "Access log settings, including the access log format and access log destination ARN.", - "title": "AccessLogSetting" - }, - "CacheClusterEnabled": { - "markdownDescription": "Specifies whether a cache cluster is enabled for the stage. To activate a method-level cache, set `CachingEnabled` to `true` for a method.", - "title": "CacheClusterEnabled", - "type": "boolean" + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings", + "markdownDescription": "Settings for logging access in this stage.", + "title": "AccessLogSettings" }, - "CacheClusterSize": { - "markdownDescription": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) .", - "title": "CacheClusterSize", + "ApiId": { + "markdownDescription": "The API identifier.", + "title": "ApiId", "type": "string" }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting", - "markdownDescription": "Settings for the canary deployment in this stage.", - "title": "CanarySetting" + "AutoDeploy": { + "markdownDescription": "Specifies whether updates to an API automatically trigger a new deployment. The default value is `false` .", + "title": "AutoDeploy", + "type": "boolean" }, "ClientCertificateId": { - "markdownDescription": "The identifier of a client certificate for an API stage.", + "markdownDescription": "The identifier of a client certificate for a `Stage` . Supported only for WebSocket APIs.", "title": "ClientCertificateId", "type": "string" }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings", + "markdownDescription": "The default route settings for the stage.", + "title": "DefaultRouteSettings" + }, "DeploymentId": { - "markdownDescription": "The identifier of the Deployment that the stage points to.", + "markdownDescription": "The deployment identifier for the API stage. Can't be updated if `autoDeploy` is enabled.", "title": "DeploymentId", "type": "string" }, "Description": { - "markdownDescription": "The stage's description.", + "markdownDescription": "The description for the API stage.", "title": "Description", "type": "string" }, - "DocumentationVersion": { - "markdownDescription": "The version of the associated API documentation.", - "title": "DocumentationVersion", - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" - }, - "markdownDescription": "A map that defines the method settings for a Stage resource. Keys (designated as `/{method_setting_key` below) are method paths defined as `{resource_path}/{http_method}` for an individual method override, or `/\\*/\\*` for overriding all methods in the stage.", - "title": "MethodSettings", - "type": "array" - }, - "RestApiId": { - "markdownDescription": "The string identifier of the associated RestApi.", - "title": "RestApiId", - "type": "string" + "RouteSettings": { + "markdownDescription": "Route settings for the stage.", + "title": "RouteSettings", + "type": "object" }, "StageName": { - "markdownDescription": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "markdownDescription": "The stage name. Stage names can contain only alphanumeric characters, hyphens, and underscores, or be `$default` . Maximum length is 128 characters.", "title": "StageName", "type": "string" }, + "StageVariables": { + "markdownDescription": "A map that defines the stage variables for a `Stage` . Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", + "title": "StageVariables", + "type": "object" + }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", "title": "Tags", - "type": "array" - }, - "TracingEnabled": { - "markdownDescription": "Specifies whether active tracing with X-ray is enabled for the Stage.", - "title": "TracingEnabled", - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "markdownDescription": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Variables", "type": "object" } }, "required": [ - "RestApiId" + "ApiId", + "StageName" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::Stage" + "AWS::ApiGatewayV2::Stage" ], "type": "string" }, @@ -10534,97 +11581,40 @@ ], "type": "object" }, - "AWS::ApiGateway::Stage.AccessLogSetting": { + "AWS::ApiGatewayV2::Stage.AccessLogSettings": { "additionalProperties": false, "properties": { "DestinationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` . This parameter is required to enable access logging.", + "markdownDescription": "The ARN of the CloudWatch Logs log group to receive access logs. This parameter is required to enable access logging.", "title": "DestinationArn", "type": "string" }, "Format": { - "markdownDescription": "A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference) . The format must include at least `$context.requestId` . This parameter is required to enable access logging.", + "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. This parameter is required to enable access logging.", "title": "Format", "type": "string" } }, "type": "object" }, - "AWS::ApiGateway::Stage.CanarySetting": { - "additionalProperties": false, - "properties": { - "DeploymentId": { - "markdownDescription": "The ID of the canary deployment.", - "title": "DeploymentId", - "type": "string" - }, - "PercentTraffic": { - "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.", - "title": "PercentTraffic", - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "markdownDescription": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "StageVariableOverrides", - "type": "object" - }, - "UseStageCache": { - "markdownDescription": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", - "title": "UseStageCache", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.MethodSetting": { + "AWS::ApiGatewayV2::Stage.RouteSettings": { "additionalProperties": false, "properties": { - "CacheDataEncrypted": { - "markdownDescription": "Specifies whether the cached responses are encrypted.", - "title": "CacheDataEncrypted", - "type": "boolean" - }, - "CacheTtlInSeconds": { - "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", - "title": "CacheTtlInSeconds", - "type": "number" - }, - "CachingEnabled": { - "markdownDescription": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", - "title": "CachingEnabled", - "type": "boolean" - }, "DataTraceEnabled": { - "markdownDescription": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", + "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", "title": "DataTraceEnabled", "type": "boolean" }, - "HttpMethod": { - "markdownDescription": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .", - "title": "HttpMethod", - "type": "string" + "DetailedMetricsEnabled": { + "markdownDescription": "Specifies whether detailed metrics are enabled.", + "title": "DetailedMetricsEnabled", + "type": "boolean" }, "LoggingLevel": { - "markdownDescription": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are `OFF` , `ERROR` , and `INFO` . Choose `ERROR` to write only error-level entries to CloudWatch Logs, or choose `INFO` to include all `ERROR` events as well as extra informational events.", + "markdownDescription": "Specifies the logging level for this route: `INFO` , `ERROR` , or `OFF` . This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", "title": "LoggingLevel", "type": "string" }, - "MetricsEnabled": { - "markdownDescription": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", - "title": "MetricsEnabled", - "type": "boolean" - }, - "ResourcePath": { - "markdownDescription": "The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ). To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .", - "title": "ResourcePath", - "type": "string" - }, "ThrottlingBurstLimit": { "markdownDescription": "Specifies the throttling burst limit.", "title": "ThrottlingBurstLimit", @@ -10638,7 +11628,7 @@ }, "type": "object" }, - "AWS::ApiGateway::UsagePlan": { + "AWS::ApiGatewayV2::VpcLink": { "additionalProperties": false, "properties": { "Condition": { @@ -10673,48 +11663,48 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiStages": { + "Name": { + "markdownDescription": "The name of the VPC link.", + "title": "Name", + "type": "string" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" + "type": "string" }, - "markdownDescription": "The associated API stages of a usage plan.", - "title": "ApiStages", + "markdownDescription": "A list of security group IDs for the VPC link.", + "title": "SecurityGroupIds", "type": "array" }, - "Description": { - "markdownDescription": "The description of a usage plan.", - "title": "Description", - "type": "string" - }, - "Quota": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings", - "markdownDescription": "The target maximum number of permitted requests per a given unit time interval.", - "title": "Quota" - }, - "Tags": { + "SubnetIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "title": "Tags", + "markdownDescription": "A list of subnet IDs to include in the VPC link.", + "title": "SubnetIds", "type": "array" }, - "Throttle": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings", - "markdownDescription": "A map containing method level throttling information for API stage in a usage plan.", - "title": "Throttle" - }, - "UsagePlanName": { - "markdownDescription": "The name of a usage plan.", - "title": "UsagePlanName", - "type": "string" + "Tags": { + "additionalProperties": true, + "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" } }, - "type": "object" - }, + "required": [ + "Name", + "SubnetIds" + ], + "type": "object" + }, "Type": { "enum": [ - "AWS::ApiGateway::UsagePlan" + "AWS::ApiGatewayV2::VpcLink" ], "type": "string" }, @@ -10728,75 +11718,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGateway::UsagePlan.ApiStage": { - "additionalProperties": false, - "properties": { - "ApiId": { - "markdownDescription": "API Id of the associated API stage in a usage plan.", - "title": "ApiId", - "type": "string" - }, - "Stage": { - "markdownDescription": "API stage name of the associated API stage in a usage plan.", - "title": "Stage", - "type": "string" - }, - "Throttle": { - "additionalProperties": false, - "markdownDescription": "Map containing method level throttling information for API stage in a usage plan.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - } - }, - "title": "Throttle", - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.QuotaSettings": { - "additionalProperties": false, - "properties": { - "Limit": { - "markdownDescription": "The target maximum number of requests that can be made in a given time period.", - "title": "Limit", - "type": "number" - }, - "Offset": { - "markdownDescription": "The number of requests subtracted from the given limit in the initial time period.", - "title": "Offset", - "type": "number" - }, - "Period": { - "markdownDescription": "The time period in which the limit applies. Valid values are \"DAY\", \"WEEK\" or \"MONTH\".", - "title": "Period", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ThrottleSettings": { - "additionalProperties": false, - "properties": { - "BurstLimit": { - "markdownDescription": "The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.", - "title": "BurstLimit", - "type": "number" - }, - "RateLimit": { - "markdownDescription": "The API target request rate limit.", - "title": "RateLimit", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlanKey": { + "AWS::AppConfig::Application": { "additionalProperties": false, "properties": { "Condition": { @@ -10831,32 +11758,33 @@ "Properties": { "additionalProperties": false, "properties": { - "KeyId": { - "markdownDescription": "The Id of the UsagePlanKey resource.", - "title": "KeyId", + "Description": { + "markdownDescription": "A description of the application.", + "title": "Description", "type": "string" }, - "KeyType": { - "markdownDescription": "The type of a UsagePlanKey resource for a plan customer.", - "title": "KeyType", + "Name": { + "markdownDescription": "A name for the application.", + "title": "Name", "type": "string" }, - "UsagePlanId": { - "markdownDescription": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", - "title": "UsagePlanId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Application.Tags" + }, + "markdownDescription": "Metadata to assign to the application. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" } }, "required": [ - "KeyId", - "KeyType", - "UsagePlanId" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::UsagePlanKey" + "AWS::AppConfig::Application" ], "type": "string" }, @@ -10875,7 +11803,27 @@ ], "type": "object" }, - "AWS::ApiGateway::VpcLink": { + "AWS::AppConfig::Application.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key-value string map. The valid character set is `[a-zA-Z+-=._:/]` . The tag key can be up to 128 characters and must not start with `aws:` .", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The tag value can be up to 256 characters.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -10910,42 +11858,73 @@ "Properties": { "additionalProperties": false, "properties": { + "ApplicationId": { + "markdownDescription": "The application ID.", + "title": "ApplicationId", + "type": "string" + }, + "DeletionProtectionCheck": { + "markdownDescription": "A parameter to configure deletion protection. Deletion protection prevents a user from deleting a configuration profile if your application has called either [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) or [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) for the configuration profile during the specified interval.\n\nThis parameter supports the following values:\n\n- `BYPASS` : Instructs AWS AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.\n- `APPLY` : Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. `APPLY` also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.\n- `ACCOUNT_DEFAULT` : The default setting, which instructs AWS AppConfig to implement the deletion protection value specified in the `UpdateAccountSettings` API.", + "title": "DeletionProtectionCheck", + "type": "string" + }, "Description": { - "markdownDescription": "The description of the VPC link.", + "markdownDescription": "A description of the configuration profile.", "title": "Description", "type": "string" }, + "KmsKeyIdentifier": { + "markdownDescription": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.", + "title": "KmsKeyIdentifier", + "type": "string" + }, + "LocationUri": { + "markdownDescription": "A URI to locate the configuration. You can specify the following:\n\n- For the AWS AppConfig hosted configuration store and for feature flags, specify `hosted` .\n- For an AWS Systems Manager Parameter Store parameter, specify either the parameter name in the format `ssm-parameter://` or the ARN.\n- For an AWS CodePipeline pipeline, specify the URI in the following format: `codepipeline` ://.\n- For an AWS Secrets Manager secret, specify the URI in the following format: `secretsmanager` ://.\n- For an Amazon S3 object, specify the URI in the following format: `s3:///` . Here is an example: `s3://amzn-s3-demo-bucket/my-app/us-east-1/my-config.json`\n- For an SSM document, specify either the document name in the format `ssm-document://` or the Amazon Resource Name (ARN).", + "title": "LocationUri", + "type": "string" + }, "Name": { - "markdownDescription": "The name used to label and identify the VPC link.", + "markdownDescription": "A name for the configuration profile.", "title": "Name", "type": "string" }, + "RetrievalRoleArn": { + "markdownDescription": "The ARN of an IAM role with permission to access the configuration at the specified `LocationUri` .\n\n> A retrieval role ARN is not required for configurations stored in AWS CodePipeline or the AWS AppConfig hosted configuration store. It is required for all other sources that store your configuration.", + "title": "RetrievalRoleArn", + "type": "string" + }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" }, - "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the VPC link.", + "markdownDescription": "Metadata to assign to the configuration profile. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", "title": "Tags", "type": "array" }, - "TargetArns": { + "Type": { + "markdownDescription": "The type of configurations contained in the profile. AWS AppConfig supports `feature flags` and `freeform` configurations. We recommend you create feature flag configurations to enable or disable new features and freeform configurations to distribute configurations to an application. When calling this API, enter one of the following values for `Type` :\n\n`AWS.AppConfig.FeatureFlags`\n\n`AWS.Freeform`", + "title": "Type", + "type": "string" + }, + "Validators": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" }, - "markdownDescription": "The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.", - "title": "TargetArns", + "markdownDescription": "A list of methods for validating the configuration.", + "title": "Validators", "type": "array" } }, "required": [ - "Name", - "TargetArns" + "ApplicationId", + "LocationUri", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGateway::VpcLink" + "AWS::AppConfig::ConfigurationProfile" ], "type": "string" }, @@ -10964,7 +11943,39 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Api": { + "AWS::AppConfig::ConfigurationProfile.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key-value string map. The valid character set is `[a-zA-Z+-=._:/]` . The tag key can be up to 128 characters and must not start with `aws:` .", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The tag value can be up to 256 characters.", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Validators": { + "additionalProperties": false, + "properties": { + "Content": { + "markdownDescription": "Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda function.", + "title": "Content", + "type": "string" + }, + "Type": { + "markdownDescription": "AWS AppConfig supports validators of type `JSON_SCHEMA` and `LAMBDA`", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Deployment": { "additionalProperties": false, "properties": { "Condition": { @@ -10999,108 +12010,70 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiKeySelectionExpression": { - "markdownDescription": "An API key selection expression. Supported only for WebSocket APIs. See [API Key Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions) .", - "title": "ApiKeySelectionExpression", + "ApplicationId": { + "markdownDescription": "The application ID.", + "title": "ApplicationId", "type": "string" }, - "BasePath": { - "markdownDescription": "Specifies how to interpret the base path of the API during import. Valid values are `ignore` , `prepend` , and `split` . The default value is `ignore` . To learn more, see [Set the OpenAPI basePath Property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api-basePath.html) . Supported only for HTTP APIs.", - "title": "BasePath", + "ConfigurationProfileId": { + "markdownDescription": "The configuration profile ID.", + "title": "ConfigurationProfileId", "type": "string" }, - "Body": { - "markdownDescription": "The OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.", - "title": "Body", - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location", - "markdownDescription": "The S3 location of an OpenAPI definition. Supported only for HTTP APIs. To import an HTTP API, you must specify a `Body` or `BodyS3Location` . If you specify a `Body` or `BodyS3Location` , don't specify CloudFormation resources such as `AWS::ApiGatewayV2::Authorizer` or `AWS::ApiGatewayV2::Route` . API Gateway doesn't support the combination of OpenAPI and CloudFormation resources.", - "title": "BodyS3Location" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors", - "markdownDescription": "A CORS configuration. Supported only for HTTP APIs. See [Configuring CORS](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) for more information.", - "title": "CorsConfiguration" + "ConfigurationVersion": { + "markdownDescription": "The configuration version to deploy. If deploying an AWS AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.", + "title": "ConfigurationVersion", + "type": "string" }, - "CredentialsArn": { - "markdownDescription": "This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, specify `null` . Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.", - "title": "CredentialsArn", + "DeploymentStrategyId": { + "markdownDescription": "The deployment strategy ID.", + "title": "DeploymentStrategyId", "type": "string" }, "Description": { - "markdownDescription": "The description of the API.", + "markdownDescription": "A description of the deployment.", "title": "Description", "type": "string" }, - "DisableExecuteApiEndpoint": { - "markdownDescription": "Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.", - "title": "DisableExecuteApiEndpoint", - "type": "boolean" - }, - "DisableSchemaValidation": { - "markdownDescription": "Avoid validating models when creating a deployment. Supported only for WebSocket APIs.", - "title": "DisableSchemaValidation", - "type": "boolean" - }, - "FailOnWarnings": { - "markdownDescription": "Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.", - "title": "FailOnWarnings", - "type": "boolean" - }, - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke the API. Use `ipv4` to allow only IPv4 addresses to invoke your API, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your API.\n\nDon\u2019t use IP address type for an HTTP API based on an OpenAPI specification. Instead, specify the IP address type in the OpenAPI specification.", - "title": "IpAddressType", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the API. Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .", - "title": "Name", - "type": "string" - }, - "ProtocolType": { - "markdownDescription": "The API protocol. Valid values are `WEBSOCKET` or `HTTP` . Required unless you specify an OpenAPI definition for `Body` or `S3BodyLocation` .", - "title": "ProtocolType", - "type": "string" + "DynamicExtensionParameters": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Deployment.DynamicExtensionParameters" + }, + "markdownDescription": "A map of dynamic extension parameter names to values to pass to associated extensions with `PRE_START_DEPLOYMENT` actions.", + "title": "DynamicExtensionParameters", + "type": "array" }, - "RouteKey": { - "markdownDescription": "This property is part of quick create. If you don't specify a `routeKey` , a default route of `$default` is created. The `$default` route acts as a catch-all for any request made to your API, for a particular stage. The `$default` route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.", - "title": "RouteKey", + "EnvironmentId": { + "markdownDescription": "The environment ID.", + "title": "EnvironmentId", "type": "string" }, - "RouteSelectionExpression": { - "markdownDescription": "The route selection expression for the API. For HTTP APIs, the `routeSelectionExpression` must be `${request.method} ${request.path}` . If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.", - "title": "RouteSelectionExpression", + "KmsKeyIdentifier": { + "markdownDescription": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.", + "title": "KmsKeyIdentifier", "type": "string" }, "Tags": { - "additionalProperties": true, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Metadata to assign to the deployment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", "title": "Tags", - "type": "object" - }, - "Target": { - "markdownDescription": "This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.", - "title": "Target", - "type": "string" - }, - "Version": { - "markdownDescription": "A version identifier for the API.", - "title": "Version", - "type": "string" + "type": "array" } }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "ConfigurationVersion", + "DeploymentStrategyId", + "EnvironmentId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::Api" + "AWS::AppConfig::Deployment" ], "type": "string" }, @@ -11114,85 +12087,33 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ApiGatewayV2::Api.BodyS3Location": { + "AWS::AppConfig::Deployment.DynamicExtensionParameters": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The S3 bucket that contains the OpenAPI definition to import. Required if you specify a `BodyS3Location` for an API.", - "title": "Bucket", - "type": "string" - }, - "Etag": { - "markdownDescription": "The Etag of the S3 object.", - "title": "Etag", + "ExtensionReference": { + "markdownDescription": "The ARN or ID of the extension for which you are inserting a dynamic parameter.", + "title": "ExtensionReference", "type": "string" }, - "Key": { - "markdownDescription": "The key of the S3 object. Required if you specify a `BodyS3Location` for an API.", - "title": "Key", + "ParameterName": { + "markdownDescription": "The parameter name.", + "title": "ParameterName", "type": "string" }, - "Version": { - "markdownDescription": "The version of the S3 object.", - "title": "Version", + "ParameterValue": { + "markdownDescription": "The parameter value.", + "title": "ParameterValue", "type": "string" } }, "type": "object" }, - "AWS::ApiGatewayV2::Api.Cors": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "markdownDescription": "Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.", - "title": "AllowCredentials", - "type": "boolean" - }, - "AllowHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents a collection of allowed headers. Supported only for HTTP APIs.", - "title": "AllowHeaders", - "type": "array" - }, - "AllowMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.", - "title": "AllowMethods", - "type": "array" - }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents a collection of allowed origins. Supported only for HTTP APIs.", - "title": "AllowOrigins", - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "Represents a collection of exposed headers. Supported only for HTTP APIs.", - "title": "ExposeHeaders", - "type": "array" - }, - "MaxAge": { - "markdownDescription": "The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.", - "title": "MaxAge", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "AWS::AppConfig::DeploymentStrategy": { "additionalProperties": false, "properties": { "Condition": { @@ -11227,35 +12148,61 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The ID of the API for which to override the configuration of API Gateway-managed resources.", - "title": "ApiId", + "DeploymentDurationInMinutes": { + "markdownDescription": "Total amount of time for a deployment to last.", + "title": "DeploymentDurationInMinutes", + "type": "number" + }, + "Description": { + "markdownDescription": "A description of the deployment strategy.", + "title": "Description", "type": "string" }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides", - "markdownDescription": "Overrides the integration configuration for an API Gateway-managed integration.", - "title": "Integration" + "FinalBakeTimeInMinutes": { + "markdownDescription": "Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see [Configuring permissions for rollback based on Amazon CloudWatch alarms](https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html) in the *AWS AppConfig User Guide* .", + "title": "FinalBakeTimeInMinutes", + "type": "number" }, - "Route": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides", - "markdownDescription": "Overrides the route configuration for an API Gateway-managed route.", - "title": "Route" + "GrowthFactor": { + "markdownDescription": "The percentage of targets to receive a deployed configuration during each interval.", + "title": "GrowthFactor", + "type": "number" }, - "Stage": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides", - "markdownDescription": "Overrides the stage configuration for an API Gateway-managed stage.", - "title": "Stage" + "GrowthType": { + "markdownDescription": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:\n\n*Linear* : For this type, AWS AppConfig processes the deployment by dividing the total number of targets by the value specified for `Step percentage` . For example, a linear deployment that uses a `Step percentage` of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.\n\n*Exponential* : For this type, AWS AppConfig processes the deployment exponentially using the following formula: `G*(2^N)` . In this formula, `G` is the growth factor specified by the user and `N` is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:\n\n`2*(2^0)`\n\n`2*(2^1)`\n\n`2*(2^2)`\n\nExpressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.", + "title": "GrowthType", + "type": "string" + }, + "Name": { + "markdownDescription": "A name for the deployment strategy.", + "title": "Name", + "type": "string" + }, + "ReplicateTo": { + "markdownDescription": "Save the deployment strategy to a Systems Manager (SSM) document.", + "title": "ReplicateTo", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Assigns metadata to an AWS AppConfig resource. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.", + "title": "Tags", + "type": "array" } }, "required": [ - "ApiId" + "DeploymentDurationInMinutes", + "GrowthFactor", + "Name", + "ReplicateTo" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + "AWS::AppConfig::DeploymentStrategy" ], "type": "string" }, @@ -11274,152 +12221,125 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "AWS::AppConfig::Environment": { "additionalProperties": false, "properties": { - "DestinationArn": { - "markdownDescription": "The ARN of the CloudWatch Logs log group to receive access logs.", - "title": "DestinationArn", + "Condition": { "type": "string" }, - "Format": { - "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.", - "title": "Format", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "The description of the integration.", - "title": "Description", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IntegrationMethod": { - "markdownDescription": "Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .", - "title": "IntegrationMethod", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "PayloadFormatVersion": { - "markdownDescription": "Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .", - "title": "PayloadFormatVersion", - "type": "string" + "Metadata": { + "type": "object" }, - "TimeoutInMillis": { - "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.", - "title": "TimeoutInMillis", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { - "additionalProperties": false, - "properties": { - "AuthorizationScopes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "markdownDescription": "The application ID.", + "title": "ApplicationId", + "type": "string" + }, + "DeletionProtectionCheck": { + "markdownDescription": "A parameter to configure deletion protection. Deletion protection prevents a user from deleting an environment if your application called either [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) or [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) in the environment during the specified interval.\n\nThis parameter supports the following values:\n\n- `BYPASS` : Instructs AWS AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.\n- `APPLY` : Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. `APPLY` also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.\n- `ACCOUNT_DEFAULT` : The default setting, which instructs AWS AppConfig to implement the deletion protection value specified in the `UpdateAccountSettings` API.", + "title": "DeletionProtectionCheck", + "type": "string" + }, + "Description": { + "markdownDescription": "A description of the environment.", + "title": "Description", + "type": "string" + }, + "Monitors": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Monitor" + }, + "markdownDescription": "Amazon CloudWatch alarms to monitor during the deployment process.", + "title": "Monitors", + "type": "array" + }, + "Name": { + "markdownDescription": "A name for the environment.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "The authorization scopes supported by this route.", - "title": "AuthorizationScopes", - "type": "array" - }, - "AuthorizationType": { - "markdownDescription": "The authorization type for the route. To learn more, see [AuthorizationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationtype) .", - "title": "AuthorizationType", - "type": "string" - }, - "AuthorizerId": { - "markdownDescription": "The identifier of the `Authorizer` resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", - "title": "AuthorizerId", - "type": "string" + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" }, - "OperationName": { - "markdownDescription": "The operation name for the route.", - "title": "OperationName", + "Type": { + "enum": [ + "AWS::AppConfig::Environment" + ], "type": "string" }, - "Target": { - "markdownDescription": "For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively.", - "title": "Target", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { - "additionalProperties": false, - "properties": { - "DetailedMetricsEnabled": { - "markdownDescription": "Specifies whether detailed metrics are enabled.", - "title": "DetailedMetricsEnabled", - "type": "boolean" - }, - "ThrottlingBurstLimit": { - "markdownDescription": "Specifies the throttling burst limit.", - "title": "ThrottlingBurstLimit", - "type": "number" - }, - "ThrottlingRateLimit": { - "markdownDescription": "Specifies the throttling rate limit.", - "title": "ThrottlingRateLimit", - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "AWS::AppConfig::Environment.Monitor": { "additionalProperties": false, "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings", - "markdownDescription": "Settings for logging access in a stage.", - "title": "AccessLogSettings" - }, - "AutoDeploy": { - "markdownDescription": "Specifies whether updates to an API automatically trigger a new deployment. The default value is `true` .", - "title": "AutoDeploy", - "type": "boolean" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings", - "markdownDescription": "The default route settings for the stage.", - "title": "DefaultRouteSettings" - }, - "Description": { - "markdownDescription": "The description for the API stage.", - "title": "Description", + "AlarmArn": { + "markdownDescription": "Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.", + "title": "AlarmArn", "type": "string" }, - "RouteSettings": { - "additionalProperties": false, - "markdownDescription": "Route settings for the stage.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" - } - }, - "title": "RouteSettings", - "type": "object" - }, - "StageVariables": { - "additionalProperties": true, - "markdownDescription": "A map that defines the stage variables for a `Stage` . Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "StageVariables", - "type": "object" + "AlarmRoleArn": { + "markdownDescription": "ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor `AlarmArn` .", + "title": "AlarmRoleArn", + "type": "string" } }, + "required": [ + "AlarmArn" + ], "type": "object" }, - "AWS::ApiGatewayV2::ApiMapping": { + "AWS::AppConfig::Extension": { "additionalProperties": false, "properties": { "Condition": { @@ -11454,37 +12374,55 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" + "Actions": { + "markdownDescription": "The actions defined in the extension.", + "title": "Actions", + "type": "object" }, - "ApiMappingKey": { - "markdownDescription": "The API mapping key.", - "title": "ApiMappingKey", + "Description": { + "markdownDescription": "Information about the extension.", + "title": "Description", "type": "string" }, - "DomainName": { - "markdownDescription": "The domain name.", - "title": "DomainName", - "type": "string" + "LatestVersionNumber": { + "markdownDescription": "You can omit this field when you create an extension. When you create a new version, specify the most recent current version number. For example, you create version 3, enter 2 for this field.", + "title": "LatestVersionNumber", + "type": "number" }, - "Stage": { - "markdownDescription": "The API stage.", - "title": "Stage", + "Name": { + "markdownDescription": "A name for the extension. Each extension name in your account must be unique. Extension versions use the same name.", + "title": "Name", "type": "string" + }, + "Parameters": { + "additionalProperties": false, + "markdownDescription": "The parameters accepted by the extension. You specify parameter values when you associate the extension to an AWS AppConfig resource by using the `CreateExtensionAssociation` API action. For AWS Lambda extension actions, these parameters are included in the Lambda request object.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" + } + }, + "title": "Parameters", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Adds one or more tags for the specified extension. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", + "type": "array" } }, "required": [ - "ApiId", - "DomainName", - "Stage" + "Actions", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::ApiMapping" + "AWS::AppConfig::Extension" ], "type": "string" }, @@ -11503,7 +12441,31 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Authorizer": { + "AWS::AppConfig::Extension.Parameter": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "Information about the parameter.", + "title": "Description", + "type": "string" + }, + "Dynamic": { + "markdownDescription": "Indicates whether this parameter's value can be supplied at the extension's action point instead of during extension association. Dynamic parameters can't be marked `Required` .", + "title": "Dynamic", + "type": "boolean" + }, + "Required": { + "markdownDescription": "A parameter value must be specified in the extension association.", + "title": "Required", + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::AppConfig::ExtensionAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -11538,75 +12500,46 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "AuthorizerCredentialsArn": { - "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for `REQUEST` authorizers.", - "title": "AuthorizerCredentialsArn", - "type": "string" - }, - "AuthorizerPayloadFormatVersion": { - "markdownDescription": "Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are `1.0` and `2.0` . To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .", - "title": "AuthorizerPayloadFormatVersion", + "ExtensionIdentifier": { + "markdownDescription": "The name, the ID, or the Amazon Resource Name (ARN) of the extension.", + "title": "ExtensionIdentifier", "type": "string" }, - "AuthorizerResultTtlInSeconds": { - "markdownDescription": "The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.", - "title": "AuthorizerResultTtlInSeconds", + "ExtensionVersionNumber": { + "markdownDescription": "The version number of the extension. If not specified, AWS AppConfig uses the maximum version of the extension.", + "title": "ExtensionVersionNumber", "type": "number" }, - "AuthorizerType": { - "markdownDescription": "The authorizer type. Specify `REQUEST` for a Lambda function using incoming request parameters. Specify `JWT` to use JSON Web Tokens (supported only for HTTP APIs).", - "title": "AuthorizerType", - "type": "string" + "Parameters": { + "additionalProperties": true, + "markdownDescription": "The parameter names and values defined in the extensions. Extension parameters marked `Required` must be entered for this field.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" }, - "AuthorizerUri": { - "markdownDescription": "The authorizer's Uniform Resource Identifier (URI). For `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2: *{account_id}* :function: *{lambda_function_name}* /invocations` . In general, the URI has this form: `arn:aws:apigateway: *{region}* :lambda:path/ *{service_api}*` , where *{region}* is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .", - "title": "AuthorizerUri", + "ResourceIdentifier": { + "markdownDescription": "The ARN of an application, configuration profile, or environment.", + "title": "ResourceIdentifier", "type": "string" }, - "EnableSimpleResponses": { - "markdownDescription": "Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .", - "title": "EnableSimpleResponses", - "type": "boolean" - }, - "IdentitySource": { + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The identity source for which authorization is requested.\n\nFor a `REQUEST` authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with `$` , for example, `$request.header.Auth` , `$request.querystring.Name` . These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) .\n\nFor `JWT` , a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example `$request.header.Authorization` .", - "title": "IdentitySource", + "markdownDescription": "Adds one or more tags for the specified extension association. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.", + "title": "Tags", "type": "array" - }, - "IdentityValidationExpression": { - "markdownDescription": "This parameter is not used.", - "title": "IdentityValidationExpression", - "type": "string" - }, - "JwtConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration", - "markdownDescription": "The `JWTConfiguration` property specifies the configuration of a JWT authorizer. Required for the `JWT` authorizer type. Supported only for HTTP APIs.", - "title": "JwtConfiguration" - }, - "Name": { - "markdownDescription": "The name of the authorizer.", - "title": "Name", - "type": "string" } }, - "required": [ - "ApiId", - "AuthorizerType", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::Authorizer" + "AWS::AppConfig::ExtensionAssociation" ], "type": "string" }, @@ -11620,31 +12553,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { - "additionalProperties": false, - "properties": { - "Audience": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the intended recipients of the JWT. A valid JWT must provide an `aud` that matches at least one entry in this list. See [RFC 7519](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc7519#section-4.1.3) . Required for the `JWT` authorizer type. Supported only for HTTP APIs.", - "title": "Audience", - "type": "array" - }, - "Issuer": { - "markdownDescription": "The base domain of the identity provider that issues JSON Web Tokens. For example, an Amazon Cognito user pool has the following format: `https://cognito-idp. {region} .amazonaws.com/ {userPoolId}` . Required for the `JWT` authorizer type. Supported only for HTTP APIs.", - "title": "Issuer", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Deployment": { + "AWS::AppConfig::HostedConfigurationVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -11679,30 +12592,53 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", + "ApplicationId": { + "markdownDescription": "The application ID.", + "title": "ApplicationId", + "type": "string" + }, + "ConfigurationProfileId": { + "markdownDescription": "The configuration profile ID.", + "title": "ConfigurationProfileId", + "type": "string" + }, + "Content": { + "markdownDescription": "The configuration data, as bytes.\n\n> AWS AppConfig accepts any type of data, including text formats like JSON or TOML, or binary formats like protocol buffers or compressed data.", + "title": "Content", + "type": "string" + }, + "ContentType": { + "markdownDescription": "A standard MIME type describing the format of the configuration content. For more information, see [Content-Type](https://docs.aws.amazon.com/https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17) .", + "title": "ContentType", "type": "string" }, "Description": { - "markdownDescription": "The description for the deployment resource.", + "markdownDescription": "A description of the configuration.\n\n> Due to HTTP limitations, this field only supports ASCII characters.", "title": "Description", "type": "string" }, - "StageName": { - "markdownDescription": "The name of an existing stage to associate with the deployment.", - "title": "StageName", + "LatestVersionNumber": { + "markdownDescription": "An optional locking token used to prevent race conditions from overwriting configuration updates when creating a new version. To ensure your data is not overwritten when creating multiple hosted configuration versions in rapid succession, specify the version number of the latest hosted configuration version.", + "title": "LatestVersionNumber", + "type": "number" + }, + "VersionLabel": { + "markdownDescription": "A user-defined label for an AWS AppConfig hosted configuration version.", + "title": "VersionLabel", "type": "string" } }, "required": [ - "ApiId" + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::Deployment" + "AWS::AppConfig::HostedConfigurationVersion" ], "type": "string" }, @@ -11721,7 +12657,7 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::DomainName": { + "AWS::AppFlow::Connector": { "additionalProperties": false, "properties": { "Condition": { @@ -11756,49 +12692,36 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore ( `_` ) character are not supported.", - "title": "DomainName", + "ConnectorLabel": { + "markdownDescription": "The label used for registering the connector.", + "title": "ConnectorLabel", "type": "string" }, - "DomainNameConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" - }, - "markdownDescription": "The domain name configurations.", - "title": "DomainNameConfigurations", - "type": "array" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication", - "markdownDescription": "The mutual TLS authentication configuration for a custom domain name.", - "title": "MutualTlsAuthentication" + "ConnectorProvisioningConfig": { + "$ref": "#/definitions/AWS::AppFlow::Connector.ConnectorProvisioningConfig", + "markdownDescription": "The configuration required for registering the connector.", + "title": "ConnectorProvisioningConfig" }, - "RoutingMode": { - "markdownDescription": "The routing mode API Gateway uses to route traffic to your APIs.", - "title": "RoutingMode", + "ConnectorProvisioningType": { + "markdownDescription": "The provisioning type used to register the connector.", + "title": "ConnectorProvisioningType", "type": "string" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The collection of tags associated with a domain name.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" + "Description": { + "markdownDescription": "A description about the connector runtime setting.", + "title": "Description", + "type": "string" } }, "required": [ - "DomainName" + "ConnectorProvisioningConfig", + "ConnectorProvisioningType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::DomainName" + "AWS::AppFlow::Connector" ], "type": "string" }, @@ -11817,59 +12740,32 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { + "AWS::AppFlow::Connector.ConnectorProvisioningConfig": { "additionalProperties": false, "properties": { - "CertificateArn": { - "markdownDescription": "An AWS -managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.", - "title": "CertificateArn", - "type": "string" - }, - "CertificateName": { - "markdownDescription": "The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.", - "title": "CertificateName", - "type": "string" - }, - "EndpointType": { - "markdownDescription": "The endpoint type.", - "title": "EndpointType", - "type": "string" - }, - "IpAddressType": { - "markdownDescription": "The IP address types that can invoke the domain name. Use `ipv4` to allow only IPv4 addresses to invoke your domain name, or use `dualstack` to allow both IPv4 and IPv6 addresses to invoke your domain name.", - "title": "IpAddressType", - "type": "string" - }, - "OwnershipVerificationCertificateArn": { - "markdownDescription": "The Amazon resource name (ARN) for the public certificate issued by Certificate Manager . This ARN is used to validate custom domain ownership. It's required only if you configure mutual TLS and use either an ACM-imported or a private CA certificate ARN as the regionalCertificateArn.", - "title": "OwnershipVerificationCertificateArn", - "type": "string" - }, - "SecurityPolicy": { - "markdownDescription": "The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are `TLS_1_0` and `TLS_1_2` .", - "title": "SecurityPolicy", - "type": "string" + "Lambda": { + "$ref": "#/definitions/AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig", + "markdownDescription": "Contains information about the configuration of the lambda which is being registered as the connector.", + "title": "Lambda" } }, "type": "object" }, - "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { + "AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig": { "additionalProperties": false, "properties": { - "TruststoreUri": { - "markdownDescription": "An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3:// bucket-name / key-name` . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.", - "title": "TruststoreUri", - "type": "string" - }, - "TruststoreVersion": { - "markdownDescription": "The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.", - "title": "TruststoreVersion", + "LambdaArn": { + "markdownDescription": "Lambda ARN of the connector being registered.", + "title": "LambdaArn", "type": "string" } }, + "required": [ + "LambdaArn" + ], "type": "object" }, - "AWS::ApiGatewayV2::Integration": { + "AWS::AppFlow::ConnectorProfile": { "additionalProperties": false, "properties": { "Condition": { @@ -11904,124 +12800,47 @@ "Properties": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "ConnectionId": { - "markdownDescription": "The ID of the VPC link for a private integration. Supported only for HTTP APIs.", - "title": "ConnectionId", + "ConnectionMode": { + "markdownDescription": "Indicates the connection mode and if it is public or private.", + "title": "ConnectionMode", "type": "string" }, - "ConnectionType": { - "markdownDescription": "The type of the network connection to the integration endpoint. Specify `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and resources in a VPC. The default value is `INTERNET` .", - "title": "ConnectionType", + "ConnectorLabel": { + "markdownDescription": "The label for the connector profile being created.", + "title": "ConnectorLabel", "type": "string" }, - "ContentHandlingStrategy": { - "markdownDescription": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\n`CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.\n\n`CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.\n\nIf this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", - "title": "ContentHandlingStrategy", - "type": "string" - }, - "CredentialsArn": { - "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::*:user/*` . To use resource-based permissions on supported AWS services, don't specify this parameter.", - "title": "CredentialsArn", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the integration.", - "title": "Description", - "type": "string" - }, - "IntegrationMethod": { - "markdownDescription": "Specifies the integration's HTTP method type. For WebSocket APIs, if you use a Lambda integration, you must set the integration method to `POST` .", - "title": "IntegrationMethod", - "type": "string" - }, - "IntegrationSubtype": { - "markdownDescription": "Supported only for HTTP API `AWS_PROXY` integrations. Specifies the AWS service action to invoke. To learn more, see [Integration subtype reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) .", - "title": "IntegrationSubtype", - "type": "string" - }, - "IntegrationType": { - "markdownDescription": "The integration type of an integration. One of the following:\n\n`AWS` : for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.\n\n`AWS_PROXY` : for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.\n\n`HTTP` : for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.\n\n`HTTP_PROXY` : for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an `HTTP_PROXY` integration.\n\n`MOCK` : for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.", - "title": "IntegrationType", - "type": "string" - }, - "IntegrationUri": { - "markdownDescription": "For a Lambda integration, specify the URI of a Lambda function.\n\nFor an HTTP integration, specify a fully-qualified URL.\n\nFor an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses `DiscoverInstances` to identify resources. You can use query parameters to target specific resources. To learn more, see [DiscoverInstances](https://docs.aws.amazon.com/cloud-map/latest/api/API_DiscoverInstances.html) . For private integrations, all resources must be owned by the same AWS account .", - "title": "IntegrationUri", - "type": "string" + "ConnectorProfileConfig": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig", + "markdownDescription": "Defines the connector-specific configuration and credentials.", + "title": "ConnectorProfileConfig" }, - "PassthroughBehavior": { - "markdownDescription": "Specifies the pass-through behavior for incoming requests based on the `Content-Type` header in the request, and the available mapping templates specified as the `requestTemplates` property on the `Integration` resource. There are three valid values: `WHEN_NO_MATCH` , `WHEN_NO_TEMPLATES` , and `NEVER` . Supported only for WebSocket APIs.\n\n`WHEN_NO_MATCH` passes the request body for unmapped content types through to the integration backend without transformation.\n\n`NEVER` rejects unmapped content types with an `HTTP 415 Unsupported Media Type` response.\n\n`WHEN_NO_TEMPLATES` allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same `HTTP 415 Unsupported Media Type` response.", - "title": "PassthroughBehavior", + "ConnectorProfileName": { + "markdownDescription": "The name of the connector profile. The name is unique for each `ConnectorProfile` in the AWS account .", + "title": "ConnectorProfileName", "type": "string" }, - "PayloadFormatVersion": { - "markdownDescription": "Specifies the format of the payload sent to an integration. Required for HTTP APIs. For HTTP APIs, supported values for Lambda proxy integrations are `1.0` and `2.0` . For all other integrations, `1.0` is the only supported value. To learn more, see [Working with AWS Lambda proxy integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html) .", - "title": "PayloadFormatVersion", + "ConnectorType": { + "markdownDescription": "The type of connector, such as Salesforce, Amplitude, and so on.", + "title": "ConnectorType", "type": "string" }, - "RequestParameters": { - "additionalProperties": true, - "markdownDescription": "For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of `method.request. {location} . {name}` , where `{location}` is `querystring` , `path` , or `header` ; and `{name}` must be a valid and unique method request parameter name.\n\nFor HTTP API integrations with a specified `integrationSubtype` , request parameters are a key-value map specifying parameters that are passed to `AWS_PROXY` integrations. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Working with AWS service integrations for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html) .\n\nFor HTTP API integrations without a specified `integrationSubtype` request parameters are a key-value map specifying how to transform HTTP requests before sending them to the backend. The key should follow the pattern :. where action can be `append` , `overwrite` or `remove` . For values, you can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "RequestParameters", - "type": "object" - }, - "RequestTemplates": { - "additionalProperties": true, - "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "RequestTemplates", - "type": "object" - }, - "ResponseParameters": { - "additionalProperties": false, - "markdownDescription": "Supported only for HTTP APIs. You use response parameters to transform the HTTP response from a backend integration before returning the response to clients. Specify a key-value map from a selection key to response parameters. The selection key must be a valid HTTP status code within the range of 200-599. The value is of type [`ResponseParameterList`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-integration-responseparameterlist.html) . To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameterMap" - } - }, - "title": "ResponseParameters", - "type": "object" - }, - "TemplateSelectionExpression": { - "markdownDescription": "The template selection expression for the integration. Supported only for WebSocket APIs.", - "title": "TemplateSelectionExpression", + "KMSArn": { + "markdownDescription": "The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.", + "title": "KMSArn", "type": "string" - }, - "TimeoutInMillis": { - "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.", - "title": "TimeoutInMillis", - "type": "number" - }, - "TlsConfig": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig", - "markdownDescription": "The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.", - "title": "TlsConfig" } }, "required": [ - "ApiId", - "IntegrationType" + "ConnectionMode", + "ConnectorProfileName", + "ConnectorType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ApiGatewayV2::Integration" + "AWS::AppFlow::ConnectorProfile" ], "type": "string" }, @@ -12040,1262 +12859,1142 @@ ], "type": "object" }, - "AWS::ApiGatewayV2::Integration.ResponseParameter": { + "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Destination": { - "markdownDescription": "Specifies the location of the response to modify, and how to modify it. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", - "title": "Destination", + "ApiKey": { + "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", + "title": "ApiKey", "type": "string" }, - "Source": { - "markdownDescription": "Specifies the data to update the parameter with. To learn more, see [Transforming API requests and responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) .", - "title": "Source", + "SecretKey": { + "markdownDescription": "The Secret Access Key portion of the credentials.", + "title": "SecretKey", "type": "string" } }, + "required": [ + "ApiKey", + "SecretKey" + ], "type": "object" }, - "AWS::ApiGatewayV2::Integration.ResponseParameterMap": { + "AWS::AppFlow::ConnectorProfile.ApiKeyCredentials": { "additionalProperties": false, "properties": { - "ResponseParameters": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" - }, - "markdownDescription": "", - "title": "ResponseParameters", - "type": "array" + "ApiKey": { + "markdownDescription": "The API key required for API key authentication.", + "title": "ApiKey", + "type": "string" + }, + "ApiSecretKey": { + "markdownDescription": "The API secret key required for API key authentication.", + "title": "ApiSecretKey", + "type": "string" } }, + "required": [ + "ApiKey" + ], "type": "object" }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { + "AWS::AppFlow::ConnectorProfile.BasicAuthCredentials": { "additionalProperties": false, "properties": { - "ServerNameToVerify": { - "markdownDescription": "If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.", - "title": "ServerNameToVerify", + "Password": { + "markdownDescription": "The password to use to connect to a resource.", + "title": "Password", + "type": "string" + }, + "Username": { + "markdownDescription": "The username to use to connect to a resource.", + "title": "Username", "type": "string" } }, + "required": [ + "Password", + "Username" + ], "type": "object" }, - "AWS::ApiGatewayV2::IntegrationResponse": { + "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AuthCode": { + "markdownDescription": "The code provided by the connector when it has been authenticated via the connected app.", + "title": "AuthCode", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "ContentHandlingStrategy": { - "markdownDescription": "Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT` , with the following behaviors:\n\n`CONVERT_TO_BINARY` : Converts a response payload from a Base64-encoded string to the corresponding binary blob.\n\n`CONVERT_TO_TEXT` : Converts a response payload from a binary blob to a Base64-encoded string.\n\nIf this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.", - "title": "ContentHandlingStrategy", - "type": "string" - }, - "IntegrationId": { - "markdownDescription": "The integration ID.", - "title": "IntegrationId", - "type": "string" - }, - "IntegrationResponseKey": { - "markdownDescription": "The integration response key.", - "title": "IntegrationResponseKey", - "type": "string" - }, - "ResponseParameters": { - "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of `method.response.header. *{name}*` , where name is a valid and unique header name. The mapped non-static value must match the pattern of `integration.response.header. *{name}*` or `integration.response.body. *{JSON-expression}*` , where `*{name}*` is a valid and unique response header name and `*{JSON-expression}*` is a valid JSON expression without the `$` prefix.", - "title": "ResponseParameters", - "type": "object" - }, - "ResponseTemplates": { - "markdownDescription": "The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", - "title": "ResponseTemplates", - "type": "object" - }, - "TemplateSelectionExpression": { - "markdownDescription": "The template selection expression for the integration response. Supported only for WebSocket APIs.", - "title": "TemplateSelectionExpression", - "type": "string" - } - }, - "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" - ], + "RedirectUri": { + "markdownDescription": "The URL to which the authentication server redirects the browser after authorization has been granted.", + "title": "RedirectUri", "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required by each connector.", + "title": "ConnectorProfileCredentials" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ConnectorProfileProperties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties", + "markdownDescription": "The connector-specific properties of the profile configuration.", + "title": "ConnectorProfileProperties" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ApiGatewayV2::Model": { + "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Amplitude.", + "title": "Amplitude" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "CustomConnector": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials", + "markdownDescription": "The connector-specific profile credentials that are required when using the custom connector.", + "title": "CustomConnector" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Datadog.", + "title": "Datadog" }, - "Metadata": { - "type": "object" + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Dynatrace.", + "title": "Dynatrace" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "ContentType": { - "markdownDescription": "The content-type for the model, for example, \"application/json\".", - "title": "ContentType", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the model.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the model.", - "title": "Name", - "type": "string" - }, - "Schema": { - "markdownDescription": "The schema for the model. For application/json models, this should be JSON schema draft 4 model.", - "title": "Schema", - "type": "object" - } - }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Google Analytics.", + "title": "GoogleAnalytics" }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], - "type": "string" + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Infor Nexus.", + "title": "InforNexus" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Marketo.", + "title": "Marketo" + }, + "Pardot": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Salesforce Pardot.", + "title": "Pardot" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Amazon Redshift.", + "title": "Redshift" + }, + "SAPOData": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials", + "markdownDescription": "The connector-specific profile credentials required when using SAPOData.", + "title": "SAPOData" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Salesforce.", + "title": "Salesforce" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using ServiceNow.", + "title": "ServiceNow" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Singular.", + "title": "Singular" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Slack.", + "title": "Slack" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Snowflake.", + "title": "Snowflake" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Trend Micro.", + "title": "Trendmicro" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Veeva.", + "title": "Veeva" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials", + "markdownDescription": "The connector-specific credentials required when using Zendesk.", + "title": "Zendesk" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ApiGatewayV2::PortalProduct": { + "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "CustomConnector": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties", + "markdownDescription": "The properties required by the custom connector.", + "title": "CustomConnector" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Datadog.", + "title": "Datadog" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Dynatrace.", + "title": "Dynatrace" }, - "Metadata": { - "type": "object" + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Infor Nexus.", + "title": "InforNexus" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisplayName": { + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Marketo.", + "title": "Marketo" + }, + "Pardot": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Salesforce Pardot.", + "title": "Pardot" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Amazon Redshift.", + "title": "Redshift" + }, + "SAPOData": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties", + "markdownDescription": "The connector-specific profile properties required when using SAPOData.", + "title": "SAPOData" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Salesforce.", + "title": "Salesforce" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by serviceNow.", + "title": "ServiceNow" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Slack.", + "title": "Slack" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Snowflake.", + "title": "Snowflake" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Veeva.", + "title": "Veeva" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties", + "markdownDescription": "The connector-specific properties required by Zendesk.", + "title": "Zendesk" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.CustomAuthCredentials": { + "additionalProperties": false, + "properties": { + "CredentialsMap": { + "additionalProperties": true, + "markdownDescription": "A map that holds custom authentication credentials.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "DisplayName" - ], + "title": "CredentialsMap", "type": "object" }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::PortalProduct" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CustomAuthenticationType": { + "markdownDescription": "The custom authentication type that the connector uses.", + "title": "CustomAuthenticationType", "type": "string" } }, "required": [ - "Type", - "Properties" + "CustomAuthenticationType" ], "type": "object" }, - "AWS::ApiGatewayV2::Route": { + "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "ApiKey": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ApiKeyCredentials", + "markdownDescription": "The API keys required for the authentication of the user.", + "title": "ApiKey" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AuthenticationType": { + "markdownDescription": "The authentication type that the custom connector uses for authenticating while creating a connector profile.", + "title": "AuthenticationType", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "ApiKeyRequired": { - "markdownDescription": "Specifies whether an API key is required for the route. Supported only for WebSocket APIs.", - "title": "ApiKeyRequired", - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "The authorization scopes supported by this route.", - "title": "AuthorizationScopes", - "type": "array" - }, - "AuthorizationType": { - "markdownDescription": "The authorization type for the route. For WebSocket APIs, valid values are `NONE` for open access, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer. For HTTP APIs, valid values are `NONE` for open access, `JWT` for using JSON Web Tokens, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.", - "title": "AuthorizationType", - "type": "string" - }, - "AuthorizerId": { - "markdownDescription": "The identifier of the `Authorizer` resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.", - "title": "AuthorizerId", - "type": "string" - }, - "ModelSelectionExpression": { - "markdownDescription": "The model selection expression for the route. Supported only for WebSocket APIs.", - "title": "ModelSelectionExpression", - "type": "string" - }, - "OperationName": { - "markdownDescription": "The operation name for the route.", - "title": "OperationName", - "type": "string" - }, - "RequestModels": { - "markdownDescription": "The request models for the route. Supported only for WebSocket APIs.", - "title": "RequestModels", - "type": "object" - }, - "RequestParameters": { - "markdownDescription": "The request parameters for the route. Supported only for WebSocket APIs.", - "title": "RequestParameters", - "type": "object" - }, - "RouteKey": { - "markdownDescription": "The route key for the route. For HTTP APIs, the route key can be either `$default` , or a combination of an HTTP method and resource path, for example, `GET /pets` .", - "title": "RouteKey", - "type": "string" - }, - "RouteResponseSelectionExpression": { - "markdownDescription": "The route response selection expression for the route. Supported only for WebSocket APIs.", - "title": "RouteResponseSelectionExpression", - "type": "string" - }, - "Target": { - "markdownDescription": "The target for the route.", - "title": "Target", - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" + "Basic": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials", + "markdownDescription": "The basic credentials that are required for the authentication of the user.", + "title": "Basic" }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" + "Custom": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomAuthCredentials", + "markdownDescription": "If the connector uses the custom authentication mechanism, this holds the required credentials.", + "title": "Custom" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Oauth2": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Credentials", + "markdownDescription": "The OAuth 2.0 credentials required for the authentication of the user.", + "title": "Oauth2" } }, "required": [ - "Type", - "Properties" + "AuthenticationType" ], "type": "object" }, - "AWS::ApiGatewayV2::RouteResponse": { + "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "OAuth2Properties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Properties", + "markdownDescription": "The OAuth 2.0 properties required for OAuth 2.0 authentication.", + "title": "OAuth2Properties" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "ModelSelectionExpression": { - "markdownDescription": "The model selection expression for the route response. Supported only for WebSocket APIs.", - "title": "ModelSelectionExpression", - "type": "string" - }, - "ResponseModels": { - "markdownDescription": "The response models for the route response.", - "title": "ResponseModels", - "type": "object" - }, - "ResponseParameters": { - "additionalProperties": false, - "markdownDescription": "The route response parameters.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse.ParameterConstraints" - } - }, - "title": "ResponseParameters", - "type": "object" - }, - "RouteId": { - "markdownDescription": "The route ID.", - "title": "RouteId", - "type": "string" - }, - "RouteResponseKey": { - "markdownDescription": "The route response key.", - "title": "RouteResponseKey", + "ProfileProperties": { + "additionalProperties": true, + "markdownDescription": "A map of properties that are required to create a profile for the custom connector.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "ApiId", - "RouteId", - "RouteResponseKey" - ], + "title": "ProfileProperties", "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::RouteResponse" - ], + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", + "title": "ApiKey", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ApplicationKey": { + "markdownDescription": "Application keys, in conjunction with your API key, give you full access to Datadog\u2019s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.", + "title": "ApplicationKey", "type": "string" } }, "required": [ - "Type", - "Properties" + "ApiKey", + "ApplicationKey" ], "type": "object" }, - "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { "additionalProperties": false, "properties": { - "Required": { - "markdownDescription": "Specifies whether the parameter is required.", - "title": "Required", - "type": "boolean" + "InstanceUrl": { + "markdownDescription": "The location of the Datadog resource.", + "title": "InstanceUrl", + "type": "string" } }, "required": [ - "Required" + "InstanceUrl" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule": { + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.Action" - }, - "markdownDescription": "The resulting action based on matching a routing rules condition. Only InvokeApi is supported.", - "title": "Actions", - "type": "array" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.Condition" - }, - "markdownDescription": "The conditions of the routing rule.", - "title": "Conditions", - "type": "array" - }, - "DomainNameArn": { - "markdownDescription": "The ARN of the domain name.", - "title": "DomainNameArn", - "type": "string" - }, - "Priority": { - "markdownDescription": "The order in which API Gateway evaluates a rule. Priority is evaluated from the lowest value to the highest value. Rules can't have the same priority. Priority values 1-1,000,000 are supported.", - "title": "Priority", - "type": "number" - } - }, - "required": [ - "Actions", - "Conditions", - "DomainNameArn", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::RoutingRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ApiToken": { + "markdownDescription": "The API tokens used by Dynatrace API to authenticate various API calls.", + "title": "ApiToken", "type": "string" } }, "required": [ - "Type", - "Properties" + "ApiToken" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.Action": { + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { "additionalProperties": false, "properties": { - "InvokeApi": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.ActionInvokeApi", - "markdownDescription": "Represents an InvokeApi action.", - "title": "InvokeApi" + "InstanceUrl": { + "markdownDescription": "The location of the Dynatrace resource.", + "title": "InstanceUrl", + "type": "string" } }, "required": [ - "InvokeApi" + "InstanceUrl" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.ActionInvokeApi": { + "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "ApiId": { - "markdownDescription": "The API identifier of the target API.", - "title": "ApiId", + "AccessToken": { + "markdownDescription": "The credentials used to access protected Google Analytics resources.", + "title": "AccessToken", "type": "string" }, - "Stage": { - "markdownDescription": "The name of the target stage.", - "title": "Stage", + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", "type": "string" }, - "StripBasePath": { - "markdownDescription": "The strip base path setting. When true, API Gateway strips the incoming matched base path when forwarding the request to the target API.", - "title": "StripBasePath", - "type": "boolean" + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" + }, + "RefreshToken": { + "markdownDescription": "The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.", + "title": "RefreshToken", + "type": "string" } }, "required": [ - "ApiId", - "Stage" + "ClientId", + "ClientSecret" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.Condition": { + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "MatchBasePaths": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchBasePaths", - "markdownDescription": "The base path to be matched.", - "title": "MatchBasePaths" + "AccessKeyId": { + "markdownDescription": "The Access Key portion of the credentials.", + "title": "AccessKeyId", + "type": "string" }, - "MatchHeaders": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchHeaders", - "markdownDescription": "The headers to be matched.", - "title": "MatchHeaders" + "Datakey": { + "markdownDescription": "The encryption keys used to encrypt data.", + "title": "Datakey", + "type": "string" + }, + "SecretAccessKey": { + "markdownDescription": "The secret key used to sign requests.", + "title": "SecretAccessKey", + "type": "string" + }, + "UserId": { + "markdownDescription": "The identifier for the user.", + "title": "UserId", + "type": "string" } }, + "required": [ + "AccessKeyId", + "Datakey", + "SecretAccessKey", + "UserId" + ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.MatchBasePaths": { + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { "additionalProperties": false, "properties": { - "AnyOf": { - "items": { - "type": "string" - }, - "markdownDescription": "The string of the case sensitive base path to be matched.", - "title": "AnyOf", - "type": "array" + "InstanceUrl": { + "markdownDescription": "The location of the Infor Nexus resource.", + "title": "InstanceUrl", + "type": "string" } }, "required": [ - "AnyOf" + "InstanceUrl" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.MatchHeaderValue": { + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Header": { - "markdownDescription": "The case insensitive header name to be matched. The header name must be less than 40 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~.` .", - "title": "Header", + "AccessToken": { + "markdownDescription": "The credentials used to access protected Marketo resources.", + "title": "AccessToken", "type": "string" }, - "ValueGlob": { - "markdownDescription": "The case sensitive header glob value to be matched against entire header value. The header glob value must be less than 128 characters and the only allowed characters are `a-z` , `A-Z` , `0-9` , and the following special characters: `*?-!#$%&'.^_`|~` . Wildcard matching is supported for header glob values but must be for `*prefix-match` , `suffix-match*` , or `*infix*-match` .", - "title": "ValueGlob", - "type": "string" - } + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", + "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" + } }, "required": [ - "Header", - "ValueGlob" + "ClientId", + "ClientSecret" ], "type": "object" }, - "AWS::ApiGatewayV2::RoutingRule.MatchHeaders": { + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { "additionalProperties": false, "properties": { - "AnyOf": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::RoutingRule.MatchHeaderValue" - }, - "markdownDescription": "The header name and header value glob to be matched. The matchHeaders condition is matched if any of the header name and header value globs are matched.", - "title": "AnyOf", - "type": "array" + "InstanceUrl": { + "markdownDescription": "The location of the Marketo resource.", + "title": "InstanceUrl", + "type": "string" } }, "required": [ - "AnyOf" + "InstanceUrl" ], "type": "object" }, - "AWS::ApiGatewayV2::Stage": { + "AWS::AppFlow::ConnectorProfile.OAuth2Credentials": { "additionalProperties": false, "properties": { - "Condition": { + "AccessToken": { + "markdownDescription": "The access token used to access the connector on your behalf.", + "title": "AccessToken", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" }, - "Metadata": { - "type": "object" + "OAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "", + "title": "OAuthRequest" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings", - "markdownDescription": "Settings for logging access in this stage.", - "title": "AccessLogSettings" - }, - "ApiId": { - "markdownDescription": "The API identifier.", - "title": "ApiId", - "type": "string" - }, - "AutoDeploy": { - "markdownDescription": "Specifies whether updates to an API automatically trigger a new deployment. The default value is `false` .", - "title": "AutoDeploy", - "type": "boolean" - }, - "ClientCertificateId": { - "markdownDescription": "The identifier of a client certificate for a `Stage` . Supported only for WebSocket APIs.", - "title": "ClientCertificateId", - "type": "string" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings", - "markdownDescription": "The default route settings for the stage.", - "title": "DefaultRouteSettings" - }, - "DeploymentId": { - "markdownDescription": "The deployment identifier for the API stage. Can't be updated if `autoDeploy` is enabled.", - "title": "DeploymentId", - "type": "string" - }, - "Description": { - "markdownDescription": "The description for the API stage.", - "title": "Description", - "type": "string" - }, - "RouteSettings": { - "markdownDescription": "Route settings for the stage.", - "title": "RouteSettings", - "type": "object" - }, - "StageName": { - "markdownDescription": "The stage name. Stage names can contain only alphanumeric characters, hyphens, and underscores, or be `$default` . Maximum length is 128 characters.", - "title": "StageName", + "RefreshToken": { + "markdownDescription": "The refresh token used to refresh an expired access token.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.OAuth2Properties": { + "additionalProperties": false, + "properties": { + "OAuth2GrantType": { + "markdownDescription": "The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.", + "title": "OAuth2GrantType", + "type": "string" + }, + "TokenUrl": { + "markdownDescription": "The token URL required for OAuth 2.0 authentication.", + "title": "TokenUrl", + "type": "string" + }, + "TokenUrlCustomProperties": { + "additionalProperties": true, + "markdownDescription": "Associates your token URL with a map of properties that you define. Use this parameter to provide any additional details that the connector requires to authenticate your request.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "StageVariables": { - "markdownDescription": "A map that defines the stage variables for a `Stage` . Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.", - "title": "StageVariables", - "type": "object" - }, - "Tags": { - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "title": "Tags", - "type": "object" } }, - "required": [ - "ApiId", - "StageName" - ], + "title": "TokenUrlCustomProperties", "type": "object" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.OAuthCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "The access token used to access protected SAPOData resources.", + "title": "AccessToken", + "type": "string" }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Stage" - ], + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "", + "title": "ConnectorOAuthRequest" + }, + "RefreshToken": { + "markdownDescription": "The refresh token used to refresh expired access token.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.OAuthProperties": { + "additionalProperties": false, + "properties": { + "AuthCodeUrl": { + "markdownDescription": "The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type authentication.", + "title": "AuthCodeUrl", + "type": "string" + }, + "OAuthScopes": { + "items": { + "type": "string" + }, + "markdownDescription": "The OAuth scopes required for OAuth type authentication.", + "title": "OAuthScopes", + "type": "array" + }, + "TokenUrl": { + "markdownDescription": "The token url required to fetch access/refresh tokens using authorization code and also to refresh expired access token using refresh token.", + "title": "TokenUrl", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "The credentials used to access protected Salesforce Pardot resources.", + "title": "AccessToken", + "type": "string" + }, + "ClientCredentialsArn": { + "markdownDescription": "The secret manager ARN, which contains the client ID and client secret of the connected app.", + "title": "ClientCredentialsArn", + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "", + "title": "ConnectorOAuthRequest" + }, + "RefreshToken": { + "markdownDescription": "The credentials used to acquire new access tokens.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "BusinessUnitId": { + "markdownDescription": "The business unit id of Salesforce Pardot instance.", + "title": "BusinessUnitId", + "type": "string" + }, + "InstanceUrl": { + "markdownDescription": "The location of the Salesforce Pardot resource.", + "title": "InstanceUrl", "type": "string" + }, + "IsSandboxEnvironment": { + "markdownDescription": "Indicates whether the connector profile applies to a sandbox or production environment.", + "title": "IsSandboxEnvironment", + "type": "boolean" } }, "required": [ - "Type", - "Properties" + "BusinessUnitId" ], "type": "object" }, - "AWS::ApiGatewayV2::Stage.AccessLogSettings": { + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "DestinationArn": { - "markdownDescription": "The ARN of the CloudWatch Logs log group to receive access logs. This parameter is required to enable access logging.", - "title": "DestinationArn", + "Password": { + "markdownDescription": "The password that corresponds to the user name.", + "title": "Password", "type": "string" }, - "Format": { - "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. This parameter is required to enable access logging.", - "title": "Format", + "Username": { + "markdownDescription": "The name of the user.", + "title": "Username", "type": "string" } }, "type": "object" }, - "AWS::ApiGatewayV2::Stage.RouteSettings": { + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { "additionalProperties": false, "properties": { - "DataTraceEnabled": { - "markdownDescription": "Specifies whether ( `true` ) or not ( `false` ) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", - "title": "DataTraceEnabled", + "BucketName": { + "markdownDescription": "A name for the associated Amazon S3 bucket.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", + "title": "BucketPrefix", + "type": "string" + }, + "ClusterIdentifier": { + "markdownDescription": "The unique ID that's assigned to an Amazon Redshift cluster.", + "title": "ClusterIdentifier", + "type": "string" + }, + "DataApiRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that permits Amazon AppFlow to access your Amazon Redshift database through the Data API. For more information, and for the polices that you attach to this role, see [Allow Amazon AppFlow to access Amazon Redshift databases with the Data API](https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#access-redshift) .", + "title": "DataApiRoleArn", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "The name of an Amazon Redshift database.", + "title": "DatabaseName", + "type": "string" + }, + "DatabaseUrl": { + "markdownDescription": "The JDBC URL of the Amazon Redshift cluster.", + "title": "DatabaseUrl", + "type": "string" + }, + "IsRedshiftServerless": { + "markdownDescription": "Indicates whether the connector profile defines a connection to an Amazon Redshift Serverless data warehouse.", + "title": "IsRedshiftServerless", "type": "boolean" }, - "DetailedMetricsEnabled": { - "markdownDescription": "Specifies whether detailed metrics are enabled.", - "title": "DetailedMetricsEnabled", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift read-only access to Amazon S3. For more information, and for the polices that you attach to this role, see [Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3](https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#redshift-access-s3) .", + "title": "RoleArn", + "type": "string" + }, + "WorkgroupName": { + "markdownDescription": "The name of an Amazon Redshift workgroup.", + "title": "WorkgroupName", + "type": "string" + } + }, + "required": [ + "BucketName", + "RoleArn" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "BasicAuthCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials", + "markdownDescription": "The SAPOData basic authentication credentials.", + "title": "BasicAuthCredentials" + }, + "OAuthCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthCredentials", + "markdownDescription": "The SAPOData OAuth type authentication credentials.", + "title": "OAuthCredentials" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "ApplicationHostUrl": { + "markdownDescription": "The location of the SAPOData resource.", + "title": "ApplicationHostUrl", + "type": "string" + }, + "ApplicationServicePath": { + "markdownDescription": "The application path to catalog service.", + "title": "ApplicationServicePath", + "type": "string" + }, + "ClientNumber": { + "markdownDescription": "The client number for the client creating the connection.", + "title": "ClientNumber", + "type": "string" + }, + "DisableSSO": { + "markdownDescription": "If you set this parameter to `true` , Amazon AppFlow bypasses the single sign-on (SSO) settings in your SAP account when it accesses your SAP OData instance.\n\nWhether you need this option depends on the types of credentials that you applied to your SAP OData connection profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from connecting to your account with your username and password. In this case, bypassing SSO makes it possible for Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no affect.", + "title": "DisableSSO", "type": "boolean" }, - "LoggingLevel": { - "markdownDescription": "Specifies the logging level for this route: `INFO` , `ERROR` , or `OFF` . This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.", - "title": "LoggingLevel", + "LogonLanguage": { + "markdownDescription": "The logon language of SAPOData instance.", + "title": "LogonLanguage", "type": "string" }, - "ThrottlingBurstLimit": { - "markdownDescription": "Specifies the throttling burst limit.", - "title": "ThrottlingBurstLimit", - "type": "number" + "OAuthProperties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthProperties", + "markdownDescription": "The SAPOData OAuth properties required for OAuth type authentication.", + "title": "OAuthProperties" }, - "ThrottlingRateLimit": { - "markdownDescription": "Specifies the throttling rate limit.", - "title": "ThrottlingRateLimit", + "PortNumber": { + "markdownDescription": "The port number of the SAPOData instance.", + "title": "PortNumber", "type": "number" + }, + "PrivateLinkServiceName": { + "markdownDescription": "The SAPOData Private Link service name to be used for private data transfers.", + "title": "PrivateLinkServiceName", + "type": "string" } }, "type": "object" }, - "AWS::ApiGatewayV2::VpcLink": { + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Condition": { + "AccessToken": { + "markdownDescription": "The credentials used to access protected Salesforce resources.", + "title": "AccessToken", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ClientCredentialsArn": { + "markdownDescription": "The secret manager ARN, which contains the client ID and client secret of the connected app.", + "title": "ClientCredentialsArn", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" }, - "Metadata": { - "type": "object" + "JwtToken": { + "markdownDescription": "A JSON web token (JWT) that authorizes Amazon AppFlow to access your Salesforce records.", + "title": "JwtToken", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the VPC link.", - "title": "Name", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of security group IDs for the VPC link.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of subnet IDs to include in the VPC link.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "Name", - "SubnetIds" - ], - "type": "object" + "OAuth2GrantType": { + "markdownDescription": "Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests an access token from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your Salesforce records.\n\nYou can specify one of the following values:\n\n- **AUTHORIZATION_CODE** - Amazon AppFlow passes an authorization code when it requests the access token from Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in to your Salesforce account and authorize Amazon AppFlow to access your records.\n- **JWT_BEARER** - Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to your Salesforce account. When you use this grant type, you don't need to log in to your Salesforce account to authorize Amazon AppFlow to access your records.\n\n> The CLIENT_CREDENTIALS value is not supported for Salesforce.", + "title": "OAuth2GrantType", + "type": "string" }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::VpcLink" - ], + "RefreshToken": { + "markdownDescription": "The credentials used to acquire new access tokens.", + "title": "RefreshToken", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "markdownDescription": "The location of the Salesforce resource.", + "title": "InstanceUrl", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "isSandboxEnvironment": { + "markdownDescription": "Indicates whether the connector profile applies to a sandbox or production environment.", + "title": "isSandboxEnvironment", + "type": "boolean" + }, + "usePrivateLinkForMetadataAndAuthorization": { + "markdownDescription": "If the connection mode for the connector profile is private, this parameter sets whether Amazon AppFlow uses the private network to send metadata and authorization calls to Salesforce. Amazon AppFlow sends private calls through AWS PrivateLink . These calls travel through AWS infrastructure without being exposed to the public internet.\n\nSet either of the following values:\n\n- **true** - Amazon AppFlow sends all calls to Salesforce over the private network.\n\nThese private calls are:\n\n- Calls to get metadata about your Salesforce records. This metadata describes your Salesforce objects and their fields.\n- Calls to get or refresh access tokens that allow Amazon AppFlow to access your Salesforce records.\n- Calls to transfer your Salesforce records as part of a flow run.\n- **false** - The default value. Amazon AppFlow sends some calls to Salesforce privately and other calls over the public internet.\n\nThe public calls are:\n\n- Calls to get metadata about your Salesforce records.\n- Calls to get or refresh access tokens.\n\nThe private calls are:\n\n- Calls to transfer your Salesforce records as part of a flow run.", + "title": "usePrivateLinkForMetadataAndAuthorization", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "OAuth2Credentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Credentials", + "markdownDescription": "The OAuth 2.0 credentials required to authenticate the user.", + "title": "OAuth2Credentials" + }, + "Password": { + "markdownDescription": "The password that corresponds to the user name.", + "title": "Password", + "type": "string" + }, + "Username": { + "markdownDescription": "The name of the user.", + "title": "Username", + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "markdownDescription": "The location of the ServiceNow resource.", + "title": "InstanceUrl", "type": "string" } }, "required": [ - "Type", - "Properties" + "InstanceUrl" ], "type": "object" }, - "AWS::AppConfig::Application": { + "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Condition": { + "ApiKey": { + "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", + "title": "ApiKey", "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "required": [ + "ApiKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "The credentials used to access protected Slack resources.", + "title": "AccessToken", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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 application.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the application.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Application.Tags" - }, - "markdownDescription": "Metadata to assign to the application. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" + "ClientId": { + "markdownDescription": "The identifier for the client.", + "title": "ClientId", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AppConfig::Application" - ], + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "markdownDescription": "The location of the Slack resource.", + "title": "InstanceUrl", "type": "string" } }, "required": [ - "Type", - "Properties" + "InstanceUrl" ], "type": "object" }, - "AWS::AppConfig::Application.Tags": { + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key-value string map. The valid character set is `[a-zA-Z+-=._:/]` . The tag key can be up to 128 characters and must not start with `aws:` .", - "title": "Key", + "Password": { + "markdownDescription": "The password that corresponds to the user name.", + "title": "Password", "type": "string" }, - "Value": { - "markdownDescription": "The tag value can be up to 256 characters.", - "title": "Value", + "Username": { + "markdownDescription": "The name of the user.", + "title": "Username", "type": "string" } }, "required": [ - "Key", - "Value" + "Password", + "Username" ], "type": "object" }, - "AWS::AppConfig::ConfigurationProfile": { + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { "additionalProperties": false, "properties": { - "Condition": { + "AccountName": { + "markdownDescription": "The name of the account.", + "title": "AccountName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket associated with Snowflake.", + "title": "BucketName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "BucketPrefix": { + "markdownDescription": "The bucket path that refers to the Amazon S3 bucket associated with Snowflake.", + "title": "BucketPrefix", + "type": "string" }, - "Metadata": { - "type": "object" + "PrivateLinkServiceName": { + "markdownDescription": "The Snowflake Private Link service name to be used for private data transfers.", + "title": "PrivateLinkServiceName", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "markdownDescription": "The application ID.", - "title": "ApplicationId", - "type": "string" - }, - "DeletionProtectionCheck": { - "markdownDescription": "A parameter to configure deletion protection. Deletion protection prevents a user from deleting a configuration profile if your application has called either [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) or [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) for the configuration profile during the specified interval.\n\nThis parameter supports the following values:\n\n- `BYPASS` : Instructs AWS AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.\n- `APPLY` : Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. `APPLY` also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.\n- `ACCOUNT_DEFAULT` : The default setting, which instructs AWS AppConfig to implement the deletion protection value specified in the `UpdateAccountSettings` API.", - "title": "DeletionProtectionCheck", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the configuration profile.", - "title": "Description", - "type": "string" - }, - "KmsKeyIdentifier": { - "markdownDescription": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.", - "title": "KmsKeyIdentifier", - "type": "string" - }, - "LocationUri": { - "markdownDescription": "A URI to locate the configuration. You can specify the following:\n\n- For the AWS AppConfig hosted configuration store and for feature flags, specify `hosted` .\n- For an AWS Systems Manager Parameter Store parameter, specify either the parameter name in the format `ssm-parameter://` or the ARN.\n- For an AWS CodePipeline pipeline, specify the URI in the following format: `codepipeline` ://.\n- For an AWS Secrets Manager secret, specify the URI in the following format: `secretsmanager` ://.\n- For an Amazon S3 object, specify the URI in the following format: `s3:///` . Here is an example: `s3://amzn-s3-demo-bucket/my-app/us-east-1/my-config.json`\n- For an SSM document, specify either the document name in the format `ssm-document://` or the Amazon Resource Name (ARN).", - "title": "LocationUri", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the configuration profile.", - "title": "Name", - "type": "string" - }, - "RetrievalRoleArn": { - "markdownDescription": "The ARN of an IAM role with permission to access the configuration at the specified `LocationUri` .\n\n> A retrieval role ARN is not required for configurations stored in AWS CodePipeline or the AWS AppConfig hosted configuration store. It is required for all other sources that store your configuration.", - "title": "RetrievalRoleArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" - }, - "markdownDescription": "Metadata to assign to the configuration profile. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - }, - "Type": { - "markdownDescription": "The type of configurations contained in the profile. AWS AppConfig supports `feature flags` and `freeform` configurations. We recommend you create feature flag configurations to enable or disable new features and freeform configurations to distribute configurations to an application. When calling this API, enter one of the following values for `Type` :\n\n`AWS.AppConfig.FeatureFlags`\n\n`AWS.Freeform`", - "title": "Type", - "type": "string" - }, - "Validators": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" - }, - "markdownDescription": "A list of methods for validating the configuration.", - "title": "Validators", - "type": "array" - } - }, - "required": [ - "ApplicationId", - "LocationUri", - "Name" - ], - "type": "object" + "Region": { + "markdownDescription": "The AWS Region of the Snowflake account.", + "title": "Region", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AppConfig::ConfigurationProfile" - ], + "Stage": { + "markdownDescription": "The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema>.", + "title": "Stage", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Warehouse": { + "markdownDescription": "The name of the Snowflake warehouse.", + "title": "Warehouse", "type": "string" } }, "required": [ - "Type", - "Properties" + "BucketName", + "Stage", + "Warehouse" ], "type": "object" }, - "AWS::AppConfig::ConfigurationProfile.Tags": { + "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key-value string map. The valid character set is `[a-zA-Z+-=._:/]` . The tag key can be up to 128 characters and must not start with `aws:` .", - "title": "Key", + "ApiSecretKey": { + "markdownDescription": "The Secret Access Key portion of the credentials.", + "title": "ApiSecretKey", + "type": "string" + } + }, + "required": [ + "ApiSecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "markdownDescription": "The password that corresponds to the user name.", + "title": "Password", "type": "string" }, - "Value": { - "markdownDescription": "The tag value can be up to 256 characters.", - "title": "Value", + "Username": { + "markdownDescription": "The name of the user.", + "title": "Username", "type": "string" } }, + "required": [ + "Password", + "Username" + ], "type": "object" }, - "AWS::AppConfig::ConfigurationProfile.Validators": { + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda function.", - "title": "Content", + "InstanceUrl": { + "markdownDescription": "The location of the Veeva resource.", + "title": "InstanceUrl", + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "markdownDescription": "The credentials used to access protected Zendesk resources.", + "title": "AccessToken", "type": "string" }, - "Type": { - "markdownDescription": "AWS AppConfig supports validators of type `JSON_SCHEMA` and `LAMBDA`", - "title": "Type", + "ClientId": { + "markdownDescription": "The identifier for the desired client.", + "title": "ClientId", "type": "string" + }, + "ClientSecret": { + "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", + "title": "ClientSecret", + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", + "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", + "title": "ConnectorOAuthRequest" } }, + "required": [ + "ClientId", + "ClientSecret" + ], "type": "object" }, - "AWS::AppConfig::Deployment": { + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "markdownDescription": "The location of the Zendesk resource.", + "title": "InstanceUrl", + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::Flow": { "additionalProperties": false, "properties": { "Condition": { @@ -13330,70 +14029,78 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationId": { - "markdownDescription": "The application ID.", - "title": "ApplicationId", - "type": "string" - }, - "ConfigurationProfileId": { - "markdownDescription": "The configuration profile ID.", - "title": "ConfigurationProfileId", - "type": "string" - }, - "ConfigurationVersion": { - "markdownDescription": "The configuration version to deploy. If deploying an AWS AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.", - "title": "ConfigurationVersion", - "type": "string" - }, - "DeploymentStrategyId": { - "markdownDescription": "The deployment strategy ID.", - "title": "DeploymentStrategyId", - "type": "string" - }, "Description": { - "markdownDescription": "A description of the deployment.", + "markdownDescription": "A user-entered description of the flow.", "title": "Description", "type": "string" }, - "DynamicExtensionParameters": { + "DestinationFlowConfigList": { "items": { - "$ref": "#/definitions/AWS::AppConfig::Deployment.DynamicExtensionParameters" + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" }, - "markdownDescription": "A map of dynamic extension parameter names to values to pass to associated extensions with `PRE_START_DEPLOYMENT` actions.", - "title": "DynamicExtensionParameters", + "markdownDescription": "The configuration that controls how Amazon AppFlow places data in the destination connector.", + "title": "DestinationFlowConfigList", "type": "array" }, - "EnvironmentId": { - "markdownDescription": "The environment ID.", - "title": "EnvironmentId", + "FlowName": { + "markdownDescription": "The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.", + "title": "FlowName", "type": "string" }, - "KmsKeyIdentifier": { - "markdownDescription": "The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.", - "title": "KmsKeyIdentifier", + "FlowStatus": { + "markdownDescription": "Sets the status of the flow. You can specify one of the following values:\n\n- **Active** - The flow runs based on the trigger settings that you defined. Active scheduled flows run as scheduled, and active event-triggered flows run when the specified change event occurs. However, active on-demand flows run only when you manually start them by using Amazon AppFlow.\n- **Suspended** - You can use this option to deactivate an active flow. Scheduled and event-triggered flows will cease to run until you reactive them. This value only affects scheduled and event-triggered flows. It has no effect for on-demand flows.\n\nIf you omit the FlowStatus parameter, Amazon AppFlow creates the flow with a default status. The default status for on-demand flows is Active. The default status for scheduled and event-triggered flows is Draft, which means they\u2019re not yet active.", + "title": "FlowStatus", "type": "string" }, + "KMSArn": { + "markdownDescription": "The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.", + "title": "KMSArn", + "type": "string" + }, + "MetadataCatalogConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MetadataCatalogConfig", + "markdownDescription": "Specifies the configuration that Amazon AppFlow uses when it catalogs your data. When Amazon AppFlow catalogs your data, it stores metadata in a data catalog.", + "title": "MetadataCatalogConfig" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig", + "markdownDescription": "Contains information about the configuration of the source connector used in the flow.", + "title": "SourceFlowConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Metadata to assign to the deployment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", + "markdownDescription": "The tags used to organize, track, or control access for your flow.", "title": "Tags", "type": "array" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.Task" + }, + "markdownDescription": "A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.", + "title": "Tasks", + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig", + "markdownDescription": "The trigger settings that determine how and when Amazon AppFlow runs the specified flow.", + "title": "TriggerConfig" } }, "required": [ - "ApplicationId", - "ConfigurationProfileId", - "ConfigurationVersion", - "DeploymentStrategyId", - "EnvironmentId" + "DestinationFlowConfigList", + "FlowName", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::AppConfig::Deployment" + "AWS::AppFlow::Flow" ], "type": "string" }, @@ -13412,2078 +14119,1295 @@ ], "type": "object" }, - "AWS::AppConfig::Deployment.DynamicExtensionParameters": { + "AWS::AppFlow::Flow.AggregationConfig": { "additionalProperties": false, "properties": { - "ExtensionReference": { - "markdownDescription": "The ARN or ID of the extension for which you are inserting a dynamic parameter.", - "title": "ExtensionReference", - "type": "string" - }, - "ParameterName": { - "markdownDescription": "The parameter name.", - "title": "ParameterName", + "AggregationType": { + "markdownDescription": "Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.", + "title": "AggregationType", "type": "string" }, - "ParameterValue": { - "markdownDescription": "The parameter value.", - "title": "ParameterValue", - "type": "string" + "TargetFileSize": { + "markdownDescription": "The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.", + "title": "TargetFileSize", + "type": "number" } }, "type": "object" }, - "AWS::AppConfig::DeploymentStrategy": { + "AWS::AppFlow::Flow.AmplitudeSourceProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentDurationInMinutes": { - "markdownDescription": "Total amount of time for a deployment to last.", - "title": "DeploymentDurationInMinutes", - "type": "number" - }, - "Description": { - "markdownDescription": "A description of the deployment strategy.", - "title": "Description", - "type": "string" - }, - "FinalBakeTimeInMinutes": { - "markdownDescription": "Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see [Configuring permissions for rollback based on Amazon CloudWatch alarms](https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html) in the *AWS AppConfig User Guide* .", - "title": "FinalBakeTimeInMinutes", - "type": "number" - }, - "GrowthFactor": { - "markdownDescription": "The percentage of targets to receive a deployed configuration during each interval.", - "title": "GrowthFactor", - "type": "number" - }, - "GrowthType": { - "markdownDescription": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:\n\n*Linear* : For this type, AWS AppConfig processes the deployment by dividing the total number of targets by the value specified for `Step percentage` . For example, a linear deployment that uses a `Step percentage` of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.\n\n*Exponential* : For this type, AWS AppConfig processes the deployment exponentially using the following formula: `G*(2^N)` . In this formula, `G` is the growth factor specified by the user and `N` is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:\n\n`2*(2^0)`\n\n`2*(2^1)`\n\n`2*(2^2)`\n\nExpressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.", - "title": "GrowthType", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the deployment strategy.", - "title": "Name", - "type": "string" - }, - "ReplicateTo": { - "markdownDescription": "Save the deployment strategy to a Systems Manager (SSM) document.", - "title": "ReplicateTo", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Assigns metadata to an AWS AppConfig resource. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DeploymentDurationInMinutes", - "GrowthFactor", - "Name", - "ReplicateTo" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::DeploymentStrategy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Object": { + "markdownDescription": "The object specified in the Amplitude flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Type", - "Properties" + "Object" ], "type": "object" }, - "AWS::AppConfig::Environment": { + "AWS::AppFlow::Flow.ConnectorOperator": { "additionalProperties": false, "properties": { - "Condition": { + "Amplitude": { + "markdownDescription": "The operation to be performed on the provided Amplitude source fields.", + "title": "Amplitude", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CustomConnector": { + "markdownDescription": "Operators supported by the custom connector.", + "title": "CustomConnector", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Datadog": { + "markdownDescription": "The operation to be performed on the provided Datadog source fields.", + "title": "Datadog", + "type": "string" }, - "Metadata": { - "type": "object" + "Dynatrace": { + "markdownDescription": "The operation to be performed on the provided Dynatrace source fields.", + "title": "Dynatrace", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "markdownDescription": "The application ID.", - "title": "ApplicationId", - "type": "string" - }, - "DeletionProtectionCheck": { - "markdownDescription": "A parameter to configure deletion protection. Deletion protection prevents a user from deleting an environment if your application called either [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) or [GetConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetConfiguration.html) in the environment during the specified interval.\n\nThis parameter supports the following values:\n\n- `BYPASS` : Instructs AWS AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.\n- `APPLY` : Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. `APPLY` also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.\n- `ACCOUNT_DEFAULT` : The default setting, which instructs AWS AppConfig to implement the deletion protection value specified in the `UpdateAccountSettings` API.", - "title": "DeletionProtectionCheck", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the environment.", - "title": "Description", - "type": "string" - }, - "Monitors": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Monitor" - }, - "markdownDescription": "Amazon CloudWatch alarms to monitor during the deployment process.", - "title": "Monitors", - "type": "array" - }, - "Name": { - "markdownDescription": "A name for the environment.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Metadata to assign to the environment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" + "GoogleAnalytics": { + "markdownDescription": "The operation to be performed on the provided Google Analytics source fields.", + "title": "GoogleAnalytics", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AppConfig::Environment" - ], + "InforNexus": { + "markdownDescription": "The operation to be performed on the provided Infor Nexus source fields.", + "title": "InforNexus", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Marketo": { + "markdownDescription": "The operation to be performed on the provided Marketo source fields.", + "title": "Marketo", "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Environment.Monitor": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "markdownDescription": "Amazon Resource Name (ARN) of the Amazon CloudWatch alarm.", - "title": "AlarmArn", + }, + "Pardot": { + "markdownDescription": "The operation to be performed on the provided Salesforce Pardot source fields.", + "title": "Pardot", "type": "string" }, - "AlarmRoleArn": { - "markdownDescription": "ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor `AlarmArn` .", - "title": "AlarmRoleArn", + "S3": { + "markdownDescription": "The operation to be performed on the provided Amazon S3 source fields.", + "title": "S3", "type": "string" - } - }, - "required": [ - "AlarmArn" - ], - "type": "object" - }, - "AWS::AppConfig::ExperimentDefinition": { - "additionalProperties": false, - "properties": { - "Condition": { + }, + "SAPOData": { + "markdownDescription": "The operation to be performed on the provided SAPOData source fields.", + "title": "SAPOData", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Salesforce": { + "markdownDescription": "The operation to be performed on the provided Salesforce source fields.", + "title": "Salesforce", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ServiceNow": { + "markdownDescription": "The operation to be performed on the provided ServiceNow source fields.", + "title": "ServiceNow", + "type": "string" }, - "Metadata": { - "type": "object" + "Singular": { + "markdownDescription": "The operation to be performed on the provided Singular source fields.", + "title": "Singular", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationIdentifier": { - "type": "string" - }, - "AudienceDescription": { - "type": "string" - }, - "AudienceRule": { - "type": "string" - }, - "ConfigurationProfileIdentifier": { - "type": "string" - }, - "Control": { - "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition.Treatment" - }, - "EnvironmentIdentifier": { - "type": "string" - }, - "FlagKey": { - "type": "string" - }, - "Hypothesis": { - "type": "string" - }, - "LaunchCriteria": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Treatments": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition.Treatment" - }, - "type": "array" - } - }, - "required": [ - "ApplicationIdentifier", - "AudienceRule", - "ConfigurationProfileIdentifier", - "Control", - "EnvironmentIdentifier", - "FlagKey", - "Name", - "Treatments" - ], - "type": "object" + "Slack": { + "markdownDescription": "The operation to be performed on the provided Slack source fields.", + "title": "Slack", + "type": "string" }, - "Type": { - "enum": [ - "AWS::AppConfig::ExperimentDefinition" - ], + "Trendmicro": { + "markdownDescription": "The operation to be performed on the provided Trend Micro source fields.", + "title": "Trendmicro", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Veeva": { + "markdownDescription": "The operation to be performed on the provided Veeva source fields.", + "title": "Veeva", + "type": "string" + }, + "Zendesk": { + "markdownDescription": "The operation to be performed on the provided Zendesk source fields.", + "title": "Zendesk", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::AppConfig::ExperimentDefinition.AttributeValue": { + "AWS::AppFlow::Flow.CustomConnectorDestinationProperties": { "additionalProperties": false, "properties": { - "BooleanValue": { - "type": "boolean" - }, - "NumberArray": { - "items": { - "type": "number" + "CustomProperties": { + "additionalProperties": true, + "markdownDescription": "The custom properties that are specific to the connector when it's used as a destination in the flow.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "CustomProperties", + "type": "object" }, - "NumberValue": { - "type": "number" + "EntityName": { + "markdownDescription": "The entity specified in the custom connector as a destination in the flow.", + "title": "EntityName", + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.", + "title": "ErrorHandlingConfig" }, - "StringArray": { + "IdFieldNames": { "items": { "type": "string" }, + "markdownDescription": "The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update, delete, or upsert.", + "title": "IdFieldNames", "type": "array" }, - "StringValue": { + "WriteOperationType": { + "markdownDescription": "Specifies the type of write operation to be performed in the custom connector when it's used as destination.", + "title": "WriteOperationType", "type": "string" } }, + "required": [ + "EntityName" + ], "type": "object" }, - "AWS::AppConfig::ExperimentDefinition.Treatment": { + "AWS::AppFlow::Flow.CustomConnectorSourceProperties": { "additionalProperties": false, "properties": { - "AttributeValues": { - "additionalProperties": false, + "CustomProperties": { + "additionalProperties": true, + "markdownDescription": "Custom properties that are required to use the custom connector as a source.", "patternProperties": { "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition.AttributeValue" + "type": "string" } }, + "title": "CustomProperties", "type": "object" }, - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" + "DataTransferApi": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DataTransferApi", + "markdownDescription": "The API of the connector application that Amazon AppFlow uses to transfer your data.", + "title": "DataTransferApi" }, - "Key": { + "EntityName": { + "markdownDescription": "The entity specified in the custom connector as a source in the flow.", + "title": "EntityName", "type": "string" - }, - "Weight": { - "type": "number" } }, "required": [ - "Enabled", - "Weight" + "EntityName" ], "type": "object" }, - "AWS::AppConfig::Extension": { + "AWS::AppFlow::Flow.DataTransferApi": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The name of the connector application API.", + "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": { - "Actions": { - "markdownDescription": "The actions defined in the extension.", - "title": "Actions", - "type": "object" - }, - "Description": { - "markdownDescription": "Information about the extension.", - "title": "Description", - "type": "string" - }, - "LatestVersionNumber": { - "markdownDescription": "You can omit this field when you create an extension. When you create a new version, specify the most recent current version number. For example, you create version 3, enter 2 for this field.", - "title": "LatestVersionNumber", - "type": "number" - }, - "Name": { - "markdownDescription": "A name for the extension. Each extension name in your account must be unique. Extension versions use the same name.", - "title": "Name", - "type": "string" - }, - "Parameters": { - "additionalProperties": false, - "markdownDescription": "The parameters accepted by the extension. You specify parameter values when you associate the extension to an AWS AppConfig resource by using the `CreateExtensionAssociation` API action. For AWS Lambda extension actions, these parameters are included in the Lambda request object.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::AppConfig::Extension.Parameter" - } - }, - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Adds one or more tags for the specified extension. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, "Type": { - "enum": [ - "AWS::AppConfig::Extension" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "markdownDescription": "You can specify one of the following types:\n\n- **AUTOMATIC** - The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.\n- **SYNC** - A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.\n- **ASYNC** - An asynchronous API. This type of API optimizes a flow for large datasets.", + "title": "Type", "type": "string" } }, "required": [ - "Type", - "Properties" + "Name", + "Type" ], "type": "object" }, - "AWS::AppConfig::Extension.Parameter": { + "AWS::AppFlow::Flow.DatadogSourceProperties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "Information about the parameter.", - "title": "Description", + "Object": { + "markdownDescription": "The object specified in the Datadog flow source.", + "title": "Object", "type": "string" - }, - "Dynamic": { - "markdownDescription": "Indicates whether this parameter's value can be supplied at the extension's action point instead of during extension association. Dynamic parameters can't be marked `Required` .", - "title": "Dynamic", - "type": "boolean" - }, - "Required": { - "markdownDescription": "A parameter value must be specified in the extension association.", - "title": "Required", - "type": "boolean" } }, "required": [ - "Required" + "Object" ], "type": "object" }, - "AWS::AppConfig::ExtensionAssociation": { + "AWS::AppFlow::Flow.DestinationConnectorProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "CustomConnector": { + "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorDestinationProperties", + "markdownDescription": "The properties that are required to query the custom Connector.", + "title": "CustomConnector" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "EventBridge": { + "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties", + "markdownDescription": "The properties required to query Amazon EventBridge.", + "title": "EventBridge" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "LookoutMetrics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties", + "markdownDescription": "The properties required to query Amazon Lookout for Metrics.", + "title": "LookoutMetrics" }, - "Metadata": { - "type": "object" + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoDestinationProperties", + "markdownDescription": "The properties required to query Marketo.", + "title": "Marketo" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExtensionIdentifier": { - "markdownDescription": "The name, the ID, or the Amazon Resource Name (ARN) of the extension.", - "title": "ExtensionIdentifier", - "type": "string" - }, - "ExtensionVersionNumber": { - "markdownDescription": "The version number of the extension. If not specified, AWS AppConfig uses the maximum version of the extension.", - "title": "ExtensionVersionNumber", - "type": "number" - }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "The parameter names and values defined in the extensions. Extension parameters marked `Required` must be entered for this field.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "ResourceIdentifier": { - "markdownDescription": "The ARN of an application, configuration profile, or environment.", - "title": "ResourceIdentifier", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Adds one or more tags for the specified extension association. Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties", + "markdownDescription": "The properties required to query Amazon Redshift.", + "title": "Redshift" }, - "Type": { - "enum": [ - "AWS::AppConfig::ExtensionAssociation" - ], - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties", + "markdownDescription": "The properties required to query Amazon S3.", + "title": "S3" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "SAPOData": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataDestinationProperties", + "markdownDescription": "The properties required to query SAPOData.", + "title": "SAPOData" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties", + "markdownDescription": "The properties required to query Salesforce.", + "title": "Salesforce" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties", + "markdownDescription": "The properties required to query Snowflake.", + "title": "Snowflake" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties", + "markdownDescription": "The properties required to query Upsolver.", + "title": "Upsolver" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties", + "markdownDescription": "The properties required to query Zendesk.", + "title": "Zendesk" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::AppConfig::HostedConfigurationVersion": { + "AWS::AppFlow::Flow.DestinationFlowConfig": { "additionalProperties": false, "properties": { - "Condition": { + "ApiVersion": { + "markdownDescription": "The API version that the destination connector uses.", + "title": "ApiVersion", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ConnectorProfileName": { + "markdownDescription": "The name of the connector profile. This name must be unique for each connector profile in the AWS account .", + "title": "ConnectorProfileName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The application ID.", - "title": "ApplicationId", - "type": "string" - }, - "ConfigurationProfileId": { - "markdownDescription": "The configuration profile ID.", - "title": "ConfigurationProfileId", - "type": "string" - }, - "Content": { - "markdownDescription": "The configuration data, as bytes.\n\n> AWS AppConfig accepts any type of data, including text formats like JSON or TOML, or binary formats like protocol buffers or compressed data.", - "title": "Content", - "type": "string" - }, - "ContentType": { - "markdownDescription": "A standard MIME type describing the format of the configuration content. For more information, see [Content-Type](https://docs.aws.amazon.com/https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17) .", - "title": "ContentType", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the configuration.\n\n> Due to HTTP limitations, this field only supports ASCII characters.", - "title": "Description", - "type": "string" - }, - "LatestVersionNumber": { - "markdownDescription": "An optional locking token used to prevent race conditions from overwriting configuration updates when creating a new version. To ensure your data is not overwritten when creating multiple hosted configuration versions in rapid succession, specify the version number of the latest hosted configuration version.", - "title": "LatestVersionNumber", - "type": "number" - }, - "VersionLabel": { - "markdownDescription": "A user-defined label for an AWS AppConfig hosted configuration version.", - "title": "VersionLabel", - "type": "string" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "Content", - "ContentType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::HostedConfigurationVersion" - ], + "ConnectorType": { + "markdownDescription": "The type of destination connector, such as Sales force, Amazon S3, and so on.", + "title": "ConnectorType", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "DestinationConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties", + "markdownDescription": "This stores the information that is required to query a particular connector.", + "title": "DestinationConnectorProperties" } }, "required": [ - "Type", - "Properties" + "ConnectorType", + "DestinationConnectorProperties" ], "type": "object" }, - "AWS::AppFlow::Connector": { + "AWS::AppFlow::Flow.DynatraceSourceProperties": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorLabel": { - "markdownDescription": "The label used for registering the connector.", - "title": "ConnectorLabel", - "type": "string" - }, - "ConnectorProvisioningConfig": { - "$ref": "#/definitions/AWS::AppFlow::Connector.ConnectorProvisioningConfig", - "markdownDescription": "The configuration required for registering the connector.", - "title": "ConnectorProvisioningConfig" - }, - "ConnectorProvisioningType": { - "markdownDescription": "The provisioning type used to register the connector.", - "title": "ConnectorProvisioningType", - "type": "string" - }, - "Description": { - "markdownDescription": "A description about the connector runtime setting.", - "title": "Description", - "type": "string" - } - }, - "required": [ - "ConnectorProvisioningConfig", - "ConnectorProvisioningType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::Connector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Object": { + "markdownDescription": "The object specified in the Dynatrace flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Type", - "Properties" + "Object" ], "type": "object" }, - "AWS::AppFlow::Connector.ConnectorProvisioningConfig": { + "AWS::AppFlow::Flow.ErrorHandlingConfig": { "additionalProperties": false, "properties": { - "Lambda": { - "$ref": "#/definitions/AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig", - "markdownDescription": "Contains information about the configuration of the lambda which is being registered as the connector.", - "title": "Lambda" + "BucketName": { + "markdownDescription": "Specifies the name of the Amazon S3 bucket.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "Specifies the Amazon S3 bucket prefix.", + "title": "BucketPrefix", + "type": "string" + }, + "FailOnFirstError": { + "markdownDescription": "Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.", + "title": "FailOnFirstError", + "type": "boolean" } }, "type": "object" }, - "AWS::AppFlow::Connector.LambdaConnectorProvisioningConfig": { + "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { "additionalProperties": false, "properties": { - "LambdaArn": { - "markdownDescription": "Lambda ARN of the connector being registered.", - "title": "LambdaArn", + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The object specified in the Amplitude flow source.", + "title": "ErrorHandlingConfig" + }, + "Object": { + "markdownDescription": "The object specified in the Amazon EventBridge flow destination.", + "title": "Object", "type": "string" } }, "required": [ - "LambdaArn" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile": { + "AWS::AppFlow::Flow.GlueDataCatalog": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatabaseName": { + "markdownDescription": "", + "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": { - "ConnectionMode": { - "markdownDescription": "Indicates the connection mode and if it is public or private.", - "title": "ConnectionMode", - "type": "string" - }, - "ConnectorLabel": { - "markdownDescription": "The label for the connector profile being created.", - "title": "ConnectorLabel", - "type": "string" - }, - "ConnectorProfileConfig": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig", - "markdownDescription": "Defines the connector-specific configuration and credentials.", - "title": "ConnectorProfileConfig" - }, - "ConnectorProfileName": { - "markdownDescription": "The name of the connector profile. The name is unique for each `ConnectorProfile` in the AWS account .", - "title": "ConnectorProfileName", - "type": "string" - }, - "ConnectorType": { - "markdownDescription": "The type of connector, such as Salesforce, Amplitude, and so on.", - "title": "ConnectorType", - "type": "string" - }, - "KMSArn": { - "markdownDescription": "The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.", - "title": "KMSArn", - "type": "string" - } - }, - "required": [ - "ConnectionMode", - "ConnectorProfileName", - "ConnectorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::ConnectorProfile" - ], + "RoleArn": { + "markdownDescription": "", + "title": "RoleArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TablePrefix": { + "markdownDescription": "", + "title": "TablePrefix", "type": "string" } }, "required": [ - "Type", - "Properties" + "DatabaseName", + "RoleArn", + "TablePrefix" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { + "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { "additionalProperties": false, "properties": { - "ApiKey": { - "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", - "title": "ApiKey", - "type": "string" - }, - "SecretKey": { - "markdownDescription": "The Secret Access Key portion of the credentials.", - "title": "SecretKey", + "Object": { + "markdownDescription": "The object specified in the Google Analytics flow source.", + "title": "Object", "type": "string" } }, "required": [ - "ApiKey", - "SecretKey" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ApiKeyCredentials": { + "AWS::AppFlow::Flow.IncrementalPullConfig": { "additionalProperties": false, "properties": { - "ApiKey": { - "markdownDescription": "The API key required for API key authentication.", - "title": "ApiKey", - "type": "string" - }, - "ApiSecretKey": { - "markdownDescription": "The API secret key required for API key authentication.", - "title": "ApiSecretKey", + "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" } }, - "required": [ - "ApiKey" - ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.BasicAuthCredentials": { + "AWS::AppFlow::Flow.InforNexusSourceProperties": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password to use to connect to a resource.", - "title": "Password", - "type": "string" - }, - "Username": { - "markdownDescription": "The username to use to connect to a resource.", - "title": "Username", + "Object": { + "markdownDescription": "The object specified in the Infor Nexus flow source.", + "title": "Object", "type": "string" } }, "required": [ - "Password", - "Username" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { + "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { "additionalProperties": false, "properties": { - "AuthCode": { - "markdownDescription": "The code provided by the connector when it has been authenticated via the connected app.", - "title": "AuthCode", - "type": "string" - }, - "RedirectUri": { - "markdownDescription": "The URL to which the authentication server redirects the browser after authorization has been granted.", - "title": "RedirectUri", + "Object": { + "markdownDescription": "The object specified in the Amazon Lookout for Metrics flow destination.", + "title": "Object", "type": "string" } }, "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { + "AWS::AppFlow::Flow.MarketoDestinationProperties": { "additionalProperties": false, "properties": { - "ConnectorProfileCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required by each connector.", - "title": "ConnectorProfileCredentials" - }, - "ConnectorProfileProperties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties", - "markdownDescription": "The connector-specific properties of the profile configuration.", - "title": "ConnectorProfileProperties" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" + }, + "Object": { + "markdownDescription": "The object specified in the Marketo flow destination.", + "title": "Object", + "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { + "AWS::AppFlow::Flow.MarketoSourceProperties": { "additionalProperties": false, "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Amplitude.", - "title": "Amplitude" - }, - "CustomConnector": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials", - "markdownDescription": "The connector-specific profile credentials that are required when using the custom connector.", - "title": "CustomConnector" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Datadog.", - "title": "Datadog" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Dynatrace.", - "title": "Dynatrace" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Google Analytics.", - "title": "GoogleAnalytics" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Infor Nexus.", - "title": "InforNexus" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Marketo.", - "title": "Marketo" - }, - "Pardot": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Salesforce Pardot.", - "title": "Pardot" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Amazon Redshift.", - "title": "Redshift" - }, - "SAPOData": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials", - "markdownDescription": "The connector-specific profile credentials required when using SAPOData.", - "title": "SAPOData" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Salesforce.", - "title": "Salesforce" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using ServiceNow.", - "title": "ServiceNow" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Singular.", - "title": "Singular" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Slack.", - "title": "Slack" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Snowflake.", - "title": "Snowflake" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Trend Micro.", - "title": "Trendmicro" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Veeva.", - "title": "Veeva" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials", - "markdownDescription": "The connector-specific credentials required when using Zendesk.", - "title": "Zendesk" + "Object": { + "markdownDescription": "The object specified in the Marketo flow source.", + "title": "Object", + "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { + "AWS::AppFlow::Flow.MetadataCatalogConfig": { "additionalProperties": false, "properties": { - "CustomConnector": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties", - "markdownDescription": "The properties required by the custom connector.", - "title": "CustomConnector" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Datadog.", - "title": "Datadog" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Dynatrace.", - "title": "Dynatrace" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Infor Nexus.", - "title": "InforNexus" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Marketo.", - "title": "Marketo" - }, - "Pardot": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Salesforce Pardot.", - "title": "Pardot" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Amazon Redshift.", - "title": "Redshift" - }, - "SAPOData": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties", - "markdownDescription": "The connector-specific profile properties required when using SAPOData.", - "title": "SAPOData" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Salesforce.", - "title": "Salesforce" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by serviceNow.", - "title": "ServiceNow" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Slack.", - "title": "Slack" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Snowflake.", - "title": "Snowflake" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Veeva.", - "title": "Veeva" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties", - "markdownDescription": "The connector-specific properties required by Zendesk.", - "title": "Zendesk" + "GlueDataCatalog": { + "$ref": "#/definitions/AWS::AppFlow::Flow.GlueDataCatalog", + "markdownDescription": "Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the AWS Glue Data Catalog .", + "title": "GlueDataCatalog" } }, "type": "object" }, - "AWS::AppFlow::ConnectorProfile.CustomAuthCredentials": { + "AWS::AppFlow::Flow.PardotSourceProperties": { "additionalProperties": false, "properties": { - "CredentialsMap": { - "additionalProperties": true, - "markdownDescription": "A map that holds custom authentication credentials.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "CredentialsMap", - "type": "object" - }, - "CustomAuthenticationType": { - "markdownDescription": "The custom authentication type that the connector uses.", - "title": "CustomAuthenticationType", + "Object": { + "markdownDescription": "The object specified in the Salesforce Pardot flow source.", + "title": "Object", "type": "string" } }, "required": [ - "CustomAuthenticationType" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileCredentials": { + "AWS::AppFlow::Flow.PrefixConfig": { "additionalProperties": false, "properties": { - "ApiKey": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ApiKeyCredentials", - "markdownDescription": "The API keys required for the authentication of the user.", - "title": "ApiKey" + "PathPrefixHierarchy": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies whether the destination file path includes either or both of the following elements:\n\n- **EXECUTION_ID** - The ID that Amazon AppFlow assigns to the flow run.\n- **SCHEMA_VERSION** - The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:\n\n- Source-to-destination field mappings\n- Field data types\n- Partition keys", + "title": "PathPrefixHierarchy", + "type": "array" }, - "AuthenticationType": { - "markdownDescription": "The authentication type that the custom connector uses for authenticating while creating a connector profile.", - "title": "AuthenticationType", + "PrefixFormat": { + "markdownDescription": "Determines the level of granularity for the date and time that's included in the prefix.", + "title": "PrefixFormat", "type": "string" }, - "Basic": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials", - "markdownDescription": "The basic credentials that are required for the authentication of the user.", - "title": "Basic" - }, - "Custom": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.CustomAuthCredentials", - "markdownDescription": "If the connector uses the custom authentication mechanism, this holds the required credentials.", - "title": "Custom" - }, - "Oauth2": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Credentials", - "markdownDescription": "The OAuth 2.0 credentials required for the authentication of the user.", - "title": "Oauth2" + "PrefixType": { + "markdownDescription": "Determines the format of the prefix, and whether it applies to the file name, file path, or both.", + "title": "PrefixType", + "type": "string" } }, - "required": [ - "AuthenticationType" - ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.CustomConnectorProfileProperties": { + "AWS::AppFlow::Flow.RedshiftDestinationProperties": { "additionalProperties": false, "properties": { - "OAuth2Properties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Properties", - "markdownDescription": "The OAuth 2.0 properties required for OAuth 2.0 authentication.", - "title": "OAuth2Properties" + "BucketPrefix": { + "markdownDescription": "The object key for the bucket in which Amazon AppFlow places the destination files.", + "title": "BucketPrefix", + "type": "string" }, - "ProfileProperties": { - "additionalProperties": true, - "markdownDescription": "A map of properties that are required to create a profile for the custom connector.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "ProfileProperties", - "type": "object" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", - "title": "ApiKey", + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "markdownDescription": "The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.", + "title": "IntermediateBucketName", "type": "string" }, - "ApplicationKey": { - "markdownDescription": "Application keys, in conjunction with your API key, give you full access to Datadog\u2019s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.", - "title": "ApplicationKey", + "Object": { + "markdownDescription": "The object specified in the Amazon Redshift flow destination.", + "title": "Object", "type": "string" } }, "required": [ - "ApiKey", - "ApplicationKey" + "IntermediateBucketName", + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { + "AWS::AppFlow::Flow.S3DestinationProperties": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Datadog resource.", - "title": "InstanceUrl", + "BucketName": { + "markdownDescription": "The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.", + "title": "BucketName", "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", + "title": "BucketPrefix", + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig", + "markdownDescription": "The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.", + "title": "S3OutputFormatConfig" } }, "required": [ - "InstanceUrl" + "BucketName" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { + "AWS::AppFlow::Flow.S3InputFormatConfig": { "additionalProperties": false, "properties": { - "ApiToken": { - "markdownDescription": "The API tokens used by Dynatrace API to authenticate various API calls.", - "title": "ApiToken", + "S3InputFileType": { + "markdownDescription": "The file type that Amazon AppFlow gets from your Amazon S3 bucket.", + "title": "S3InputFileType", "type": "string" } }, - "required": [ - "ApiToken" - ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { + "AWS::AppFlow::Flow.S3OutputFormatConfig": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Dynatrace resource.", - "title": "InstanceUrl", + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig", + "markdownDescription": "The aggregation settings that you can use to customize the output format of your flow data.", + "title": "AggregationConfig" + }, + "FileType": { + "markdownDescription": "Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.", + "title": "FileType", "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig", + "markdownDescription": "Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.", + "title": "PrefixConfig" + }, + "PreserveSourceDataTyping": { + "markdownDescription": "If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.\n\n- `true` : Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or `1` in your source data is still an integer in your output.\n- `false` : Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of `1` in your source data becomes the string `\"1\"` in the output.", + "title": "PreserveSourceDataTyping", + "type": "boolean" } }, - "required": [ - "InstanceUrl" - ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { + "AWS::AppFlow::Flow.S3SourceProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Google Analytics resources.", - "title": "AccessToken", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", + "BucketName": { + "markdownDescription": "The Amazon S3 bucket name where the source files are stored.", + "title": "BucketName", "type": "string" }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", + "BucketPrefix": { + "markdownDescription": "The object key for the Amazon S3 bucket in which the source files are stored.", + "title": "BucketPrefix", "type": "string" }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" - }, - "RefreshToken": { - "markdownDescription": "The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.", - "title": "RefreshToken", - "type": "string" + "S3InputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3InputFormatConfig", + "markdownDescription": "When you use Amazon S3 as the source, the configuration format that you provide the flow input data.", + "title": "S3InputFormatConfig" } }, "required": [ - "ClientId", - "ClientSecret" + "BucketName", + "BucketPrefix" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SAPODataDestinationProperties": { "additionalProperties": false, "properties": { - "AccessKeyId": { - "markdownDescription": "The Access Key portion of the credentials.", - "title": "AccessKeyId", - "type": "string" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" }, - "Datakey": { - "markdownDescription": "The encryption keys used to encrypt data.", - "title": "Datakey", - "type": "string" + "IdFieldNames": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of field names that can be used as an ID field when performing a write operation.", + "title": "IdFieldNames", + "type": "array" }, - "SecretAccessKey": { - "markdownDescription": "The secret key used to sign requests.", - "title": "SecretAccessKey", + "ObjectPath": { + "markdownDescription": "The object path specified in the SAPOData flow destination.", + "title": "ObjectPath", "type": "string" }, - "UserId": { - "markdownDescription": "The identifier for the user.", - "title": "UserId", + "SuccessResponseHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SuccessResponseHandlingConfig", + "markdownDescription": "Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.\n\nFor example, this setting would determine where to write the response from a destination connector upon a successful insert operation.", + "title": "SuccessResponseHandlingConfig" + }, + "WriteOperationType": { + "markdownDescription": "The possible write operations in the destination connector. When this value is not provided, this defaults to the `INSERT` operation.", + "title": "WriteOperationType", "type": "string" } }, "required": [ - "AccessKeyId", - "Datakey", - "SecretAccessKey", - "UserId" + "ObjectPath" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { + "AWS::AppFlow::Flow.SAPODataPaginationConfig": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Infor Nexus resource.", - "title": "InstanceUrl", - "type": "string" + "maxPageSize": { + "markdownDescription": "The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000.", + "title": "maxPageSize", + "type": "number" } }, "required": [ - "InstanceUrl" + "maxPageSize" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SAPODataParallelismConfig": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Marketo resources.", - "title": "AccessToken", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", - "type": "string" - }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" + "maxParallelism": { + "markdownDescription": "The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application.", + "title": "maxParallelism", + "type": "number" } }, "required": [ - "ClientId", - "ClientSecret" + "maxParallelism" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { + "AWS::AppFlow::Flow.SAPODataSourceProperties": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Marketo resource.", - "title": "InstanceUrl", + "ObjectPath": { + "markdownDescription": "The object path specified in the SAPOData flow source.", + "title": "ObjectPath", "type": "string" + }, + "paginationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataPaginationConfig", + "markdownDescription": "Sets the page size for each concurrent process that transfers OData records from your SAP instance.", + "title": "paginationConfig" + }, + "parallelismConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataParallelismConfig", + "markdownDescription": "Sets the number of concurrent processes that transfers OData records from your SAP instance.", + "title": "parallelismConfig" } }, "required": [ - "InstanceUrl" + "ObjectPath" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.OAuth2Credentials": { + "AWS::AppFlow::Flow.SalesforceDestinationProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The access token used to access the connector on your behalf.", - "title": "AccessToken", + "DataTransferApi": { + "markdownDescription": "Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.\n\n- **AUTOMATIC** - The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.\n\nEach of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.\n\nBy choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.\n- **BULKV2** - Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.\n\nNote that Bulk API 2.0 does not transfer Salesforce compound fields.\n- **REST_SYNC** - Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.", + "title": "DataTransferApi", "type": "string" }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", - "type": "string" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", - "type": "string" + "IdFieldNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.", + "title": "IdFieldNames", + "type": "array" }, - "OAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "", - "title": "OAuthRequest" + "Object": { + "markdownDescription": "The object specified in the Salesforce flow destination.", + "title": "Object", + "type": "string" }, - "RefreshToken": { - "markdownDescription": "The refresh token used to refresh an expired access token.", - "title": "RefreshToken", + "WriteOperationType": { + "markdownDescription": "This specifies the type of write operation to be performed in Salesforce. When the value is `UPSERT` , then `idFieldNames` is required.", + "title": "WriteOperationType", "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.OAuth2Properties": { + "AWS::AppFlow::Flow.SalesforceSourceProperties": { "additionalProperties": false, "properties": { - "OAuth2GrantType": { - "markdownDescription": "The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.", - "title": "OAuth2GrantType", + "DataTransferApi": { + "markdownDescription": "Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.\n\n- **AUTOMATIC** - The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers from Salesforce. If your flow transfers fewer than 1,000,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.\n\nEach of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900,000 records, and it might use Bulk API 2.0 on the next day to transfer 1,100,000 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.\n\nBy choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.\n- **BULKV2** - Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.\n\nNote that Bulk API 2.0 does not transfer Salesforce compound fields.\n- **REST_SYNC** - Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail wituh a timed out error.", + "title": "DataTransferApi", "type": "string" }, - "TokenUrl": { - "markdownDescription": "The token URL required for OAuth 2.0 authentication.", - "title": "TokenUrl", - "type": "string" + "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" }, - "TokenUrlCustomProperties": { - "additionalProperties": true, - "markdownDescription": "Associates your token URL with a map of properties that you define. Use this parameter to provide any additional details that the connector requires to authenticate your request.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TokenUrlCustomProperties", - "type": "object" + "IncludeDeletedRecords": { + "markdownDescription": "Indicates whether Amazon AppFlow includes deleted files in the flow run.", + "title": "IncludeDeletedRecords", + "type": "boolean" + }, + "Object": { + "markdownDescription": "The object specified in the Salesforce flow source.", + "title": "Object", + "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.OAuthCredentials": { + "AWS::AppFlow::Flow.ScheduledTriggerProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The access token used to access protected SAPOData resources.", - "title": "AccessToken", + "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" }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", - "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" }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", - "type": "string" + "FlowErrorDeactivationThreshold": { + "markdownDescription": "Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.", + "title": "FlowErrorDeactivationThreshold", + "type": "number" }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "", - "title": "ConnectorOAuthRequest" + "ScheduleEndTime": { + "markdownDescription": "The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-27T13:00:00-07:00` .", + "title": "ScheduleEndTime", + "type": "number" }, - "RefreshToken": { - "markdownDescription": "The refresh token used to refresh expired access token.", - "title": "RefreshToken", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.OAuthProperties": { - "additionalProperties": false, - "properties": { - "AuthCodeUrl": { - "markdownDescription": "The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type authentication.", - "title": "AuthCodeUrl", + "ScheduleExpression": { + "markdownDescription": "The scheduling expression that determines the rate at which the schedule will run, for example `rate(5minutes)` .", + "title": "ScheduleExpression", "type": "string" }, - "OAuthScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "The OAuth scopes required for OAuth type authentication.", - "title": "OAuthScopes", - "type": "array" + "ScheduleOffset": { + "markdownDescription": "Specifies the optional offset that is added to the time interval for a schedule-triggered flow.", + "title": "ScheduleOffset", + "type": "number" }, - "TokenUrl": { - "markdownDescription": "The token url required to fetch access/refresh tokens using authorization code and also to refresh expired access token using refresh token.", - "title": "TokenUrl", + "ScheduleStartTime": { + "markdownDescription": "The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-26T13:00:00-07:00` .", + "title": "ScheduleStartTime", + "type": "number" + }, + "TimeZone": { + "markdownDescription": "Specifies the time zone used when referring to the dates and times of a scheduled flow, such as `America/New_York` . This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.\n\nIf you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the `America/New_York` timezone are `-04:00` EDT and `-05:00 EST` .", + "title": "TimeZone", "type": "string" } }, + "required": [ + "ScheduleExpression" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileCredentials": { + "AWS::AppFlow::Flow.ServiceNowSourceProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Salesforce Pardot resources.", - "title": "AccessToken", - "type": "string" - }, - "ClientCredentialsArn": { - "markdownDescription": "The secret manager ARN, which contains the client ID and client secret of the connected app.", - "title": "ClientCredentialsArn", - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "", - "title": "ConnectorOAuthRequest" - }, - "RefreshToken": { - "markdownDescription": "The credentials used to acquire new access tokens.", - "title": "RefreshToken", + "Object": { + "markdownDescription": "The object specified in the ServiceNow flow source.", + "title": "Object", "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.PardotConnectorProfileProperties": { + "AWS::AppFlow::Flow.SingularSourceProperties": { "additionalProperties": false, "properties": { - "BusinessUnitId": { - "markdownDescription": "The business unit id of Salesforce Pardot instance.", - "title": "BusinessUnitId", - "type": "string" - }, - "InstanceUrl": { - "markdownDescription": "The location of the Salesforce Pardot resource.", - "title": "InstanceUrl", + "Object": { + "markdownDescription": "The object specified in the Singular flow source.", + "title": "Object", "type": "string" - }, - "IsSandboxEnvironment": { - "markdownDescription": "Indicates whether the connector profile applies to a sandbox or production environment.", - "title": "IsSandboxEnvironment", - "type": "boolean" } }, "required": [ - "BusinessUnitId" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SlackSourceProperties": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password that corresponds to the user name.", - "title": "Password", - "type": "string" - }, - "Username": { - "markdownDescription": "The name of the user.", - "title": "Username", + "Object": { + "markdownDescription": "The object specified in the Slack flow source.", + "title": "Object", "type": "string" } }, + "required": [ + "Object" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { + "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "A name for the associated Amazon S3 bucket.", - "title": "BucketName", - "type": "string" - }, "BucketPrefix": { "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", "title": "BucketPrefix", "type": "string" }, - "ClusterIdentifier": { - "markdownDescription": "The unique ID that's assigned to an Amazon Redshift cluster.", - "title": "ClusterIdentifier", - "type": "string" - }, - "DataApiRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that permits Amazon AppFlow to access your Amazon Redshift database through the Data API. For more information, and for the polices that you attach to this role, see [Allow Amazon AppFlow to access Amazon Redshift databases with the Data API](https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#access-redshift) .", - "title": "DataApiRoleArn", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of an Amazon Redshift database.", - "title": "DatabaseName", - "type": "string" - }, - "DatabaseUrl": { - "markdownDescription": "The JDBC URL of the Amazon Redshift cluster.", - "title": "DatabaseUrl", - "type": "string" - }, - "IsRedshiftServerless": { - "markdownDescription": "Indicates whether the connector profile defines a connection to an Amazon Redshift Serverless data warehouse.", - "title": "IsRedshiftServerless", - "type": "boolean" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of IAM role that grants Amazon Redshift read-only access to Amazon S3. For more information, and for the polices that you attach to this role, see [Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3](https://docs.aws.amazon.com/appflow/latest/userguide/security_iam_service-role-policies.html#redshift-access-s3) .", - "title": "RoleArn", + "IntermediateBucketName": { + "markdownDescription": "The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.", + "title": "IntermediateBucketName", "type": "string" }, - "WorkgroupName": { - "markdownDescription": "The name of an Amazon Redshift workgroup.", - "title": "WorkgroupName", + "Object": { + "markdownDescription": "The object specified in the Snowflake flow destination.", + "title": "Object", "type": "string" } }, "required": [ - "BucketName", - "RoleArn" + "IntermediateBucketName", + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SourceConnectorProperties": { "additionalProperties": false, "properties": { - "BasicAuthCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.BasicAuthCredentials", - "markdownDescription": "The SAPOData basic authentication credentials.", - "title": "BasicAuthCredentials" + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Amplitude.", + "title": "Amplitude" }, - "OAuthCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthCredentials", - "markdownDescription": "The SAPOData OAuth type authentication credentials.", - "title": "OAuthCredentials" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SAPODataConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "ApplicationHostUrl": { - "markdownDescription": "The location of the SAPOData resource.", - "title": "ApplicationHostUrl", - "type": "string" + "CustomConnector": { + "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorSourceProperties", + "markdownDescription": "The properties that are applied when the custom connector is being used as a source.", + "title": "CustomConnector" }, - "ApplicationServicePath": { - "markdownDescription": "The application path to catalog service.", - "title": "ApplicationServicePath", - "type": "string" + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Datadog.", + "title": "Datadog" }, - "ClientNumber": { - "markdownDescription": "The client number for the client creating the connection.", - "title": "ClientNumber", - "type": "string" + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Dynatrace.", + "title": "Dynatrace" }, - "DisableSSO": { - "markdownDescription": "If you set this parameter to `true` , Amazon AppFlow bypasses the single sign-on (SSO) settings in your SAP account when it accesses your SAP OData instance.\n\nWhether you need this option depends on the types of credentials that you applied to your SAP OData connection profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from connecting to your account with your username and password. In this case, bypassing SSO makes it possible for Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no affect.", - "title": "DisableSSO", - "type": "boolean" + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Google Analytics.", + "title": "GoogleAnalytics" }, - "LogonLanguage": { - "markdownDescription": "The logon language of SAPOData instance.", - "title": "LogonLanguage", - "type": "string" + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Infor Nexus.", + "title": "InforNexus" }, - "OAuthProperties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuthProperties", - "markdownDescription": "The SAPOData OAuth properties required for OAuth type authentication.", - "title": "OAuthProperties" + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Marketo.", + "title": "Marketo" }, - "PortNumber": { - "markdownDescription": "The port number of the SAPOData instance.", - "title": "PortNumber", - "type": "number" + "Pardot": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PardotSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Salesforce Pardot.", + "title": "Pardot" }, - "PrivateLinkServiceName": { - "markdownDescription": "The SAPOData Private Link service name to be used for private data transfers.", - "title": "PrivateLinkServiceName", - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties", + "markdownDescription": "Specifies the information that is required for querying Amazon S3.", + "title": "S3" + }, + "SAPOData": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataSourceProperties", + "markdownDescription": "The properties that are applied when using SAPOData as a flow source.", + "title": "SAPOData" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Salesforce.", + "title": "Salesforce" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties", + "markdownDescription": "Specifies the information that is required for querying ServiceNow.", + "title": "ServiceNow" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Singular.", + "title": "Singular" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Slack.", + "title": "Slack" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Trend Micro.", + "title": "Trendmicro" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Veeva.", + "title": "Veeva" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties", + "markdownDescription": "Specifies the information that is required for querying Zendesk.", + "title": "Zendesk" } }, "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { + "AWS::AppFlow::Flow.SourceFlowConfig": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Salesforce resources.", - "title": "AccessToken", + "ApiVersion": { + "markdownDescription": "The API version of the connector when it's used as a source in the flow.", + "title": "ApiVersion", "type": "string" }, - "ClientCredentialsArn": { - "markdownDescription": "The secret manager ARN, which contains the client ID and client secret of the connected app.", - "title": "ClientCredentialsArn", + "ConnectorProfileName": { + "markdownDescription": "The name of the connector profile. This name must be unique for each connector profile in the AWS account .", + "title": "ConnectorProfileName", "type": "string" }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" - }, - "JwtToken": { - "markdownDescription": "A JSON web token (JWT) that authorizes Amazon AppFlow to access your Salesforce records.", - "title": "JwtToken", + "ConnectorType": { + "markdownDescription": "The type of connector, such as Salesforce, Amplitude, and so on.", + "title": "ConnectorType", "type": "string" }, - "OAuth2GrantType": { - "markdownDescription": "Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests an access token from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your Salesforce records.\n\nYou can specify one of the following values:\n\n- **AUTHORIZATION_CODE** - Amazon AppFlow passes an authorization code when it requests the access token from Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in to your Salesforce account and authorize Amazon AppFlow to access your records.\n- **JWT_BEARER** - Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to your Salesforce account. When you use this grant type, you don't need to log in to your Salesforce account to authorize Amazon AppFlow to access your records.\n\n> The CLIENT_CREDENTIALS value is not supported for Salesforce.", - "title": "OAuth2GrantType", - "type": "string" + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.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" }, - "RefreshToken": { - "markdownDescription": "The credentials used to acquire new access tokens.", - "title": "RefreshToken", - "type": "string" + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties", + "markdownDescription": "Specifies the information that is required to query a particular source connector.", + "title": "SourceConnectorProperties" } }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { + "AWS::AppFlow::Flow.SuccessResponseHandlingConfig": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Salesforce resource.", - "title": "InstanceUrl", + "BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket.", + "title": "BucketName", "type": "string" }, - "isSandboxEnvironment": { - "markdownDescription": "Indicates whether the connector profile applies to a sandbox or production environment.", - "title": "isSandboxEnvironment", - "type": "boolean" - }, - "usePrivateLinkForMetadataAndAuthorization": { - "markdownDescription": "If the connection mode for the connector profile is private, this parameter sets whether Amazon AppFlow uses the private network to send metadata and authorization calls to Salesforce. Amazon AppFlow sends private calls through AWS PrivateLink . These calls travel through AWS infrastructure without being exposed to the public internet.\n\nSet either of the following values:\n\n- **true** - Amazon AppFlow sends all calls to Salesforce over the private network.\n\nThese private calls are:\n\n- Calls to get metadata about your Salesforce records. This metadata describes your Salesforce objects and their fields.\n- Calls to get or refresh access tokens that allow Amazon AppFlow to access your Salesforce records.\n- Calls to transfer your Salesforce records as part of a flow run.\n- **false** - The default value. Amazon AppFlow sends some calls to Salesforce privately and other calls over the public internet.\n\nThe public calls are:\n\n- Calls to get metadata about your Salesforce records.\n- Calls to get or refresh access tokens.\n\nThe private calls are:\n\n- Calls to transfer your Salesforce records as part of a flow run.", - "title": "usePrivateLinkForMetadataAndAuthorization", - "type": "boolean" + "BucketPrefix": { + "markdownDescription": "The Amazon S3 bucket prefix.", + "title": "BucketPrefix", + "type": "string" } }, "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { + "AWS::AppFlow::Flow.Task": { "additionalProperties": false, "properties": { - "OAuth2Credentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.OAuth2Credentials", - "markdownDescription": "The OAuth 2.0 credentials required to authenticate the user.", - "title": "OAuth2Credentials" + "ConnectorOperator": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator", + "markdownDescription": "The operation to be performed on the provided source fields.", + "title": "ConnectorOperator" }, - "Password": { - "markdownDescription": "The password that corresponds to the user name.", - "title": "Password", + "DestinationField": { + "markdownDescription": "A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.", + "title": "DestinationField", "type": "string" }, - "Username": { - "markdownDescription": "The name of the user.", - "title": "Username", + "SourceFields": { + "items": { + "type": "string" + }, + "markdownDescription": "The source fields to which a particular task is applied.", + "title": "SourceFields", + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" + }, + "markdownDescription": "A map used to store task-related information. The execution service looks for particular information based on the `TaskType` .", + "title": "TaskProperties", + "type": "array" + }, + "TaskType": { + "markdownDescription": "Specifies the particular task implementation that Amazon AppFlow performs.\n\n*Allowed values* : `Arithmetic` | `Filter` | `Map` | `Map_all` | `Mask` | `Merge` | `Truncate` | `Validate`", + "title": "TaskType", "type": "string" } }, + "required": [ + "SourceFields", + "TaskType" + ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { + "AWS::AppFlow::Flow.TaskPropertiesObject": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the ServiceNow resource.", - "title": "InstanceUrl", + "Key": { + "markdownDescription": "The task property key.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The task property value.", + "title": "Value", "type": "string" } }, "required": [ - "InstanceUrl" + "Key", + "Value" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { + "AWS::AppFlow::Flow.TrendmicroSourceProperties": { "additionalProperties": false, "properties": { - "ApiKey": { - "markdownDescription": "A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.", - "title": "ApiKey", + "Object": { + "markdownDescription": "The object specified in the Trend Micro flow source.", + "title": "Object", "type": "string" } }, "required": [ - "ApiKey" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { + "AWS::AppFlow::Flow.TriggerConfig": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Slack resources.", - "title": "AccessToken", - "type": "string" - }, - "ClientId": { - "markdownDescription": "The identifier for the client.", - "title": "ClientId", - "type": "string" - }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Slack resource.", - "title": "InstanceUrl", - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "markdownDescription": "The password that corresponds to the user name.", - "title": "Password", - "type": "string" + "TriggerProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties", + "markdownDescription": "Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the `Scheduled` trigger type.", + "title": "TriggerProperties" }, - "Username": { - "markdownDescription": "The name of the user.", - "title": "Username", + "TriggerType": { + "markdownDescription": "Specifies the type of flow trigger. This can be `OnDemand` , `Scheduled` , or `Event` .", + "title": "TriggerType", "type": "string" } }, "required": [ - "Password", - "Username" + "TriggerType" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { "additionalProperties": false, "properties": { - "AccountName": { - "markdownDescription": "The name of the account.", - "title": "AccountName", - "type": "string" - }, "BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket associated with Snowflake.", + "markdownDescription": "The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.", "title": "BucketName", "type": "string" }, "BucketPrefix": { - "markdownDescription": "The bucket path that refers to the Amazon S3 bucket associated with Snowflake.", + "markdownDescription": "The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.", "title": "BucketPrefix", "type": "string" }, - "PrivateLinkServiceName": { - "markdownDescription": "The Snowflake Private Link service name to be used for private data transfers.", - "title": "PrivateLinkServiceName", - "type": "string" - }, - "Region": { - "markdownDescription": "The AWS Region of the Snowflake account.", - "title": "Region", - "type": "string" - }, - "Stage": { - "markdownDescription": "The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema>.", - "title": "Stage", - "type": "string" - }, - "Warehouse": { - "markdownDescription": "The name of the Snowflake warehouse.", - "title": "Warehouse", - "type": "string" + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig", + "markdownDescription": "The configuration that determines how data is formatted when Upsolver is used as the flow destination.", + "title": "S3OutputFormatConfig" } }, "required": [ "BucketName", - "Stage", - "Warehouse" + "S3OutputFormatConfig" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { "additionalProperties": false, "properties": { - "ApiSecretKey": { - "markdownDescription": "The Secret Access Key portion of the credentials.", - "title": "ApiSecretKey", + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig", + "markdownDescription": "The aggregation settings that you can use to customize the output format of your flow data.", + "title": "AggregationConfig" + }, + "FileType": { + "markdownDescription": "Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.", + "title": "FileType", "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig", + "markdownDescription": "Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.", + "title": "PrefixConfig" } }, "required": [ - "ApiSecretKey" + "PrefixConfig" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { + "AWS::AppFlow::Flow.VeevaSourceProperties": { "additionalProperties": false, "properties": { - "Password": { - "markdownDescription": "The password that corresponds to the user name.", - "title": "Password", + "DocumentType": { + "markdownDescription": "The document type specified in the Veeva document extract flow.", + "title": "DocumentType", "type": "string" }, - "Username": { - "markdownDescription": "The name of the user.", - "title": "Username", - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Veeva resource.", - "title": "InstanceUrl", + "IncludeAllVersions": { + "markdownDescription": "Boolean value to include All Versions of files in Veeva document extract flow.", + "title": "IncludeAllVersions", + "type": "boolean" + }, + "IncludeRenditions": { + "markdownDescription": "Boolean value to include file renditions in Veeva document extract flow.", + "title": "IncludeRenditions", + "type": "boolean" + }, + "IncludeSourceFiles": { + "markdownDescription": "Boolean value to include source files in Veeva document extract flow.", + "title": "IncludeSourceFiles", + "type": "boolean" + }, + "Object": { + "markdownDescription": "The object specified in the Veeva flow source.", + "title": "Object", "type": "string" } }, "required": [ - "InstanceUrl" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { + "AWS::AppFlow::Flow.ZendeskDestinationProperties": { "additionalProperties": false, "properties": { - "AccessToken": { - "markdownDescription": "The credentials used to access protected Zendesk resources.", - "title": "AccessToken", - "type": "string" + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", + "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", + "title": "ErrorHandlingConfig" }, - "ClientId": { - "markdownDescription": "The identifier for the desired client.", - "title": "ClientId", - "type": "string" + "IdFieldNames": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of field names that can be used as an ID field when performing a write operation.", + "title": "IdFieldNames", + "type": "array" }, - "ClientSecret": { - "markdownDescription": "The client secret used by the OAuth client to authenticate to the authorization server.", - "title": "ClientSecret", + "Object": { + "markdownDescription": "The object specified in the Zendesk flow destination.", + "title": "Object", "type": "string" }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest", - "markdownDescription": "Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.", - "title": "ConnectorOAuthRequest" + "WriteOperationType": { + "markdownDescription": "The possible write operations in the destination connector. When this value is not provided, this defaults to the `INSERT` operation.", + "title": "WriteOperationType", + "type": "string" } }, "required": [ - "ClientId", - "ClientSecret" + "Object" ], "type": "object" }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { + "AWS::AppFlow::Flow.ZendeskSourceProperties": { "additionalProperties": false, "properties": { - "InstanceUrl": { - "markdownDescription": "The location of the Zendesk resource.", - "title": "InstanceUrl", + "Object": { + "markdownDescription": "The object specified in the Zendesk flow source.", + "title": "Object", "type": "string" } }, "required": [ - "InstanceUrl" + "Object" ], "type": "object" }, - "AWS::AppFlow::Flow": { + "AWS::AppIntegrations::Application": { "additionalProperties": false, "properties": { "Condition": { @@ -15518,78 +15442,76 @@ "Properties": { "additionalProperties": false, "properties": { + "ApplicationConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationConfig", + "markdownDescription": "", + "title": "ApplicationConfig" + }, + "ApplicationSourceConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig", + "markdownDescription": "The configuration for where the application should be loaded from.", + "title": "ApplicationSourceConfig" + }, + "ApplicationType": { + "type": "string" + }, "Description": { - "markdownDescription": "A user-entered description of the flow.", + "markdownDescription": "The description of the application.", "title": "Description", "type": "string" }, - "DestinationFlowConfigList": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" - }, - "markdownDescription": "The configuration that controls how Amazon AppFlow places data in the destination connector.", - "title": "DestinationFlowConfigList", - "type": "array" + "IframeConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.IframeConfig", + "markdownDescription": "", + "title": "IframeConfig" }, - "FlowName": { - "markdownDescription": "The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.", - "title": "FlowName", - "type": "string" + "InitializationTimeout": { + "markdownDescription": "", + "title": "InitializationTimeout", + "type": "number" }, - "FlowStatus": { - "markdownDescription": "Sets the status of the flow. You can specify one of the following values:\n\n- **Active** - The flow runs based on the trigger settings that you defined. Active scheduled flows run as scheduled, and active event-triggered flows run when the specified change event occurs. However, active on-demand flows run only when you manually start them by using Amazon AppFlow.\n- **Suspended** - You can use this option to deactivate an active flow. Scheduled and event-triggered flows will cease to run until you reactive them. This value only affects scheduled and event-triggered flows. It has no effect for on-demand flows.\n\nIf you omit the FlowStatus parameter, Amazon AppFlow creates the flow with a default status. The default status for on-demand flows is Active. The default status for scheduled and event-triggered flows is Draft, which means they\u2019re not yet active.", - "title": "FlowStatus", - "type": "string" + "IsService": { + "markdownDescription": "Indicates whether the application is a service.", + "title": "IsService", + "type": "boolean" }, - "KMSArn": { - "markdownDescription": "The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.", - "title": "KMSArn", + "Name": { + "markdownDescription": "The name of the application.", + "title": "Name", "type": "string" }, - "MetadataCatalogConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MetadataCatalogConfig", - "markdownDescription": "Specifies the configuration that Amazon AppFlow uses when it catalogs your data. When Amazon AppFlow catalogs your data, it stores metadata in a data catalog.", - "title": "MetadataCatalogConfig" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig", - "markdownDescription": "Contains information about the configuration of the source connector used in the flow.", - "title": "SourceFlowConfig" + "Namespace": { + "markdownDescription": "The namespace of the application.", + "title": "Namespace", + "type": "string" }, - "Tags": { + "Permissions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags used to organize, track, or control access for your flow.", - "title": "Tags", + "markdownDescription": "", + "title": "Permissions", "type": "array" }, - "Tasks": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.Task" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.", - "title": "Tasks", + "markdownDescription": "The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig", - "markdownDescription": "The trigger settings that determine how and when Amazon AppFlow runs the specified flow.", - "title": "TriggerConfig" } }, "required": [ - "DestinationFlowConfigList", - "FlowName", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" + "ApplicationSourceConfig", + "Name", + "Namespace" ], "type": "object" }, "Type": { "enum": [ - "AWS::AppFlow::Flow" + "AWS::AppIntegrations::Application" ], "type": "string" }, @@ -15608,1295 +15530,921 @@ ], "type": "object" }, - "AWS::AppFlow::Flow.AggregationConfig": { + "AWS::AppIntegrations::Application.ApplicationConfig": { "additionalProperties": false, "properties": { - "AggregationType": { - "markdownDescription": "Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.", - "title": "AggregationType", - "type": "string" - }, - "TargetFileSize": { - "markdownDescription": "The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.", - "title": "TargetFileSize", - "type": "number" + "ContactHandling": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ContactHandling", + "markdownDescription": "", + "title": "ContactHandling" } }, "type": "object" }, - "AWS::AppFlow::Flow.AmplitudeSourceProperties": { + "AWS::AppIntegrations::Application.ApplicationSourceConfig": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Amplitude flow source.", - "title": "Object", - "type": "string" + "ExternalUrlConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig", + "markdownDescription": "The external URL source for the application.", + "title": "ExternalUrlConfig" } }, "required": [ - "Object" + "ExternalUrlConfig" ], "type": "object" }, - "AWS::AppFlow::Flow.ConnectorOperator": { + "AWS::AppIntegrations::Application.ContactHandling": { "additionalProperties": false, "properties": { - "Amplitude": { - "markdownDescription": "The operation to be performed on the provided Amplitude source fields.", - "title": "Amplitude", - "type": "string" - }, - "CustomConnector": { - "markdownDescription": "Operators supported by the custom connector.", - "title": "CustomConnector", - "type": "string" - }, - "Datadog": { - "markdownDescription": "The operation to be performed on the provided Datadog source fields.", - "title": "Datadog", - "type": "string" - }, - "Dynatrace": { - "markdownDescription": "The operation to be performed on the provided Dynatrace source fields.", - "title": "Dynatrace", - "type": "string" - }, - "GoogleAnalytics": { - "markdownDescription": "The operation to be performed on the provided Google Analytics source fields.", - "title": "GoogleAnalytics", - "type": "string" - }, - "InforNexus": { - "markdownDescription": "The operation to be performed on the provided Infor Nexus source fields.", - "title": "InforNexus", - "type": "string" - }, - "Marketo": { - "markdownDescription": "The operation to be performed on the provided Marketo source fields.", - "title": "Marketo", - "type": "string" - }, - "Pardot": { - "markdownDescription": "The operation to be performed on the provided Salesforce Pardot source fields.", - "title": "Pardot", + "Scope": { + "markdownDescription": "", + "title": "Scope", "type": "string" - }, - "S3": { - "markdownDescription": "The operation to be performed on the provided Amazon S3 source fields.", - "title": "S3", + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "additionalProperties": false, + "properties": { + "AccessUrl": { + "markdownDescription": "The URL to access the application.", + "title": "AccessUrl", "type": "string" }, - "SAPOData": { - "markdownDescription": "The operation to be performed on the provided SAPOData source fields.", - "title": "SAPOData", - "type": "string" + "ApprovedOrigins": { + "items": { + "type": "string" + }, + "markdownDescription": "Additional URLs to allow list if different than the access URL.", + "title": "ApprovedOrigins", + "type": "array" + } + }, + "required": [ + "AccessUrl" + ], + "type": "object" + }, + "AWS::AppIntegrations::Application.IframeConfig": { + "additionalProperties": false, + "properties": { + "Allow": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Allow", + "type": "array" }, - "Salesforce": { - "markdownDescription": "The operation to be performed on the provided Salesforce source fields.", - "title": "Salesforce", + "Sandbox": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Sandbox", + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppIntegrations::DataIntegration": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "ServiceNow": { - "markdownDescription": "The operation to be performed on the provided ServiceNow source fields.", - "title": "ServiceNow", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Singular": { - "markdownDescription": "The operation to be performed on the provided Singular source fields.", - "title": "Singular", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Slack": { - "markdownDescription": "The operation to be performed on the provided Slack source fields.", - "title": "Slack", - "type": "string" + "Metadata": { + "type": "object" }, - "Trendmicro": { - "markdownDescription": "The operation to be performed on the provided Trend Micro source fields.", - "title": "Trendmicro", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description of the DataIntegration.", + "title": "Description", + "type": "string" + }, + "FileConfiguration": { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.FileConfiguration", + "markdownDescription": "The configuration for what files should be pulled from the source.", + "title": "FileConfiguration" + }, + "KmsKey": { + "markdownDescription": "The KMS key for the DataIntegration.", + "title": "KmsKey", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the DataIntegration.", + "title": "Name", + "type": "string" + }, + "ObjectConfiguration": { + "markdownDescription": "The configuration for what data should be pulled from the source.", + "title": "ObjectConfiguration", + "type": "object" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.ScheduleConfig", + "markdownDescription": "The name of the data and how often it should be pulled from the source.", + "title": "ScheduleConfig" + }, + "SourceURI": { + "markdownDescription": "The URI of the data source.", + "title": "SourceURI", + "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": [ + "KmsKey", + "Name", + "SourceURI" + ], + "type": "object" }, - "Veeva": { - "markdownDescription": "The operation to be performed on the provided Veeva source fields.", - "title": "Veeva", + "Type": { + "enum": [ + "AWS::AppIntegrations::DataIntegration" + ], "type": "string" }, - "Zendesk": { - "markdownDescription": "The operation to be performed on the provided Zendesk source fields.", - "title": "Zendesk", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::AppFlow::Flow.CustomConnectorDestinationProperties": { + "AWS::AppIntegrations::DataIntegration.FileConfiguration": { "additionalProperties": false, "properties": { - "CustomProperties": { - "additionalProperties": true, - "markdownDescription": "The custom properties that are specific to the connector when it's used as a destination in the flow.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "CustomProperties", + "Filters": { + "markdownDescription": "Restrictions for what files should be pulled from the source.", + "title": "Filters", "type": "object" }, - "EntityName": { - "markdownDescription": "The entity specified in the custom connector as a destination in the flow.", - "title": "EntityName", - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.", - "title": "ErrorHandlingConfig" - }, - "IdFieldNames": { + "Folders": { "items": { "type": "string" }, - "markdownDescription": "The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update, delete, or upsert.", - "title": "IdFieldNames", + "markdownDescription": "Identifiers for the source folders to pull all files from recursively.", + "title": "Folders", "type": "array" - }, - "WriteOperationType": { - "markdownDescription": "Specifies the type of write operation to be performed in the custom connector when it's used as destination.", - "title": "WriteOperationType", - "type": "string" } }, "required": [ - "EntityName" + "Folders" ], "type": "object" }, - "AWS::AppFlow::Flow.CustomConnectorSourceProperties": { + "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { "additionalProperties": false, "properties": { - "CustomProperties": { - "additionalProperties": true, - "markdownDescription": "Custom properties that are required to use the custom connector as a source.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "CustomProperties", - "type": "object" + "FirstExecutionFrom": { + "markdownDescription": "The start date for objects to import in the first flow run as an Unix/epoch timestamp in milliseconds or in ISO-8601 format.", + "title": "FirstExecutionFrom", + "type": "string" }, - "DataTransferApi": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DataTransferApi", - "markdownDescription": "The API of the connector application that Amazon AppFlow uses to transfer your data.", - "title": "DataTransferApi" + "Object": { + "markdownDescription": "The name of the object to pull from the data source.", + "title": "Object", + "type": "string" }, - "EntityName": { - "markdownDescription": "The entity specified in the custom connector as a source in the flow.", - "title": "EntityName", + "ScheduleExpression": { + "markdownDescription": "How often the data should be pulled from data source.", + "title": "ScheduleExpression", "type": "string" } }, "required": [ - "EntityName" + "ScheduleExpression" ], "type": "object" }, - "AWS::AppFlow::Flow.DataTransferApi": { + "AWS::AppIntegrations::EventIntegration": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the connector application API.", - "title": "Name", + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "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 event integration description.", + "title": "Description", + "type": "string" + }, + "EventBridgeBus": { + "markdownDescription": "The Amazon EventBridge bus for the event integration.", + "title": "EventBridgeBus", + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter", + "markdownDescription": "The event integration filter.", + "title": "EventFilter" + }, + "Name": { + "markdownDescription": "The name of the event integration.", + "title": "Name", + "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": [ + "EventBridgeBus", + "EventFilter", + "Name" + ], + "type": "object" + }, "Type": { - "markdownDescription": "You can specify one of the following types:\n\n- **AUTOMATIC** - The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.\n- **SYNC** - A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.\n- **ASYNC** - An asynchronous API. This type of API optimizes a flow for large datasets.", - "title": "Type", + "enum": [ + "AWS::AppIntegrations::EventIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name", - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::AppFlow::Flow.DatadogSourceProperties": { + "AWS::AppIntegrations::EventIntegration.EventFilter": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Datadog flow source.", - "title": "Object", + "Source": { + "markdownDescription": "The source of the events.", + "title": "Source", "type": "string" } }, "required": [ - "Object" + "Source" ], "type": "object" }, - "AWS::AppFlow::Flow.DestinationConnectorProperties": { + "AWS::AppMesh::GatewayRoute": { "additionalProperties": false, "properties": { - "CustomConnector": { - "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorDestinationProperties", - "markdownDescription": "The properties that are required to query the custom Connector.", - "title": "CustomConnector" - }, - "EventBridge": { - "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties", - "markdownDescription": "The properties required to query Amazon EventBridge.", - "title": "EventBridge" - }, - "LookoutMetrics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties", - "markdownDescription": "The properties required to query Amazon Lookout for Metrics.", - "title": "LookoutMetrics" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoDestinationProperties", - "markdownDescription": "The properties required to query Marketo.", - "title": "Marketo" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties", - "markdownDescription": "The properties required to query Amazon Redshift.", - "title": "Redshift" + "Condition": { + "type": "string" }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties", - "markdownDescription": "The properties required to query Amazon S3.", - "title": "S3" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "SAPOData": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataDestinationProperties", - "markdownDescription": "The properties required to query SAPOData.", - "title": "SAPOData" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties", - "markdownDescription": "The properties required to query Salesforce.", - "title": "Salesforce" + "Metadata": { + "type": "object" }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties", - "markdownDescription": "The properties required to query Snowflake.", - "title": "Snowflake" + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "markdownDescription": "The name of the gateway route.", + "title": "GatewayRouteName", + "type": "string" + }, + "MeshName": { + "markdownDescription": "The name of the service mesh that the resource resides in.", + "title": "MeshName", + "type": "string" + }, + "MeshOwner": { + "markdownDescription": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .", + "title": "MeshOwner", + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec", + "markdownDescription": "The specifications of the gateway route.", + "title": "Spec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Optional metadata that you can apply to the gateway route to assist with categorization and organization. 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": "Tags", + "type": "array" + }, + "VirtualGatewayName": { + "markdownDescription": "The virtual gateway that the gateway route is associated with.", + "title": "VirtualGatewayName", + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" }, - "Upsolver": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties", - "markdownDescription": "The properties required to query Upsolver.", - "title": "Upsolver" + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties", - "markdownDescription": "The properties required to query Zendesk.", - "title": "Zendesk" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::AppFlow::Flow.DestinationFlowConfig": { + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch": { "additionalProperties": false, "properties": { - "ApiVersion": { - "markdownDescription": "The API version that the destination connector uses.", - "title": "ApiVersion", - "type": "string" - }, - "ConnectorProfileName": { - "markdownDescription": "The name of the connector profile. This name must be unique for each connector profile in the AWS account .", - "title": "ConnectorProfileName", + "Exact": { + "markdownDescription": "The exact host name to match on.", + "title": "Exact", "type": "string" }, - "ConnectorType": { - "markdownDescription": "The type of destination connector, such as Sales force, Amazon S3, and so on.", - "title": "ConnectorType", + "Suffix": { + "markdownDescription": "The specified ending characters of the host name to match on.", + "title": "Suffix", "type": "string" - }, - "DestinationConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties", - "markdownDescription": "This stores the information that is required to query a particular connector.", - "title": "DestinationConnectorProperties" } }, - "required": [ - "ConnectorType", - "DestinationConnectorProperties" - ], "type": "object" }, - "AWS::AppFlow::Flow.DynatraceSourceProperties": { + "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Dynatrace flow source.", - "title": "Object", + "DefaultTargetHostname": { + "markdownDescription": "The default target host name to write to.", + "title": "DefaultTargetHostname", "type": "string" } }, - "required": [ - "Object" - ], "type": "object" }, - "AWS::AppFlow::Flow.ErrorHandlingConfig": { + "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "Specifies the name of the Amazon S3 bucket.", - "title": "BucketName", + "Exact": { + "markdownDescription": "The exact method header to be matched on.", + "title": "Exact", "type": "string" }, - "BucketPrefix": { - "markdownDescription": "Specifies the Amazon S3 bucket prefix.", - "title": "BucketPrefix", + "Prefix": { + "markdownDescription": "The specified beginning characters of the method header to be matched on.", + "title": "Prefix", "type": "string" }, - "FailOnFirstError": { - "markdownDescription": "Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.", - "title": "FailOnFirstError", - "type": "boolean" + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch", + "markdownDescription": "An object that represents the range of values to match on.", + "title": "Range" + }, + "Regex": { + "markdownDescription": "The regex used to match the method header.", + "title": "Regex", + "type": "string" + }, + "Suffix": { + "markdownDescription": "The specified ending characters of the method header to match on.", + "title": "Suffix", + "type": "string" } }, "type": "object" }, - "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { + "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch": { "additionalProperties": false, "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The object specified in the Amplitude flow source.", - "title": "ErrorHandlingConfig" + "End": { + "markdownDescription": "The end of the range.", + "title": "End", + "type": "number" }, - "Object": { - "markdownDescription": "The object specified in the Amazon EventBridge flow destination.", - "title": "Object", - "type": "string" + "Start": { + "markdownDescription": "The start of the range.", + "title": "Start", + "type": "number" } }, "required": [ - "Object" + "End", + "Start" ], "type": "object" }, - "AWS::AppFlow::Flow.GlueDataCatalog": { + "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { "additionalProperties": false, "properties": { - "DatabaseName": { - "markdownDescription": "", - "title": "DatabaseName", - "type": "string" + "GrpcRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRoute", + "markdownDescription": "An object that represents the specification of a gRPC gateway route.", + "title": "GrpcRoute" }, - "RoleArn": { - "markdownDescription": "", - "title": "RoleArn", - "type": "string" + "Http2Route": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute", + "markdownDescription": "An object that represents the specification of an HTTP/2 gateway route.", + "title": "Http2Route" }, - "TablePrefix": { - "markdownDescription": "", - "title": "TablePrefix", - "type": "string" + "HttpRoute": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute", + "markdownDescription": "An object that represents the specification of an HTTP gateway route.", + "title": "HttpRoute" + }, + "Priority": { + "markdownDescription": "The ordering of the gateway routes spec.", + "title": "Priority", + "type": "number" } }, - "required": [ - "DatabaseName", - "RoleArn", - "TablePrefix" - ], "type": "object" }, - "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Google Analytics flow source.", - "title": "Object", - "type": "string" + "Port": { + "markdownDescription": "The port number of the gateway route target.", + "title": "Port", + "type": "number" + }, + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService", + "markdownDescription": "An object that represents a virtual service gateway route target.", + "title": "VirtualService" } }, "required": [ - "Object" + "VirtualService" ], "type": "object" }, - "AWS::AppFlow::Flow.IncrementalPullConfig": { + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { "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", + "VirtualServiceName": { + "markdownDescription": "The name of the virtual service that traffic is routed to.", + "title": "VirtualServiceName", "type": "string" } }, + "required": [ + "VirtualServiceName" + ], "type": "object" }, - "AWS::AppFlow::Flow.InforNexusSourceProperties": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Infor Nexus flow source.", - "title": "Object", - "type": "string" + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction", + "markdownDescription": "An object that represents the action to take if a match is determined.", + "title": "Action" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch", + "markdownDescription": "An object that represents the criteria for determining a request match.", + "title": "Match" } }, "required": [ - "Object" + "Action", + "Match" ], "type": "object" }, - "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Amazon Lookout for Metrics flow destination.", - "title": "Object", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.MarketoDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite", + "markdownDescription": "The gateway route action to rewrite.", + "title": "Rewrite" }, - "Object": { - "markdownDescription": "The object specified in the Marketo flow destination.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Marketo flow source.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.MetadataCatalogConfig": { - "additionalProperties": false, - "properties": { - "GlueDataCatalog": { - "$ref": "#/definitions/AWS::AppFlow::Flow.GlueDataCatalog", - "markdownDescription": "Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the AWS Glue Data Catalog .", - "title": "GlueDataCatalog" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.PardotSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Salesforce Pardot flow source.", - "title": "Object", - "type": "string" + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget", + "markdownDescription": "An object that represents the target that traffic is routed to when a request matches the gateway route.", + "title": "Target" } }, "required": [ - "Object" + "Target" ], "type": "object" }, - "AWS::AppFlow::Flow.PrefixConfig": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { "additionalProperties": false, "properties": { - "PathPrefixHierarchy": { + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch", + "markdownDescription": "The gateway route host name to be matched on.", + "title": "Hostname" + }, + "Metadata": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata" }, - "markdownDescription": "Specifies whether the destination file path includes either or both of the following elements:\n\n- **EXECUTION_ID** - The ID that Amazon AppFlow assigns to the flow run.\n- **SCHEMA_VERSION** - The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:\n\n- Source-to-destination field mappings\n- Field data types\n- Partition keys", - "title": "PathPrefixHierarchy", + "markdownDescription": "The gateway route metadata to be matched on.", + "title": "Metadata", "type": "array" }, - "PrefixFormat": { - "markdownDescription": "Determines the level of granularity for the date and time that's included in the prefix.", - "title": "PrefixFormat", - "type": "string" - }, - "PrefixType": { - "markdownDescription": "Determines the format of the prefix, and whether it applies to the file name, file path, or both.", - "title": "PrefixType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.RedshiftDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "markdownDescription": "The object key for the bucket in which Amazon AppFlow places the destination files.", - "title": "BucketPrefix", - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "markdownDescription": "The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.", - "title": "IntermediateBucketName", - "type": "string" - }, - "Object": { - "markdownDescription": "The object specified in the Amazon Redshift flow destination.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3DestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", - "title": "BucketPrefix", - "type": "string" + "Port": { + "markdownDescription": "The gateway route port to be matched on.", + "title": "Port", + "type": "number" }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig", - "markdownDescription": "The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.", - "title": "S3OutputFormatConfig" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3InputFormatConfig": { - "additionalProperties": false, - "properties": { - "S3InputFileType": { - "markdownDescription": "The file type that Amazon AppFlow gets from your Amazon S3 bucket.", - "title": "S3InputFileType", + "ServiceName": { + "markdownDescription": "The fully qualified domain name for the service to match from the request.", + "title": "ServiceName", "type": "string" } }, "type": "object" }, - "AWS::AppFlow::Flow.S3OutputFormatConfig": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata": { "additionalProperties": false, "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig", - "markdownDescription": "The aggregation settings that you can use to customize the output format of your flow data.", - "title": "AggregationConfig" - }, - "FileType": { - "markdownDescription": "Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.", - "title": "FileType", - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig", - "markdownDescription": "Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.", - "title": "PrefixConfig" - }, - "PreserveSourceDataTyping": { - "markdownDescription": "If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.\n\n- `true` : Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or `1` in your source data is still an integer in your output.\n- `false` : Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of `1` in your source data becomes the string `\"1\"` in the output.", - "title": "PreserveSourceDataTyping", + "Invert": { + "markdownDescription": "Specify `True` to match anything except the match criteria. The default value is `False` .", + "title": "Invert", "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The Amazon S3 bucket name where the source files are stored.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "The object key for the Amazon S3 bucket in which the source files are stored.", - "title": "BucketPrefix", - "type": "string" - }, - "S3InputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3InputFormatConfig", - "markdownDescription": "When you use Amazon S3 as the source, the configuration format that you provide the flow input data.", - "title": "S3InputFormatConfig" - } - }, - "required": [ - "BucketName", - "BucketPrefix" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SAPODataDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of field names that can be used as an ID field when performing a write operation.", - "title": "IdFieldNames", - "type": "array" - }, - "ObjectPath": { - "markdownDescription": "The object path specified in the SAPOData flow destination.", - "title": "ObjectPath", - "type": "string" }, - "SuccessResponseHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SuccessResponseHandlingConfig", - "markdownDescription": "Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.\n\nFor example, this setting would determine where to write the response from a destination connector upon a successful insert operation.", - "title": "SuccessResponseHandlingConfig" + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch", + "markdownDescription": "The criteria for determining a metadata match.", + "title": "Match" }, - "WriteOperationType": { - "markdownDescription": "The possible write operations in the destination connector. When this value is not provided, this defaults to the `INSERT` operation.", - "title": "WriteOperationType", + "Name": { + "markdownDescription": "A name for the gateway route metadata.", + "title": "Name", "type": "string" } }, "required": [ - "ObjectPath" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SAPODataPaginationConfig": { - "additionalProperties": false, - "properties": { - "maxPageSize": { - "markdownDescription": "The maximum number of records that Amazon AppFlow receives in each page of the response from your SAP application. For transfers of OData records, the maximum page size is 3,000. For transfers of data that comes from an ODP provider, the maximum page size is 10,000.", - "title": "maxPageSize", - "type": "number" - } - }, - "required": [ - "maxPageSize" + "Name" ], "type": "object" }, - "AWS::AppFlow::Flow.SAPODataParallelismConfig": { + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite": { "additionalProperties": false, "properties": { - "maxParallelism": { - "markdownDescription": "The maximum number of processes that Amazon AppFlow runs at the same time when it retrieves your data from your SAP application.", - "title": "maxParallelism", - "type": "number" + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite", + "markdownDescription": "The host name of the gateway route to rewrite.", + "title": "Hostname" } }, - "required": [ - "maxParallelism" - ], "type": "object" }, - "AWS::AppFlow::Flow.SAPODataSourceProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { "additionalProperties": false, "properties": { - "ObjectPath": { - "markdownDescription": "The object path specified in the SAPOData flow source.", - "title": "ObjectPath", - "type": "string" - }, - "paginationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataPaginationConfig", - "markdownDescription": "Sets the page size for each concurrent process that transfers OData records from your SAP instance.", - "title": "paginationConfig" + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction", + "markdownDescription": "An object that represents the action to take if a match is determined.", + "title": "Action" }, - "parallelismConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataParallelismConfig", - "markdownDescription": "Sets the number of concurrent processes that transfers OData records from your SAP instance.", - "title": "parallelismConfig" + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch", + "markdownDescription": "An object that represents the criteria for determining a request match.", + "title": "Match" } }, "required": [ - "ObjectPath" + "Action", + "Match" ], "type": "object" }, - "AWS::AppFlow::Flow.SalesforceDestinationProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { "additionalProperties": false, "properties": { - "DataTransferApi": { - "markdownDescription": "Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.\n\n- **AUTOMATIC** - The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.\n\nEach of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.\n\nBy choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.\n- **BULKV2** - Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.\n\nNote that Bulk API 2.0 does not transfer Salesforce compound fields.\n- **REST_SYNC** - Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.", - "title": "DataTransferApi", - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.", - "title": "IdFieldNames", - "type": "array" - }, - "Object": { - "markdownDescription": "The object specified in the Salesforce flow destination.", - "title": "Object", - "type": "string" + "Rewrite": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite", + "markdownDescription": "The gateway route action to rewrite.", + "title": "Rewrite" }, - "WriteOperationType": { - "markdownDescription": "This specifies the type of write operation to be performed in Salesforce. When the value is `UPSERT` , then `idFieldNames` is required.", - "title": "WriteOperationType", - "type": "string" + "Target": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget", + "markdownDescription": "An object that represents the target that traffic is routed to when a request matches the gateway route.", + "title": "Target" } }, "required": [ - "Object" + "Target" ], "type": "object" }, - "AWS::AppFlow::Flow.SalesforceSourceProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader": { "additionalProperties": false, "properties": { - "DataTransferApi": { - "markdownDescription": "Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.\n\n- **AUTOMATIC** - The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers from Salesforce. If your flow transfers fewer than 1,000,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.\n\nEach of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900,000 records, and it might use Bulk API 2.0 on the next day to transfer 1,100,000 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.\n\nBy choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.\n- **BULKV2** - Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.\n\nNote that Bulk API 2.0 does not transfer Salesforce compound fields.\n- **REST_SYNC** - Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail wituh a timed out error.", - "title": "DataTransferApi", - "type": "string" - }, - "EnableDynamicFieldUpdate": { - "markdownDescription": "The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.", - "title": "EnableDynamicFieldUpdate", + "Invert": { + "markdownDescription": "Specify `True` to match anything except the match criteria. The default value is `False` .", + "title": "Invert", "type": "boolean" }, - "IncludeDeletedRecords": { - "markdownDescription": "Indicates whether Amazon AppFlow includes deleted files in the flow run.", - "title": "IncludeDeletedRecords", - "type": "boolean" + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch", + "markdownDescription": "An object that represents the method and value to match with the header value sent in a request. Specify one match method.", + "title": "Match" }, - "Object": { - "markdownDescription": "The object specified in the Salesforce flow source.", - "title": "Object", + "Name": { + "markdownDescription": "A name for the HTTP header in the gateway route that will be matched on.", + "title": "Name", "type": "string" } }, "required": [ - "Object" + "Name" ], "type": "object" }, - "AWS::AppFlow::Flow.ScheduledTriggerProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch": { "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", - "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" - }, - "FlowErrorDeactivationThreshold": { - "markdownDescription": "Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.", - "title": "FlowErrorDeactivationThreshold", - "type": "number" - }, - "ScheduleEndTime": { - "markdownDescription": "The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-27T13:00:00-07:00` .", - "title": "ScheduleEndTime", - "type": "number" - }, - "ScheduleExpression": { - "markdownDescription": "The scheduling expression that determines the rate at which the schedule will run, for example `rate(5minutes)` .", - "title": "ScheduleExpression", + "Exact": { + "markdownDescription": "The value sent by the client must match the specified value exactly.", + "title": "Exact", "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": "The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as `2022-04-26T13:00:00-07:00` .", - "title": "ScheduleStartTime", - "type": "number" - }, - "TimeZone": { - "markdownDescription": "Specifies the time zone used when referring to the dates and times of a scheduled flow, such as `America/New_York` . This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.\n\nIf you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the `America/New_York` timezone are `-04:00` EDT and `-05:00 EST` .", - "title": "TimeZone", - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the ServiceNow flow source.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SingularSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Singular flow source.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SlackSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Slack flow source.", - "title": "Object", - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "markdownDescription": "The object key for the destination bucket in which Amazon AppFlow places the files.", - "title": "BucketPrefix", + "Prefix": { + "markdownDescription": "The value sent by the client must begin with the specified characters.", + "title": "Prefix", "type": "string" }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" + "Range": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch", + "markdownDescription": "An object that represents the range of values to match on.", + "title": "Range" }, - "IntermediateBucketName": { - "markdownDescription": "The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.", - "title": "IntermediateBucketName", + "Regex": { + "markdownDescription": "The value sent by the client must include the specified characters.", + "title": "Regex", "type": "string" }, - "Object": { - "markdownDescription": "The object specified in the Snowflake flow destination.", - "title": "Object", + "Suffix": { + "markdownDescription": "The value sent by the client must end with the specified characters.", + "title": "Suffix", "type": "string" } }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Amplitude.", - "title": "Amplitude" - }, - "CustomConnector": { - "$ref": "#/definitions/AWS::AppFlow::Flow.CustomConnectorSourceProperties", - "markdownDescription": "The properties that are applied when the custom connector is being used as a source.", - "title": "CustomConnector" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Datadog.", - "title": "Datadog" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Dynatrace.", - "title": "Dynatrace" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Google Analytics.", - "title": "GoogleAnalytics" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Infor Nexus.", - "title": "InforNexus" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Marketo.", - "title": "Marketo" - }, - "Pardot": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PardotSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Salesforce Pardot.", - "title": "Pardot" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties", - "markdownDescription": "Specifies the information that is required for querying Amazon S3.", - "title": "S3" - }, - "SAPOData": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SAPODataSourceProperties", - "markdownDescription": "The properties that are applied when using SAPOData as a flow source.", - "title": "SAPOData" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Salesforce.", - "title": "Salesforce" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties", - "markdownDescription": "Specifies the information that is required for querying ServiceNow.", - "title": "ServiceNow" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Singular.", - "title": "Singular" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Slack.", - "title": "Slack" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Trend Micro.", - "title": "Trendmicro" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Veeva.", - "title": "Veeva" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties", - "markdownDescription": "Specifies the information that is required for querying Zendesk.", - "title": "Zendesk" - } - }, "type": "object" }, - "AWS::AppFlow::Flow.SourceFlowConfig": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { "additionalProperties": false, "properties": { - "ApiVersion": { - "markdownDescription": "The API version of the connector when it's used as a source in the flow.", - "title": "ApiVersion", - "type": "string" + "Headers": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader" + }, + "markdownDescription": "The client request headers to match on.", + "title": "Headers", + "type": "array" }, - "ConnectorProfileName": { - "markdownDescription": "The name of the connector profile. This name must be unique for each connector profile in the AWS account .", - "title": "ConnectorProfileName", - "type": "string" + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch", + "markdownDescription": "The host name to match on.", + "title": "Hostname" }, - "ConnectorType": { - "markdownDescription": "The type of connector, such as Salesforce, Amplitude, and so on.", - "title": "ConnectorType", + "Method": { + "markdownDescription": "The method to match on.", + "title": "Method", "type": "string" }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.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::AppFlow::Flow.SourceConnectorProperties", - "markdownDescription": "Specifies the information that is required to query a particular source connector.", - "title": "SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SuccessResponseHandlingConfig": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket.", - "title": "BucketName", - "type": "string" + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpPathMatch", + "markdownDescription": "The path to match on.", + "title": "Path" }, - "BucketPrefix": { - "markdownDescription": "The Amazon S3 bucket prefix.", - "title": "BucketPrefix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator", - "markdownDescription": "The operation to be performed on the provided source fields.", - "title": "ConnectorOperator" + "Port": { + "markdownDescription": "The port number to match on.", + "title": "Port", + "type": "number" }, - "DestinationField": { - "markdownDescription": "A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.", - "title": "DestinationField", + "Prefix": { + "markdownDescription": "Specifies the path to match requests with. This parameter must always start with `/` , which by itself matches all requests to the virtual service name. You can also match for path-based routing of requests. For example, if your virtual service name is `my-service.local` and you want the route to match requests to `my-service.local/metrics` , your prefix should be `/metrics` .", + "title": "Prefix", "type": "string" }, - "SourceFields": { - "items": { - "type": "string" - }, - "markdownDescription": "The source fields to which a particular task is applied.", - "title": "SourceFields", - "type": "array" - }, - "TaskProperties": { + "QueryParameters": { "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.QueryParameter" }, - "markdownDescription": "A map used to store task-related information. The execution service looks for particular information based on the `TaskType` .", - "title": "TaskProperties", + "markdownDescription": "The query parameter to match on.", + "title": "QueryParameters", "type": "array" - }, - "TaskType": { - "markdownDescription": "Specifies the particular task implementation that Amazon AppFlow performs.\n\n*Allowed values* : `Arithmetic` | `Filter` | `Map` | `Map_all` | `Mask` | `Merge` | `Truncate` | `Validate`", - "title": "TaskType", - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TaskPropertiesObject": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The task property key.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The task property value.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TrendmicroSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "markdownDescription": "The object specified in the Trend Micro flow source.", - "title": "Object", - "type": "string" } }, - "required": [ - "Object" - ], "type": "object" }, - "AWS::AppFlow::Flow.TriggerConfig": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite": { "additionalProperties": false, "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties", - "markdownDescription": "Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the `Scheduled` trigger type.", - "title": "TriggerProperties" - }, - "TriggerType": { - "markdownDescription": "Specifies the type of flow trigger. This can be `OnDemand` , `Scheduled` , or `Event` .", - "title": "TriggerType", + "Exact": { + "markdownDescription": "The exact path to rewrite.", + "title": "Exact", "type": "string" } }, - "required": [ - "TriggerType" - ], "type": "object" }, - "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.", - "title": "BucketName", + "DefaultPrefix": { + "markdownDescription": "The default prefix used to replace the incoming route prefix when rewritten.", + "title": "DefaultPrefix", "type": "string" }, - "BucketPrefix": { - "markdownDescription": "The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.", - "title": "BucketPrefix", + "Value": { + "markdownDescription": "The value used to replace the incoming route prefix when rewritten.", + "title": "Value", "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig", - "markdownDescription": "The configuration that determines how data is formatted when Upsolver is used as the flow destination.", - "title": "S3OutputFormatConfig" } }, - "required": [ - "BucketName", - "S3OutputFormatConfig" - ], "type": "object" }, - "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite": { "additionalProperties": false, "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig", - "markdownDescription": "The aggregation settings that you can use to customize the output format of your flow data.", - "title": "AggregationConfig" + "Hostname": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite", + "markdownDescription": "The host name to rewrite.", + "title": "Hostname" }, - "FileType": { - "markdownDescription": "Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.", - "title": "FileType", - "type": "string" + "Path": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite", + "markdownDescription": "The path to rewrite.", + "title": "Path" }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig", - "markdownDescription": "Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.", - "title": "PrefixConfig" + "Prefix": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite", + "markdownDescription": "The specified beginning characters to rewrite.", + "title": "Prefix" } }, - "required": [ - "PrefixConfig" - ], "type": "object" }, - "AWS::AppFlow::Flow.VeevaSourceProperties": { + "AWS::AppMesh::GatewayRoute.HttpPathMatch": { "additionalProperties": false, "properties": { - "DocumentType": { - "markdownDescription": "The document type specified in the Veeva document extract flow.", - "title": "DocumentType", + "Exact": { + "markdownDescription": "The exact path to match on.", + "title": "Exact", "type": "string" }, - "IncludeAllVersions": { - "markdownDescription": "Boolean value to include All Versions of files in Veeva document extract flow.", - "title": "IncludeAllVersions", - "type": "boolean" - }, - "IncludeRenditions": { - "markdownDescription": "Boolean value to include file renditions in Veeva document extract flow.", - "title": "IncludeRenditions", - "type": "boolean" - }, - "IncludeSourceFiles": { - "markdownDescription": "Boolean value to include source files in Veeva document extract flow.", - "title": "IncludeSourceFiles", - "type": "boolean" - }, - "Object": { - "markdownDescription": "The object specified in the Veeva flow source.", - "title": "Object", + "Regex": { + "markdownDescription": "The regex used to match the path.", + "title": "Regex", "type": "string" } }, - "required": [ - "Object" - ], "type": "object" }, - "AWS::AppFlow::Flow.ZendeskDestinationProperties": { + "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch": { "additionalProperties": false, "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig", - "markdownDescription": "The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. `ErrorHandlingConfig` is a part of the destination connector details.", - "title": "ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of field names that can be used as an ID field when performing a write operation.", - "title": "IdFieldNames", - "type": "array" - }, - "Object": { - "markdownDescription": "The object specified in the Zendesk flow destination.", - "title": "Object", - "type": "string" - }, - "WriteOperationType": { - "markdownDescription": "The possible write operations in the destination connector. When this value is not provided, this defaults to the `INSERT` operation.", - "title": "WriteOperationType", + "Exact": { + "markdownDescription": "The exact query parameter to match on.", + "title": "Exact", "type": "string" } }, - "required": [ - "Object" - ], "type": "object" }, - "AWS::AppFlow::Flow.ZendeskSourceProperties": { + "AWS::AppMesh::GatewayRoute.QueryParameter": { "additionalProperties": false, "properties": { - "Object": { - "markdownDescription": "The object specified in the Zendesk flow source.", - "title": "Object", + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch", + "markdownDescription": "The query parameter to match on.", + "title": "Match" + }, + "Name": { + "markdownDescription": "A name for the query parameter that will be matched on.", + "title": "Name", "type": "string" } }, "required": [ - "Object" + "Name" ], "type": "object" }, - "AWS::AppIntegrations::Application": { + "AWS::AppMesh::Mesh": { "additionalProperties": false, "properties": { "Condition": { @@ -16931,76 +16479,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationConfig", - "markdownDescription": "", - "title": "ApplicationConfig" - }, - "ApplicationSourceConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.ApplicationSourceConfig", - "markdownDescription": "The configuration for where the application should be loaded from.", - "title": "ApplicationSourceConfig" - }, - "ApplicationType": { - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the application.", - "title": "Description", - "type": "string" - }, - "IframeConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.IframeConfig", - "markdownDescription": "", - "title": "IframeConfig" - }, - "InitializationTimeout": { - "markdownDescription": "", - "title": "InitializationTimeout", - "type": "number" - }, - "IsService": { - "markdownDescription": "Indicates whether the application is a service.", - "title": "IsService", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the application.", - "title": "Name", - "type": "string" - }, - "Namespace": { - "markdownDescription": "The namespace of the application.", - "title": "Namespace", + "MeshName": { + "markdownDescription": "The name to use for the service mesh.", + "title": "MeshName", "type": "string" }, - "Permissions": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Permissions", - "type": "array" + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec", + "markdownDescription": "The service mesh specification to apply.", + "title": "Spec" }, "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": "Optional metadata that you can apply to the service mesh to assist with categorization and organization. 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": "Tags", "type": "array" } }, - "required": [ - "ApplicationSourceConfig", - "Name", - "Namespace" - ], "type": "object" }, "Type": { "enum": [ - "AWS::AppIntegrations::Application" + "AWS::AppMesh::Mesh" ], "type": "string" }, @@ -17014,95 +16516,52 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::Application.ApplicationConfig": { - "additionalProperties": false, - "properties": { - "ContactHandling": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.ContactHandling", - "markdownDescription": "", - "title": "ContactHandling" - } - }, - "type": "object" - }, - "AWS::AppIntegrations::Application.ApplicationSourceConfig": { - "additionalProperties": false, - "properties": { - "ExternalUrlConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::Application.ExternalUrlConfig", - "markdownDescription": "The external URL source for the application.", - "title": "ExternalUrlConfig" - } - }, - "required": [ - "ExternalUrlConfig" + "Type" ], "type": "object" }, - "AWS::AppIntegrations::Application.ContactHandling": { + "AWS::AppMesh::Mesh.EgressFilter": { "additionalProperties": false, "properties": { - "Scope": { - "markdownDescription": "", - "title": "Scope", + "Type": { + "markdownDescription": "The egress filter type. By default, the type is `DROP_ALL` , which allows egress only from virtual nodes to other defined resources in the service mesh (and any traffic to `*.amazonaws.com` for AWS API calls). You can set the egress filter type to `ALLOW_ALL` to allow egress to any endpoint inside or outside of the service mesh.\n\n> If you specify any backends on a virtual node when using `ALLOW_ALL` , you must specifiy all egress for that virtual node as backends. Otherwise, `ALLOW_ALL` will no longer work for that virtual node.", + "title": "Type", "type": "string" } }, "required": [ - "Scope" + "Type" ], "type": "object" }, - "AWS::AppIntegrations::Application.ExternalUrlConfig": { + "AWS::AppMesh::Mesh.MeshServiceDiscovery": { "additionalProperties": false, "properties": { - "AccessUrl": { - "markdownDescription": "The URL to access the application.", - "title": "AccessUrl", + "IpPreference": { + "markdownDescription": "The IP version to use to control traffic within the mesh.", + "title": "IpPreference", "type": "string" - }, - "ApprovedOrigins": { - "items": { - "type": "string" - }, - "markdownDescription": "Additional URLs to allow list if different than the access URL.", - "title": "ApprovedOrigins", - "type": "array" } }, - "required": [ - "AccessUrl" - ], "type": "object" }, - "AWS::AppIntegrations::Application.IframeConfig": { + "AWS::AppMesh::Mesh.MeshSpec": { "additionalProperties": false, "properties": { - "Allow": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Allow", - "type": "array" + "EgressFilter": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter", + "markdownDescription": "The egress filter rules for the service mesh.", + "title": "EgressFilter" }, - "Sandbox": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Sandbox", - "type": "array" + "ServiceDiscovery": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshServiceDiscovery", + "markdownDescription": "An object that represents the service discovery information for a service mesh.", + "title": "ServiceDiscovery" } }, "type": "object" }, - "AWS::AppIntegrations::DataIntegration": { + "AWS::AppMesh::Route": { "additionalProperties": false, "properties": { "Condition": { @@ -17137,957 +16596,9 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the DataIntegration.", - "title": "Description", - "type": "string" - }, - "FileConfiguration": { - "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.FileConfiguration", - "markdownDescription": "The configuration for what files should be pulled from the source.", - "title": "FileConfiguration" - }, - "KmsKey": { - "markdownDescription": "The KMS key for the DataIntegration.", - "title": "KmsKey", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the DataIntegration.", - "title": "Name", - "type": "string" - }, - "ObjectConfiguration": { - "markdownDescription": "The configuration for what data should be pulled from the source.", - "title": "ObjectConfiguration", - "type": "object" - }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::AppIntegrations::DataIntegration.ScheduleConfig", - "markdownDescription": "The name of the data and how often it should be pulled from the source.", - "title": "ScheduleConfig" - }, - "SourceURI": { - "markdownDescription": "The URI of the data source.", - "title": "SourceURI", - "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": [ - "KmsKey", - "Name", - "SourceURI" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppIntegrations::DataIntegration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::DataIntegration.FileConfiguration": { - "additionalProperties": false, - "properties": { - "Filters": { - "markdownDescription": "Restrictions for what files should be pulled from the source.", - "title": "Filters", - "type": "object" - }, - "Folders": { - "items": { - "type": "string" - }, - "markdownDescription": "Identifiers for the source folders to pull all files from recursively.", - "title": "Folders", - "type": "array" - } - }, - "required": [ - "Folders" - ], - "type": "object" - }, - "AWS::AppIntegrations::DataIntegration.ScheduleConfig": { - "additionalProperties": false, - "properties": { - "FirstExecutionFrom": { - "markdownDescription": "The start date for objects to import in the first flow run as an Unix/epoch timestamp in milliseconds or in ISO-8601 format.", - "title": "FirstExecutionFrom", - "type": "string" - }, - "Object": { - "markdownDescription": "The name of the object to pull from the data source.", - "title": "Object", - "type": "string" - }, - "ScheduleExpression": { - "markdownDescription": "How often the data should be pulled from data source.", - "title": "ScheduleExpression", - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 event integration description.", - "title": "Description", - "type": "string" - }, - "EventBridgeBus": { - "markdownDescription": "The Amazon EventBridge bus for the event integration.", - "title": "EventBridgeBus", - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter", - "markdownDescription": "The event integration filter.", - "title": "EventFilter" - }, - "Name": { - "markdownDescription": "The name of the event integration.", - "title": "Name", - "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": [ - "EventBridgeBus", - "EventFilter", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppIntegrations::EventIntegration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventFilter": { - "additionalProperties": false, - "properties": { - "Source": { - "markdownDescription": "The source of the events.", - "title": "Source", - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayRouteName": { - "markdownDescription": "The name of the gateway route.", - "title": "GatewayRouteName", - "type": "string" - }, - "MeshName": { - "markdownDescription": "The name of the service mesh that the resource resides in.", - "title": "MeshName", - "type": "string" - }, - "MeshOwner": { - "markdownDescription": "The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see [Working with shared meshes](https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html) .", - "title": "MeshOwner", - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec", - "markdownDescription": "The specifications of the gateway route.", - "title": "Spec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Optional metadata that you can apply to the gateway route to assist with categorization and organization. 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": "Tags", - "type": "array" - }, - "VirtualGatewayName": { - "markdownDescription": "The virtual gateway that the gateway route is associated with.", - "title": "VirtualGatewayName", - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualGatewayName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::GatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact host name to match on.", - "title": "Exact", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The specified ending characters of the host name to match on.", - "title": "Suffix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite": { - "additionalProperties": false, - "properties": { - "DefaultTargetHostname": { - "markdownDescription": "The default target host name to write to.", - "title": "DefaultTargetHostname", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact method header to be matched on.", - "title": "Exact", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The specified beginning characters of the method header to be matched on.", - "title": "Prefix", - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch", - "markdownDescription": "An object that represents the range of values to match on.", - "title": "Range" - }, - "Regex": { - "markdownDescription": "The regex used to match the method header.", - "title": "Regex", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The specified ending characters of the method header to match on.", - "title": "Suffix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch": { - "additionalProperties": false, - "properties": { - "End": { - "markdownDescription": "The end of the range.", - "title": "End", - "type": "number" - }, - "Start": { - "markdownDescription": "The start of the range.", - "title": "Start", - "type": "number" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteSpec": { - "additionalProperties": false, - "properties": { - "GrpcRoute": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRoute", - "markdownDescription": "An object that represents the specification of a gRPC gateway route.", - "title": "GrpcRoute" - }, - "Http2Route": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute", - "markdownDescription": "An object that represents the specification of an HTTP/2 gateway route.", - "title": "Http2Route" - }, - "HttpRoute": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoute", - "markdownDescription": "An object that represents the specification of an HTTP gateway route.", - "title": "HttpRoute" - }, - "Priority": { - "markdownDescription": "The ordering of the gateway routes spec.", - "title": "Priority", - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { - "additionalProperties": false, - "properties": { - "Port": { - "markdownDescription": "The port number of the gateway route target.", - "title": "Port", - "type": "number" - }, - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService", - "markdownDescription": "An object that represents a virtual service gateway route target.", - "title": "VirtualService" - } - }, - "required": [ - "VirtualService" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { - "additionalProperties": false, - "properties": { - "VirtualServiceName": { - "markdownDescription": "The name of the virtual service that traffic is routed to.", - "title": "VirtualServiceName", - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction", - "markdownDescription": "An object that represents the action to take if a match is determined.", - "title": "Action" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch", - "markdownDescription": "An object that represents the criteria for determining a request match.", - "title": "Match" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { - "additionalProperties": false, - "properties": { - "Rewrite": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite", - "markdownDescription": "The gateway route action to rewrite.", - "title": "Rewrite" - }, - "Target": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget", - "markdownDescription": "An object that represents the target that traffic is routed to when a request matches the gateway route.", - "title": "Target" - } - }, - "required": [ - "Target" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch": { - "additionalProperties": false, - "properties": { - "Hostname": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch", - "markdownDescription": "The gateway route host name to be matched on.", - "title": "Hostname" - }, - "Metadata": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata" - }, - "markdownDescription": "The gateway route metadata to be matched on.", - "title": "Metadata", - "type": "array" - }, - "Port": { - "markdownDescription": "The gateway route port to be matched on.", - "title": "Port", - "type": "number" - }, - "ServiceName": { - "markdownDescription": "The fully qualified domain name for the service to match from the request.", - "title": "ServiceName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMetadata": { - "additionalProperties": false, - "properties": { - "Invert": { - "markdownDescription": "Specify `True` to match anything except the match criteria. The default value is `False` .", - "title": "Invert", - "type": "boolean" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteMetadataMatch", - "markdownDescription": "The criteria for determining a metadata match.", - "title": "Match" - }, - "Name": { - "markdownDescription": "A name for the gateway route metadata.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteRewrite": { - "additionalProperties": false, - "properties": { - "Hostname": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite", - "markdownDescription": "The host name of the gateway route to rewrite.", - "title": "Hostname" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction", - "markdownDescription": "An object that represents the action to take if a match is determined.", - "title": "Action" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch", - "markdownDescription": "An object that represents the criteria for determining a request match.", - "title": "Match" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteAction": { - "additionalProperties": false, - "properties": { - "Rewrite": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite", - "markdownDescription": "The gateway route action to rewrite.", - "title": "Rewrite" - }, - "Target": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteTarget", - "markdownDescription": "An object that represents the target that traffic is routed to when a request matches the gateway route.", - "title": "Target" - } - }, - "required": [ - "Target" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader": { - "additionalProperties": false, - "properties": { - "Invert": { - "markdownDescription": "Specify `True` to match anything except the match criteria. The default value is `False` .", - "title": "Invert", - "type": "boolean" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch", - "markdownDescription": "An object that represents the method and value to match with the header value sent in a request. Specify one match method.", - "title": "Match" - }, - "Name": { - "markdownDescription": "A name for the HTTP header in the gateway route that will be matched on.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeaderMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The value sent by the client must match the specified value exactly.", - "title": "Exact", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The value sent by the client must begin with the specified characters.", - "title": "Prefix", - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteRangeMatch", - "markdownDescription": "An object that represents the range of values to match on.", - "title": "Range" - }, - "Regex": { - "markdownDescription": "The value sent by the client must include the specified characters.", - "title": "Regex", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The value sent by the client must end with the specified characters.", - "title": "Suffix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteMatch": { - "additionalProperties": false, - "properties": { - "Headers": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRouteHeader" - }, - "markdownDescription": "The client request headers to match on.", - "title": "Headers", - "type": "array" - }, - "Hostname": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameMatch", - "markdownDescription": "The host name to match on.", - "title": "Hostname" - }, - "Method": { - "markdownDescription": "The method to match on.", - "title": "Method", - "type": "string" - }, - "Path": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpPathMatch", - "markdownDescription": "The path to match on.", - "title": "Path" - }, - "Port": { - "markdownDescription": "The port number to match on.", - "title": "Port", - "type": "number" - }, - "Prefix": { - "markdownDescription": "Specifies the path to match requests with. This parameter must always start with `/` , which by itself matches all requests to the virtual service name. You can also match for path-based routing of requests. For example, if your virtual service name is `my-service.local` and you want the route to match requests to `my-service.local/metrics` , your prefix should be `/metrics` .", - "title": "Prefix", - "type": "string" - }, - "QueryParameters": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.QueryParameter" - }, - "markdownDescription": "The query parameter to match on.", - "title": "QueryParameters", - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact path to rewrite.", - "title": "Exact", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite": { - "additionalProperties": false, - "properties": { - "DefaultPrefix": { - "markdownDescription": "The default prefix used to replace the incoming route prefix when rewritten.", - "title": "DefaultPrefix", - "type": "string" - }, - "Value": { - "markdownDescription": "The value used to replace the incoming route prefix when rewritten.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpGatewayRouteRewrite": { - "additionalProperties": false, - "properties": { - "Hostname": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteHostnameRewrite", - "markdownDescription": "The host name to rewrite.", - "title": "Hostname" - }, - "Path": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePathRewrite", - "markdownDescription": "The path to rewrite.", - "title": "Path" - }, - "Prefix": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpGatewayRoutePrefixRewrite", - "markdownDescription": "The specified beginning characters to rewrite.", - "title": "Prefix" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpPathMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact path to match on.", - "title": "Exact", - "type": "string" - }, - "Regex": { - "markdownDescription": "The regex used to match the path.", - "title": "Regex", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch": { - "additionalProperties": false, - "properties": { - "Exact": { - "markdownDescription": "The exact query parameter to match on.", - "title": "Exact", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.QueryParameter": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.HttpQueryParameterMatch", - "markdownDescription": "The query parameter to match on.", - "title": "Match" - }, - "Name": { - "markdownDescription": "A name for the query parameter that will be matched on.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "markdownDescription": "The name to use for the service mesh.", - "title": "MeshName", - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec", - "markdownDescription": "The service mesh specification to apply.", - "title": "Spec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Optional metadata that you can apply to the service mesh to assist with categorization and organization. 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": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Mesh" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.EgressFilter": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "The egress filter type. By default, the type is `DROP_ALL` , which allows egress only from virtual nodes to other defined resources in the service mesh (and any traffic to `*.amazonaws.com` for AWS API calls). You can set the egress filter type to `ALLOW_ALL` to allow egress to any endpoint inside or outside of the service mesh.\n\n> If you specify any backends on a virtual node when using `ALLOW_ALL` , you must specifiy all egress for that virtual node as backends. Otherwise, `ALLOW_ALL` will no longer work for that virtual node.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.MeshServiceDiscovery": { - "additionalProperties": false, - "properties": { - "IpPreference": { - "markdownDescription": "The IP version to use to control traffic within the mesh.", - "title": "IpPreference", - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Mesh.MeshSpec": { - "additionalProperties": false, - "properties": { - "EgressFilter": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter", - "markdownDescription": "The egress filter rules for the service mesh.", - "title": "EgressFilter" - }, - "ServiceDiscovery": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshServiceDiscovery", - "markdownDescription": "An object that represents the service discovery information for a service mesh.", - "title": "ServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::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": { - "MeshName": { - "markdownDescription": "The name of the service mesh to create the route in.", - "title": "MeshName", + "MeshName": { + "markdownDescription": "The name of the service mesh to create the route in.", + "title": "MeshName", "type": "string" }, "MeshOwner": { @@ -22923,9 +21434,6 @@ "title": "AccessEndpoints", "type": "array" }, - "AgentAccessConfig": { - "$ref": "#/definitions/AWS::AppStream::Stack.AgentAccessConfig" - }, "ApplicationSettings": { "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings", "markdownDescription": "The persistent application settings for users of the stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.", @@ -23052,54 +21560,6 @@ ], "type": "object" }, - "AWS::AppStream::Stack.AgentAccessConfig": { - "additionalProperties": false, - "properties": { - "S3BucketArn": { - "type": "string" - }, - "ScreenImageFormat": { - "type": "string" - }, - "ScreenResolution": { - "type": "string" - }, - "ScreenshotsUploadEnabled": { - "type": "boolean" - }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.AgentAccessSetting" - }, - "type": "array" - }, - "UserControlMode": { - "type": "string" - } - }, - "required": [ - "ScreenImageFormat", - "ScreenResolution", - "Settings" - ], - "type": "object" - }, - "AWS::AppStream::Stack.AgentAccessSetting": { - "additionalProperties": false, - "properties": { - "AgentAction": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "AgentAction", - "Permission" - ], - "type": "object" - }, "AWS::AppStream::Stack.ApplicationSettings": { "additionalProperties": false, "properties": { @@ -25549,79 +24009,6 @@ }, "type": "object" }, - "AWS::AppSync::Type": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Definition": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "required": [ - "ApiId", - "Definition", - "Format" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::Type" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::AppTest::TestCase": { "additionalProperties": false, "properties": { @@ -28507,63 +26894,6 @@ ], "type": "object" }, - "AWS::Artifact::Report": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Artifact::Report" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Athena::CapacityReservation": { "additionalProperties": false, "properties": { @@ -28968,114 +27298,6 @@ ], "type": "object" }, - "AWS::Athena::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": { - "EngineConfiguration": { - "$ref": "#/definitions/AWS::Athena::Session.EngineConfiguration" - }, - "ExecutionRole": { - "type": "string" - }, - "WorkGroup": { - "type": "string" - } - }, - "required": [ - "EngineConfiguration", - "WorkGroup" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::Session.EngineConfiguration": { - "additionalProperties": false, - "properties": { - "AdditionalConfigs": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "CoordinatorDpuSize": { - "type": "number" - }, - "DefaultExecutorDpuSize": { - "type": "number" - }, - "MaxConcurrentDpus": { - "type": "number" - }, - "SparkProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "MaxConcurrentDpus" - ], - "type": "object" - }, "AWS::Athena::WorkGroup": { "additionalProperties": false, "properties": { @@ -29774,121 +27996,6 @@ }, "type": "object" }, - "AWS::AuditManager::AssessmentFramework": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComplianceType": { - "type": "string" - }, - "ControlSets": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::AssessmentFramework.ControlSet" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ControlSets", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AuditManager::AssessmentFramework" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AuditManager::AssessmentFramework.ControlSet": { - "additionalProperties": false, - "properties": { - "Controls": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::AssessmentFramework.ControlSetControl" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Controls", - "Name" - ], - "type": "object" - }, - "AWS::AuditManager::AssessmentFramework.ControlSetControl": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, "AWS::AutoScaling::AutoScalingGroup": { "additionalProperties": false, "properties": { @@ -30317,21 +28424,6 @@ }, "type": "object" }, - "AWS::AutoScaling::AutoScalingGroup.DistributionSegment": { - "additionalProperties": false, - "properties": { - "TargetCapacityTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "TargetCapacityTypes" - ], - "type": "object" - }, "AWS::AutoScaling::AutoScalingGroup.InstanceLifecyclePolicy": { "additionalProperties": false, "properties": { @@ -30521,12 +28613,6 @@ "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { "additionalProperties": false, "properties": { - "DistributionSegments": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.DistributionSegment" - }, - "type": "array" - }, "OnDemandAllocationStrategy": { "markdownDescription": "The allocation strategy to apply to your On-Demand Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.\n\nThe following lists the valid values:\n\n- **lowest-price** - Uses price to determine which instance types are the highest priority, launching the lowest priced instance types within an Availability Zone first. This is the default value for Auto Scaling groups that specify `InstanceRequirements` .\n- **prioritized** - You set the order of instance types for the launch template overrides from highest to lowest priority (from first to last in the list). Amazon EC2 Auto Scaling launches your highest priority instance types first. If all your On-Demand capacity cannot be fulfilled using your highest priority instance type, then Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so on. This is the default value for Auto Scaling groups that don't specify `InstanceRequirements` and cannot be used for groups that do.", "title": "OnDemandAllocationStrategy", @@ -34232,86 +32318,6 @@ ], "type": "object" }, - "AWS::BCMDataExports::Table": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BCMDataExports::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BCMDataExports::Table.Column": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Backup::BackupPlan": { "additionalProperties": false, "properties": { @@ -35131,7 +33137,7 @@ ], "type": "object" }, - "AWS::Backup::LegalHold": { + "AWS::Backup::LogicallyAirGappedBackupVault": { "additionalProperties": false, "properties": { "Condition": { @@ -35166,32 +33172,63 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "AccessPolicy": { + "markdownDescription": "The backup vault access policy document in JSON format.", + "title": "AccessPolicy", + "type": "object" }, - "RecoveryPointSelection": { - "$ref": "#/definitions/AWS::Backup::LegalHold.RecoveryPointSelection" + "BackupVaultName": { + "markdownDescription": "The name of a logical container where backups are stored. Logically air-gapped backup vaults are identified by names that are unique to the account used to create them and the Region where they are created.", + "title": "BackupVaultName", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Backup::LegalHold.TagsItems" + "BackupVaultTags": { + "additionalProperties": true, + "markdownDescription": "The tags to assign to the vault.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "BackupVaultTags", + "type": "object" }, - "Title": { + "EncryptionKeyArn": { + "markdownDescription": "The server-side encryption key that is used to protect your backups; for example, `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab` .\n\nIf this field is left blank, AWS Backup will create an AWS owned key to be used to encrypt the content of the logically air-gapped vault. The ARN of this created key will be available as `Fn::GetAtt` output.", + "title": "EncryptionKeyArn", "type": "string" + }, + "MaxRetentionDays": { + "markdownDescription": "The maximum retention period that the vault retains its recovery points.", + "title": "MaxRetentionDays", + "type": "number" + }, + "MinRetentionDays": { + "markdownDescription": "This setting specifies the minimum retention period that the vault retains its recovery points.\n\nThe minimum value accepted is 7 days.", + "title": "MinRetentionDays", + "type": "number" + }, + "MpaApprovalTeamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the MPA approval team to associate with the backup vault. This cannot be changed after it is set from the CloudFormation template.", + "title": "MpaApprovalTeamArn", + "type": "string" + }, + "Notifications": { + "$ref": "#/definitions/AWS::Backup::LogicallyAirGappedBackupVault.NotificationObjectType", + "markdownDescription": "Returns event notifications for the specified backup vault.", + "title": "Notifications" } }, "required": [ - "Description", - "RecoveryPointSelection", - "Title" + "BackupVaultName", + "MaxRetentionDays", + "MinRetentionDays" ], "type": "object" }, "Type": { "enum": [ - "AWS::Backup::LegalHold" + "AWS::Backup::LogicallyAirGappedBackupVault" ], "type": "string" }, @@ -35210,193 +33247,30 @@ ], "type": "object" }, - "AWS::Backup::LegalHold.DateRange": { - "additionalProperties": false, - "properties": { - "FromDate": { - "type": "string" - }, - "ToDate": { - "type": "string" - } - }, - "required": [ - "FromDate", - "ToDate" - ], - "type": "object" - }, - "AWS::Backup::LegalHold.RecoveryPointSelection": { + "AWS::Backup::LogicallyAirGappedBackupVault.NotificationObjectType": { "additionalProperties": false, "properties": { - "DateRange": { - "$ref": "#/definitions/AWS::Backup::LegalHold.DateRange" - }, - "ResourceIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VaultNames": { + "BackupVaultEvents": { "items": { "type": "string" }, + "markdownDescription": "An array of events that indicate the status of jobs to back up resources to the backup vault.", + "title": "BackupVaultEvents", "type": "array" - } - }, - "type": "object" - }, - "AWS::Backup::LegalHold.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" }, - "Value": { + "SNSTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) that specifies the topic for a backup vault\u2019s events; for example, `arn:aws:sns:us-west-2:111122223333:MyVaultTopic` .", + "title": "SNSTopicArn", "type": "string" } }, "required": [ - "Key", - "Value" + "BackupVaultEvents", + "SNSTopicArn" ], "type": "object" }, - "AWS::Backup::LogicallyAirGappedBackupVault": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicy": { - "markdownDescription": "The backup vault access policy document in JSON format.", - "title": "AccessPolicy", - "type": "object" - }, - "BackupVaultName": { - "markdownDescription": "The name of a logical container where backups are stored. Logically air-gapped backup vaults are identified by names that are unique to the account used to create them and the Region where they are created.", - "title": "BackupVaultName", - "type": "string" - }, - "BackupVaultTags": { - "additionalProperties": true, - "markdownDescription": "The tags to assign to the vault.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "BackupVaultTags", - "type": "object" - }, - "EncryptionKeyArn": { - "markdownDescription": "The server-side encryption key that is used to protect your backups; for example, `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab` .\n\nIf this field is left blank, AWS Backup will create an AWS owned key to be used to encrypt the content of the logically air-gapped vault. The ARN of this created key will be available as `Fn::GetAtt` output.", - "title": "EncryptionKeyArn", - "type": "string" - }, - "MaxRetentionDays": { - "markdownDescription": "The maximum retention period that the vault retains its recovery points.", - "title": "MaxRetentionDays", - "type": "number" - }, - "MinRetentionDays": { - "markdownDescription": "This setting specifies the minimum retention period that the vault retains its recovery points.\n\nThe minimum value accepted is 7 days.", - "title": "MinRetentionDays", - "type": "number" - }, - "MpaApprovalTeamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the MPA approval team to associate with the backup vault. This cannot be changed after it is set from the CloudFormation template.", - "title": "MpaApprovalTeamArn", - "type": "string" - }, - "Notifications": { - "$ref": "#/definitions/AWS::Backup::LogicallyAirGappedBackupVault.NotificationObjectType", - "markdownDescription": "Returns event notifications for the specified backup vault.", - "title": "Notifications" - } - }, - "required": [ - "BackupVaultName", - "MaxRetentionDays", - "MinRetentionDays" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::LogicallyAirGappedBackupVault" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::LogicallyAirGappedBackupVault.NotificationObjectType": { - "additionalProperties": false, - "properties": { - "BackupVaultEvents": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of events that indicate the status of jobs to back up resources to the backup vault.", - "title": "BackupVaultEvents", - "type": "array" - }, - "SNSTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) that specifies the topic for a backup vault\u2019s events; for example, `arn:aws:sns:us-west-2:111122223333:MyVaultTopic` .", - "title": "SNSTopicArn", - "type": "string" - } - }, - "required": [ - "BackupVaultEvents", - "SNSTopicArn" - ], - "type": "object" - }, - "AWS::Backup::ReportPlan": { + "AWS::Backup::ReportPlan": { "additionalProperties": false, "properties": { "Condition": { @@ -36062,221 +33936,6 @@ ], "type": "object" }, - "AWS::BackupSearch::SearchJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "SearchScope": { - "$ref": "#/definitions/AWS::BackupSearch::SearchJob.SearchScope" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::BackupSearch::SearchJob.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "SearchScope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BackupSearch::SearchJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchJob.SearchScope": { - "additionalProperties": false, - "properties": { - "BackupResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "BackupResourceTypes" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchJob.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchResultExportJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExportSpecification": { - "$ref": "#/definitions/AWS::BackupSearch::SearchResultExportJob.ExportSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::BackupSearch::SearchResultExportJob.TagsItems" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BackupSearch::SearchResultExportJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchResultExportJob.ExportSpecification": { - "additionalProperties": false, - "properties": { - "S3ExportSpecification": { - "$ref": "#/definitions/AWS::BackupSearch::SearchResultExportJob.S3ExportSpecification" - } - }, - "required": [ - "S3ExportSpecification" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchResultExportJob.S3ExportSpecification": { - "additionalProperties": false, - "properties": { - "DestinationBucket": { - "type": "string" - }, - "DestinationPrefix": { - "type": "string" - } - }, - "required": [ - "DestinationBucket" - ], - "type": "object" - }, - "AWS::BackupSearch::SearchResultExportJob.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::Batch::ComputeEnvironment": { "additionalProperties": false, "properties": { @@ -36327,9 +33986,6 @@ "title": "Context", "type": "string" }, - "EcsSettings": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.EcsSettings" - }, "EksConfiguration": { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.EksConfiguration", "markdownDescription": "The details for the Amazon EKS cluster that supports the compute environment.\n\n> To create a compute environment that uses EKS resources, the caller must have permissions to call `eks:DescribeCluster` .", @@ -36403,18 +34059,6 @@ ], "type": "object" }, - "AWS::Batch::ComputeEnvironment.CapacityReservations": { - "additionalProperties": false, - "properties": { - "ReservationGroupArn": { - "type": "string" - }, - "ReservationPreference": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::ComputeEnvironment.ComputeResources": { "additionalProperties": false, "properties": { @@ -36428,15 +34072,6 @@ "title": "BidPercentage", "type": "number" }, - "CapacityTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, "DesiredvCpus": { "markdownDescription": "The desired number of vCPUS in the compute environment. AWS Batch modifies this value between the minimum and maximum values based on job queue demand.\n\n> This parameter isn't applicable to jobs that are running on Fargate resources. Don't specify it. > AWS Batch doesn't support changing the desired number of vCPUs of an existing compute environment. Don't specify this parameter for compute environments using Amazon EKS clusters. > When you update the `desiredvCpus` setting, the value must be between the `minvCpus` and `maxvCpus` values.\n> \n> Additionally, the updated `desiredvCpus` value must be greater than or equal to the current `desiredvCpus` value. For more information, see [Troubleshooting AWS Batch](https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#error-desired-vcpus-update) in the *AWS Batch User Guide* .", "title": "DesiredvCpus", @@ -36478,9 +34113,6 @@ "markdownDescription": "The launch template to use for your compute resources. Any other compute resource parameters that you specify in a [CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html) API operation override the same parameters in the launch template. You must specify either the launch template ID or launch template name in the request, but not both. For more information, see [Launch Template Support](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in the ** . Removing the launch template from a compute environment will not remove the AMI specified in the launch template. In order to update the AMI specified in a launch template, the `updateToLatestImageVersion` parameter must be set to `true` .\n\nWhen updating a compute environment, changing the launch template requires an infrastructure update of the compute environment. For more information, see [Updating compute environments](https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html) in the ** .\n\n> This parameter isn't applicable to jobs running on Fargate resources, and shouldn't be specified.", "title": "LaunchTemplate" }, - "ManagedInstancesProvider": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ManagedInstancesProvider" - }, "MaxvCpus": { "markdownDescription": "The maximum number of Amazon EC2 vCPUs that an environment can reach.\n\n> With `BEST_FIT_PROGRESSIVE` , `SPOT_CAPACITY_OPTIMIZED` and `SPOT_PRICE_CAPACITY_OPTIMIZED` (recommended) strategies using On-Demand or Spot Instances, and the `BEST_FIT` strategy using Spot Instances, AWS Batch might need to exceed `maxvCpus` to meet your capacity requirements. In this event, AWS Batch never exceeds `maxvCpus` by more than a single instance.", "title": "MaxvCpus", @@ -36544,6 +34176,7 @@ }, "required": [ "MaxvCpus", + "Subnets", "Type" ], "type": "object" @@ -36584,15 +34217,6 @@ ], "type": "object" }, - "AWS::Batch::ComputeEnvironment.EcsSettings": { - "additionalProperties": false, - "properties": { - "ContainerInsights": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Batch::ComputeEnvironment.EksConfiguration": { "additionalProperties": false, "properties": { @@ -36613,67 +34237,6 @@ ], "type": "object" }, - "AWS::Batch::ComputeEnvironment.InfrastructureOptimization": { - "additionalProperties": false, - "properties": { - "ScaleInAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.InstanceLaunchTemplate": { - "additionalProperties": false, - "properties": { - "CapacityOptionType": { - "type": "string" - }, - "CapacityReservations": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.CapacityReservations" - }, - "Ec2InstanceProfileArn": { - "type": "string" - }, - "FipsEnabled": { - "type": "boolean" - }, - "InstanceMetadataTagsPropagation": { - "type": "boolean" - }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.InstanceRequirements" - }, - "LocalStorageConfiguration": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ManagedInstancesLocalStorageConfiguration" - }, - "Monitoring": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ManagedInstancesNetworkConfiguration" - }, - "StorageConfiguration": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ManagedInstancesStorageConfiguration" - } - }, - "required": [ - "Ec2InstanceProfileArn", - "NetworkConfiguration" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.InstanceRequirements": { - "additionalProperties": false, - "properties": { - "AllowedInstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { "additionalProperties": false, "properties": { @@ -36742,68 +34305,6 @@ }, "type": "object" }, - "AWS::Batch::ComputeEnvironment.ManagedInstancesLocalStorageConfiguration": { - "additionalProperties": false, - "properties": { - "UseLocalStorage": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ManagedInstancesNetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroups", - "Subnets" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ManagedInstancesProvider": { - "additionalProperties": false, - "properties": { - "InfrastructureOptimization": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.InfrastructureOptimization" - }, - "InfrastructureRoleArn": { - "type": "string" - }, - "InstanceLaunchTemplate": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.InstanceLaunchTemplate" - }, - "PropagateTags": { - "type": "string" - } - }, - "required": [ - "InfrastructureRoleArn", - "InstanceLaunchTemplate" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ManagedInstancesStorageConfiguration": { - "additionalProperties": false, - "properties": { - "StorageSizeGiB": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Batch::ComputeEnvironment.UpdatePolicy": { "additionalProperties": false, "properties": { @@ -37370,9 +34871,6 @@ "markdownDescription": "The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.", "title": "NetworkConfiguration" }, - "NetworkMode": { - "type": "string" - }, "PidMode": { "markdownDescription": "The process namespace to use for the containers in the task. The valid values are `host` or `task` . For example, monitoring sidecars might need `pidMode` to access information about other containers running in the same task.\n\nIf `host` is specified, all containers within the tasks that specified the `host` PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.\n\nIf `task` is specified, all containers within the specified task share the same process namespace.\n\nIf no value is specified, the default is a private namespace for each container. For more information, see [PID settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid) in the Docker run reference.", "title": "PidMode", @@ -40142,94 +37640,6 @@ ], "type": "object" }, - "AWS::Bedrock::AsyncInvoke": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::AsyncInvoke" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Bedrock::AsyncInvoke.AsyncInvokeOutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3OutputDataConfig": { - "$ref": "#/definitions/AWS::Bedrock::AsyncInvoke.AsyncInvokeS3OutputDataConfig" - } - }, - "required": [ - "S3OutputDataConfig" - ], - "type": "object" - }, - "AWS::Bedrock::AsyncInvoke.AsyncInvokeS3OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, "AWS::Bedrock::AutomatedReasoningPolicy": { "additionalProperties": false, "properties": { @@ -41706,18 +39116,6 @@ ], "type": "object" }, - "AWS::Bedrock::DataSource.AudioExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "AudioExtractionStatus": { - "type": "string" - } - }, - "required": [ - "AudioExtractionStatus" - ], - "type": "object" - }, "AWS::Bedrock::DataSource.BedrockDataAutomationConfiguration": { "additionalProperties": false, "properties": { @@ -41933,9 +39331,6 @@ "markdownDescription": "The configuration information to connect to Confluence as your data source.\n\n> Confluence data source connector is in preview release and is subject to change.", "title": "ConfluenceConfiguration" }, - "ManagedKnowledgeBaseConnectorConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.ManagedKnowledgeBaseConnectorConfiguration" - }, "S3Configuration": { "$ref": "#/definitions/AWS::Bedrock::DataSource.S3DataSourceConfiguration", "markdownDescription": "The configuration information to connect to Amazon S3 as your data source.", @@ -41967,21 +39362,6 @@ ], "type": "object" }, - "AWS::Bedrock::DataSource.DeletionProtectionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionProtectionStatus": { - "type": "string" - }, - "DeletionProtectionThreshold": { - "type": "number" - } - }, - "required": [ - "DeletionProtectionStatus" - ], - "type": "object" - }, "AWS::Bedrock::DataSource.EnrichmentStrategyConfiguration": { "additionalProperties": false, "properties": { @@ -42053,18 +39433,6 @@ ], "type": "object" }, - "AWS::Bedrock::DataSource.ImageExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "ImageExtractionStatus": { - "type": "string" - } - }, - "required": [ - "ImageExtractionStatus" - ], - "type": "object" - }, "AWS::Bedrock::DataSource.IntermediateStorage": { "additionalProperties": false, "properties": { @@ -42079,36 +39447,6 @@ ], "type": "object" }, - "AWS::Bedrock::DataSource.ManagedKnowledgeBaseConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "ConnectorParameters": { - "type": "object" - }, - "DeletionProtectionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.DeletionProtectionConfiguration" - }, - "MediaExtractionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.MediaExtractionConfiguration" - } - }, - "type": "object" - }, - "AWS::Bedrock::DataSource.MediaExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "AudioExtractionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.AudioExtractionConfiguration" - }, - "ImageExtractionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.ImageExtractionConfiguration" - }, - "VideoExtractionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::DataSource.VideoExtractionConfiguration" - } - }, - "type": "object" - }, "AWS::Bedrock::DataSource.ParsingConfiguration": { "additionalProperties": false, "properties": { @@ -42509,18 +39847,6 @@ }, "type": "object" }, - "AWS::Bedrock::DataSource.VideoExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "VideoExtractionStatus": { - "type": "string" - } - }, - "required": [ - "VideoExtractionStatus" - ], - "type": "object" - }, "AWS::Bedrock::DataSource.WebCrawlerConfiguration": { "additionalProperties": false, "properties": { @@ -42612,87 +39938,6 @@ ], "type": "object" }, - "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": { @@ -44010,73 +41255,6 @@ }, "type": "object" }, - "AWS::Bedrock::FlowExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FlowAliasIdentifier": { - "type": "string" - }, - "FlowExecutionName": { - "type": "string" - }, - "FlowIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::FlowExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Bedrock::FlowVersion": { "additionalProperties": false, "properties": { @@ -45049,87 +42227,6 @@ ], "type": "object" }, - "AWS::Bedrock::FoundationModel": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::FoundationModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Bedrock::FoundationModel.ModelLifecycle": { - "additionalProperties": false, - "properties": { - "EndOfLifeTime": { - "type": "string" - }, - "LegacyTime": { - "type": "string" - }, - "PublicExtendedAccessTime": { - "type": "string" - }, - "StartOfLifeTime": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, "AWS::Bedrock::Guardrail": { "additionalProperties": false, "properties": { @@ -45808,7 +42905,7 @@ ], "type": "object" }, - "AWS::Bedrock::ImportedModel": { + "AWS::Bedrock::IntelligentPromptRouter": { "additionalProperties": false, "properties": { "Condition": { @@ -45843,21 +42940,54 @@ "Properties": { "additionalProperties": false, "properties": { - "JobName": { + "Description": { + "markdownDescription": "An optional description of the prompt router to help identify its purpose.", + "title": "Description", "type": "string" }, - "ModelDataSource": { - "$ref": "#/definitions/AWS::Bedrock::ImportedModel.ModelDataSource" + "FallbackModel": { + "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel", + "markdownDescription": "The default model to use when the routing criteria is not met.", + "title": "FallbackModel" }, - "ModelName": { + "Models": { + "items": { + "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel" + }, + "markdownDescription": "A list of foundation models that the prompt router can route requests to. At least one model must be specified.", + "title": "Models", + "type": "array" + }, + "PromptRouterName": { + "markdownDescription": "The name of the prompt router. The name must be unique within your AWS account in the current region.", + "title": "PromptRouterName", "type": "string" + }, + "RoutingCriteria": { + "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.RoutingCriteria", + "markdownDescription": "Routing criteria for a prompt router.", + "title": "RoutingCriteria" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource as tags. You can use tags to categorize and manage your AWS resources.", + "title": "Tags", + "type": "array" } }, + "required": [ + "FallbackModel", + "Models", + "PromptRouterName", + "RoutingCriteria" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Bedrock::ImportedModel" + "AWS::Bedrock::IntelligentPromptRouter" ], "type": "string" }, @@ -45871,176 +43001,40 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Bedrock::ImportedModel.CustomModelUnits": { + "AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel": { "additionalProperties": false, "properties": { - "CustomModelUnitsPerModelCopy": { - "type": "number" - }, - "CustomModelUnitsVersion": { + "ModelArn": { + "markdownDescription": "The target model's ARN.", + "title": "ModelArn", "type": "string" } }, - "type": "object" - }, - "AWS::Bedrock::ImportedModel.ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Bedrock::ImportedModel.S3DataSource" - } - }, "required": [ - "S3DataSource" + "ModelArn" ], "type": "object" }, - "AWS::Bedrock::ImportedModel.S3DataSource": { + "AWS::Bedrock::IntelligentPromptRouter.RoutingCriteria": { "additionalProperties": false, "properties": { - "S3Uri": { - "type": "string" + "ResponseQualityDifference": { + "markdownDescription": "The criteria's response quality difference.", + "title": "ResponseQualityDifference", + "type": "number" } }, "required": [ - "S3Uri" + "ResponseQualityDifference" ], "type": "object" }, - "AWS::Bedrock::IntelligentPromptRouter": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "An optional description of the prompt router to help identify its purpose.", - "title": "Description", - "type": "string" - }, - "FallbackModel": { - "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel", - "markdownDescription": "The default model to use when the routing criteria is not met.", - "title": "FallbackModel" - }, - "Models": { - "items": { - "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel" - }, - "markdownDescription": "A list of foundation models that the prompt router can route requests to. At least one model must be specified.", - "title": "Models", - "type": "array" - }, - "PromptRouterName": { - "markdownDescription": "The name of the prompt router. The name must be unique within your AWS account in the current region.", - "title": "PromptRouterName", - "type": "string" - }, - "RoutingCriteria": { - "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter.RoutingCriteria", - "markdownDescription": "Routing criteria for a prompt router.", - "title": "RoutingCriteria" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this resource as tags. You can use tags to categorize and manage your AWS resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "FallbackModel", - "Models", - "PromptRouterName", - "RoutingCriteria" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::IntelligentPromptRouter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Bedrock::IntelligentPromptRouter.PromptRouterTargetModel": { - "additionalProperties": false, - "properties": { - "ModelArn": { - "markdownDescription": "The target model's ARN.", - "title": "ModelArn", - "type": "string" - } - }, - "required": [ - "ModelArn" - ], - "type": "object" - }, - "AWS::Bedrock::IntelligentPromptRouter.RoutingCriteria": { - "additionalProperties": false, - "properties": { - "ResponseQualityDifference": { - "markdownDescription": "The criteria's response quality difference.", - "title": "ResponseQualityDifference", - "type": "number" - } - }, - "required": [ - "ResponseQualityDifference" - ], - "type": "object" - }, - "AWS::Bedrock::KnowledgeBase": { + "AWS::Bedrock::KnowledgeBase": { "additionalProperties": false, "properties": { "Condition": { @@ -46253,9 +43247,6 @@ "markdownDescription": "Settings for an Amazon Kendra knowledge base.", "title": "KendraKnowledgeBaseConfiguration" }, - "ManagedKnowledgeBaseConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseConfiguration" - }, "SqlKnowledgeBaseConfiguration": { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.SqlKnowledgeBaseConfiguration", "markdownDescription": "Specifies configurations for a knowledge base connected to an SQL database.", @@ -46277,33 +43268,6 @@ ], "type": "object" }, - "AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "EmbeddingModelArn": { - "type": "string" - }, - "EmbeddingModelConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.EmbeddingModelConfiguration" - }, - "EmbeddingModelType": { - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseServerSideEncryptionConfiguration" - } - }, - "type": "object" - }, - "AWS::Bedrock::KnowledgeBase.ManagedKnowledgeBaseServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Bedrock::KnowledgeBase.MongoDbAtlasConfiguration": { "additionalProperties": false, "properties": { @@ -47132,338 +44096,6 @@ ], "type": "object" }, - "AWS::Bedrock::KnowledgeBasePolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KnowledgeBaseId": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "KnowledgeBaseId", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::KnowledgeBasePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Bedrock::ModelImportJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ImportedModelKmsKeyArn": { - "type": "string" - }, - "ModelDataSource": { - "$ref": "#/definitions/AWS::Bedrock::ModelImportJob.ModelDataSource" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Bedrock::ModelImportJob.VpcConfig" - } - }, - "required": [ - "ModelDataSource", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::ModelImportJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Bedrock::ModelImportJob.ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Bedrock::ModelImportJob.S3DataSource" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Bedrock::ModelImportJob.S3DataSource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Bedrock::ModelImportJob.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ModelInvocationJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.ModelInvocationJobInputDataConfig": { - "additionalProperties": false, - "properties": { - "S3InputDataConfig": { - "$ref": "#/definitions/AWS::Bedrock::ModelInvocationJob.ModelInvocationJobS3InputDataConfig" - } - }, - "required": [ - "S3InputDataConfig" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.ModelInvocationJobOutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3OutputDataConfig": { - "$ref": "#/definitions/AWS::Bedrock::ModelInvocationJob.ModelInvocationJobS3OutputDataConfig" - } - }, - "required": [ - "S3OutputDataConfig" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.ModelInvocationJobS3InputDataConfig": { - "additionalProperties": false, - "properties": { - "S3BucketOwner": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.ModelInvocationJobS3OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3BucketOwner": { - "type": "string" - }, - "S3EncryptionKeyId": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Bedrock::ModelInvocationJob.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, "AWS::Bedrock::Prompt": { "additionalProperties": false, "properties": { @@ -48580,82 +45212,6 @@ ], "type": "object" }, - "AWS::Bedrock::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": { - "EncryptionKeyArn": { - "type": "string" - }, - "SessionMetadata": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Bedrock::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::BedrockAgentCore::ApiKeyCredentialProvider": { "additionalProperties": false, "properties": { @@ -49146,7 +45702,7 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider": { + "AWS::BedrockAgentCore::CodeInterpreterCustom": { "additionalProperties": false, "properties": { "Condition": { @@ -49181,35 +45737,53 @@ "Properties": { "additionalProperties": false, "properties": { - "ComputeConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.ComputeConfiguration" + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.Certificate" + }, + "type": "array" }, "Description": { + "markdownDescription": "The code interpreter description.", + "title": "Description", + "type": "string" + }, + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the execution role.", + "title": "ExecutionRoleArn", "type": "string" }, "Name": { + "markdownDescription": "The name of the code interpreter.", + "title": "Name", "type": "string" }, - "PermissionsConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.PermissionsConfiguration" + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.CodeInterpreterNetworkConfiguration", + "markdownDescription": "The network configuration for a code interpreter. This structure defines how the code interpreter connects to the network.", + "title": "NetworkConfiguration" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "The tags for the code interpreter.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "Tags", + "type": "object" } }, "required": [ - "ComputeConfiguration", "Name", - "PermissionsConfiguration" + "NetworkConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::BedrockAgentCore::CapacityProvider" + "AWS::BedrockAgentCore::CodeInterpreterCustom" ], "type": "string" }, @@ -49228,800 +45802,220 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.CapacityReservationSpecification": { + "AWS::BedrockAgentCore::CodeInterpreterCustom.Certificate": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { - "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.CapacityReservationTarget" + "CertificateLocation": { + "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.CertificateLocation" } }, + "required": [ + "CertificateLocation" + ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.CapacityReservationTarget": { + "AWS::BedrockAgentCore::CodeInterpreterCustom.CertificateLocation": { "additionalProperties": false, "properties": { - "CapacityReservationId": { - "type": "string" - }, - "CapacityReservationResourceGroupArn": { + "SecretArn": { "type": "string" } }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.ComputeConfiguration": { - "additionalProperties": false, - "properties": { - "Ec2Configuration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.Ec2Configuration" - } - }, "required": [ - "Ec2Configuration" + "SecretArn" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.EbsVolumeConfiguration": { + "AWS::BedrockAgentCore::CodeInterpreterCustom.CodeInterpreterNetworkConfiguration": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SizeGiB": { - "type": "number" - }, - "SnapshotId": { + "NetworkMode": { + "markdownDescription": "The network mode.", + "title": "NetworkMode", "type": "string" }, - "Throughput": { - "type": "number" - }, - "VolumeType": { - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.VpcConfig", + "markdownDescription": "", + "title": "VpcConfig" } }, "required": [ - "Name", - "SizeGiB" + "NetworkMode" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.Ec2Configuration": { + "AWS::BedrockAgentCore::CodeInterpreterCustom.VpcConfig": { "additionalProperties": false, "properties": { - "LaunchTemplateSource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.LaunchTemplateSource" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.InstanceLifecycleConfiguration" - }, - "RootVolume": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.RootVolumeConfiguration" - }, - "Volumes": { + "SecurityGroups": { "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.VolumeConfiguration" + "type": "string" }, + "markdownDescription": "", + "title": "SecurityGroups", "type": "array" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.VpcConfiguration" - } - }, - "required": [ - "LaunchTemplateSource", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.EphemeralBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.EphemeralEBSVolumeConfiguration" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.EphemeralEBSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "EbsCardIndex": { - "type": "number" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "Throughput": { - "type": "number" - }, - "VolumeInitializationRate": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.InstanceLifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "IdleInstanceTimeout": { - "type": "number" - }, - "MaxLifetime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.InstanceRequirements": { - "additionalProperties": false, - "properties": { - "AllowedInstanceTypes": { + "Subnets": { "items": { "type": "string" }, + "markdownDescription": "", + "title": "Subnets", "type": "array" } }, "required": [ - "AllowedInstanceTypes" + "SecurityGroups", + "Subnets" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.LaunchParameters": { + "AWS::BedrockAgentCore::ConfigurationBundle": { "additionalProperties": false, "properties": { - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.CapacityReservationSpecification" - }, - "EphemeralVolumes": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.EphemeralBlockDeviceMapping" - }, - "type": "array" - }, - "InstanceProfileArn": { + "Condition": { "type": "string" }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.InstanceRequirements" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.LicenseSpecification" - }, - "type": "array" - }, - "Monitoring": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "OperatingSystem": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "PropagatedTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "BundleName": { + "type": "string" + }, + "CommitMessage": { + "type": "string" + }, + "Components": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.ComponentConfiguration" + } + }, + "type": "object" + }, + "CreatedBy": { + "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource" + }, + "Description": { "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, + "required": [ + "BundleName", + "Components" + ], "type": "object" }, - "SshKeyName": { + "Type": { + "enum": [ + "AWS::BedrockAgentCore::ConfigurationBundle" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InstanceRequirements", - "OperatingSystem" + "Type", + "Properties" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.LaunchTemplateSource": { + "AWS::BedrockAgentCore::ConfigurationBundle.ComponentConfiguration": { "additionalProperties": false, "properties": { - "LaunchParameters": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.LaunchParameters" + "Configuration": { + "type": "object" } }, "required": [ - "LaunchParameters" + "Configuration" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.LicenseSpecification": { + "AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource": { "additionalProperties": false, "properties": { - "LicenseConfigurationArn": { + "Arn": { "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.PermissionsConfiguration": { - "additionalProperties": false, - "properties": { - "CapacityProviderOperatorRoleArn": { + }, + "Name": { "type": "string" } }, "required": [ - "CapacityProviderOperatorRoleArn" + "Name" ], "type": "object" }, - "AWS::BedrockAgentCore::CapacityProvider.RootVolumeConfiguration": { + "AWS::BedrockAgentCore::ConfigurationBundle.VersionLineageMetadata": { "additionalProperties": false, "properties": { - "Encrypted": { - "type": "boolean" - }, - "FreeSpaceGiB": { - "type": "number" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { + "BranchName": { "type": "string" }, - "Throughput": { - "type": "number" - }, - "VolumeType": { + "CommitMessage": { "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.VolumeConfiguration": { - "additionalProperties": false, - "properties": { - "EbsConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider.EbsVolumeConfiguration" - } - }, - "required": [ - "EbsConfiguration" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CapacityProvider.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" }, - "Subnets": { + "CreatedBy": { + "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource" + }, + "ParentVersionIds": { "items": { "type": "string" }, "type": "array" } }, - "required": [ - "SecurityGroups", - "Subnets" - ], "type": "object" }, - "AWS::BedrockAgentCore::CodeInterpreter": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::BedrockAgentCore::CodeInterpreter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.Certificate" - }, - "type": "array" - }, - "Description": { - "markdownDescription": "The code interpreter description.", - "title": "Description", - "type": "string" - }, - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the execution role.", - "title": "ExecutionRoleArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the code interpreter.", - "title": "Name", - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.CodeInterpreterNetworkConfiguration", - "markdownDescription": "The network configuration for a code interpreter. This structure defines how the code interpreter connects to the network.", - "title": "NetworkConfiguration" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The tags for the code interpreter.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "Name", - "NetworkConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::CodeInterpreterCustom" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateLocation": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.CertificateLocation" - } - }, - "required": [ - "CertificateLocation" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom.CertificateLocation": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom.CodeInterpreterNetworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkMode": { - "markdownDescription": "The network mode.", - "title": "NetworkMode", - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom.VpcConfig", - "markdownDescription": "", - "title": "VpcConfig" - } - }, - "required": [ - "NetworkMode" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::CodeInterpreterCustom.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "SecurityGroups", - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Subnets", - "type": "array" - } - }, - "required": [ - "SecurityGroups", - "Subnets" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundle": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "BundleName": { - "type": "string" - }, - "CommitMessage": { - "type": "string" - }, - "Components": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.ComponentConfiguration" - } - }, - "type": "object" - }, - "CreatedBy": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource" - }, - "Description": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "BundleName", - "Components" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::ConfigurationBundle" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundle.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "Configuration": { - "type": "object" - } - }, - "required": [ - "Configuration" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundle.VersionLineageMetadata": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "CommitMessage": { - "type": "string" - }, - "CreatedBy": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle.VersionCreatedBySource" - }, - "ParentVersionIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundleVersion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "CommitMessage": { - "type": "string" - }, - "Components": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundleVersion.ComponentConfiguration" - } - }, - "type": "object" - }, - "CreatedBy": { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundleVersion.VersionCreatedBySource" - } - }, - "required": [ - "Components" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::ConfigurationBundleVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundleVersion.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "Configuration": { - "type": "object" - } - }, - "required": [ - "Configuration" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::ConfigurationBundleVersion.VersionCreatedBySource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::Dataset": { + "AWS::BedrockAgentCore::Dataset": { "additionalProperties": false, "properties": { "Condition": { @@ -50292,11 +46286,11 @@ "properties": { "BedrockEvaluatorModelConfig": { "$ref": "#/definitions/AWS::BedrockAgentCore::Evaluator.BedrockEvaluatorModelConfig" - }, - "ResponsesEvaluatorModelConfig": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Evaluator.OpenResponsesEvaluatorModelConfig" } }, + "required": [ + "BedrockEvaluatorModelConfig" + ], "type": "object" }, "AWS::BedrockAgentCore::Evaluator.InferenceConfiguration": { @@ -50369,30 +46363,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Evaluator.OpenResponsesEvaluatorModelConfig": { - "additionalProperties": false, - "properties": { - "MaxOutputTokens": { - "type": "number" - }, - "ModelId": { - "type": "string" - }, - "Reasoning": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Evaluator.ReasoningConfiguration" - }, - "Temperature": { - "type": "number" - }, - "TopP": { - "type": "number" - } - }, - "required": [ - "ModelId" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Evaluator.RatingScale": { "additionalProperties": false, "properties": { @@ -50411,15 +46381,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Evaluator.ReasoningConfiguration": { - "additionalProperties": false, - "properties": { - "Effort": { - "type": "string" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Gateway": { "additionalProperties": false, "properties": { @@ -50521,9 +46482,6 @@ }, "title": "Tags", "type": "object" - }, - "WafConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.WafConfiguration" } }, "required": [ @@ -50636,15 +46594,6 @@ "AWS::BedrockAgentCore::Gateway.CustomJWTAuthorizerConfiguration": { "additionalProperties": false, "properties": { - "AdvertisedScopeMapping": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, "AllowedAudience": { "items": { "type": "string" @@ -50681,9 +46630,6 @@ "markdownDescription": "The discovery URL for the authorizer configuration.", "title": "DiscoveryUrl", "type": "string" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.PrivateEndpoint" } }, "required": [ @@ -50770,9 +46716,6 @@ "markdownDescription": "", "title": "PassRequestHeaders", "type": "boolean" - }, - "PayloadFilter": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.InterceptorPayloadFilter" } }, "required": [ @@ -50780,33 +46723,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Gateway.InterceptorPayloadExclusionSelector": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - } - }, - "required": [ - "Field" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::Gateway.InterceptorPayloadFilter": { - "additionalProperties": false, - "properties": { - "Exclude": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.InterceptorPayloadExclusionSelector" - }, - "type": "array" - } - }, - "required": [ - "Exclude" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Gateway.LambdaInterceptorConfiguration": { "additionalProperties": false, "properties": { @@ -50851,62 +46767,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Gateway.ManagedVpcResource": { - "additionalProperties": false, - "properties": { - "EndpointIpAddressType": { - "type": "string" - }, - "RoutingDomain": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcIdentifier": { - "type": "string" - } - }, - "required": [ - "EndpointIpAddressType", - "SubnetIds", - "VpcIdentifier" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::Gateway.PrivateEndpoint": { - "additionalProperties": false, - "properties": { - "ManagedVpcResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.ManagedVpcResource" - }, - "SelfManagedLatticeResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway.SelfManagedLatticeResource" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::Gateway.SelfManagedLatticeResource": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationIdentifier": { - "type": "string" - } - }, - "required": [ - "ResourceConfigurationIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Gateway.SessionConfiguration": { "additionalProperties": false, "properties": { @@ -50925,15 +46785,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Gateway.WafConfiguration": { - "additionalProperties": false, - "properties": { - "FailureMode": { - "type": "string" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Gateway.WorkloadIdentityDetails": { "additionalProperties": false, "properties": { @@ -50948,469 +46799,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::GatewayRateLimit": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "DimensionKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit.LimitEntry" - }, - "type": "array" - }, - "GatewayIdentifier": { - "type": "string" - }, - "RateLimitId": { - "type": "string" - } - }, - "required": [ - "DimensionKeys", - "Entries" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::GatewayRateLimit" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRateLimit.LimitEntry": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit.RateConfig" - }, - "type": "array" - }, - "Dimensions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Requests": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit.RateConfig" - }, - "type": "array" - }, - "Tokens": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit.RateConfig" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRateLimit.RateConfig": { - "additionalProperties": false, - "properties": { - "Period": { - "type": "string" - }, - "Rate": { - "type": "number" - } - }, - "required": [ - "Period", - "Rate" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.Action" - }, - "type": "array" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.Condition" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "GatewayIdentifier": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Actions", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::GatewayRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.Action": { - "additionalProperties": false, - "properties": { - "ConfigurationBundle": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.ConfigurationBundleAction" - }, - "RouteToTarget": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.RouteToTargetAction" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.Condition": { - "additionalProperties": false, - "properties": { - "MatchPaths": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.MatchPaths" - }, - "MatchPrincipals": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.MatchPrincipals" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.ConfigurationBundleAction": { - "additionalProperties": false, - "properties": { - "StaticOverride": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.StaticOverride" - }, - "WeightedOverride": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.WeightedOverride" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.ConfigurationBundleReference": { - "additionalProperties": false, - "properties": { - "BundleArn": { - "type": "string" - }, - "BundleVersion": { - "type": "string" - } - }, - "required": [ - "BundleArn", - "BundleVersion" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.IamPrincipal": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Operator": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.MatchPaths": { - "additionalProperties": false, - "properties": { - "AnyOf": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AnyOf" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.MatchPrincipalEntry": { - "additionalProperties": false, - "properties": { - "IamPrincipal": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.IamPrincipal" - } - }, - "required": [ - "IamPrincipal" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.MatchPrincipals": { - "additionalProperties": false, - "properties": { - "AnyOf": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.MatchPrincipalEntry" - }, - "type": "array" - } - }, - "required": [ - "AnyOf" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.RouteToTargetAction": { - "additionalProperties": false, - "properties": { - "StaticRoute": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.StaticRoute" - }, - "WeightedRoute": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.WeightedRoute" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.StaticOverride": { - "additionalProperties": false, - "properties": { - "BundleArn": { - "type": "string" - }, - "BundleVersion": { - "type": "string" - } - }, - "required": [ - "BundleArn", - "BundleVersion" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.StaticRoute": { - "additionalProperties": false, - "properties": { - "TargetName": { - "type": "string" - } - }, - "required": [ - "TargetName" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.TargetTrafficSplitEntry": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Metadata": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "TargetName": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "TargetName", - "Weight" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.TrafficSplitEntry": { - "additionalProperties": false, - "properties": { - "ConfigurationBundle": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.ConfigurationBundleReference" - }, - "Description": { - "type": "string" - }, - "Metadata": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "ConfigurationBundle", - "Name", - "Weight" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.WeightedOverride": { - "additionalProperties": false, - "properties": { - "TrafficSplit": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.TrafficSplitEntry" - }, - "type": "array" - } - }, - "required": [ - "TrafficSplit" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayRule.WeightedRoute": { - "additionalProperties": false, - "properties": { - "TrafficSplit": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule.TargetTrafficSplitEntry" - }, - "type": "array" - } - }, - "required": [ - "TrafficSplit" - ], - "type": "object" - }, "AWS::BedrockAgentCore::GatewayTarget": { "additionalProperties": false, "properties": { @@ -51804,111 +47192,33 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceConnectorSource": { + "AWS::BedrockAgentCore::GatewayTarget.ManagedResourceDetails": { "additionalProperties": false, "properties": { - "ConnectorId": { + "Domain": { "type": "string" - } - }, - "required": [ - "ConnectorId" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceConnectorTargetConfiguration": { - "additionalProperties": false, - "properties": { - "Source": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceConnectorSource" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceOperationConfiguration": { - "additionalProperties": false, - "properties": { - "Models": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.ModelEntry" - }, - "type": "array" }, - "Path": { + "ResourceAssociationArn": { "type": "string" }, - "ProviderPath": { + "ResourceGatewayArn": { "type": "string" } }, - "required": [ - "Path" - ], "type": "object" }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceProviderTargetConfiguration": { + "AWS::BedrockAgentCore::GatewayTarget.ManagedVpcResource": { "additionalProperties": false, "properties": { - "Endpoint": { + "EndpointIpAddressType": { "type": "string" }, - "ModelMapping": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.ModelMapping" + "RoutingDomain": { + "type": "string" }, - "Operations": { + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceOperationConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Endpoint" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.InferenceTargetConfiguration": { - "additionalProperties": false, - "properties": { - "Connector": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceConnectorTargetConfiguration" - }, - "Provider": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceProviderTargetConfiguration" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.ManagedResourceDetails": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "ResourceAssociationArn": { - "type": "string" - }, - "ResourceGatewayArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.ManagedVpcResource": { - "additionalProperties": false, - "properties": { - "EndpointIpAddressType": { - "type": "string" - }, - "RoutingDomain": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" + "type": "string" }, "type": "array" }, @@ -51918,15 +47228,6 @@ }, "type": "array" }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, "VpcIdentifier": { "type": "string" } @@ -52055,27 +47356,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::GatewayTarget.ModelEntry": { - "additionalProperties": false, - "properties": { - "Model": { - "type": "string" - } - }, - "required": [ - "Model" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::GatewayTarget.ModelMapping": { - "additionalProperties": false, - "properties": { - "ProviderPrefix": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.ProviderPrefix" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::GatewayTarget.OAuth2AuthorizationData": { "additionalProperties": false, "properties": { @@ -52113,7 +47393,7 @@ "GrantType": { "markdownDescription": "", "title": "GrantType", - "type": "object" + "type": "string" }, "ProviderArn": { "markdownDescription": "The provider ARN for the gateway target.", @@ -52169,18 +47449,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::GatewayTarget.ProviderPrefix": { - "additionalProperties": false, - "properties": { - "Separator": { - "type": "string" - }, - "Strip": { - "type": "boolean" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::GatewayTarget.RuntimeTargetConfiguration": { "additionalProperties": false, "properties": { @@ -52291,9 +47559,6 @@ "Http": { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.HttpTargetConfiguration" }, - "Inference": { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.InferenceTargetConfiguration" - }, "Mcp": { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget.McpTargetConfiguration", "markdownDescription": "The target configuration definition for MCP.", @@ -52884,38 +48149,11 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Harness.HarnessManagedMemoryConfiguration": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "EncryptionKeyArn": { - "type": "string" - }, - "EventExpiryDuration": { - "type": "number" - }, - "Strategies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Harness.HarnessMemoryConfiguration": { "additionalProperties": false, "properties": { "AgentCoreMemoryConfiguration": { "$ref": "#/definitions/AWS::BedrockAgentCore::Harness.HarnessAgentCoreMemoryConfiguration" - }, - "Disabled": { - "type": "object" - }, - "ManagedMemoryConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Harness.HarnessManagedMemoryConfiguration" } }, "type": "object" @@ -52999,9 +48237,6 @@ "AWS::BedrockAgentCore::Harness.HarnessSkill": { "additionalProperties": false, "properties": { - "AwsSkills": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Harness.HarnessSkillAwsSkillsSource" - }, "Git": { "$ref": "#/definitions/AWS::BedrockAgentCore::Harness.HarnessSkillGitSource" }, @@ -53014,18 +48249,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Harness.HarnessSkillAwsSkillsSource": { - "additionalProperties": false, - "properties": { - "Paths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Harness.HarnessSkillGitAuth": { "additionalProperties": false, "properties": { @@ -53365,152 +48588,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::HarnessEndpoint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "EndpointName": { - "type": "string" - }, - "HarnessId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetVersion": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "HarnessId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::HarnessEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::HarnessVersion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HarnessId": { - "type": "string" - } - }, - "required": [ - "HarnessId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::HarnessVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Memory": { "additionalProperties": false, "properties": { @@ -54064,9 +49141,6 @@ "ExtractionConfig": { "$ref": "#/definitions/AWS::BedrockAgentCore::Memory.ExtractionConfig" }, - "ExtractionType": { - "type": "string" - }, "Key": { "type": "string" }, @@ -54687,18 +49761,6 @@ }, "OnBehalfOfTokenExchangeConfig": { "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.OnBehalfOfTokenExchangeConfig" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpoint" - }, - "PrivateEndpointOverrides": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpointOverride" - }, - "type": "array" - }, - "PrivateKeyJwtConfig": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeyJwtConfig" } }, "required": [ @@ -54778,18 +49840,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.KmsKeySourceType": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - } - }, - "required": [ - "KmsKeyArn" - ], - "type": "object" - }, "AWS::BedrockAgentCore::OAuth2CredentialProvider.LinkedinOauth2ProviderConfigInput": { "additionalProperties": false, "properties": { @@ -54811,47 +49861,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.ManagedVpcResource": { - "additionalProperties": false, - "properties": { - "EndpointIpAddressType": { - "type": "string" - }, - "RoutingDomain": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "VpcIdentifier": { - "type": "string" - } - }, - "required": [ - "EndpointIpAddressType", - "SubnetIds", - "VpcIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::OAuth2CredentialProvider.MicrosoftOauth2ProviderConfigInput": { "additionalProperties": false, "properties": { @@ -54961,18 +49970,6 @@ }, "OnBehalfOfTokenExchangeConfig": { "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.OnBehalfOfTokenExchangeConfig" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpoint" - }, - "PrivateEndpointOverrides": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpointOverride" - }, - "type": "array" - }, - "PrivateKeyJwtConfig": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeyJwtConfig" } }, "type": "object" @@ -54992,73 +49989,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpoint": { - "additionalProperties": false, - "properties": { - "ManagedVpcResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.ManagedVpcResource" - }, - "SelfManagedLatticeResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.SelfManagedLatticeResource" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpointOverride": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateEndpoint" - } - }, - "required": [ - "Domain", - "PrivateEndpoint" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeyJwtConfig": { - "additionalProperties": false, - "properties": { - "AdditionalHeaderClaims": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AdditionalPayloadClaims": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "PrivateKeySource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeySource" - }, - "SigningAlgorithm": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.PrivateKeySource": { - "additionalProperties": false, - "properties": { - "KmsKeySource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::OAuth2CredentialProvider.KmsKeySourceType" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::OAuth2CredentialProvider.SalesforceOauth2ProviderConfigInput": { "additionalProperties": false, "properties": { @@ -55096,18 +50026,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::OAuth2CredentialProvider.SelfManagedLatticeResource": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationIdentifier": { - "type": "string" - } - }, - "required": [ - "ResourceConfigurationIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::OAuth2CredentialProvider.SlackOauth2ProviderConfigInput": { "additionalProperties": false, "properties": { @@ -55474,14 +50392,12 @@ }, "PaymentManagerId": { "type": "string" - }, - "ProvisionMode": { - "type": "string" } }, "required": [ "ConnectorName", "ConnectorType", + "CredentialProviderConfigurations", "PaymentManagerId" ], "type": "object" @@ -56183,91 +51099,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::PolicyGeneration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "PolicyEngineId": { - "type": "string" - }, - "Resource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::PolicyGeneration.Resource" - } - }, - "required": [ - "Name", - "PolicyEngineId", - "Resource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::BedrockAgentCore::PolicyGeneration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::PolicyGeneration.Resource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, "AWS::BedrockAgentCore::ResourcePolicy": { "additionalProperties": false, "properties": { @@ -56387,9 +51218,6 @@ "markdownDescription": "Represents inbound authorization configuration options used to authenticate incoming requests.", "title": "AuthorizerConfiguration" }, - "CapacityProviderConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.CapacityProviderConfiguration" - }, "Description": { "markdownDescription": "The agent runtime description.", "title": "Description", @@ -56452,6 +51280,7 @@ "required": [ "AgentRuntimeArtifact", "AgentRuntimeName", + "NetworkConfiguration", "RoleArn" ], "type": "object" @@ -56493,24 +51322,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Runtime.AllowedWorkloadConfiguration": { - "additionalProperties": false, - "properties": { - "HostingEnvironments": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.HostingEnvironment" - }, - "type": "array" - }, - "WorkloadIdentities": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.AuthorizerConfiguration": { "additionalProperties": false, "properties": { @@ -56538,34 +51349,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Runtime.CapacityProviderConfiguration": { - "additionalProperties": false, - "properties": { - "CapacityProviderArn": { - "type": "string" - } - }, - "required": [ - "CapacityProviderArn" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::Runtime.CapacityProviderVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "MountPath": { - "type": "string" - }, - "VolumeName": { - "type": "string" - } - }, - "required": [ - "MountPath", - "VolumeName" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.ClaimMatchValueType": { "additionalProperties": false, "properties": { @@ -56680,9 +51463,6 @@ }, "type": "array" }, - "AllowedWorkloadConfiguration": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.AllowedWorkloadConfiguration" - }, "CustomClaims": { "items": { "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.CustomClaimValidationType" @@ -56693,15 +51473,6 @@ "markdownDescription": "The configuration authorization.", "title": "DiscoveryUrl", "type": "string" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.PrivateEndpoint" - }, - "PrivateEndpointOverrides": { - "items": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.PrivateEndpointOverride" - }, - "type": "array" } }, "required": [ @@ -56728,9 +51499,6 @@ "AWS::BedrockAgentCore::Runtime.FilesystemConfiguration": { "additionalProperties": false, "properties": { - "CapacityProviderVolume": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.CapacityProviderVolumeConfiguration" - }, "EfsAccessPoint": { "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.EfsAccessPointConfiguration" }, @@ -56743,18 +51511,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Runtime.HostingEnvironment": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.LifecycleConfiguration": { "additionalProperties": false, "properties": { @@ -56771,47 +51527,6 @@ }, "type": "object" }, - "AWS::BedrockAgentCore::Runtime.ManagedVpcResource": { - "additionalProperties": false, - "properties": { - "EndpointIpAddressType": { - "type": "string" - }, - "RoutingDomain": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "VpcIdentifier": { - "type": "string" - } - }, - "required": [ - "EndpointIpAddressType", - "SubnetIds", - "VpcIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.NetworkConfiguration": { "additionalProperties": false, "properties": { @@ -56831,34 +51546,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Runtime.PrivateEndpoint": { - "additionalProperties": false, - "properties": { - "ManagedVpcResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.ManagedVpcResource" - }, - "SelfManagedLatticeResource": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.SelfManagedLatticeResource" - } - }, - "type": "object" - }, - "AWS::BedrockAgentCore::Runtime.PrivateEndpointOverride": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "PrivateEndpoint": { - "$ref": "#/definitions/AWS::BedrockAgentCore::Runtime.PrivateEndpoint" - } - }, - "required": [ - "Domain", - "PrivateEndpoint" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.RequestHeaderConfiguration": { "additionalProperties": false, "properties": { @@ -56914,18 +51601,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::Runtime.SelfManagedLatticeResource": { - "additionalProperties": false, - "properties": { - "ResourceConfigurationIdentifier": { - "type": "string" - } - }, - "required": [ - "ResourceConfigurationIdentifier" - ], - "type": "object" - }, "AWS::BedrockAgentCore::Runtime.SessionStorageConfiguration": { "additionalProperties": false, "properties": { @@ -57072,78 +51747,6 @@ ], "type": "object" }, - "AWS::BedrockAgentCore::TokenVault": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::BedrockAgentCore::TokenVault" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::BedrockAgentCore::TokenVault.KmsConfiguration": { - "additionalProperties": false, - "properties": { - "KeyType": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, "AWS::BedrockAgentCore::WorkloadIdentity": { "additionalProperties": false, "properties": { @@ -58082,259 +52685,6 @@ }, "type": "object" }, - "AWS::Braket::Job": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlgorithmSpecification": { - "$ref": "#/definitions/AWS::Braket::Job.AlgorithmSpecification" - }, - "CheckpointConfig": { - "$ref": "#/definitions/AWS::Braket::Job.JobCheckpointConfig" - }, - "DeviceConfig": { - "$ref": "#/definitions/AWS::Braket::Job.DeviceConfig" - }, - "HyperParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::Braket::Job.InputFileConfig" - }, - "type": "array" - }, - "InstanceConfig": { - "$ref": "#/definitions/AWS::Braket::Job.InstanceConfig" - }, - "JobName": { - "type": "string" - }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::Braket::Job.JobOutputDataConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::Braket::Job.JobStoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AlgorithmSpecification", - "DeviceConfig", - "InstanceConfig", - "JobName", - "OutputDataConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Braket::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Braket::Job.AlgorithmSpecification": { - "additionalProperties": false, - "properties": { - "ScriptModeConfig": { - "$ref": "#/definitions/AWS::Braket::Job.ScriptModeConfig" - } - }, - "required": [ - "ScriptModeConfig" - ], - "type": "object" - }, - "AWS::Braket::Job.DataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Braket::Job.S3DataSource" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Braket::Job.DeviceConfig": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - } - }, - "required": [ - "Device" - ], - "type": "object" - }, - "AWS::Braket::Job.InputFileConfig": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "DataSource": { - "$ref": "#/definitions/AWS::Braket::Job.DataSource" - } - }, - "required": [ - "ChannelName", - "DataSource" - ], - "type": "object" - }, - "AWS::Braket::Job.InstanceConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeSizeInGb": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "VolumeSizeInGb" - ], - "type": "object" - }, - "AWS::Braket::Job.JobCheckpointConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Braket::Job.JobOutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Path": { - "type": "string" - } - }, - "required": [ - "S3Path" - ], - "type": "object" - }, - "AWS::Braket::Job.JobStoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Braket::Job.S3DataSource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Braket::Job.ScriptModeConfig": { - "additionalProperties": false, - "properties": { - "CompressionType": { - "type": "string" - }, - "EntryPoint": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "EntryPoint", - "S3Uri" - ], - "type": "object" - }, "AWS::Braket::SpendingLimit": { "additionalProperties": false, "properties": { @@ -59747,89 +54097,6 @@ ], "type": "object" }, - "AWS::Cases::Case": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerId": { - "type": "string" - }, - "DomainId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateId": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "required": [ - "CustomerId", - "DomainId", - "TemplateId", - "Title" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cases::Case" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Cases::CaseRule": { "additionalProperties": false, "properties": { @@ -60690,73 +54957,6 @@ }, "type": "object" }, - "AWS::Cassandra::Stream": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyspaceName": { - "type": "string" - }, - "StreamViewType": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Cassandra::Table": { "additionalProperties": false, "properties": { @@ -61336,7 +55536,7 @@ }, "type": "object" }, - "AWS::CertificateManager::AcmeDomainValidation": { + "AWS::CertificateManager::Certificate": { "additionalProperties": false, "properties": { "Condition": { @@ -61371,32 +55571,69 @@ "Properties": { "additionalProperties": false, "properties": { - "AcmeEndpointArn": { + "CertificateAuthorityArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the [AWS Private Certificate Authority](https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html) user guide. The ARN must have the following form:\n\n`arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012`", + "title": "CertificateAuthorityArn", + "type": "string" + }, + "CertificateExport": { + "markdownDescription": "You can opt out of allowing export of your certificate by specifying the `DISABLED` option. Allow export of your certificate by specifying the `ENABLED` option.\n\nIf you do not specify an export preference in a new CloudFormation template, it is the same as explicitly denying export of your certificate.", + "title": "CertificateExport", + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "markdownDescription": "You can opt out of certificate transparency logging by specifying the `DISABLED` option. Opt in by specifying `ENABLED` . This setting doces not apply to private certificates.\n\nIf you do not specify a certificate transparency logging preference on a new CloudFormation template, or if you remove the logging preference from an existing template, this is the same as explicitly enabling the preference.\n\nChanging the certificate transparency logging preference will update the existing resource by calling `UpdateCertificateOptions` on the certificate. This action will not create a new resource.", + "title": "CertificateTransparencyLoggingPreference", "type": "string" }, "DomainName": { + "markdownDescription": "The fully qualified domain name (FQDN), such as www.example.com, with which you want to secure an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, `*.example.com` protects `www.example.com` , `site.example.com` , and `images.example.com.`", + "title": "DomainName", + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "markdownDescription": "Domain information that domain name registrars use to verify your identity.\n\n> In order for a AWS::CertificateManager::Certificate to be provisioned and validated in CloudFormation automatically, the `DomainName` property needs to be identical to one of the `DomainName` property supplied in DomainValidationOptions, if the ValidationMethod is **DNS**. Failing to keep them like-for-like will result in failure to create the domain validation records in Route53.", + "title": "DomainValidationOptions", + "type": "array" + }, + "KeyAlgorithm": { + "markdownDescription": "Specifies the algorithm of the public and private key pair that your certificate uses to encrypt data. RSA is the default key algorithm for ACM certificates. Elliptic Curve Digital Signature Algorithm (ECDSA) keys are smaller, offering security comparable to RSA keys but with greater computing efficiency. However, ECDSA is not supported by all network clients. Some AWS services may require RSA keys, or only support ECDSA keys of a particular size, while others allow the use of either RSA and ECDSA keys to ensure that compatibility is not broken. Check the requirements for the AWS service where you plan to deploy your certificate. For more information about selecting an algorithm, see [Key algorithms](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate-characteristics.html#algorithms-term) .\n\n> Algorithms supported for an ACM certificate request include:\n> \n> - `RSA_2048`\n> - `EC_prime256v1`\n> - `EC_secp384r1`\n> \n> Other listed algorithms are for imported certificates only. > When you request a private PKI certificate signed by a CA from AWS Private CA, the specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. \n\nDefault: RSA_2048", + "title": "KeyAlgorithm", "type": "string" }, - "PrevalidationOptions": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation.PrevalidationOptions" + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "markdownDescription": "Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, you can add www.example.net to a certificate for which the `DomainName` field is www.example.com if users can reach your site by using either name.", + "title": "SubjectAlternativeNames", + "type": "array" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Key-value pairs that can identify the certificate.", + "title": "Tags", "type": "array" + }, + "ValidationMethod": { + "markdownDescription": "The method you want to use to validate that you own or control the domain associated with a public certificate. You can [validate with DNS](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html) or [validate with email](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html) . We recommend that you use DNS validation.\n\nIf not specified, this property defaults to email validation.", + "title": "ValidationMethod", + "type": "string" } }, "required": [ - "AcmeEndpointArn", - "DomainName", - "PrevalidationOptions" + "DomainName" ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::AcmeDomainValidation" + "AWS::CertificateManager::Certificate" ], "type": "string" }, @@ -61415,62 +55652,31 @@ ], "type": "object" }, - "AWS::CertificateManager::AcmeDomainValidation.DnsPrevalidationOptions": { - "additionalProperties": false, - "properties": { - "DomainScope": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation.DomainScope" - }, - "HostedZoneId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CertificateManager::AcmeDomainValidation.DomainScope": { + "AWS::CertificateManager::Certificate.DomainValidationOption": { "additionalProperties": false, "properties": { - "ExactDomain": { - "type": "string" - }, - "Subdomains": { + "DomainName": { + "markdownDescription": "A fully qualified domain name (FQDN) in the certificate request.", + "title": "DomainName", "type": "string" }, - "Wildcards": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CertificateManager::AcmeDomainValidation.PrevalidationOptions": { - "additionalProperties": false, - "properties": { - "DnsPrevalidation": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation.DnsPrevalidationOptions" - } - }, - "required": [ - "DnsPrevalidation" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeDomainValidation.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { + "HostedZoneId": { + "markdownDescription": "The `HostedZoneId` option, which is available if you are using Route 53 as your domain registrar, causes ACM to add your CNAME to the domain record. Your list of `DomainValidationOptions` must contain one and only one of the domain-validation options, and the `HostedZoneId` can be used only when `DNS` is specified as your validation method.\n\nUse the Route 53 `ListHostedZones` API to discover IDs for available hosted zones.\n\nThis option is required for publicly trusted certificates.\n\n> The `ListHostedZones` API returns IDs in the format \"/hostedzone/Z111111QQQQQQQ\", but CloudFormation requires the IDs to be in the format \"Z111111QQQQQQQ\". \n\nWhen you change your `DomainValidationOptions` , a new resource is created.", + "title": "HostedZoneId", "type": "string" }, - "Value": { + "ValidationDomain": { + "markdownDescription": "The domain name to which you want ACM to send validation emails. This domain name is the suffix of the email addresses that you want ACM to use. This must be the same as the `DomainName` value or a superdomain of the `DomainName` value. For example, if you request a certificate for `testing.example.com` , you can specify `example.com` as this value. In that case, ACM sends domain validation emails to the following five addresses:\n\n- admin@example.com\n- administrator@example.com\n- hostmaster@example.com\n- postmaster@example.com\n- webmaster@example.com", + "title": "ValidationDomain", "type": "string" } }, "required": [ - "Key", - "Value" + "DomainName" ], "type": "object" }, - "AWS::CertificateManager::AcmeEndpoint": { + "AWS::Chatbot::CustomAction": { "additionalProperties": false, "properties": { "Condition": { @@ -61505,37 +55711,47 @@ "Properties": { "additionalProperties": false, "properties": { - "AuthorizationBehavior": { + "ActionName": { + "markdownDescription": "The name of the custom action. This name is included in the Amazon Resource Name (ARN).", + "title": "ActionName", "type": "string" }, - "CertificateAuthority": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeEndpoint.CertificateAuthority" + "AliasName": { + "markdownDescription": "The name used to invoke this action in a chat channel. For example, `@Amazon Q run my-alias` .", + "title": "AliasName", + "type": "string" }, - "CertificateTags": { + "Attachments": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Chatbot::CustomAction.CustomActionAttachment" }, + "markdownDescription": "Defines when this custom action button should be attached to a notification.", + "title": "Attachments", "type": "array" }, - "Contact": { - "type": "string" + "Definition": { + "$ref": "#/definitions/AWS::Chatbot::CustomAction.CustomActionDefinition", + "markdownDescription": "The definition of the command to run when invoked as an alias or as an action button.", + "title": "Definition" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeEndpoint.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags to add to the configuration.", + "title": "Tags", "type": "array" } }, "required": [ - "AuthorizationBehavior", - "CertificateAuthority" + "ActionName", + "Definition" ], "type": "object" }, "Type": { "enum": [ - "AWS::CertificateManager::AcmeEndpoint" + "AWS::Chatbot::CustomAction" ], "type": "string" }, @@ -61554,462 +55770,81 @@ ], "type": "object" }, - "AWS::CertificateManager::AcmeEndpoint.CertificateAuthority": { - "additionalProperties": false, - "properties": { - "PublicCertificateAuthority": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeEndpoint.PublicCertificateAuthority" - } - }, - "required": [ - "PublicCertificateAuthority" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeEndpoint.PublicCertificateAuthority": { + "AWS::Chatbot::CustomAction.CustomActionAttachment": { "additionalProperties": false, "properties": { - "AllowedKeyAlgorithms": { + "ButtonText": { + "markdownDescription": "The text of the button that appears on the notification.", + "title": "ButtonText", + "type": "string" + }, + "Criteria": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Chatbot::CustomAction.CustomActionAttachmentCriteria" }, + "markdownDescription": "The criteria for when a button should be shown based on values in the notification.", + "title": "Criteria", "type": "array" + }, + "NotificationType": { + "markdownDescription": "The type of notification that the custom action should be attached to.", + "title": "NotificationType", + "type": "string" + }, + "Variables": { + "additionalProperties": true, + "markdownDescription": "The variables to extract from the notification.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Variables", + "type": "object" } }, "type": "object" }, - "AWS::CertificateManager::AcmeEndpoint.TagsItems": { + "AWS::Chatbot::CustomAction.CustomActionAttachmentCriteria": { "additionalProperties": false, "properties": { - "Key": { + "Operator": { + "markdownDescription": "The operation to perform on the named variable.", + "title": "Operator", "type": "string" }, "Value": { + "markdownDescription": "A value that is compared with the actual value of the variable based on the behavior of the operator.", + "title": "Value", + "type": "string" + }, + "VariableName": { + "markdownDescription": "The name of the variable to operate on.", + "title": "VariableName", "type": "string" } }, "required": [ - "Key", - "Value" + "Operator", + "VariableName" + ], + "type": "object" + }, + "AWS::Chatbot::CustomAction.CustomActionDefinition": { + "additionalProperties": false, + "properties": { + "CommandText": { + "markdownDescription": "The command string to run which may include variables by prefixing with a dollar sign ($).", + "title": "CommandText", + "type": "string" + } + }, + "required": [ + "CommandText" ], "type": "object" }, - "AWS::CertificateManager::AcmeExternalAccountBinding": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcmeEndpointArn": { - "type": "string" - }, - "Expiration": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeExternalAccountBinding.Expiration" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::AcmeExternalAccountBinding.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "AcmeEndpointArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::AcmeExternalAccountBinding" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeExternalAccountBinding.Expiration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::CertificateManager::AcmeExternalAccountBinding.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the [AWS Private Certificate Authority](https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html) user guide. The ARN must have the following form:\n\n`arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012`", - "title": "CertificateAuthorityArn", - "type": "string" - }, - "CertificateExport": { - "markdownDescription": "You can opt out of allowing export of your certificate by specifying the `DISABLED` option. Allow export of your certificate by specifying the `ENABLED` option.\n\nIf you do not specify an export preference in a new CloudFormation template, it is the same as explicitly denying export of your certificate.", - "title": "CertificateExport", - "type": "string" - }, - "CertificateTransparencyLoggingPreference": { - "markdownDescription": "You can opt out of certificate transparency logging by specifying the `DISABLED` option. Opt in by specifying `ENABLED` . This setting doces not apply to private certificates.\n\nIf you do not specify a certificate transparency logging preference on a new CloudFormation template, or if you remove the logging preference from an existing template, this is the same as explicitly enabling the preference.\n\nChanging the certificate transparency logging preference will update the existing resource by calling `UpdateCertificateOptions` on the certificate. This action will not create a new resource.", - "title": "CertificateTransparencyLoggingPreference", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The fully qualified domain name (FQDN), such as www.example.com, with which you want to secure an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, `*.example.com` protects `www.example.com` , `site.example.com` , and `images.example.com.`", - "title": "DomainName", - "type": "string" - }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "markdownDescription": "Domain information that domain name registrars use to verify your identity.\n\n> In order for a AWS::CertificateManager::Certificate to be provisioned and validated in CloudFormation automatically, the `DomainName` property needs to be identical to one of the `DomainName` property supplied in DomainValidationOptions, if the ValidationMethod is **DNS**. Failing to keep them like-for-like will result in failure to create the domain validation records in Route53.", - "title": "DomainValidationOptions", - "type": "array" - }, - "KeyAlgorithm": { - "markdownDescription": "Specifies the algorithm of the public and private key pair that your certificate uses to encrypt data. RSA is the default key algorithm for ACM certificates. Elliptic Curve Digital Signature Algorithm (ECDSA) keys are smaller, offering security comparable to RSA keys but with greater computing efficiency. However, ECDSA is not supported by all network clients. Some AWS services may require RSA keys, or only support ECDSA keys of a particular size, while others allow the use of either RSA and ECDSA keys to ensure that compatibility is not broken. Check the requirements for the AWS service where you plan to deploy your certificate. For more information about selecting an algorithm, see [Key algorithms](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate-characteristics.html#algorithms-term) .\n\n> Algorithms supported for an ACM certificate request include:\n> \n> - `RSA_2048`\n> - `EC_prime256v1`\n> - `EC_secp384r1`\n> \n> Other listed algorithms are for imported certificates only. > When you request a private PKI certificate signed by a CA from AWS Private CA, the specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. \n\nDefault: RSA_2048", - "title": "KeyAlgorithm", - "type": "string" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "markdownDescription": "Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, you can add www.example.net to a certificate for which the `DomainName` field is www.example.com if users can reach your site by using either name.", - "title": "SubjectAlternativeNames", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Key-value pairs that can identify the certificate.", - "title": "Tags", - "type": "array" - }, - "ValidationMethod": { - "markdownDescription": "The method you want to use to validate that you own or control the domain associated with a public certificate. You can [validate with DNS](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html) or [validate with email](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html) . We recommend that you use DNS validation.\n\nIf not specified, this property defaults to email validation.", - "title": "ValidationMethod", - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { - "additionalProperties": false, - "properties": { - "DomainName": { - "markdownDescription": "A fully qualified domain name (FQDN) in the certificate request.", - "title": "DomainName", - "type": "string" - }, - "HostedZoneId": { - "markdownDescription": "The `HostedZoneId` option, which is available if you are using Route 53 as your domain registrar, causes ACM to add your CNAME to the domain record. Your list of `DomainValidationOptions` must contain one and only one of the domain-validation options, and the `HostedZoneId` can be used only when `DNS` is specified as your validation method.\n\nUse the Route 53 `ListHostedZones` API to discover IDs for available hosted zones.\n\nThis option is required for publicly trusted certificates.\n\n> The `ListHostedZones` API returns IDs in the format \"/hostedzone/Z111111QQQQQQQ\", but CloudFormation requires the IDs to be in the format \"Z111111QQQQQQQ\". \n\nWhen you change your `DomainValidationOptions` , a new resource is created.", - "title": "HostedZoneId", - "type": "string" - }, - "ValidationDomain": { - "markdownDescription": "The domain name to which you want ACM to send validation emails. This domain name is the suffix of the email addresses that you want ACM to use. This must be the same as the `DomainName` value or a superdomain of the `DomainName` value. For example, if you request a certificate for `testing.example.com` , you can specify `example.com` as this value. In that case, ACM sends domain validation emails to the following five addresses:\n\n- admin@example.com\n- administrator@example.com\n- hostmaster@example.com\n- postmaster@example.com\n- webmaster@example.com", - "title": "ValidationDomain", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Chatbot::CustomAction": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionName": { - "markdownDescription": "The name of the custom action. This name is included in the Amazon Resource Name (ARN).", - "title": "ActionName", - "type": "string" - }, - "AliasName": { - "markdownDescription": "The name used to invoke this action in a chat channel. For example, `@Amazon Q run my-alias` .", - "title": "AliasName", - "type": "string" - }, - "Attachments": { - "items": { - "$ref": "#/definitions/AWS::Chatbot::CustomAction.CustomActionAttachment" - }, - "markdownDescription": "Defines when this custom action button should be attached to a notification.", - "title": "Attachments", - "type": "array" - }, - "Definition": { - "$ref": "#/definitions/AWS::Chatbot::CustomAction.CustomActionDefinition", - "markdownDescription": "The definition of the command to run when invoked as an alias or as an action button.", - "title": "Definition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to add to the configuration.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ActionName", - "Definition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Chatbot::CustomAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Chatbot::CustomAction.CustomActionAttachment": { - "additionalProperties": false, - "properties": { - "ButtonText": { - "markdownDescription": "The text of the button that appears on the notification.", - "title": "ButtonText", - "type": "string" - }, - "Criteria": { - "items": { - "$ref": "#/definitions/AWS::Chatbot::CustomAction.CustomActionAttachmentCriteria" - }, - "markdownDescription": "The criteria for when a button should be shown based on values in the notification.", - "title": "Criteria", - "type": "array" - }, - "NotificationType": { - "markdownDescription": "The type of notification that the custom action should be attached to.", - "title": "NotificationType", - "type": "string" - }, - "Variables": { - "additionalProperties": true, - "markdownDescription": "The variables to extract from the notification.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Variables", - "type": "object" - } - }, - "type": "object" - }, - "AWS::Chatbot::CustomAction.CustomActionAttachmentCriteria": { - "additionalProperties": false, - "properties": { - "Operator": { - "markdownDescription": "The operation to perform on the named variable.", - "title": "Operator", - "type": "string" - }, - "Value": { - "markdownDescription": "A value that is compared with the actual value of the variable based on the behavior of the operator.", - "title": "Value", - "type": "string" - }, - "VariableName": { - "markdownDescription": "The name of the variable to operate on.", - "title": "VariableName", - "type": "string" - } - }, - "required": [ - "Operator", - "VariableName" - ], - "type": "object" - }, - "AWS::Chatbot::CustomAction.CustomActionDefinition": { - "additionalProperties": false, - "properties": { - "CommandText": { - "markdownDescription": "The command string to run which may include variables by prefixing with a dollar sign ($).", - "title": "CommandText", - "type": "string" - } - }, - "required": [ - "CommandText" - ], - "type": "object" - }, - "AWS::Chatbot::MicrosoftTeamsChannelConfiguration": { + "AWS::Chatbot::MicrosoftTeamsChannelConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -62482,240 +56317,6 @@ ], "type": "object" }, - "AWS::Chime::AppInstanceUser": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "AppInstanceUserId": { - "type": "string" - }, - "ExpirationSettings": { - "$ref": "#/definitions/AWS::Chime::AppInstanceUser.ExpirationSettings" - }, - "Metadata": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppInstanceArn", - "AppInstanceUserId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Chime::AppInstanceUser" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Chime::AppInstanceUser.ExpirationSettings": { - "additionalProperties": false, - "properties": { - "ExpirationCriterion": { - "type": "string" - }, - "ExpirationDays": { - "type": "number" - } - }, - "required": [ - "ExpirationCriterion", - "ExpirationDays" - ], - "type": "object" - }, - "AWS::Chime::ChannelFlow": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Name": { - "type": "string" - }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::Chime::ChannelFlow.Processor" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppInstanceArn", - "Name", - "Processors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Chime::ChannelFlow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Chime::ChannelFlow.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "InvocationType": { - "type": "string" - }, - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "InvocationType", - "ResourceArn" - ], - "type": "object" - }, - "AWS::Chime::ChannelFlow.Processor": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Chime::ChannelFlow.ProcessorConfiguration" - }, - "ExecutionOrder": { - "type": "number" - }, - "FallbackAction": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Configuration", - "ExecutionOrder", - "FallbackAction", - "Name" - ], - "type": "object" - }, - "AWS::Chime::ChannelFlow.ProcessorConfiguration": { - "additionalProperties": false, - "properties": { - "Lambda": { - "$ref": "#/definitions/AWS::Chime::ChannelFlow.LambdaConfiguration" - } - }, - "required": [ - "Lambda" - ], - "type": "object" - }, "AWS::CleanRooms::AnalysisTemplate": { "additionalProperties": false, "properties": { @@ -64563,224 +58164,6 @@ }, "type": "object" }, - "AWS::CleanRooms::IntermediateTable": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "Type": { - "enum": [ - "AWS::CleanRooms::IntermediateTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.DifferentialPrivacy": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn" - }, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.DifferentialPrivacyColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRule": { - "additionalProperties": false, - "properties": { - "Policy": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRulePolicy" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Policy", - "Type" - ], - "type": "object" - }, - "AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom": { - "additionalProperties": false, - "properties": { - "AdditionalAnalyses": { - "type": "string" - }, - "AllowedAnalyses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedAnalysisProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedResultReceivers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DifferentialPrivacy": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.DifferentialPrivacy" - }, - "DisallowedOutputColumns": { - "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": { - "additionalProperties": false, - "properties": { - "Custom": { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable.IntermediateTableAnalysisRuleCustom" - } - }, - "required": [ - "Custom" - ], - "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": { @@ -66028,7 +59411,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ChangeSet": { + "AWS::CloudFormation::CustomResource": { "additionalProperties": false, "properties": { "Condition": { @@ -66063,70 +59446,25 @@ "Properties": { "additionalProperties": false, "properties": { - "Capabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ChangeSetName": { - "type": "string" - }, - "ChangeSetType": { - "type": "string" - }, - "DeploymentMode": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImportExistingResources": { - "type": "boolean" - }, - "IncludeNestedStacks": { - "type": "boolean" - }, - "NotificationARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OnStackFailure": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "StackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::ChangeSet.TagsItems" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" + "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" }, - "TemplateURL": { + "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" - }, - "UsePreviousTemplate": { - "type": "boolean" } }, "required": [ - "ChangeSetName", - "StackName" + "ServiceToken" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ChangeSet" + "AWS::CloudFormation::CustomResource" ], "type": "string" }, @@ -66145,193 +59483,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ChangeSet.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::CloudFormation::CustomResource": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::CustomResource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::GeneratedTemplate": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GeneratedTemplateName": { - "type": "string" - }, - "TemplateConfiguration": { - "$ref": "#/definitions/AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration" - } - }, - "required": [ - "GeneratedTemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::GeneratedTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::GeneratedTemplate.TemplateConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "type": "string" - }, - "UpdateReplacePolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFormation::GeneratedTemplate.TemplateProgress": { - "additionalProperties": false, - "properties": { - "ResourcesFailed": { - "type": "number" - }, - "ResourcesPending": { - "type": "number" - }, - "ResourcesProcessing": { - "type": "number" - }, - "ResourcesSucceeded": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CloudFormation::GuardHook": { + "AWS::CloudFormation::GuardHook": { "additionalProperties": false, "properties": { "Condition": { @@ -66893,9 +60045,6 @@ "title": "Alias", "type": "string" }, - "AutoUpdate": { - "type": "boolean" - }, "ExecutionRole": { "markdownDescription": "The IAM role that the Hook assumes to invoke your Lambda function.", "title": "ExecutionRole", @@ -66916,9 +60065,6 @@ "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`", @@ -66989,22 +60135,6 @@ ], "type": "object" }, - "AWS::CloudFormation::LambdaHook.LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogRoleArn": { - "type": "string" - } - }, - "required": [ - "LogGroupName", - "LogRoleArn" - ], - "type": "object" - }, "AWS::CloudFormation::LambdaHook.StackFilters": { "additionalProperties": false, "properties": { @@ -67565,7 +60695,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceScan": { + "AWS::CloudFormation::ResourceVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -67600,18 +60730,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ScanFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceScan.ScanFilter" - }, - "type": "array" + "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" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig", + "markdownDescription": "Logging configuration information for a resource.", + "title": "LoggingConfig" + }, + "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" + }, + "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" } }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceScan" + "AWS::CloudFormation::ResourceVersion" ], "type": "string" }, @@ -67625,23 +60773,28 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::CloudFormation::ResourceScan.ScanFilter": { + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { "additionalProperties": false, "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" + "LogGroupName": { + "markdownDescription": "The Amazon CloudWatch logs group to which CloudFormation sends error logging information when invoking the type's handlers.", + "title": "LogGroupName", + "type": "string" + }, + "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::CloudFormation::ResourceVersion": { + "AWS::CloudFormation::Stack": { "additionalProperties": false, "properties": { "Condition": { @@ -67676,36 +60829,52 @@ "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", - "type": "string" + "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" }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig", - "markdownDescription": "Logging configuration information for a resource.", - "title": "LoggingConfig" + "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" }, - "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" + "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" }, - "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", + "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": [ - "SchemaHandlerPackage", - "TypeName" + "TemplateURL" ], "type": "object" }, "Type": { "enum": [ - "AWS::CloudFormation::ResourceVersion" + "AWS::CloudFormation::Stack" ], "type": "string" }, @@ -67724,122 +60893,7 @@ ], "type": "object" }, - "AWS::CloudFormation::ResourceVersion.LoggingConfig": { - "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" - }, - "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::CloudFormation::Stack": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet": { + "AWS::CloudFormation::StackSet": { "additionalProperties": false, "properties": { "Condition": { @@ -72725,9 +65779,6 @@ "title": "HTTPSPort", "type": "number" }, - "IpAddressType": { - "type": "string" - }, "Name": { "markdownDescription": "The name of the CloudFront VPC origin endpoint configuration.", "title": "Name", @@ -72753,120 +65804,6 @@ ], "type": "object" }, - "AWS::CloudHSM::Cluster": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - } - }, - "required": [ - "HsmType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudHSM::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudHSM::Cluster.BackupRetentionPolicy": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudHSM::Cluster.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::CloudTrail::Channel": { "additionalProperties": false, "properties": { @@ -73910,9 +66847,6 @@ "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", @@ -73989,9 +66923,6 @@ "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" } }, "type": "object" @@ -74060,18 +66991,6 @@ }, "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": { "additionalProperties": false, "properties": { @@ -74171,27 +67090,6 @@ ], "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": { "additionalProperties": false, "properties": { @@ -74914,12 +67812,9 @@ "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags", "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" + "title": "Tags" } }, "required": [ @@ -74950,6 +67845,11 @@ ], "type": "object" }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, "AWS::CloudWatch::LogAlarm": { "additionalProperties": false, "properties": { @@ -75041,9 +67941,6 @@ }, "TreatMissingData": { "type": "string" - }, - "WarmUpConfiguration": { - "$ref": "#/definitions/AWS::CloudWatch::LogAlarm.WarmUpConfiguration" } }, "required": [ @@ -75090,8 +67987,7 @@ } }, "required": [ - "ScheduleExpression", - "StartTimeOffset" + "ScheduleExpression" ], "type": "object" }, @@ -75115,34 +68011,17 @@ }, "ScheduledQueryRoleARN": { "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ "AggregationExpression", + "LogGroupIdentifiers", "QueryString", "ScheduleConfiguration", "ScheduledQueryRoleARN" ], "type": "object" }, - "AWS::CloudWatch::LogAlarm.WarmUpConfiguration": { - "additionalProperties": false, - "properties": { - "OnlyStartEvaluatingAfterWarmUpPeriodEnds": { - "type": "boolean" - }, - "WarmUpPeriodDurationInMinutes": { - "type": "number" - } - }, - "type": "object" - }, "AWS::CloudWatch::MetricStream": { "additionalProperties": false, "properties": { @@ -75474,107 +68353,6 @@ ], "type": "object" }, - "AWS::CodeArtifact::Package": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Repository": { - "type": "string" - } - }, - "required": [ - "DomainName", - "Format", - "Name", - "Repository" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Package" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeArtifact::Package.OriginConfiguration": { - "additionalProperties": false, - "properties": { - "Restrictions": { - "$ref": "#/definitions/AWS::CodeArtifact::Package.Restrictions" - } - }, - "type": "object" - }, - "AWS::CodeArtifact::Package.Restrictions": { - "additionalProperties": false, - "properties": { - "Publish": { - "type": "string" - }, - "Upstream": { - "type": "string" - } - }, - "type": "object" - }, "AWS::CodeArtifact::PackageGroup": { "additionalProperties": false, "properties": { @@ -75845,128 +68623,6 @@ ], "type": "object" }, - "AWS::CodeBuild::Build": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::Build" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::BuildBatch": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::BuildBatch" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::CodeBuild::Fleet": { "additionalProperties": false, "properties": { @@ -76590,9 +69246,6 @@ "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", @@ -77213,67 +69866,6 @@ ], "type": "object" }, - "AWS::CodeBuild::Sandbox": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "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": { @@ -77627,117 +70219,6 @@ ], "type": "object" }, - "AWS::CodeConnections::Host": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ProviderEndpoint": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::CodeConnections::Host.VpcConfiguration" - } - }, - "required": [ - "Name", - "ProviderEndpoint", - "ProviderType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeConnections::Host" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeConnections::Host.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TlsCertificate": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, "AWS::CodeDeploy::Application": { "additionalProperties": false, "properties": { @@ -81562,12 +74043,6 @@ "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.", @@ -81816,36 +74291,6 @@ }, "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": { @@ -81879,27 +74324,6 @@ }, "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": { @@ -82142,9 +74566,6 @@ "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", @@ -82578,9 +74999,6 @@ "title": "ManagedLoginVersion", "type": "number" }, - "Routing": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.RoutingType" - }, "UserPoolId": { "markdownDescription": "The ID of the user pool that is associated with the domain you're updating.", "title": "UserPoolId", @@ -82621,568 +75039,208 @@ "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": { + "AWS::Cognito::UserPoolGroup": { "additionalProperties": false, "properties": { - "PrimaryRoute53HealthCheckId": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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 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", + "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", + "type": "string" + }, + "UserPoolId": { + "markdownDescription": "The ID of the user pool where you want to create a user group.", + "title": "UserPoolId", + "type": "string" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolGroup" + ], "type": "string" }, - "SecondaryRegion": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "PrimaryRoute53HealthCheckId", - "SecondaryRegion" + "Type", + "Properties" ], "type": "object" }, - "AWS::Cognito::UserPoolDomain.RoutingType": { + "AWS::Cognito::UserPoolIdentityProvider": { "additionalProperties": false, "properties": { - "Failover": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.FailoverType" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "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", + "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", + "type": "string" + }, + "UserPoolId": { + "markdownDescription": "The Id of the user pool where you want to create an IdP.", + "title": "UserPoolId", + "type": "string" + } + }, + "required": [ + "ProviderDetails", + "ProviderName", + "ProviderType", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolIdentityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Cognito::UserPoolGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 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", - "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", - "type": "string" - }, - "UserPoolId": { - "markdownDescription": "The ID of the user pool where you want to create a user group.", - "title": "UserPoolId", - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolIdentityProvider": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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", - "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", - "type": "string" - }, - "UserPoolId": { - "markdownDescription": "The Id of the user pool where you want to create an IdP.", - "title": "UserPoolId", - "type": "string" - } - }, - "required": [ - "ProviderDetails", - "ProviderName", - "ProviderType", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomEmailSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.CustomSMSSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRegionalConfigurationAttachment.EmailConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationSet": { - "type": "string" - }, - "EmailSendingAccount": { - "type": "string" - }, - "From": { - "type": "string" - }, - "ReplyToEmailAddress": { - "type": "string" - }, - "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": [ - "CallerArn" - ], - "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": { - "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": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RegionName": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - }, - "UserPoolTagsAtCreate": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "RegionName", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolReplica" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer": { + "AWS::Cognito::UserPoolResourceServer": { "additionalProperties": false, "properties": { "Condition": { @@ -83848,182 +75906,6 @@ ], "type": "object" }, - "AWS::CognitoSync::Dataset": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Comprehend::DocumentClassificationJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Comprehend::DocumentClassificationJob.InputDataConfig": { - "additionalProperties": false, - "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::DocumentClassificationJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, "AWS::Comprehend::DocumentClassifier": { "additionalProperties": false, "properties": { @@ -84317,221 +76199,6 @@ ], "type": "object" }, - "AWS::Comprehend::DominantLanguageDetectionJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Comprehend::DominantLanguageDetectionJob.InputDataConfig": { - "additionalProperties": false, - "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::DominantLanguageDetectionJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::EntitiesDetectionJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Comprehend::EntitiesDetectionJob.InputDataConfig": { - "additionalProperties": false, - "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::EntitiesDetectionJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, "AWS::Comprehend::Flywheel": { "additionalProperties": false, "properties": { @@ -84765,7 +76432,7 @@ ], "type": "object" }, - "AWS::Comprehend::FlywheelDataset": { + "AWS::ComputeOptimizer::AutomationRule": { "additionalProperties": false, "properties": { "Condition": { @@ -84800,16 +76467,34 @@ "Properties": { "additionalProperties": false, "properties": { - "DatasetName": { + "Criteria": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Criteria" + }, + "Description": { "type": "string" }, - "DatasetType": { + "Name": { "type": "string" }, - "Description": { + "OrganizationConfiguration": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.OrganizationConfiguration" + }, + "Priority": { + "type": "string" + }, + "RecommendedActionTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RuleType": { "type": "string" }, - "FlywheelArn": { + "Schedule": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Schedule" + }, + "Status": { "type": "string" }, "Tags": { @@ -84820,14 +76505,17 @@ } }, "required": [ - "DatasetName", - "FlywheelArn" + "Name", + "RecommendedActionTypes", + "RuleType", + "Schedule", + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::Comprehend::FlywheelDataset" + "AWS::ComputeOptimizer::AutomationRule" ], "type": "string" }, @@ -84846,409 +76534,79 @@ ], "type": "object" }, - "AWS::Comprehend::SentimentDetectionJob": { + "AWS::ComputeOptimizer::AutomationRule.Criteria": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "EbsVolumeSizeInGib": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" + }, + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "EbsVolumeType": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "EstimatedMonthlySavings": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition" + }, + "type": "array" }, - "Metadata": { - "type": "object" + "LookBackPeriodInDays": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition" + }, + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataAccessRoleArn": { - "type": "string" - }, - "InputDataConfig": { - "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "LanguageCode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } + "Region": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" }, - "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" - ], - "type": "object" + "type": "array" }, - "Type": { - "enum": [ - "AWS::Comprehend::SentimentDetectionJob" - ], - "type": "string" + "ResourceArn": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ResourceTag": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.ResourceTagsCriteriaCondition" + }, + "type": "array" + }, + "RestartNeeded": { + "items": { + "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.StringCriteriaCondition" + }, + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Comprehend::SentimentDetectionJob.InputDataConfig": { + "AWS::ComputeOptimizer::AutomationRule.DoubleCriteriaCondition": { "additionalProperties": false, "properties": { - "InputFormat": { + "Comparison": { "type": "string" }, - "S3Uri": { - "type": "string" + "Values": { + "items": { + "type": "number" + }, + "type": "array" } }, - "required": [ - "S3Uri" - ], "type": "object" }, - "AWS::Comprehend::TargetedSentimentDetectionJob": { + "AWS::ComputeOptimizer::AutomationRule.IntegerCriteriaCondition": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::TargetedSentimentDetectionJob.InputDataConfig" - }, - "JobName": { - "type": "string" - }, - "LanguageCode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems" - }, - "type": "array" - }, - "VolumeKmsKeyId": { - "type": "string" - } - }, - "required": [ - "DataAccessRoleArn", - "InputDataConfig", - "LanguageCode" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Comprehend::TargetedSentimentDetectionJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Comprehend::TargetedSentimentDetectionJob.InputDataConfig": { - "additionalProperties": false, - "properties": { - "InputFormat": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::TargetedSentimentDetectionJob.OutputDataConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::Comprehend::TargetedSentimentDetectionJob.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ComputeOptimizer::AutomationRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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": { - "type": "string" - }, - "RecommendedActionTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleType": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule.Schedule" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "RecommendedActionTypes", - "RuleType", - "Schedule", - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ComputeOptimizer::AutomationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { + "Comparison": { "type": "string" }, "Values": { @@ -86034,12 +77392,6 @@ "title": "DeliveryS3KeyPrefix", "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", @@ -86118,102 +77470,6 @@ }, "type": "object" }, - "AWS::Config::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": { - "ConnectorConfiguration": { - "$ref": "#/definitions/AWS::Config::Connector.ConnectorConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectorConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::Connector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::Connector.AzureConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIdentifier": { - "type": "string" - }, - "TenantIdentifier": { - "type": "string" - } - }, - "required": [ - "ClientIdentifier", - "TenantIdentifier" - ], - "type": "object" - }, - "AWS::Config::Connector.ConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "Azure": { - "$ref": "#/definitions/AWS::Config::Connector.AzureConnectorConfiguration" - } - }, - "type": "object" - }, "AWS::Config::DeliveryChannel": { "additionalProperties": false, "properties": { @@ -86660,12 +77916,6 @@ "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", @@ -86848,6 +78098,31 @@ }, "type": "object" }, + "AWS::Config::RemediationConfiguration.RemediationParameterValue": { + "additionalProperties": false, + "properties": { + "ResourceValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue", + "markdownDescription": "The value is dynamic and changes at run-time.", + "title": "ResourceValue" + }, + "StaticValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue", + "markdownDescription": "The value is static and does not change at run-time.", + "title": "StaticValue" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ResourceValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, "AWS::Config::RemediationConfiguration.SsmControls": { "additionalProperties": false, "properties": { @@ -86864,6 +78139,18 @@ }, "type": "object" }, + "AWS::Config::RemediationConfiguration.StaticValue": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AWS::Config::StoredQuery": { "additionalProperties": false, "properties": { @@ -87567,78 +78854,6 @@ ], "type": "object" }, - "AWS::Connect::DataLakeAssociation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "InstanceId": { - "type": "string" - }, - "TargetAccountId": { - "type": "string" - } - }, - "required": [ - "DataSetId", - "InstanceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Connect::DataLakeAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Connect::DataTable": { "additionalProperties": false, "properties": { @@ -87713,13 +78928,6 @@ "type": "string" } }, - "required": [ - "InstanceArn", - "Name", - "Status", - "TimeZone", - "ValueLockLevel" - ], "type": "object" }, "Type": { @@ -87738,8 +78946,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -87825,12 +79032,6 @@ "type": "string" } }, - "required": [ - "DataTableArn", - "InstanceArn", - "Name", - "ValueType" - ], "type": "object" }, "Type": { @@ -87849,8 +79050,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -87996,11 +79196,6 @@ "type": "string" } }, - "required": [ - "DataTableArn", - "DataTableRecord", - "InstanceArn" - ], "type": "object" }, "Type": { @@ -88019,8 +79214,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -88531,23 +79725,11 @@ "AWS::Connect::EvaluationForm.EvaluationFormMultiSelectQuestionOption": { "additionalProperties": false, "properties": { - "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", @@ -88626,9 +79808,6 @@ "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", @@ -88707,9 +79886,6 @@ "title": "RefId", "type": "string" }, - "ScoringConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration" - }, "Title": { "markdownDescription": "The title of the question.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 350.", "title": "Title", @@ -88742,24 +79918,6 @@ ], "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormQuestionScoringConfiguration": { - "additionalProperties": false, - "properties": { - "IsExcludedFromScoring": { - "type": "boolean" - }, - "PointsConfiguration": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.QuestionPointsConfiguration" - }, - "ScoreThresholds": { - "items": { - "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Connect::EvaluationForm.EvaluationFormQuestionTypeProperties": { "additionalProperties": false, "properties": { @@ -88786,24 +79944,6 @@ }, "type": "object" }, - "AWS::Connect::EvaluationForm.EvaluationFormScoreThreshold": { - "additionalProperties": false, - "properties": { - "MaxScorePercentage": { - "type": "number" - }, - "MinScorePercentage": { - "type": "number" - }, - "PerformanceCategory": { - "type": "string" - } - }, - "required": [ - "PerformanceCategory" - ], - "type": "object" - }, "AWS::Connect::EvaluationForm.EvaluationFormSection": { "additionalProperties": false, "properties": { @@ -88812,9 +79952,6 @@ "title": "Instructions", "type": "string" }, - "IsExcludedFromScoring": { - "type": "boolean" - }, "Items": { "items": { "$ref": "#/definitions/AWS::Connect::EvaluationForm.EvaluationFormItem" @@ -88828,12 +79965,6 @@ "title": "RefId", "type": "string" }, - "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", @@ -88902,9 +80033,6 @@ "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", @@ -89076,36 +80204,6 @@ ], "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": { @@ -89114,12 +80212,6 @@ "title": "Mode", "type": "string" }, - "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", @@ -89950,240 +81042,6 @@ ], "type": "object" }, - "AWS::Connect::Metric": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "InstanceArn": { - "type": "string" - }, - "MetricCalculation": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricCalculation" - }, - "Name": { - "type": "string" - }, - "PositiveTrendIndicator": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "InstanceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Connect::Metric" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { - "additionalProperties": false, - "properties": { - "AWSIdentityArn": { - "type": "string" - }, - "ConnectUserArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Connect::Metric.MetricCalculation": { - "additionalProperties": false, - "properties": { - "Calculation": { - "type": "string" - }, - "CalculationComponents": { - "items": { - "$ref": "#/definitions/AWS::Connect::Metric.CalculationComponent" - }, - "type": "array" - } - }, - "required": [ - "Calculation", - "CalculationComponents" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilter": { - "additionalProperties": false, - "properties": { - "BooleanCondition": { - "$ref": "#/definitions/AWS::Connect::Metric.MetricFilterBooleanCondition" - }, - "MetricFilterKey": { - "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": { - "type": "string" - } - }, - "required": [ - "Comparison" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilterNumberCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Comparison", - "Values" - ], - "type": "object" - }, - "AWS::Connect::Metric.MetricFilterStringCondition": { - "additionalProperties": false, - "properties": { - "Comparison": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Comparison", - "Values" - ], - "type": "object" - }, "AWS::Connect::Notification": { "additionalProperties": false, "properties": { @@ -90884,18 +81742,6 @@ ], "type": "object" }, - "AWS::Connect::QuickConnect.FlowQuickConnectConfig": { - "additionalProperties": false, - "properties": { - "ContactFlowArn": { - "type": "string" - } - }, - "required": [ - "ContactFlowArn" - ], - "type": "object" - }, "AWS::Connect::QuickConnect.PhoneNumberQuickConnectConfig": { "additionalProperties": false, "properties": { @@ -90933,9 +81779,6 @@ "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.", @@ -91320,12 +82163,6 @@ "title": "AssignContactCategoryActions", "type": "array" }, - "AssignSlaActions": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.AssignSlaAction" - }, - "type": "array" - }, "CreateCaseActions": { "items": { "$ref": "#/definitions/AWS::Connect::Rule.CreateCaseAction" @@ -91385,51 +82222,6 @@ }, "type": "object" }, - "AWS::Connect::Rule.AssignSlaAction": { - "additionalProperties": false, - "properties": { - "CaseSlaConfiguration": { - "$ref": "#/definitions/AWS::Connect::Rule.CaseSlaConfiguration" - }, - "SlaAssignmentType": { - "type": "string" - } - }, - "required": [ - "CaseSlaConfiguration", - "SlaAssignmentType" - ], - "type": "object" - }, - "AWS::Connect::Rule.CaseSlaConfiguration": { - "additionalProperties": false, - "properties": { - "FieldId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TargetFieldValues": { - "items": { - "$ref": "#/definitions/AWS::Connect::Rule.SlaTargetFieldValue" - }, - "type": "array" - }, - "TargetSlaMinutes": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "TargetSlaMinutes", - "Type" - ], - "type": "object" - }, "AWS::Connect::Rule.CreateCaseAction": { "additionalProperties": false, "properties": { @@ -91595,9 +82387,6 @@ "title": "DeliveryMethod", "type": "string" }, - "Exclusion": { - "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType" - }, "Recipient": { "$ref": "#/definitions/AWS::Connect::Rule.NotificationRecipientType", "markdownDescription": "Notification recipient.", @@ -91617,15 +82406,6 @@ ], "type": "object" }, - "AWS::Connect::Rule.SlaTargetFieldValue": { - "additionalProperties": false, - "properties": { - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Connect::Rule.SubmitAutoEvaluationAction": { "additionalProperties": false, "properties": { @@ -91928,6 +82708,10 @@ "type": "string" } }, + "required": [ + "ApplicationPermissions", + "Namespace" + ], "type": "object" }, "AWS::Connect::SecurityProfile.DataTableAccessControlConfiguration": { @@ -91951,6 +82735,10 @@ "type": "string" } }, + "required": [ + "FlowModuleId", + "Type" + ], "type": "object" }, "AWS::Connect::SecurityProfile.GranularAccessControlConfiguration": { @@ -91976,6 +82764,9 @@ "type": "array" } }, + "required": [ + "PrimaryAttributeValues" + ], "type": "object" }, "AWS::Connect::SecurityProfile.PrimaryAttributeValue": { @@ -92000,6 +82791,11 @@ "type": "array" } }, + "required": [ + "AccessType", + "AttributeName", + "Values" + ], "type": "object" }, "AWS::Connect::TaskTemplate": { @@ -92267,136 +83063,6 @@ ], "type": "object" }, - "AWS::Connect::TestCase": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "string" - }, - "Description": { - "type": "string" - }, - "EntryPoint": { - "$ref": "#/definitions/AWS::Connect::TestCase.EntryPoint" - }, - "InitializationData": { - "type": "string" - }, - "InstanceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Content", - "InstanceArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Connect::TestCase" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { "additionalProperties": false, "properties": { @@ -92645,9 +83311,6 @@ "AWS::Connect::User.AfterContactWorkConfig": { "additionalProperties": false, "properties": { - "AfterContactWorkMode": { - "type": "string" - }, "AfterContactWorkTimeLimit": { "type": "number" } @@ -94678,7 +85341,7 @@ }, "type": "object" }, - "AWS::ControlCatalog::CommonControl": { + "AWS::ControlTower::EnabledBaseline": { "additionalProperties": false, "properties": { "Condition": { @@ -94712,12 +85375,49 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "BaselineIdentifier": { + "markdownDescription": "The specific `Baseline` enabled as part of the `EnabledBaseline` resource.", + "title": "BaselineIdentifier", + "type": "string" + }, + "BaselineVersion": { + "markdownDescription": "The enabled version of the `Baseline` .", + "title": "BaselineVersion", + "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" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + }, + "TargetIdentifier": { + "markdownDescription": "The target on which to enable the `Baseline` .", + "title": "TargetIdentifier", + "type": "string" + } + }, + "required": [ + "BaselineIdentifier", + "BaselineVersion", + "TargetIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ControlCatalog::CommonControl" + "AWS::ControlTower::EnabledBaseline" ], "type": "string" }, @@ -94731,35 +85431,28 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ControlCatalog::CommonControl.Domain": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ControlCatalog::CommonControl.Objective": { + "AWS::ControlTower::EnabledBaseline.Parameter": { "additionalProperties": false, "properties": { - "Arn": { + "Key": { + "markdownDescription": "", + "title": "Key", "type": "string" }, - "Name": { - "type": "string" + "Value": { + "markdownDescription": "", + "title": "Value", + "type": "object" } }, "type": "object" }, - "AWS::ControlCatalog::Control": { + "AWS::ControlTower::EnabledControl": { "additionalProperties": false, "properties": { "Condition": { @@ -94793,12 +85486,43 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "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", + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" + }, + "markdownDescription": "Array of `EnabledControlParameter` objects.", + "title": "Parameters", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "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::ControlCatalog::Control" + "AWS::ControlTower::EnabledControl" ], "type": "string" }, @@ -94812,333 +85536,32 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ControlCatalog::Control.ImplementationDetails": { + "AWS::ControlTower::EnabledControl.EnabledControlParameter": { "additionalProperties": false, "properties": { - "Identifier": { - "type": "string" - }, - "Type": { + "Key": { + "markdownDescription": "The key of a key/value pair. It is of type `string` .", + "title": "Key", "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ControlCatalog::Control.RegionConfiguration": { - "additionalProperties": false, - "properties": { - "DeployableRegions": { - "items": { - "type": "string" - }, - "type": "array" }, - "Scope": { - "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": [ - "Scope" + "Key", + "Value" ], "type": "object" }, - "AWS::ControlCatalog::Objective": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Objective" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ControlCatalog::Objective.Domain": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ControlTower::EnabledBaseline": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BaselineIdentifier": { - "markdownDescription": "The specific `Baseline` enabled as part of the `EnabledBaseline` resource.", - "title": "BaselineIdentifier", - "type": "string" - }, - "BaselineVersion": { - "markdownDescription": "The enabled version of the `Baseline` .", - "title": "BaselineVersion", - "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" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - }, - "TargetIdentifier": { - "markdownDescription": "The target on which to enable the `Baseline` .", - "title": "TargetIdentifier", - "type": "string" - } - }, - "required": [ - "BaselineIdentifier", - "BaselineVersion", - "TargetIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ControlTower::EnabledBaseline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "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": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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", - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ControlTower::EnabledControl.EnabledControlParameter" - }, - "markdownDescription": "Array of `EnabledControlParameter` objects.", - "title": "Parameters", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "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::ControlTower::EnabledControl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "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": { + "AWS::ControlTower::LandingZone": { "additionalProperties": false, "properties": { "Condition": { @@ -95900,119 +86323,6 @@ ], "type": "object" }, - "AWS::CustomerProfiles::DomainObjectType": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "Fields": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::CustomerProfiles::DomainObjectType.DomainObjectTypeField" - } - }, - "type": "object" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "Fields", - "ObjectTypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::DomainObjectType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { "additionalProperties": false, "properties": { @@ -102165,142 +92475,6 @@ ], "type": "object" }, - "AWS::DRS::RecoveryInstance": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DRS::SourceNetwork": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "OriginAccountID": { - "type": "string" - }, - "OriginRegion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcID": { - "type": "string" - } - }, - "required": [ - "OriginAccountID", - "OriginRegion", - "VpcID" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DRS::SourceNetwork" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::DSQL::Cluster": { "additionalProperties": false, "properties": { @@ -104653,7 +94827,7 @@ ], "type": "object" }, - "AWS::DataExchange::Assets": { + "AWS::DataPipeline::Pipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -104688,21 +94862,62 @@ "Properties": { "additionalProperties": false, "properties": { - "DataSetId": { + "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" }, - "RevisionId": { - "type": "string" + "ParameterObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + }, + "markdownDescription": "The parameter objects used with the pipeline.", + "title": "ParameterObjects", + "type": "array" + }, + "ParameterValues": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "markdownDescription": "The parameter values used with the pipeline.", + "title": "ParameterValues", + "type": "array" + }, + "PipelineObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + }, + "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" + }, + "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": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::DataExchange::Assets" + "AWS::DataPipeline::Pipeline" ], "type": "string" }, @@ -104716,17 +94931,138 @@ } }, "required": [ - "Type" + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.Field": { + "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" + }, + "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" + }, + "Id": { + "markdownDescription": "The ID of the parameter object.", + "title": "Id", + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "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", + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" ], "type": "object" }, - "AWS::DataExchange::Assets.TagsItems": { + "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", + "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", "type": "string" }, "Value": { + "markdownDescription": "The value to associate with the key name.", + "title": "Value", "type": "string" } }, @@ -104736,605 +95072,7 @@ ], "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" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetType", - "Description", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataExchange::DataSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataExchange::EntitledDataSets": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataExchange::EntitledDataSets" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "$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" - }, - "Type": { - "enum": [ - "AWS::DataExchange::EventAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction.Action": { - "additionalProperties": false, - "properties": { - "ExportRevisionToS3": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails" - } - }, - "type": "object" - }, - "AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPattern": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction.AutoExportRevisionToS3RequestDetails": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.ExportServerSideEncryption" - }, - "RevisionDestination": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.AutoExportRevisionDestinationEntry" - } - }, - "required": [ - "RevisionDestination" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction.Event": { - "additionalProperties": false, - "properties": { - "RevisionPublished": { - "$ref": "#/definitions/AWS::DataExchange::EventAction.RevisionPublished" - } - }, - "type": "object" - }, - "AWS::DataExchange::EventAction.ExportServerSideEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataExchange::EventAction.RevisionPublished": { - "additionalProperties": false, - "properties": { - "DataSetId": { - "type": "string" - } - }, - "required": [ - "DataSetId" - ], - "type": "object" - }, - "AWS::DataExchange::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::DataExchange::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataPipeline::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": { - "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": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" - }, - "markdownDescription": "The parameter objects used with the pipeline.", - "title": "ParameterObjects", - "type": "array" - }, - "ParameterValues": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" - }, - "markdownDescription": "The parameter values used with the pipeline.", - "title": "ParameterValues", - "type": "array" - }, - "PipelineObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" - }, - "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" - }, - "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": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataPipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.Field": { - "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" - }, - "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" - }, - "Id": { - "markdownDescription": "The ID of the parameter object.", - "title": "Id", - "type": "string" - } - }, - "required": [ - "Attributes", - "Id" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterValue": { - "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", - "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", - "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", - "type": "string" - }, - "Value": { - "markdownDescription": "The value to associate with the key name.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::DataSync::Agent": { + "AWS::DataSync::Agent": { "additionalProperties": false, "properties": { "Condition": { @@ -107595,124 +97333,6 @@ }, "type": "object" }, - "AWS::DataSync::TaskExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::TaskExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataSync::TaskExecution.Options": { - "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": { - "type": "string" - }, - "PreserveDevices": { - "type": "string" - }, - "SecurityDescriptorCopyFlags": { - "type": "string" - }, - "TaskQueueing": { - "type": "string" - }, - "TransferMode": { - "type": "string" - }, - "Uid": { - "type": "string" - }, - "VerifyMode": { - "type": "string" - } - }, - "type": "object" - }, "AWS::DataZone::Connection": { "additionalProperties": false, "properties": { @@ -111310,162 +100930,6 @@ }, "type": "object" }, - "AWS::Deadline::Budget": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Deadline::Budget.BudgetActionToAdd" - }, - "type": "array" - }, - "ApproximateDollarLimit": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "FarmId": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Deadline::Budget.BudgetSchedule" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UsageTrackingResource": { - "$ref": "#/definitions/AWS::Deadline::Budget.UsageTrackingResource" - } - }, - "required": [ - "Actions", - "ApproximateDollarLimit", - "DisplayName", - "FarmId", - "Schedule", - "UsageTrackingResource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Deadline::Budget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "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": { @@ -112202,7 +101666,7 @@ }, "type": "object" }, - "AWS::Deadline::Job": { + "AWS::Deadline::LicenseEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -112237,36 +101701,46 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "type": "string" - }, - "MaxFailedTasksCount": { - "type": "number" - }, - "MaxRetriesPerTask": { - "type": "number" - }, - "MaxWorkerCount": { - "type": "number" - }, - "Priority": { - "type": "number" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The identifier of the Amazon EC2 security group that controls access to the license endpoint.", + "title": "SecurityGroupIds", + "type": "array" }, - "QueueId": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "Identifies the VPC subnets that can connect to a license endpoint.", + "title": "SubnetIds", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "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" + }, + "VpcId": { + "markdownDescription": "The VPC (virtual private cloud) ID associated with the license endpoint.", + "title": "VpcId", + "type": "string" } }, + "required": [ + "SecurityGroupIds", + "SubnetIds", + "VpcId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Job" + "AWS::Deadline::LicenseEndpoint" ], "type": "string" }, @@ -112280,104 +101754,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Deadline::LicenseEndpoint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The identifier of the Amazon EC2 security group that controls access to the license endpoint.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "Identifies the VPC subnets that can connect to a license endpoint.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "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" - }, - "VpcId": { - "markdownDescription": "The VPC (virtual private cloud) ID associated with the license endpoint.", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Deadline::LicenseEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Deadline::Limit": { + "AWS::Deadline::Limit": { "additionalProperties": false, "properties": { "Condition": { @@ -113277,7 +102659,7 @@ ], "type": "object" }, - "AWS::Deadline::Worker": { + "AWS::Detective::Graph": { "additionalProperties": false, "properties": { "Condition": { @@ -113312,31 +102694,25 @@ "Properties": { "additionalProperties": false, "properties": { - "FarmId": { - "type": "string" - }, - "FleetId": { - "type": "string" - }, - "HostProperties": { - "$ref": "#/definitions/AWS::Deadline::Worker.HostPropertiesRequest" + "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" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::Deadline::Worker.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tag values to assign to the new behavior graph.", + "title": "Tags", "type": "array" } }, - "required": [ - "FarmId", - "FleetId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Deadline::Worker" + "AWS::Detective::Graph" ], "type": "string" }, @@ -113350,285 +102726,167 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Deadline::Worker.HostPropertiesRequest": { + "AWS::Detective::MemberInvitation": { "additionalProperties": false, "properties": { - "HostName": { + "Condition": { "type": "string" }, - "IpAddresses": { - "$ref": "#/definitions/AWS::Deadline::Worker.IpAddresses" - } - }, - "type": "object" - }, - "AWS::Deadline::Worker.IpAddresses": { - "additionalProperties": false, - "properties": { - "IpV4Addresses": { - "items": { - "type": "string" - }, - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "IpV6Addresses": { - "items": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "MemberId": { + "markdownDescription": "The AWS account identifier of the invited account", + "title": "MemberId", + "type": "string" + }, + "Message": { + "markdownDescription": "Customized text to include in the invitation email message.", + "title": "Message", + "type": "string" + } }, - "type": "array" + "required": [ + "GraphArn", + "MemberEmailAddress", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::MemberInvitation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::Deadline::Worker.TagsItems": { + "AWS::Detective::OrganizationAdmin": { "additionalProperties": false, "properties": { - "Key": { + "Condition": { "type": "string" }, - "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": { + "AccountId": { + "markdownDescription": "The AWS account identifier of the account to designate as the Detective administrator account for the organization.", + "title": "AccountId", + "type": "string" + } + }, + "required": [ + "AccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::OrganizationAdmin" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::Detective::Graph": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tag values to assign to the new behavior graph.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::Graph" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Detective::MemberInvitation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "GraphArn": { - "markdownDescription": "The ARN of the behavior graph to invite the account to contribute data to.", - "title": "GraphArn", - "type": "string" - }, - "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" - }, - "MemberId": { - "markdownDescription": "The AWS account identifier of the invited account", - "title": "MemberId", - "type": "string" - }, - "Message": { - "markdownDescription": "Customized text to include in the invitation email message.", - "title": "Message", - "type": "string" - } - }, - "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::MemberInvitation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Detective::OrganizationAdmin": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } - }, - "required": [ - "AccountId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::OrganizationAdmin" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsAgent::AgentSpace": { + "AWS::DevOpsAgent::AgentSpace": { "additionalProperties": false, "properties": { "Condition": { @@ -113770,108 +103028,6 @@ }, "type": "object" }, - "AWS::DevOpsAgent::Asset": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "type": "string" - }, - "AssetType": { - "type": "string" - }, - "Files": { - "items": { - "$ref": "#/definitions/AWS::DevOpsAgent::Asset.AssetFile" - }, - "type": "array" - }, - "Metadata": { - "type": "object" - }, - "Zip": { - "type": "string" - } - }, - "required": [ - "AgentSpaceId", - "AssetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsAgent::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Asset.AssetFile": { - "additionalProperties": false, - "properties": { - "ContentBytes": { - "type": "string" - }, - "ContentText": { - "type": "string" - }, - "Metadata": { - "type": "object" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, "AWS::DevOpsAgent::Association": { "additionalProperties": false, "properties": { @@ -114624,9 +103780,6 @@ "AWS::DevOpsAgent::PrivateConnection.ServiceManagedMode": { "additionalProperties": false, "properties": { - "DnsResolution": { - "type": "string" - }, "HostAddress": { "type": "string" }, @@ -114699,15 +103852,9 @@ "Properties": { "additionalProperties": false, "properties": { - "ExchangeUrlPrivateConnectionName": { - "type": "string" - }, "KmsKeyArn": { "type": "string" }, - "PrivateConnectionName": { - "type": "string" - }, "ServiceDetails": { "$ref": "#/definitions/AWS::DevOpsAgent::Service.ServiceDetails" }, @@ -114719,9 +103866,6 @@ "$ref": "#/definitions/Tag" }, "type": "array" - }, - "TargetUrlPrivateConnectionName": { - "type": "string" } }, "required": [ @@ -114905,9 +104049,6 @@ "ApiKey": { "$ref": "#/definitions/AWS::DevOpsAgent::Service.ApiKeyDetails" }, - "BearerToken": { - "$ref": "#/definitions/AWS::DevOpsAgent::Service.BearerTokenDetails" - }, "OAuthClientCredentials": { "$ref": "#/definitions/AWS::DevOpsAgent::Service.MCPServerOAuthClientCredentialsConfig" } @@ -115016,9 +104157,6 @@ }, "type": "object" }, - "McpRoleArn": { - "type": "string" - }, "Region": { "type": "string" }, @@ -115031,6 +104169,7 @@ }, "required": [ "Region", + "RoleArn", "Service" ], "type": "object" @@ -115329,9 +104468,6 @@ "Endpoint": { "type": "string" }, - "McpRoleArn": { - "type": "string" - }, "Name": { "type": "string" }, @@ -115460,110 +104596,6 @@ ], "type": "object" }, - "AWS::DevOpsAgent::Trigger": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "object" - }, - "AgentSpaceId": { - "type": "string" - }, - "Condition": { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Condition" - }, - "Status": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Action", - "AgentSpaceId", - "Condition", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsAgent::Trigger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Trigger.Condition": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger.Schedule" - } - }, - "required": [ - "Schedule" - ], - "type": "object" - }, - "AWS::DevOpsAgent::Trigger.Schedule": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - } - }, - "required": [ - "Expression" - ], - "type": "object" - }, "AWS::DevOpsGuru::LogAnomalyDetectionIntegration": { "additionalProperties": false, "properties": { @@ -116240,9 +105272,6 @@ "Mtu": { "type": "number" }, - "RateLimit": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -116363,9 +105392,6 @@ "ConnectionId": { "type": "string" }, - "RateLimit": { - "type": "string" - }, "RouteFilterPrefixes": { "items": { "type": "string" @@ -116498,9 +105524,6 @@ "Mtu": { "type": "number" }, - "RateLimit": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -117693,159 +106716,6 @@ ], "type": "object" }, - "AWS::DynamoDB::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": { - "BackupName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "BackupName", - "TableName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Backup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::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": { - "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" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Export" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::DynamoDB::GlobalTable": { "additionalProperties": false, "properties": { @@ -118413,14 +107283,11 @@ "$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" - }, - "type": "array" } }, + "required": [ + "ResourcePolicy" + ], "type": "object" }, "AWS::DynamoDB::GlobalTable.ResourcePolicy": { @@ -118556,86 +107423,6 @@ }, "type": "object" }, - "AWS::DynamoDB::Stream": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DynamoDB::Stream.KeySchemaItems": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, "AWS::DynamoDB::Table": { "additionalProperties": false, "properties": { @@ -119174,12 +107961,6 @@ "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": [ @@ -121903,105 +110684,6 @@ ], "type": "object" }, - "AWS::EC2::ExportInstanceTask": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ExportToS3Task": { - "$ref": "#/definitions/AWS::EC2::ExportInstanceTask.ExportToS3Task" - }, - "InstanceId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetEnvironment": { - "type": "string" - } - }, - "required": [ - "InstanceId", - "TargetEnvironment" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ExportInstanceTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "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": { @@ -122179,94 +110861,6 @@ ], "type": "object" }, - "AWS::EC2::FpgaImage": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "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" - }, - "Type": { - "enum": [ - "AWS::EC2::FpgaImage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::FpgaImage.StorageLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "type": "object" - }, "AWS::EC2::GatewayRouteTableAssociation": { "additionalProperties": false, "properties": { @@ -124491,77 +113085,6 @@ ], "type": "object" }, - "AWS::EC2::IpamExternalResourceVerificationToken": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::EC2::KeyPair": { "additionalProperties": false, "properties": { @@ -128642,9 +117165,6 @@ "Properties": { "additionalProperties": false, "properties": { - "ParentGroupId": { - "type": "string" - }, "PartitionCount": { "markdownDescription": "The number of partitions. Valid only when *Strategy* is set to `partition` .", "title": "PartitionCount", @@ -128804,80 +117324,6 @@ ], "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::Route": { "additionalProperties": false, "properties": { @@ -133250,7 +121696,7 @@ }, "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTable": { + "AWS::EC2::TransitGatewayRoute": { "additionalProperties": false, "properties": { "Condition": { @@ -133285,93 +121731,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Blackhole": { + "markdownDescription": "Indicates whether to drop traffic that matches this route.", + "title": "Blackhole", + "type": "boolean" }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayPolicyTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayPolicyTableAssociation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "DestinationCidrBlock": { + "markdownDescription": "The CIDR block used for destination matches.", + "title": "DestinationCidrBlock", "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { "TransitGatewayAttachmentId": { + "markdownDescription": "The ID of the attachment.", + "title": "TransitGatewayAttachmentId", "type": "string" }, - "TransitGatewayPolicyTableId": { + "TransitGatewayRouteTableId": { + "markdownDescription": "The ID of the transit gateway route table.", + "title": "TransitGatewayRouteTableId", "type": "string" } }, "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayPolicyTableId" + "DestinationCidrBlock", + "TransitGatewayRouteTableId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTableAssociation" + "AWS::EC2::TransitGatewayRoute" ], "type": "string" }, @@ -133390,7 +121779,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableEntry": { + "AWS::EC2::TransitGatewayRouteTable": { "additionalProperties": false, "properties": { "Condition": { @@ -133425,30 +121814,28 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyRule": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule" - }, - "PolicyRuleNumber": { - "type": "string" - }, - "TargetRouteTableId": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Any tags assigned to the route table.", + "title": "Tags", + "type": "array" }, - "TransitGatewayPolicyTableId": { + "TransitGatewayId": { + "markdownDescription": "The ID of the transit gateway.", + "title": "TransitGatewayId", "type": "string" } }, "required": [ - "PolicyRule", - "PolicyRuleNumber", - "TargetRouteTableId", - "TransitGatewayPolicyTableId" + "TransitGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::EC2::TransitGatewayPolicyTableEntry" + "AWS::EC2::TransitGatewayRouteTable" ], "type": "string" }, @@ -133467,186 +121854,7 @@ ], "type": "object" }, - "AWS::EC2::TransitGatewayPolicyTableEntry.TransitGatewayPolicyRule": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayRoute": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Blackhole": { - "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" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTable": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "TransitGatewayId": { - "markdownDescription": "The ID of the transit gateway.", - "title": "TransitGatewayId", - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { + "AWS::EC2::TransitGatewayRouteTableAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -134001,9 +122209,6 @@ "markdownDescription": "The tags for the VPC.", "title": "Tags", "type": "array" - }, - "VpcEncryptionControl": { - "$ref": "#/definitions/AWS::EC2::VPC.VpcEncryptionControl" } }, "type": "object" @@ -134028,96 +122233,6 @@ ], "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": { "additionalProperties": false, "properties": { @@ -134958,12 +123073,6 @@ "title": "PayerResponsibility", "type": "string" }, - "PrivateDnsName": { - "type": "string" - }, - "PrivateDnsNameConfiguration": { - "$ref": "#/definitions/AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration" - }, "SupportedIpAddressTypes": { "items": { "type": "string" @@ -135011,100 +123120,82 @@ ], "type": "object" }, - "AWS::EC2::VPCEndpointService.PrivateDnsNameConfiguration": { + "AWS::EC2::VPCEndpointServicePermissions": { "additionalProperties": false, "properties": { - "Name": { + "Condition": { "type": "string" }, - "State": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "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" + }, + "ServiceId": { + "markdownDescription": "The ID of the service.", + "title": "ServiceId", + "type": "string" + } + }, + "required": [ + "ServiceId" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], "type": "string" }, - "Value": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "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" - }, - "ServiceId": { - "markdownDescription": "The ID of the service.", - "title": "ServiceId", - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCGatewayAttachment": { + "AWS::EC2::VPCGatewayAttachment": { "additionalProperties": false, "properties": { "Condition": { @@ -137109,7 +125200,7 @@ ], "type": "object" }, - "AWS::EC2::VpnConnectionDeviceType": { + "AWS::ECR::PublicRepository": { "additionalProperties": false, "properties": { "Condition": { @@ -137143,12 +125234,36 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "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" + }, + "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" + }, + "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": "An array of key-value pairs to apply to this resource.", + "title": "Tags", + "type": "array" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::EC2::VpnConnectionDeviceType" + "AWS::ECR::PublicRepository" ], "type": "string" }, @@ -137166,7 +125281,44 @@ ], "type": "object" }, - "AWS::ECR::PublicRepository": { + "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "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", + "type": "string" + }, + "Architectures": { + "items": { + "type": "string" + }, + "markdownDescription": "The architecture tags that are associated with the repository.", + "title": "Architectures", + "type": "array" + }, + "OperatingSystems": { + "items": { + "type": "string" + }, + "markdownDescription": "The operating system tags that are associated with the repository.", + "title": "OperatingSystems", + "type": "array" + }, + "RepositoryDescription": { + "markdownDescription": "The short description of the repository.", + "title": "RepositoryDescription", + "type": "string" + }, + "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::ECR::PullThroughCacheRule": { "additionalProperties": false, "properties": { "Condition": { @@ -137201,35 +125353,42 @@ "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" + "CredentialArn": { + "markdownDescription": "The ARN of the Secrets Manager secret associated with the pull through cache rule.", + "title": "CredentialArn", + "type": "string" }, - "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", + "CustomRoleArn": { + "markdownDescription": "The ARN of the IAM role associated with the pull through cache rule.", + "title": "CustomRoleArn", "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" + "EcrRepositoryPrefix": { + "markdownDescription": "The Amazon ECR repository prefix associated with the pull through cache rule.", + "title": "EcrRepositoryPrefix", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this resource.", - "title": "Tags", - "type": "array" + "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" }, "Type": { "enum": [ - "AWS::ECR::PublicRepository" + "AWS::ECR::PullThroughCacheRule" ], "type": "string" }, @@ -137247,199 +125406,74 @@ ], "type": "object" }, - "AWS::ECR::PublicRepository.RepositoryCatalogData": { + "AWS::ECR::PullTimeUpdateExclusion": { "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", + "Condition": { "type": "string" }, - "Architectures": { - "items": { - "type": "string" - }, - "markdownDescription": "The architecture tags that are associated with the repository.", - "title": "Architectures", - "type": "array" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "OperatingSystems": { - "items": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PrincipalArn": { + "markdownDescription": "The ARN of the IAM principal to remove from the pull time update exclusion list.", + "title": "PrincipalArn", + "type": "string" + } }, - "markdownDescription": "The operating system tags that are associated with the repository.", - "title": "OperatingSystems", - "type": "array" + "required": [ + "PrincipalArn" + ], + "type": "object" }, - "RepositoryDescription": { - "markdownDescription": "The short description of the repository.", - "title": "RepositoryDescription", + "Type": { + "enum": [ + "AWS::ECR::PullTimeUpdateExclusion" + ], "type": "string" }, - "UsageText": { - "markdownDescription": "The longform usage details of the contents of the repository. The usage text provides context for users of the repository.", - "title": "UsageText", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ECR::PullThroughCacheRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "Type": { - "enum": [ - "AWS::ECR::PullThroughCacheRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::PullTimeUpdateExclusion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - } - }, - "required": [ - "PrincipalArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PullTimeUpdateExclusion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::RegistryPolicy": { + "AWS::ECR::RegistryPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -138222,87 +126256,6 @@ ], "type": "object" }, - "AWS::ECRPublic::Registry": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ECRPublic::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "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": { @@ -139264,7 +127217,7 @@ ], "type": "object" }, - "AWS::ECS::ContainerInstance": { + "AWS::ECS::Daemon": { "additionalProperties": false, "properties": { "Condition": { @@ -139298,12 +127251,46 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "CapacityProviderArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterArn": { + "type": "string" + }, + "DaemonName": { + "type": "string" + }, + "DaemonTaskDefinitionArn": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonDeploymentConfiguration" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, + "PropagateTags": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::ECS::ContainerInstance" + "AWS::ECS::Daemon" ], "type": "string" }, @@ -139321,185 +127308,37 @@ ], "type": "object" }, - "AWS::ECS::ContainerInstance.Attribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::ECS::ContainerInstance.Resource": { + "AWS::ECS::Daemon.DaemonAlarmConfiguration": { "additionalProperties": false, "properties": { - "DoubleValue": { - "type": "number" - }, - "IntegerValue": { - "type": "number" - }, - "LongValue": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "StringSetValue": { + "AlarmNames": { "items": { "type": "string" }, "type": "array" }, - "Type": { - "type": "string" + "Enable": { + "type": "boolean" } }, "type": "object" }, - "AWS::ECS::ContainerInstance.VersionInfo": { + "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { "additionalProperties": false, "properties": { - "AgentHash": { - "type": "string" + "Alarms": { + "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" }, - "AgentVersion": { - "type": "string" + "BakeTimeInMinutes": { + "type": "number" }, - "DockerVersion": { - "type": "string" + "DrainPercent": { + "type": "number" } }, "type": "object" }, - "AWS::ECS::Daemon": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviderArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterArn": { - "type": "string" - }, - "DaemonName": { - "type": "string" - }, - "DaemonTaskDefinitionArn": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Daemon.DaemonDeploymentConfiguration" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "PropagateTags": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Daemon" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Daemon.DaemonAlarmConfiguration": { - "additionalProperties": false, - "properties": { - "AlarmNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ECS::Daemon.DaemonDeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "$ref": "#/definitions/AWS::ECS::Daemon.DaemonAlarmConfiguration" - }, - "BakeTimeInMinutes": { - "type": "number" - }, - "DrainPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::DaemonTaskDefinition": { + "AWS::ECS::DaemonTaskDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -140110,9 +127949,6 @@ "title": "Tags", "type": "array" }, - "TaskDefinitionArn": { - "type": "string" - }, "TaskRoleArn": { "markdownDescription": "The ARN of the task role for the service revision.", "title": "TaskRoleArn", @@ -140120,7 +127956,9 @@ } }, "required": [ - "InfrastructureRoleArn" + "ExecutionRoleArn", + "InfrastructureRoleArn", + "PrimaryContainer" ], "type": "object" }, @@ -140373,9 +128211,6 @@ "title": "ServiceRevisionArn", "type": "string" }, - "TaskDefinitionArn": { - "type": "string" - }, "TaskRoleArn": { "markdownDescription": "The ARN of the task role for the service revision.", "title": "TaskRoleArn", @@ -140939,16 +128774,10 @@ "title": "Enable", "type": "boolean" }, - "ResetOnHealthyTask": { - "type": "boolean" - }, "Rollback": { "markdownDescription": "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", "title": "Rollback", "type": "boolean" - }, - "ThresholdConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.ThresholdConfiguration" } }, "required": [ @@ -141614,22 +129443,6 @@ ], "type": "object" }, - "AWS::ECS::Service.ThresholdConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, "AWS::ECS::Service.TimeoutConfiguration": { "additionalProperties": false, "properties": { @@ -141672,79 +129485,6 @@ ], "type": "object" }, - "AWS::ECS::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": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Task" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Task.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::ECS::TaskDefinition": { "additionalProperties": false, "properties": { @@ -144205,9 +131945,6 @@ "AWS::EKS::Capability.CapabilityConfiguration": { "additionalProperties": false, "properties": { - "Ack": { - "type": "object" - }, "ArgoCd": { "$ref": "#/definitions/AWS::EKS::Capability.ArgoCd", "markdownDescription": "", @@ -144250,95 +131987,6 @@ ], "type": "object" }, - "AWS::EKS::CertificateAuthority": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } - }, - "required": [ - "ClusterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::CertificateAuthority" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::CertificateAuthority.ScheduledEvents": { - "additionalProperties": false, - "properties": { - "FinalAutoActivation": { - "type": "string" - }, - "FirstAutoActivation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::CertificateAuthority.Validity": { - "additionalProperties": false, - "properties": { - "NotAfter": { - "type": "string" - }, - "NotBefore": { - "type": "string" - } - }, - "type": "object" - }, "AWS::EKS::Cluster": { "additionalProperties": false, "properties": { @@ -144379,17 +132027,11 @@ "markdownDescription": "The access configuration for the cluster.", "title": "AccessConfig" }, - "ActiveCertificateAuthorityId": { - "type": "string" - }, "BootstrapSelfManagedAddons": { "markdownDescription": "If you set this value to `False` when creating a cluster, the default networking add-ons will not be installed.\n\nThe default networking add-ons include `vpc-cni` , `coredns` , and `kube-proxy` .\n\nUse this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.", "title": "BootstrapSelfManagedAddons", "type": "boolean" }, - "CertificateAuthority": { - "$ref": "#/definitions/AWS::EKS::Cluster.CertificateAuthority" - }, "ComputeConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.ComputeConfig", "markdownDescription": "Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the *Amazon EKS User Guide* .", @@ -144418,15 +132060,6 @@ "title": "Force", "type": "boolean" }, - "KubeApiServerConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubeApiServerConfig" - }, - "KubeControllerManagerConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubeControllerManagerConfig" - }, - "KubeSchedulerConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubeSchedulerConfig" - }, "KubernetesNetworkConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig", "markdownDescription": "The Kubernetes network configuration for the cluster.", @@ -144462,9 +132095,6 @@ "title": "RoleArn", "type": "string" }, - "RollbackConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.RollbackConfig" - }, "StorageConfig": { "$ref": "#/definitions/AWS::EKS::Cluster.StorageConfig", "markdownDescription": "Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the *Amazon EKS User Guide* .", @@ -144537,18 +132167,6 @@ }, "type": "object" }, - "AWS::EKS::Cluster.ActiveCertificateAuthority": { - "additionalProperties": false, - "properties": { - "ActivatedBy": { - "type": "string" - }, - "Id": { - "type": "string" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.BlockStorage": { "additionalProperties": false, "properties": { @@ -144560,18 +132178,6 @@ }, "type": "object" }, - "AWS::EKS::Cluster.CertificateAuthority": { - "additionalProperties": false, - "properties": { - "Active": { - "$ref": "#/definitions/AWS::EKS::Cluster.ActiveCertificateAuthority" - }, - "Data": { - "type": "string" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.ClusterLogging": { "additionalProperties": false, "properties": { @@ -144674,45 +132280,6 @@ }, "type": "object" }, - "AWS::EKS::Cluster.HorizontalPodAutoscalerControllerConfig": { - "additionalProperties": false, - "properties": { - "HorizontalPodAutoscalerSyncPeriod": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubeApiServerConfig": { - "additionalProperties": false, - "properties": { - "EventTtl": { - "type": "string" - }, - "ServiceNodePortRange": { - "$ref": "#/definitions/AWS::EKS::Cluster.ServiceNodePortRange" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubeControllerManagerConfig": { - "additionalProperties": false, - "properties": { - "HorizontalPodAutoscalerControllerConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.HorizontalPodAutoscalerControllerConfig" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubeSchedulerConfig": { - "additionalProperties": false, - "properties": { - "NodeResourcesFit": { - "$ref": "#/definitions/AWS::EKS::Cluster.NodeResourcesFitConfig" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.KubernetesNetworkConfig": { "additionalProperties": false, "properties": { @@ -144761,15 +132328,6 @@ }, "type": "object" }, - "AWS::EKS::Cluster.NodeResourcesFitConfig": { - "additionalProperties": false, - "properties": { - "ScoringStrategy": { - "$ref": "#/definitions/AWS::EKS::Cluster.ScoringStrategy" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.OutpostConfig": { "additionalProperties": false, "properties": { @@ -144871,18 +132429,6 @@ ], "type": "object" }, - "AWS::EKS::Cluster.ResourceWeight": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.ResourcesVpcConfig": { "additionalProperties": false, "properties": { @@ -144929,42 +132475,6 @@ ], "type": "object" }, - "AWS::EKS::Cluster.RollbackConfig": { - "additionalProperties": false, - "properties": { - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ScoringStrategy": { - "additionalProperties": false, - "properties": { - "Resources": { - "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourceWeight" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ServiceNodePortRange": { - "additionalProperties": false, - "properties": { - "MaxPort": { - "type": "number" - }, - "MinPort": { - "type": "number" - } - }, - "type": "object" - }, "AWS::EKS::Cluster.StorageConfig": { "additionalProperties": false, "properties": { @@ -147830,7 +135340,7 @@ ], "type": "object" }, - "AWS::EMR::NotebookExecution": { + "AWS::EMR::SecurityConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -147865,45 +135375,25 @@ "Properties": { "additionalProperties": false, "properties": { - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ExecutionEngine": { - "$ref": "#/definitions/AWS::EMR::NotebookExecution.ExecutionEngineConfig" - }, - "NotebookExecutionName": { - "type": "string" - }, - "NotebookParams": { - "type": "string" - }, - "NotebookS3Location": { - "$ref": "#/definitions/AWS::EMR::NotebookExecution.NotebookS3Location" - }, - "OutputNotebookFormat": { + "Name": { + "markdownDescription": "The name of the security configuration.", + "title": "Name", "type": "string" }, - "OutputNotebookS3Location": { - "$ref": "#/definitions/AWS::EMR::NotebookExecution.OutputNotebookS3Location" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SecurityConfiguration": { + "markdownDescription": "The security configuration details in JSON format. For JSON parameters and examples, see [Use Security Configurations to Set Up Cluster Security](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) in the *Amazon EMR Management Guide* .", + "title": "SecurityConfiguration", + "type": "object" } }, + "required": [ + "SecurityConfiguration" + ], "type": "object" }, "Type": { "enum": [ - "AWS::EMR::NotebookExecution" + "AWS::EMR::SecurityConfiguration" ], "type": "string" }, @@ -147917,268 +135407,158 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::NotebookExecution.ExecutionEngineConfig": { + "AWS::EMR::Step": { "additionalProperties": false, "properties": { - "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": { + "ActionOnFailure": { + "markdownDescription": "This specifies what action to take when the cluster step fails. Possible values are `CANCEL_AND_WAIT` and `CONTINUE` .", + "title": "ActionOnFailure", + "type": "string" + }, + "EncryptionKeyArn": { + "markdownDescription": "", + "title": "EncryptionKeyArn", + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig", + "markdownDescription": "The `HadoopJarStepConfig` property type specifies a job flow step consisting of a JAR file whose main function will be executed. The main function submits a job for the cluster to execute as a step on the master node, and then waits for the job to finish or fail before executing subsequent steps.", + "title": "HadoopJarStep" + }, + "JobFlowId": { + "markdownDescription": "A string that uniquely identifies the cluster (job flow).", + "title": "JobFlowId", + "type": "string" + }, + "LogUri": { + "markdownDescription": "", + "title": "LogUri", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the cluster step.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" + ], + "type": "object" + }, "Type": { + "enum": [ + "AWS::EMR::Step" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Id" + "Type", + "Properties" ], "type": "object" }, - "AWS::EMR::NotebookExecution.NotebookS3Location": { + "AWS::EMR::Step.HadoopJarStepConfig": { "additionalProperties": false, "properties": { - "Bucket": { + "Args": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of command line arguments passed to the JAR file's main function when executed.", + "title": "Args", + "type": "array" + }, + "Jar": { + "markdownDescription": "A path to a JAR file run during the step.", + "title": "Jar", "type": "string" }, - "Key": { + "MainClass": { + "markdownDescription": "The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.", + "title": "MainClass", "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + }, + "markdownDescription": "A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.", + "title": "StepProperties", + "type": "array" } }, + "required": [ + "Jar" + ], "type": "object" }, - "AWS::EMR::NotebookExecution.OutputNotebookS3Location": { + "AWS::EMR::Step.KeyValue": { "additionalProperties": false, "properties": { - "Bucket": { + "Key": { + "markdownDescription": "The unique identifier of a key-value pair.", + "title": "Key", "type": "string" }, - "Key": { + "Value": { + "markdownDescription": "The value part of the identified key.", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::EMR::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The name of the security configuration.", - "title": "Name", - "type": "string" - }, - "SecurityConfiguration": { - "markdownDescription": "The security configuration details in JSON format. For JSON parameters and examples, see [Use Security Configurations to Set Up Cluster Security](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) in the *Amazon EMR Management Guide* .", - "title": "SecurityConfiguration", - "type": "object" - } - }, - "required": [ - "SecurityConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "markdownDescription": "This specifies what action to take when the cluster step fails. Possible values are `CANCEL_AND_WAIT` and `CONTINUE` .", - "title": "ActionOnFailure", - "type": "string" - }, - "EncryptionKeyArn": { - "markdownDescription": "", - "title": "EncryptionKeyArn", - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig", - "markdownDescription": "The `HadoopJarStepConfig` property type specifies a job flow step consisting of a JAR file whose main function will be executed. The main function submits a job for the cluster to execute as a step on the master node, and then waits for the job to finish or fail before executing subsequent steps.", - "title": "HadoopJarStep" - }, - "JobFlowId": { - "markdownDescription": "A string that uniquely identifies the cluster (job flow).", - "title": "JobFlowId", - "type": "string" - }, - "LogUri": { - "markdownDescription": "", - "title": "LogUri", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the cluster step.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Step" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of command line arguments passed to the JAR file's main function when executed.", - "title": "Args", - "type": "array" - }, - "Jar": { - "markdownDescription": "A path to a JAR file run during the step.", - "title": "Jar", - "type": "string" - }, - "MainClass": { - "markdownDescription": "The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.", - "title": "MainClass", - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" - }, - "markdownDescription": "A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.", - "title": "StepProperties", - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Step.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The unique identifier of a key-value pair.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value part of the identified key.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Studio": { + "AWS::EMR::Studio": { "additionalProperties": false, "properties": { "Condition": { @@ -148541,9 +135921,6 @@ "ReleaseLabel": { "type": "string" }, - "SessionIdleTimeoutInMinutes": { - "type": "number" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -148701,278 +136078,6 @@ ], "type": "object" }, - "AWS::EMRContainers::JobRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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::SecurityConfiguration": { "additionalProperties": false, "properties": { @@ -149299,9 +136404,6 @@ "title": "SecurityConfigurationId", "type": "string" }, - "SessionEnabled": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -149926,214 +137028,6 @@ }, "type": "object" }, - "AWS::EMRServerless::JobRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::JobRun.ConfigurationOverrides" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "ExecutionTimeoutMinutes": { - "type": "number" - }, - "JobDriver": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.JobDriver" - }, - "Mode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMRServerless::JobRun" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EMRServerless::JobRun.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" - }, - "type": "array" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Classification" - ], - "type": "object" - }, - "AWS::EMRServerless::JobRun.ConfigurationOverrides": { - "additionalProperties": false, - "properties": { - "ApplicationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Configuration" - }, - "type": "array" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.Hive": { - "additionalProperties": false, - "properties": { - "InitQueryFile": { - "type": "string" - }, - "Parameters": { - "type": "string" - }, - "Query": { - "type": "string" - } - }, - "required": [ - "Query" - ], - "type": "object" - }, - "AWS::EMRServerless::JobRun.JobDriver": { - "additionalProperties": false, - "properties": { - "Hive": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.Hive" - }, - "SparkSubmit": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.SparkSubmit" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ManagedPersistenceMonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.ManagedPersistenceMonitoringConfiguration" - }, - "S3MonitoringConfiguration": { - "$ref": "#/definitions/AWS::EMRServerless::JobRun.S3MonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.S3MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMRServerless::JobRun.SparkSubmit": { - "additionalProperties": false, - "properties": { - "EntryPoint": { - "type": "string" - }, - "EntryPointArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SparkSubmitParameters": { - "type": "string" - } - }, - "required": [ - "EntryPoint" - ], - "type": "object" - }, "AWS::EVS::Environment": { "additionalProperties": false, "properties": { @@ -150247,8 +137141,12 @@ } }, "required": [ + "ConnectivityInfo", + "LicenseInfo", "ServiceAccessSubnetId", + "SiteId", "TermsAccepted", + "VcfHostnames", "VcfVersion", "VpcId" ], @@ -151535,7 +138433,7 @@ }, "type": "object" }, - "AWS::ElastiCache::ReservedCacheNode": { + "AWS::ElastiCache::SecurityGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -151569,12 +138467,29 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "Description": { + "markdownDescription": "A description for the cache security group.", + "title": "Description", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A tag that can be added to an ElastiCache security group. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your security groups. A tag with a null Value is permitted.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Description" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ElastiCache::ReservedCacheNode" + "AWS::ElastiCache::SecurityGroup" ], "type": "string" }, @@ -151588,176 +138503,90 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::ElastiCache::ReservedCacheNode.RecurringCharge": { + "AWS::ElastiCache::SecurityGroupIngress": { "additionalProperties": false, "properties": { - "RecurringChargeAmount": { - "type": "number" + "Condition": { + "type": "string" }, - "RecurringChargeFrequency": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSecurityGroupName": { + "markdownDescription": "The name of the Cache Security Group to authorize.", + "title": "CacheSecurityGroupName", + "type": "string" + }, + "EC2SecurityGroupName": { + "markdownDescription": "Name of the EC2 Security Group to include in the authorization.", + "title": "EC2SecurityGroupName", + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "markdownDescription": "Specifies the Amazon Account ID of the owner of the EC2 security group specified in the EC2SecurityGroupName property. The Amazon access key ID is not an acceptable value.", + "title": "EC2SecurityGroupOwnerId", + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::ElastiCache::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": { - "Description": { - "markdownDescription": "A description for the cache security group.", - "title": "Description", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A tag that can be added to an ElastiCache security group. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your security groups. A tag with a null Value is permitted.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::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": { - "CacheSecurityGroupName": { - "markdownDescription": "The name of the Cache Security Group to authorize.", - "title": "CacheSecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupName": { - "markdownDescription": "Name of the EC2 Security Group to include in the authorization.", - "title": "EC2SecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "markdownDescription": "Specifies the Amazon Account ID of the owner of the EC2 security group specified in the EC2SecurityGroupName property. The Amazon access key ID is not an acceptable value.", - "title": "EC2SecurityGroupOwnerId", - "type": "string" - } - }, - "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ServerlessCache": { + "AWS::ElastiCache::ServerlessCache": { "additionalProperties": false, "properties": { "Condition": { @@ -151984,99 +138813,6 @@ }, "type": "object" }, - "AWS::ElastiCache::ServerlessCacheSnapshot": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ServerlessCacheName": { - "type": "string" - }, - "ServerlessCacheSnapshotName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ServerlessCacheName", - "ServerlessCacheSnapshotName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ServerlessCacheSnapshot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ServerlessCacheSnapshot.ServerlessCacheConfiguration": { - "additionalProperties": false, - "properties": { - "Engine": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "ServerlessCacheName": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ElastiCache::SubnetGroup": { "additionalProperties": false, "properties": { @@ -153472,12 +140208,6 @@ "markdownDescription": "[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. For more information, see [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/describe-ssl-policies.html) in the *Application Load Balancers Guide* and [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/describe-ssl-policies.html) in the *Network Load Balancers Guide* .\n\n[HTTPS listeners] Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic. To decrease the possibility of an interruption if your load balancer is handling a high volume of traffic, create an additional load balancer or request an LCU reservation.", "title": "SslPolicy", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ @@ -154069,12 +140799,6 @@ "title": "Priority", "type": "number" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, "Transforms": { "items": { "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Transform" @@ -154653,9 +141377,6 @@ "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { "additionalProperties": false, "properties": { - "IpAddressType": { - "type": "string" - }, "Values": { "items": { "type": "string" @@ -155920,9 +142641,6 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessRoleArn": { - "type": "string" - }, "Name": { "type": "string" }, @@ -155990,35 +142708,8 @@ "properties": { "CallbackMetadata": { "type": "string" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::ElementalInference::Feed.DataSourceConfiguration" - } - }, - "type": "object" - }, - "AWS::ElementalInference::Feed.CroppingConfig": { - "additionalProperties": false, - "properties": { - "TemplateGroups": { - "items": { - "$ref": "#/definitions/AWS::ElementalInference::Feed.TemplateGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElementalInference::Feed.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "FixtureId": { - "type": "string" } }, - "required": [ - "FixtureId" - ], "type": "object" }, "AWS::ElementalInference::Feed.GetOutput": { @@ -156051,7 +142742,7 @@ "$ref": "#/definitions/AWS::ElementalInference::Feed.ClippingConfig" }, "Cropping": { - "$ref": "#/definitions/AWS::ElementalInference::Feed.CroppingConfig" + "type": "object" }, "Subtitling": { "$ref": "#/definitions/AWS::ElementalInference::Feed.SubtitlingConfig" @@ -156080,25 +142771,6 @@ ], "type": "object" }, - "AWS::ElementalInference::Feed.TemplateGroup": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "TemplateUris": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "TemplateUris" - ], - "type": "object" - }, "AWS::EntityResolution::IdMappingWorkflow": { "additionalProperties": false, "properties": { @@ -156915,9 +143587,6 @@ "AWS::EntityResolution::MatchingWorkflow.ResolutionTechniques": { "additionalProperties": false, "properties": { - "EnableRealTimeMatching": { - "type": "boolean" - }, "ProviderProperties": { "$ref": "#/definitions/AWS::EntityResolution::MatchingWorkflow.ProviderProperties", "markdownDescription": "The properties of the provider service.", @@ -158545,99 +145214,6 @@ ], "type": "object" }, - "AWS::Events::Replay": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "$ref": "#/definitions/AWS::Events::Replay.Destination" - }, - "EventEndTime": { - "type": "string" - }, - "EventSourceArn": { - "type": "string" - }, - "EventStartTime": { - "type": "string" - }, - "ReplayName": { - "type": "string" - } - }, - "required": [ - "Destination", - "EventEndTime", - "EventSourceArn", - "EventStartTime", - "ReplayName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Replay" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Replay.Destination": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, "AWS::Events::Rule": { "additionalProperties": false, "properties": { @@ -160295,79 +146871,6 @@ ], "type": "object" }, - "AWS::FIS::Experiment": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExperimentOptions": { - "$ref": "#/definitions/AWS::FIS::Experiment.ExperimentOptions" - }, - "ExperimentTemplateId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FIS::Experiment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::FIS::Experiment.ExperimentOptions": { - "additionalProperties": false, - "properties": { - "ActionsMode": { - "type": "string" - } - }, - "type": "object" - }, "AWS::FIS::ExperimentTemplate": { "additionalProperties": false, "properties": { @@ -160811,67 +147314,6 @@ ], "type": "object" }, - "AWS::FIS::SafetyLever": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FIS::SafetyLever" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::FIS::TargetAccountConfiguration": { "additionalProperties": false, "properties": { @@ -161933,21 +148375,6 @@ ], "type": "object" }, - "AWS::FSx::FileSystem.LogConfiguration": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Level": { - "type": "string" - } - }, - "required": [ - "Level" - ], - "type": "object" - }, "AWS::FSx::FileSystem.LustreConfiguration": { "additionalProperties": false, "properties": { @@ -162011,9 +148438,6 @@ "title": "ImportedFileChunkSize", "type": "number" }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LogConfiguration" - }, "MetadataConfiguration": { "$ref": "#/definitions/AWS::FSx::FileSystem.MetadataConfiguration", "markdownDescription": "The Lustre metadata performance configuration for the creation of an FSx for Lustre file system using a `PERSISTENT_2` deployment type.", @@ -165641,6 +152065,7 @@ } }, "required": [ + "MetricName", "Name" ], "type": "object" @@ -166507,6 +152932,7 @@ } }, "required": [ + "MetricName", "Name" ], "type": "object" @@ -167429,15 +153855,6 @@ "title": "Enabled", "type": "boolean" }, - "FlowLogsEnabled": { - "type": "boolean" - }, - "FlowLogsS3Bucket": { - "type": "string" - }, - "FlowLogsS3Prefix": { - "type": "string" - }, "IpAddressType": { "markdownDescription": "The IP address type that an accelerator supports. For a standard accelerator, the value can be IPV4 or DUAL_STACK.", "title": "IpAddressType", @@ -167878,84 +154295,6 @@ ], "type": "object" }, - "AWS::Glue::Blueprint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BlueprintLocation": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "BlueprintLocation", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Blueprint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Glue::Catalog": { "additionalProperties": false, "properties": { @@ -168415,9 +154754,6 @@ "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput", "markdownDescription": "The connection that you want to create.", "title": "ConnectionInput" - }, - "Tags": { - "type": "object" } }, "required": [ @@ -168447,25 +154783,37 @@ ], "type": "object" }, - "AWS::Glue::Connection.AuthenticationConfiguration": { + "AWS::Glue::Connection.AuthenticationConfigurationInput": { "additionalProperties": false, "properties": { "AuthenticationType": { + "markdownDescription": "A structure containing the authentication configuration in the CreateConnection request.", + "title": "AuthenticationType", "type": "string" }, "BasicAuthenticationCredentials": { - "$ref": "#/definitions/AWS::Glue::Connection.BasicAuthenticationCredentials" + "$ref": "#/definitions/AWS::Glue::Connection.BasicAuthenticationCredentials", + "markdownDescription": "The credentials used when the authentication type is basic authentication.", + "title": "BasicAuthenticationCredentials" }, "CustomAuthenticationCredentials": { + "markdownDescription": "The credentials used when the authentication type is custom authentication.", + "title": "CustomAuthenticationCredentials", "type": "object" }, "KmsKeyArn": { + "markdownDescription": "The ARN of the KMS key used to encrypt the connection. Only taken an as input in the request and stored in the Secret Manager.", + "title": "KmsKeyArn", "type": "string" }, "OAuth2Properties": { - "$ref": "#/definitions/AWS::Glue::Connection.OAuth2Properties" + "$ref": "#/definitions/AWS::Glue::Connection.OAuth2PropertiesInput", + "markdownDescription": "The properties for OAuth2 authentication in the CreateConnection request.", + "title": "OAuth2Properties" }, "SecretArn": { + "markdownDescription": "The secret manager ARN to store credentials in the CreateConnection request.", + "title": "SecretArn", "type": "string" } }, @@ -168515,7 +154863,7 @@ "type": "object" }, "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::Glue::Connection.AuthenticationConfiguration", + "$ref": "#/definitions/AWS::Glue::Connection.AuthenticationConfigurationInput", "markdownDescription": "The authentication properties of the connection.", "title": "AuthenticationConfiguration" }, @@ -168623,25 +154971,37 @@ }, "type": "object" }, - "AWS::Glue::Connection.OAuth2Properties": { + "AWS::Glue::Connection.OAuth2PropertiesInput": { "additionalProperties": false, "properties": { "AuthorizationCodeProperties": { - "$ref": "#/definitions/AWS::Glue::Connection.AuthorizationCodeProperties" + "$ref": "#/definitions/AWS::Glue::Connection.AuthorizationCodeProperties", + "markdownDescription": "The set of properties required for the the OAuth2 `AUTHORIZATION_CODE` grant type.", + "title": "AuthorizationCodeProperties" }, "OAuth2ClientApplication": { - "$ref": "#/definitions/AWS::Glue::Connection.OAuth2ClientApplication" + "$ref": "#/definitions/AWS::Glue::Connection.OAuth2ClientApplication", + "markdownDescription": "The client application type in the CreateConnection request. For example, `AWS_MANAGED` or `USER_MANAGED` .", + "title": "OAuth2ClientApplication" }, "OAuth2Credentials": { - "$ref": "#/definitions/AWS::Glue::Connection.OAuth2Credentials" + "$ref": "#/definitions/AWS::Glue::Connection.OAuth2Credentials", + "markdownDescription": "The credentials used when the authentication type is OAuth2 authentication.", + "title": "OAuth2Credentials" }, "OAuth2GrantType": { + "markdownDescription": "The OAuth2 grant type in the CreateConnection request. For example, `AUTHORIZATION_CODE` , `JWT_BEARER` , or `CLIENT_CREDENTIALS` .", + "title": "OAuth2GrantType", "type": "string" }, "TokenUrl": { + "markdownDescription": "The URL of the provider's authentication server, to exchange an authorization code for an access token.", + "title": "TokenUrl", "type": "string" }, "TokenUrlParametersMap": { + "markdownDescription": "A map of parameters that are added to the token `GET` request.", + "title": "TokenUrlParametersMap", "type": "object" } }, @@ -169429,13 +155789,7 @@ "type": "string" }, "Tags": { - "additionalProperties": true, "markdownDescription": "A list of tags applied to the data quality ruleset.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "title": "Tags", "type": "object" }, @@ -169445,9 +155799,6 @@ "title": "TargetTable" } }, - "required": [ - "Name" - ], "type": "object" }, "Type": { @@ -169466,8 +155817,7 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, @@ -169485,10 +155835,6 @@ "type": "string" } }, - "required": [ - "DatabaseName", - "TableName" - ], "type": "object" }, "AWS::Glue::Database": { @@ -170492,13 +156838,7 @@ "type": "string" }, "Tags": { - "additionalProperties": true, "markdownDescription": "The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue , see [AWS Tags in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) in the developer guide.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "title": "Tags", "type": "object" }, @@ -171498,12 +157838,9 @@ "title": "JobBookmarksEncryption" }, "S3Encryptions": { - "items": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryption" - }, + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions", "markdownDescription": "The encyption configuration for Amazon Simple Storage Service (Amazon S3) data.", - "title": "S3Encryptions", - "type": "array" + "title": "S3Encryptions" } }, "type": "object" @@ -171540,146 +157877,9 @@ }, "type": "object" }, - "AWS::Glue::Session": { + "AWS::Glue::SecurityConfiguration.S3Encryptions": { "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Command": { - "$ref": "#/definitions/AWS::Glue::Session.SessionCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Session.ConnectionsList" - }, - "DefaultArguments": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "IdleTimeout": { - "type": "number" - }, - "MaxCapacity": { - "type": "number" - }, - "NumberOfWorkers": { - "type": "number" - }, - "RequestOrigin": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "Command", - "Id", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Session.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Session.SessionCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - } - }, + "properties": {}, "type": "object" }, "AWS::Glue::Table": { @@ -172409,30 +158609,6 @@ ], "type": "object" }, - "AWS::Glue::TableOptimizer.CompactionConfiguration": { - "additionalProperties": false, - "properties": { - "IcebergConfiguration": { - "$ref": "#/definitions/AWS::Glue::TableOptimizer.IcebergCompactionConfiguration" - } - }, - "type": "object" - }, - "AWS::Glue::TableOptimizer.IcebergCompactionConfiguration": { - "additionalProperties": false, - "properties": { - "DeleteFileThreshold": { - "type": "number" - }, - "MinInputFiles": { - "type": "number" - }, - "Strategy": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Glue::TableOptimizer.IcebergConfiguration": { "additionalProperties": false, "properties": { @@ -172495,9 +158671,6 @@ "AWS::Glue::TableOptimizer.TableOptimizerConfiguration": { "additionalProperties": false, "properties": { - "CompactionConfiguration": { - "$ref": "#/definitions/AWS::Glue::TableOptimizer.CompactionConfiguration" - }, "Enabled": { "markdownDescription": "Whether the table optimization is enabled.", "title": "Enabled", @@ -172541,70 +158714,6 @@ }, "type": "object" }, - "AWS::Glue::TableVersion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::TableVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Glue::Trigger": { "additionalProperties": false, "properties": { @@ -172979,7 +159088,7 @@ }, "type": "object" }, - "AWS::Glue::UserDefinedFunction": { + "AWS::Glue::Workflow": { "additionalProperties": false, "properties": { "Condition": { @@ -173014,40 +159123,37 @@ "Properties": { "additionalProperties": false, "properties": { - "ClassName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "FunctionName": { - "type": "string" + "DefaultRunProperties": { + "markdownDescription": "A collection of properties to be used as part of each execution of the workflow", + "title": "DefaultRunProperties", + "type": "object" }, - "FunctionType": { + "Description": { + "markdownDescription": "A description of the workflow", + "title": "Description", "type": "string" }, - "OwnerName": { - "type": "string" + "MaxConcurrentRuns": { + "markdownDescription": "You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.", + "title": "MaxConcurrentRuns", + "type": "number" }, - "OwnerType": { + "Name": { + "markdownDescription": "The name of the workflow representing the flow", + "title": "Name", "type": "string" }, - "ResourceUris": { - "items": { - "$ref": "#/definitions/AWS::Glue::UserDefinedFunction.ResourceUri" - }, - "type": "array" + "Tags": { + "markdownDescription": "The tags to use with this workflow.", + "title": "Tags", + "type": "object" } }, - "required": [ - "DatabaseName", - "FunctionName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Glue::UserDefinedFunction" + "AWS::Glue::Workflow" ], "type": "string" }, @@ -173061,107 +159167,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Glue::UserDefinedFunction.ResourceUri": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Workflow": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultRunProperties": { - "markdownDescription": "A collection of properties to be used as part of each execution of the workflow", - "title": "DefaultRunProperties", - "type": "object" - }, - "Description": { - "markdownDescription": "A description of the workflow", - "title": "Description", - "type": "string" - }, - "MaxConcurrentRuns": { - "markdownDescription": "You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.", - "title": "MaxConcurrentRuns", - "type": "number" - }, - "Name": { - "markdownDescription": "The name of the workflow representing the flow", - "title": "Name", - "type": "string" - }, - "Tags": { - "markdownDescription": "The tags to use with this workflow.", - "title": "Tags", - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Workflow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Grafana::Workspace": { + "AWS::Grafana::Workspace": { "additionalProperties": false, "properties": { "Condition": { @@ -173288,12 +159298,6 @@ "title": "StackSetName", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Grafana::Workspace.TagsItems" - }, - "type": "array" - }, "VpcConfiguration": { "$ref": "#/definitions/AWS::Grafana::Workspace.VpcConfiguration", "markdownDescription": "The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.\n\n> Connecting to a private VPC is not yet available in the Asia Pacific (Seoul) Region (ap-northeast-2).", @@ -173461,22 +159465,6 @@ ], "type": "object" }, - "AWS::Grafana::Workspace.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::Grafana::Workspace.VpcConfiguration": { "additionalProperties": false, "properties": { @@ -175986,89 +161974,6 @@ ], "type": "object" }, - "AWS::GreengrassV2::Component": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComponentName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::Component.TagsItems" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GreengrassV2::Component" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GreengrassV2::Component.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::GreengrassV2::ComponentVersion": { "additionalProperties": false, "properties": { @@ -176415,83 +162320,6 @@ }, "type": "object" }, - "AWS::GreengrassV2::CoreDevice": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CoreDeviceThingName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GreengrassV2::CoreDevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GreengrassV2::CoreDevice.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::GreengrassV2::Deployment": { "additionalProperties": false, "properties": { @@ -178064,97 +163892,6 @@ }, "type": "object" }, - "AWS::GuardDuty::CustomDetectionRuleAssociation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "RuleId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::GuardDuty::CustomDetectionRuleAssociation.TagItem" - }, - "type": "array" - } - }, - "required": [ - "Mode", - "RuleId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::CustomDetectionRuleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::CustomDetectionRuleAssociation.TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::GuardDuty::Detector": { "additionalProperties": false, "properties": { @@ -179647,151 +165384,6 @@ ], "type": "object" }, - "AWS::HealthLake::DataTransformationProfile": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ProfileDescription": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile.Source" - }, - "SourceFormat": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProfileName", - "SourceFormat" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::HealthLake::DataTransformationProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::HealthLake::DataTransformationProfile.ExistingVersionedProfileSource": { - "additionalProperties": false, - "properties": { - "ProfileId": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "ProfileId", - "Version" - ], - "type": "object" - }, - "AWS::HealthLake::DataTransformationProfile.ProfileMappingSource": { - "additionalProperties": false, - "properties": { - "ProfileMapping": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ProfileMapping" - ], - "type": "object" - }, - "AWS::HealthLake::DataTransformationProfile.Source": { - "additionalProperties": false, - "properties": { - "ExistingVersionedProfileId": { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile.ExistingVersionedProfileSource" - }, - "ProfileMapping": { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile.ProfileMappingSource" - }, - "StarterProfile": { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile.StarterProfileSource" - } - }, - "type": "object" - }, - "AWS::HealthLake::DataTransformationProfile.StarterProfileSource": { - "additionalProperties": false, - "properties": { - "StarterProfileName": { - "type": "string" - } - }, - "required": [ - "StarterProfileName" - ], - "type": "object" - }, "AWS::HealthLake::FHIRDatastore": { "additionalProperties": false, "properties": { @@ -181632,7 +167224,7 @@ }, "type": "object" }, - "AWS::IVS::Composition": { + "AWS::IVS::EncoderConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -181667,34 +167259,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::IVS::Composition.DestinationConfiguration" - }, - "type": "array" - }, - "Layout": { - "$ref": "#/definitions/AWS::IVS::Composition.LayoutConfiguration" - }, - "StageArn": { + "Name": { + "markdownDescription": "Encoder cnfiguration name.", + "title": "Name", "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-ivs-encoderconfiguration-tag.html) .", + "title": "Tags", "type": "array" + }, + "Video": { + "$ref": "#/definitions/AWS::IVS::EncoderConfiguration.Video", + "markdownDescription": "Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps. See the [Video](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html) property type for more information.", + "title": "Video" } }, - "required": [ - "Destinations", - "StageArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::IVS::Composition" + "AWS::IVS::EncoderConfiguration" ], "type": "string" }, @@ -181708,283 +167296,37 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::Composition.ChannelDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "ChannelArn": { - "type": "string" - }, - "EncoderConfigurationArn": { - "type": "string" - } - }, - "required": [ - "ChannelArn" + "Type" ], "type": "object" }, - "AWS::IVS::Composition.CompositionRecordingHlsConfiguration": { - "additionalProperties": false, - "properties": { - "TargetSegmentDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.CompositionThumbnailConfiguration": { - "additionalProperties": false, - "properties": { - "Storage": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TargetIntervalSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Channel": { - "$ref": "#/definitions/AWS::IVS::Composition.ChannelDestinationConfiguration" - }, - "Name": { - "type": "string" - }, - "S3": { - "$ref": "#/definitions/AWS::IVS::Composition.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.GridConfiguration": { - "additionalProperties": false, - "properties": { - "FeaturedParticipantAttribute": { - "type": "string" - }, - "GridGap": { - "type": "number" - }, - "OmitStoppedVideo": { - "type": "boolean" - }, - "ParticipantOrderAttribute": { - "type": "string" - }, - "VideoAspectRatio": { - "type": "string" - }, - "VideoFillMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.LayoutConfiguration": { - "additionalProperties": false, - "properties": { - "Grid": { - "$ref": "#/definitions/AWS::IVS::Composition.GridConfiguration" - }, - "Pip": { - "$ref": "#/definitions/AWS::IVS::Composition.PipConfiguration" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.PipConfiguration": { + "AWS::IVS::EncoderConfiguration.Video": { "additionalProperties": false, "properties": { - "FeaturedParticipantAttribute": { - "type": "string" - }, - "GridGap": { + "Bitrate": { + "markdownDescription": "Bitrate for generated output, in bps. Default: 2500000.", + "title": "Bitrate", "type": "number" }, - "OmitStoppedVideo": { - "type": "boolean" - }, - "ParticipantOrderAttribute": { - "type": "string" - }, - "PipBehavior": { - "type": "string" - }, - "PipHeight": { + "Framerate": { + "markdownDescription": "Video frame rate, in fps. Default: 30.", + "title": "Framerate", "type": "number" }, - "PipOffset": { + "Height": { + "markdownDescription": "Video-resolution height. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.", + "title": "Height", "type": "number" }, - "PipParticipantAttribute": { - "type": "string" - }, - "PipPosition": { - "type": "string" - }, - "PipWidth": { + "Width": { + "markdownDescription": "Video-resolution width. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.", + "title": "Width", "type": "number" - }, - "VideoFillMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IVS::Composition.RecordingConfiguration": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "HlsConfiguration": { - "$ref": "#/definitions/AWS::IVS::Composition.CompositionRecordingHlsConfiguration" } }, "type": "object" }, - "AWS::IVS::Composition.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "EncoderConfigurationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RecordingConfiguration": { - "$ref": "#/definitions/AWS::IVS::Composition.RecordingConfiguration" - }, - "StorageConfigurationArn": { - "type": "string" - }, - "ThumbnailConfigurations": { - "items": { - "$ref": "#/definitions/AWS::IVS::Composition.CompositionThumbnailConfiguration" - }, - "type": "array" - } - }, - "required": [ - "EncoderConfigurationArns", - "StorageConfigurationArn" - ], - "type": "object" - }, - "AWS::IVS::EncoderConfiguration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "Encoder cnfiguration name.", - "title": "Name", - "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-ivs-encoderconfiguration-tag.html) .", - "title": "Tags", - "type": "array" - }, - "Video": { - "$ref": "#/definitions/AWS::IVS::EncoderConfiguration.Video", - "markdownDescription": "Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps. See the [Video](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ivs-encoderconfiguration-video.html) property type for more information.", - "title": "Video" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::EncoderConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IVS::EncoderConfiguration.Video": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "markdownDescription": "Bitrate for generated output, in bps. Default: 2500000.", - "title": "Bitrate", - "type": "number" - }, - "Framerate": { - "markdownDescription": "Video frame rate, in fps. Default: 30.", - "title": "Framerate", - "type": "number" - }, - "Height": { - "markdownDescription": "Video-resolution height. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.", - "title": "Height", - "type": "number" - }, - "Width": { - "markdownDescription": "Video-resolution width. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.", - "title": "Width", - "type": "number" - } - }, - "type": "object" - }, - "AWS::IVS::IngestConfiguration": { + "AWS::IVS::IngestConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -183079,7 +168421,7 @@ }, "type": "object" }, - "AWS::IdentityStore::AllGroupMemberships": { + "AWS::IdentityStore::Group": { "additionalProperties": false, "properties": { "Condition": { @@ -183114,21 +168456,31 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupId": { + "Description": { + "markdownDescription": "A string containing the description of the group.", + "title": "Description", "type": "string" }, - "IdentityStoreId": { + "DisplayName": { + "markdownDescription": "The display name value for the group. The length limit is 1,024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space, and nonbreaking space in this attribute. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.\n\nPrefix search supports a maximum of 1,000 characters for the string.", + "title": "DisplayName", "type": "string" }, - "MemberId": { - "$ref": "#/definitions/AWS::IdentityStore::AllGroupMemberships.MemberId" + "IdentityStoreId": { + "markdownDescription": "The globally unique identifier for the identity store.", + "title": "IdentityStoreId", + "type": "string" } }, + "required": [ + "DisplayName", + "IdentityStoreId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::IdentityStore::AllGroupMemberships" + "AWS::IdentityStore::Group" ], "type": "string" }, @@ -183142,23 +168494,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IdentityStore::AllGroupMemberships.MemberId": { - "additionalProperties": false, - "properties": { - "UserId": { - "type": "string" - } - }, - "required": [ - "UserId" + "Type", + "Properties" ], "type": "object" }, - "AWS::IdentityStore::Group": { + "AWS::IdentityStore::GroupMembership": { "additionalProperties": false, "properties": { "Condition": { @@ -183193,31 +168534,32 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A string containing the description of the group.", - "title": "Description", - "type": "string" - }, - "DisplayName": { - "markdownDescription": "The display name value for the group. The length limit is 1,024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space, and nonbreaking space in this attribute. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.\n\nPrefix search supports a maximum of 1,000 characters for the string.", - "title": "DisplayName", + "GroupId": { + "markdownDescription": "The identifier for a group in the identity store.", + "title": "GroupId", "type": "string" }, "IdentityStoreId": { "markdownDescription": "The globally unique identifier for the identity store.", "title": "IdentityStoreId", "type": "string" + }, + "MemberId": { + "$ref": "#/definitions/AWS::IdentityStore::GroupMembership.MemberId", + "markdownDescription": "An object containing the identifier of a group member. Setting the `MemberId` 's `UserId` field to a specific User's ID indicates that user is a member of the group.", + "title": "MemberId" } }, "required": [ - "DisplayName", - "IdentityStoreId" + "GroupId", + "IdentityStoreId", + "MemberId" ], "type": "object" }, "Type": { "enum": [ - "AWS::IdentityStore::Group" + "AWS::IdentityStore::GroupMembership" ], "type": "string" }, @@ -183236,7 +168578,21 @@ ], "type": "object" }, - "AWS::IdentityStore::GroupMembership": { + "AWS::IdentityStore::GroupMembership.MemberId": { + "additionalProperties": false, + "properties": { + "UserId": { + "markdownDescription": "An object containing the identifiers of resources that can be members.", + "title": "UserId", + "type": "string" + } + }, + "required": [ + "UserId" + ], + "type": "object" + }, + "AWS::ImageBuilder::Component": { "additionalProperties": false, "properties": { "Condition": { @@ -183271,32 +168627,76 @@ "Properties": { "additionalProperties": false, "properties": { - "GroupId": { - "markdownDescription": "The identifier for a group in the identity store.", - "title": "GroupId", + "ChangeDescription": { + "markdownDescription": "The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of the component.", + "title": "ChangeDescription", "type": "string" }, - "IdentityStoreId": { - "markdownDescription": "The globally unique identifier for the identity store.", - "title": "IdentityStoreId", + "Data": { + "markdownDescription": "Component `data` contains inline YAML document content for the component. Alternatively, you can specify the `uri` of a YAML document file stored in Amazon S3. However, you cannot specify both properties.", + "title": "Data", "type": "string" }, - "MemberId": { - "$ref": "#/definitions/AWS::IdentityStore::GroupMembership.MemberId", - "markdownDescription": "An object containing the identifier of a group member. Setting the `MemberId` 's `UserId` field to a specific User's ID indicates that user is a member of the group.", - "title": "MemberId" + "Description": { + "markdownDescription": "Describes the contents of the component.", + "title": "Description", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this component. This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyId", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the component.", + "title": "Name", + "type": "string" + }, + "Platform": { + "markdownDescription": "The operating system platform of the component.", + "title": "Platform", + "type": "string" + }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "markdownDescription": "The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the base image OS version during image recipe creation.", + "title": "SupportedOsVersions", + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "The tags that apply to the component.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + }, + "Uri": { + "markdownDescription": "The `uri` of a YAML component document file. This must be an S3 URL ( `s3://bucket/key` ), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.\n\nAlternatively, you can specify the YAML document inline, using the component `data` property. You cannot specify both properties.", + "title": "Uri", + "type": "string" + }, + "Version": { + "markdownDescription": "The semantic version of the component. This version follows the semantic version syntax.\n\n> The semantic version has four nodes: ../. You can assign values for the first three, and can filter on all of them.\n> \n> *Assignment:* For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.\n> \n> *Patterns:* You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.", + "title": "Version", + "type": "string" } }, "required": [ - "GroupId", - "IdentityStoreId", - "MemberId" + "Name", + "Platform", + "Version" ], "type": "object" }, "Type": { "enum": [ - "AWS::IdentityStore::GroupMembership" + "AWS::ImageBuilder::Component" ], "type": "string" }, @@ -183315,613 +168715,33 @@ ], "type": "object" }, - "AWS::IdentityStore::GroupMembership.MemberId": { + "AWS::ImageBuilder::Component.LatestVersion": { "additionalProperties": false, "properties": { - "UserId": { - "markdownDescription": "An object containing the identifiers of resources that can be members.", - "title": "UserId", + "Arn": { + "markdownDescription": "The latest version Amazon Resource Name (ARN) of the Image Builder resource.", + "title": "Arn", + "type": "string" + }, + "Major": { + "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `major` version of the Image Builder resource.", + "title": "Major", + "type": "string" + }, + "Minor": { + "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `minor` version of the Image Builder resource.", + "title": "Minor", + "type": "string" + }, + "Patch": { + "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `patch` version of the Image Builder resource.", + "title": "Patch", "type": "string" } }, - "required": [ - "UserId" - ], "type": "object" }, - "AWS::IdentityStore::User": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Addresses": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.AddressesItems" - }, - "type": "array" - }, - "Birthdate": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "Emails": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.EmailsItems" - }, - "type": "array" - }, - "IdentityStoreId": { - "type": "string" - }, - "Locale": { - "type": "string" - }, - "Name": { - "$ref": "#/definitions/AWS::IdentityStore::User.Name" - }, - "NickName": { - "type": "string" - }, - "PhoneNumbers": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.PhoneNumbersItems" - }, - "type": "array" - }, - "Photos": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.PhotosItems" - }, - "type": "array" - }, - "PreferredLanguage": { - "type": "string" - }, - "ProfileUrl": { - "type": "string" - }, - "Roles": { - "items": { - "$ref": "#/definitions/AWS::IdentityStore::User.RolesItems" - }, - "type": "array" - }, - "Timezone": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "UserName": { - "type": "string" - }, - "UserType": { - "type": "string" - }, - "Website": { - "type": "string" - } - }, - "required": [ - "IdentityStoreId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IdentityStore::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IdentityStore::User.AddressesItems": { - "additionalProperties": false, - "properties": { - "Country": { - "type": "string" - }, - "Formatted": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "PostalCode": { - "type": "string" - }, - "Primary": { - "type": "boolean" - }, - "Region": { - "type": "string" - }, - "StreetAddress": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IdentityStore::User.EmailsItems": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IdentityStore::User.Name": { - "additionalProperties": false, - "properties": { - "FamilyName": { - "type": "string" - }, - "Formatted": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "HonorificPrefix": { - "type": "string" - }, - "HonorificSuffix": { - "type": "string" - }, - "MiddleName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IdentityStore::User.PhoneNumbersItems": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IdentityStore::User.PhotosItems": { - "additionalProperties": false, - "properties": { - "Display": { - "type": "string" - }, - "Primary": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::IdentityStore::User.RolesItems": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::AllImageBuildVersions": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ImageBuilder::AllImageBuildVersions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::AllImageBuildVersions.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::AllImageBuildVersions.State": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::AllImageBuildVersions.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::AllWorkflowBuildVersions": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ImageBuilder::AllWorkflowBuildVersions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::AllWorkflowBuildVersions.ParametersItems": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::AllWorkflowBuildVersions.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { - "markdownDescription": "The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of the component.", - "title": "ChangeDescription", - "type": "string" - }, - "Data": { - "markdownDescription": "Component `data` contains inline YAML document content for the component. Alternatively, you can specify the `uri` of a YAML document file stored in Amazon S3. However, you cannot specify both properties.", - "title": "Data", - "type": "string" - }, - "Description": { - "markdownDescription": "Describes the contents of the component.", - "title": "Description", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this component. This can be either the Key ARN or the Alias ARN. For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyId", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the component.", - "title": "Name", - "type": "string" - }, - "Platform": { - "markdownDescription": "The operating system platform of the component.", - "title": "Platform", - "type": "string" - }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "markdownDescription": "The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the base image OS version during image recipe creation.", - "title": "SupportedOsVersions", - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The tags that apply to the component.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - }, - "Uri": { - "markdownDescription": "The `uri` of a YAML component document file. This must be an S3 URL ( `s3://bucket/key` ), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.\n\nAlternatively, you can specify the YAML document inline, using the component `data` property. You cannot specify both properties.", - "title": "Uri", - "type": "string" - }, - "Version": { - "markdownDescription": "The semantic version of the component. This version follows the semantic version syntax.\n\n> The semantic version has four nodes: ../. You can assign values for the first three, and can filter on all of them.\n> \n> *Assignment:* For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.\n> \n> *Patterns:* You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Name", - "Platform", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Component" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component.LatestVersion": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "The latest version Amazon Resource Name (ARN) of the Image Builder resource.", - "title": "Arn", - "type": "string" - }, - "Major": { - "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `major` version of the Image Builder resource.", - "title": "Major", - "type": "string" - }, - "Minor": { - "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `minor` version of the Image Builder resource.", - "title": "Minor", - "type": "string" - }, - "Patch": { - "markdownDescription": "The latest version Amazon Resource Name (ARN) with the same `patch` version of the Image Builder resource.", - "title": "Patch", - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe": { + "AWS::ImageBuilder::ContainerRecipe": { "additionalProperties": false, "properties": { "Condition": { @@ -184993,15 +169813,6 @@ "markdownDescription": "Contains settings for vulnerability scans.", "title": "ImageScanningConfiguration" }, - "ImageTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, "ImageTestsConfiguration": { "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration", "markdownDescription": "The configuration of the image tests that run after image creation to ensure the quality of the image that was created.", @@ -185177,9 +169988,6 @@ "markdownDescription": "The cron expression determines how often EC2 Image Builder evaluates your `pipelineExecutionStartCondition` .\n\nFor information on how to format a cron expression in Image Builder, see [Use cron expressions in EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-cron.html) .", "title": "ScheduleExpression", "type": "string" - }, - "Timezone": { - "type": "string" } }, "type": "object" @@ -185283,12 +170091,6 @@ "title": "AmiTags", "type": "object" }, - "AmiWatermarks": { - "items": { - "type": "string" - }, - "type": "array" - }, "BlockDeviceMappings": { "items": { "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" @@ -185757,7 +170559,7 @@ }, "type": "object" }, - "AWS::ImageBuilder::LifecycleExecution": { + "AWS::ImageBuilder::LifecyclePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -185792,15 +170594,68 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceArn": { + "Description": { + "markdownDescription": "Optional description for the lifecycle policy.", + "title": "Description", + "type": "string" + }, + "ExecutionRole": { + "markdownDescription": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to run lifecycle actions.", + "title": "ExecutionRole", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the lifecycle policy to create.", + "title": "Name", + "type": "string" + }, + "PolicyDetails": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" + }, + "markdownDescription": "Configuration details for the lifecycle policy rules.", + "title": "PolicyDetails", + "type": "array" + }, + "ResourceSelection": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection", + "markdownDescription": "Selection criteria for the resources that the lifecycle policy applies to.", + "title": "ResourceSelection" + }, + "ResourceType": { + "markdownDescription": "The type of Image Builder resource that the lifecycle policy applies to.", + "title": "ResourceType", + "type": "string" + }, + "Status": { + "markdownDescription": "Indicates whether the lifecycle policy resource is enabled.", + "title": "Status", "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "Tags to apply to the lifecycle policy resource.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" } }, + "required": [ + "ExecutionRole", + "Name", + "PolicyDetails", + "ResourceSelection", + "ResourceType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::ImageBuilder::LifecycleExecution" + "AWS::ImageBuilder::LifecyclePolicy" ], "type": "string" }, @@ -185813,370 +170668,238 @@ "type": "string" } }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "IncludeResources": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources", + "markdownDescription": "Specifies the resources that the lifecycle policy applies to.", + "title": "IncludeResources" + }, + "Type": { + "markdownDescription": "Specifies the lifecycle action to take.", + "title": "Type", + "type": "string" + } + }, "required": [ "Type" ], "type": "object" }, - "AWS::ImageBuilder::LifecycleExecution.LifecycleExecutionResourcesImpactedSummary": { + "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { "additionalProperties": false, "properties": { - "HasImpactedResources": { + "IsPublic": { + "markdownDescription": "Configures whether public AMIs are excluded from the lifecycle action.", + "title": "IsPublic", "type": "boolean" + }, + "LastLaunched": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched", + "markdownDescription": "Specifies configuration details for Image Builder to exclude the most recent resources from lifecycle actions.", + "title": "LastLaunched" + }, + "Regions": { + "items": { + "type": "string" + }, + "markdownDescription": "Configures AWS Region s that are excluded from the lifecycle action.", + "title": "Regions", + "type": "array" + }, + "SharedAccounts": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies AWS account s whose resources are excluded from the lifecycle action.", + "title": "SharedAccounts", + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "markdownDescription": "Lists tags that should be excluded from lifecycle actions for the AMIs that have them.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "TagMap", + "type": "object" } }, "type": "object" }, - "AWS::ImageBuilder::LifecycleExecution.LifecycleExecutionState": { + "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { "additionalProperties": false, "properties": { - "Status": { + "Amis": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules", + "markdownDescription": "Lists configuration values that apply to AMIs that Image Builder should exclude from the lifecycle action.", + "title": "Amis" + }, + "TagMap": { + "additionalProperties": true, + "markdownDescription": "Contains a list of tags that Image Builder uses to skip lifecycle actions for Image Builder image resources that have them.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "TagMap", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.Filter": { + "additionalProperties": false, + "properties": { + "RetainAtLeast": { + "markdownDescription": "For age-based filters, this is the number of resources to keep on hand after the lifecycle `DELETE` action is applied. Impacted resources are only deleted if you have more than this number of resources. If you have fewer resources than this number, the impacted resource is not deleted.", + "title": "RetainAtLeast", + "type": "number" + }, + "Type": { + "markdownDescription": "Filter resources based on either `age` or `count` .", + "title": "Type", + "type": "string" + }, + "Unit": { + "markdownDescription": "Defines the unit of time that the lifecycle policy uses to determine impacted resources. This is required for age-based rules.", + "title": "Unit", "type": "string" + }, + "Value": { + "markdownDescription": "The number of units for the time period or for the count. For example, a value of `6` might refer to six months or six AMIs.\n\n> For count-based filters, this value represents the minimum number of resources to keep on hand. If you have fewer resources than this number, the resource is excluded from lifecycle actions.", + "title": "Value", + "type": "number" } }, + "required": [ + "Type", + "Value" + ], "type": "object" }, - "AWS::ImageBuilder::LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "Optional description for the lifecycle policy.", - "title": "Description", - "type": "string" - }, - "ExecutionRole": { - "markdownDescription": "The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to run lifecycle actions.", - "title": "ExecutionRole", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the lifecycle policy to create.", - "title": "Name", - "type": "string" - }, - "PolicyDetails": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.PolicyDetail" - }, - "markdownDescription": "Configuration details for the lifecycle policy rules.", - "title": "PolicyDetails", - "type": "array" - }, - "ResourceSelection": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ResourceSelection", - "markdownDescription": "Selection criteria for the resources that the lifecycle policy applies to.", - "title": "ResourceSelection" - }, - "ResourceType": { - "markdownDescription": "The type of Image Builder resource that the lifecycle policy applies to.", - "title": "ResourceType", - "type": "string" - }, - "Status": { - "markdownDescription": "Indicates whether the lifecycle policy resource is enabled.", - "title": "Status", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags to apply to the lifecycle policy resource.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "ExecutionRole", - "Name", - "PolicyDetails", - "ResourceSelection", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::LifecyclePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.Action": { - "additionalProperties": false, - "properties": { - "IncludeResources": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.IncludeResources", - "markdownDescription": "Specifies the resources that the lifecycle policy applies to.", - "title": "IncludeResources" - }, - "Type": { - "markdownDescription": "Specifies the lifecycle action to take.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules": { - "additionalProperties": false, - "properties": { - "IsPublic": { - "markdownDescription": "Configures whether public AMIs are excluded from the lifecycle action.", - "title": "IsPublic", - "type": "boolean" - }, - "LastLaunched": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.LastLaunched", - "markdownDescription": "Specifies configuration details for Image Builder to exclude the most recent resources from lifecycle actions.", - "title": "LastLaunched" - }, - "Regions": { - "items": { - "type": "string" - }, - "markdownDescription": "Configures AWS Region s that are excluded from the lifecycle action.", - "title": "Regions", - "type": "array" - }, - "SharedAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies AWS account s whose resources are excluded from the lifecycle action.", - "title": "SharedAccounts", - "type": "array" - }, - "TagMap": { - "additionalProperties": true, - "markdownDescription": "Lists tags that should be excluded from lifecycle actions for the AMIs that have them.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TagMap", - "type": "object" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.ExclusionRules": { - "additionalProperties": false, - "properties": { - "Amis": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.AmiExclusionRules", - "markdownDescription": "Lists configuration values that apply to AMIs that Image Builder should exclude from the lifecycle action.", - "title": "Amis" - }, - "TagMap": { - "additionalProperties": true, - "markdownDescription": "Contains a list of tags that Image Builder uses to skip lifecycle actions for Image Builder image resources that have them.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TagMap", - "type": "object" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.Filter": { - "additionalProperties": false, - "properties": { - "RetainAtLeast": { - "markdownDescription": "For age-based filters, this is the number of resources to keep on hand after the lifecycle `DELETE` action is applied. Impacted resources are only deleted if you have more than this number of resources. If you have fewer resources than this number, the impacted resource is not deleted.", - "title": "RetainAtLeast", - "type": "number" - }, - "Type": { - "markdownDescription": "Filter resources based on either `age` or `count` .", - "title": "Type", - "type": "string" - }, - "Unit": { - "markdownDescription": "Defines the unit of time that the lifecycle policy uses to determine impacted resources. This is required for age-based rules.", - "title": "Unit", - "type": "string" - }, - "Value": { - "markdownDescription": "The number of units for the time period or for the count. For example, a value of `6` might refer to six months or six AMIs.\n\n> For count-based filters, this value represents the minimum number of resources to keep on hand. If you have fewer resources than this number, the resource is excluded from lifecycle actions.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { - "additionalProperties": false, - "properties": { - "Amis": { - "markdownDescription": "Specifies whether the lifecycle action should apply to distributed AMIs.", - "title": "Amis", - "type": "boolean" - }, - "Containers": { - "markdownDescription": "Specifies whether the lifecycle action should apply to distributed containers.", - "title": "Containers", - "type": "boolean" - }, - "Snapshots": { - "markdownDescription": "Specifies whether the lifecycle action should apply to snapshots associated with distributed AMIs.", - "title": "Snapshots", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { - "additionalProperties": false, - "properties": { - "Unit": { - "markdownDescription": "Defines the unit of time that the lifecycle policy uses to calculate elapsed time since the last instance launched from the AMI. For example: days, weeks, months, or years.", - "title": "Unit", - "type": "string" - }, - "Value": { - "markdownDescription": "The integer number of units for the time period. For example `6` (months).", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action", - "markdownDescription": "Configuration details for the policy action.", - "title": "Action" - }, - "ExclusionRules": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules", - "markdownDescription": "Additional rules to specify resources that should be exempt from policy actions.", - "title": "ExclusionRules" - }, - "Filter": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter", - "markdownDescription": "Specifies the resources that the lifecycle policy applies to.", - "title": "Filter" - } - }, - "required": [ - "Action", - "Filter" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of an Image Builder recipe that the lifecycle policy uses for resource selection.", - "title": "Name", - "type": "string" - }, - "SemanticVersion": { - "markdownDescription": "The version of the Image Builder recipe specified by the `name` field.", - "title": "SemanticVersion", - "type": "string" - } - }, - "required": [ - "Name", - "SemanticVersion" - ], - "type": "object" - }, - "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { - "additionalProperties": false, - "properties": { - "Recipes": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" - }, - "markdownDescription": "A list of recipes that are used as selection criteria for the output images that the lifecycle policy applies to.", - "title": "Recipes", - "type": "array" - }, - "TagMap": { - "additionalProperties": true, - "markdownDescription": "A list of tags that are used as selection criteria for the Image Builder image resources that the lifecycle policy applies to.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TagMap", - "type": "object" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::Workflow": { + "AWS::ImageBuilder::LifecyclePolicy.IncludeResources": { + "additionalProperties": false, + "properties": { + "Amis": { + "markdownDescription": "Specifies whether the lifecycle action should apply to distributed AMIs.", + "title": "Amis", + "type": "boolean" + }, + "Containers": { + "markdownDescription": "Specifies whether the lifecycle action should apply to distributed containers.", + "title": "Containers", + "type": "boolean" + }, + "Snapshots": { + "markdownDescription": "Specifies whether the lifecycle action should apply to snapshots associated with distributed AMIs.", + "title": "Snapshots", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.LastLaunched": { + "additionalProperties": false, + "properties": { + "Unit": { + "markdownDescription": "Defines the unit of time that the lifecycle policy uses to calculate elapsed time since the last instance launched from the AMI. For example: days, weeks, months, or years.", + "title": "Unit", + "type": "string" + }, + "Value": { + "markdownDescription": "The integer number of units for the time period. For example `6` (months).", + "title": "Value", + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.PolicyDetail": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Action", + "markdownDescription": "Configuration details for the policy action.", + "title": "Action" + }, + "ExclusionRules": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.ExclusionRules", + "markdownDescription": "Additional rules to specify resources that should be exempt from policy actions.", + "title": "ExclusionRules" + }, + "Filter": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.Filter", + "markdownDescription": "Specifies the resources that the lifecycle policy applies to.", + "title": "Filter" + } + }, + "required": [ + "Action", + "Filter" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.RecipeSelection": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of an Image Builder recipe that the lifecycle policy uses for resource selection.", + "title": "Name", + "type": "string" + }, + "SemanticVersion": { + "markdownDescription": "The version of the Image Builder recipe specified by the `name` field.", + "title": "SemanticVersion", + "type": "string" + } + }, + "required": [ + "Name", + "SemanticVersion" + ], + "type": "object" + }, + "AWS::ImageBuilder::LifecyclePolicy.ResourceSelection": { + "additionalProperties": false, + "properties": { + "Recipes": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy.RecipeSelection" + }, + "markdownDescription": "A list of recipes that are used as selection criteria for the output images that the lifecycle policy applies to.", + "title": "Recipes", + "type": "array" + }, + "TagMap": { + "additionalProperties": true, + "markdownDescription": "A list of tags that are used as selection criteria for the Image Builder image resources that the lifecycle policy applies to.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "TagMap", + "type": "object" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Workflow": { "additionalProperties": false, "properties": { "Condition": { @@ -186317,124 +171040,6 @@ }, "type": "object" }, - "AWS::ImageBuilder::WorkflowExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ImageBuildVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::WorkflowExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ImageBuilder::WorkflowStepExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::ImageBuilder::WorkflowStepExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Inspector::AssessmentTarget": { "additionalProperties": false, "properties": { @@ -187223,181 +171828,7 @@ }, "type": "object" }, - "AWS::InspectorV2::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": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "ProviderConfiguration": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.ProviderConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Provider", - "ProviderConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::InspectorV2::Connector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::InspectorV2::Connector.AzureProviderConfiguration": { - "additionalProperties": false, - "properties": { - "AutoInstallVMScanner": { - "type": "boolean" - }, - "AwsConfigConnectorArn": { - "type": "string" - }, - "AzureRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScopeConfiguration": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.AzureScopeConfigurationMap" - } - }, - "required": [ - "AwsConfigConnectorArn", - "AzureRegions", - "ScopeConfiguration" - ], - "type": "object" - }, - "AWS::InspectorV2::Connector.AzureScopeConfigurationMap": { - "additionalProperties": false, - "properties": { - "ContainerImageScanning": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.ScopeConfiguration" - }, - "ServerlessScanning": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.ScopeConfiguration" - }, - "VmScanning": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.ScopeConfiguration" - } - }, - "type": "object" - }, - "AWS::InspectorV2::Connector.ConnectorHealth": { - "additionalProperties": false, - "properties": { - "ConnectorStatus": { - "type": "string" - }, - "LastCheckedAt": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::InspectorV2::Connector.ProviderConfiguration": { - "additionalProperties": false, - "properties": { - "Azure": { - "$ref": "#/definitions/AWS::InspectorV2::Connector.AzureProviderConfiguration" - } - }, - "required": [ - "Azure" - ], - "type": "object" - }, - "AWS::InspectorV2::Connector.ScopeConfiguration": { - "additionalProperties": false, - "properties": { - "ScopeType": { - "type": "string" - }, - "ScopeValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "State": { - "type": "string" - }, - "StateReason": { - "type": "string" - } - }, - "required": [ - "ScopeType" - ], - "type": "object" - }, - "AWS::InspectorV2::Filter": { + "AWS::InspectorV2::Filter": { "additionalProperties": false, "properties": { "Condition": { @@ -188094,7 +172525,7 @@ ], "type": "object" }, - "AWS::InternetMonitor::InternetEvent": { + "AWS::InternetMonitor::Monitor": { "additionalProperties": false, "properties": { "Condition": { @@ -188128,12 +172559,88 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "HealthEventsConfig": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.HealthEventsConfig", + "markdownDescription": "A complex type with the configuration information that determines the threshold and other conditions for when Internet Monitor creates a health event for an overall performance or availability issue, across an application's geographies.\n\nDefines the percentages, for overall performance scores and availability scores for an application, that are the thresholds for when Internet Monitor creates a health event. You can override the defaults to set a custom threshold for overall performance or availability scores, or both.\n\nYou can also set thresholds for local health scores,, where Internet Monitor creates a health event when scores cross a threshold for one or more city-networks, in addition to creating an event when an overall score crosses a threshold.\n\nIf you don't set a health event threshold, the default value is 95%.\n\nFor local thresholds, you also set a minimum percentage of overall traffic that is impacted by an issue before Internet Monitor creates an event. In addition, you can disable local thresholds, for performance scores, availability scores, or both.\n\nFor more information, see [Change health event thresholds](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) in the Internet Monitor section of the *CloudWatch User Guide* .", + "title": "HealthEventsConfig" + }, + "IncludeLinkedAccounts": { + "markdownDescription": "A boolean option that you can set to `TRUE` to include monitors for linked accounts in a list of monitors, when you've set up cross-account sharing in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide.", + "title": "IncludeLinkedAccounts", + "type": "boolean" + }, + "InternetMeasurementsLogDelivery": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery", + "markdownDescription": "Publish internet measurements for a monitor for all city-networks (up to the 500,000 service limit) to another location, such as an Amazon S3 bucket. Measurements are also published to Amazon CloudWatch Logs for the first 500 (by traffic volume) city-networks (client locations and ASNs, typically internet service providers or ISPs).", + "title": "InternetMeasurementsLogDelivery" + }, + "LinkedAccountId": { + "markdownDescription": "The account ID for an account that you've set up cross-account sharing for in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide.", + "title": "LinkedAccountId", + "type": "string" + }, + "MaxCityNetworksToMonitor": { + "markdownDescription": "The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network, such as an internet service provider, that clients access the resources through.\n\nFor more information, see [Choosing a city-network maximum value](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) in *Using Amazon CloudWatch Internet Monitor* .", + "title": "MaxCityNetworksToMonitor", + "type": "number" + }, + "MonitorName": { + "markdownDescription": "The name of the monitor. A monitor name can contain only alphanumeric characters, dashes (-), periods (.), and underscores (_).", + "title": "MonitorName", + "type": "string" + }, + "Resources": { + "items": { + "type": "string" + }, + "markdownDescription": "The resources that have been added for the monitor, listed by their Amazon Resource Names (ARNs). Use this option to add or remove resources when making an update.\n\n> Be aware that if you include content in the `Resources` field when you update a monitor, the `ResourcesToAdd` and `ResourcesToRemove` fields must be empty.", + "title": "Resources", + "type": "array" + }, + "ResourcesToAdd": { + "items": { + "type": "string" + }, + "markdownDescription": "The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs). Resources can be Amazon Virtual Private Cloud VPCs, Network Load Balancers (NLBs), Amazon CloudFront distributions, or Amazon WorkSpaces directories.\n\nYou can add a combination of VPCs and CloudFront distributions, or you can add WorkSpaces directories, or you can add NLBs. You can't add NLBs or WorkSpaces directories together with any other resources.\n\nIf you add only VPC resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity.\n\n> You can specify this field for a monitor update only if the `Resources` field is empty.", + "title": "ResourcesToAdd", + "type": "array" + }, + "ResourcesToRemove": { + "items": { + "type": "string" + }, + "markdownDescription": "The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs)\n\n> You can specify this field for a monitor update only if the `Resources` field is empty.", + "title": "ResourcesToRemove", + "type": "array" + }, + "Status": { + "markdownDescription": "The status of a monitor. The accepted values that you can specify for `Status` are `ACTIVE` and `INACTIVE` .", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags for a monitor, listed as a set of *key:value* pairs.", + "title": "Tags", + "type": "array" + }, + "TrafficPercentageToMonitor": { + "markdownDescription": "The percentage of the internet-facing traffic for your application that you want to monitor. You can also, optionally, set a limit for the number of city-networks (client locations and ASNs, typically internet service providers) that Internet Monitor will monitor traffic for. The city-networks maximum limit caps the number of city-networks that Internet Monitor monitors for your application, regardless of the percentage of traffic that you choose to monitor.", + "title": "TrafficPercentageToMonitor", + "type": "number" + } + }, + "required": [ + "MonitorName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::InternetMonitor::InternetEvent" + "AWS::InternetMonitor::Monitor" ], "type": "string" }, @@ -188147,262 +172654,91 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::InternetMonitor::InternetEvent.ClientLocation": { + "AWS::InternetMonitor::Monitor.HealthEventsConfig": { "additionalProperties": false, "properties": { - "ASName": { - "type": "string" + "AvailabilityLocalHealthEventsConfig": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.LocalHealthEventsConfig", + "markdownDescription": "The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local availability issue.", + "title": "AvailabilityLocalHealthEventsConfig" }, - "ASNumber": { + "AvailabilityScoreThreshold": { + "markdownDescription": "The health event threshold percentage set for availability scores. When the overall availability score is at or below this percentage, Internet Monitor creates a health event.", + "title": "AvailabilityScoreThreshold", "type": "number" }, - "City": { - "type": "string" - }, - "Country": { - "type": "string" + "PerformanceLocalHealthEventsConfig": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.LocalHealthEventsConfig", + "markdownDescription": "The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local performance issue.", + "title": "PerformanceLocalHealthEventsConfig" }, - "Latitude": { + "PerformanceScoreThreshold": { + "markdownDescription": "The health event threshold percentage set for performance scores. When the overall performance score is at or below this percentage, Internet Monitor creates a health event.", + "title": "PerformanceScoreThreshold", + "type": "number" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { + "additionalProperties": false, + "properties": { + "S3Config": { + "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config", + "markdownDescription": "The configuration for publishing Amazon CloudWatch Internet Monitor internet measurements to Amazon S3.", + "title": "S3Config" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.LocalHealthEventsConfig": { + "additionalProperties": false, + "properties": { + "HealthScoreThreshold": { + "markdownDescription": "The health event threshold percentage set for a local health score.", + "title": "HealthScoreThreshold", "type": "number" }, - "Longitude": { + "MinTrafficImpact": { + "markdownDescription": "The minimum percentage of overall traffic for an application that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.\n\nIf you don't set a minimum traffic impact threshold, the default value is 0.01%.", + "title": "MinTrafficImpact", "type": "number" }, - "Metro": { + "Status": { + "markdownDescription": "The status of whether Internet Monitor creates a health event based on a threshold percentage set for a local health score. The status can be `ENABLED` or `DISABLED` .", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::InternetMonitor::Monitor.S3Config": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The Amazon S3 bucket name for internet measurements publishing.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "An optional Amazon S3 bucket prefix for internet measurements publishing.", + "title": "BucketPrefix", "type": "string" }, - "Subdivision": { + "LogDeliveryStatus": { + "markdownDescription": "The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket. The delivery status is `ENABLED` if you choose to deliver internet measurements to an S3 bucket, and `DISABLED` otherwise.", + "title": "LogDeliveryStatus", "type": "string" } }, - "required": [ - "ASName", - "ASNumber", - "City", - "Country", - "Latitude", - "Longitude" - ], "type": "object" }, - "AWS::InternetMonitor::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": { - "HealthEventsConfig": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.HealthEventsConfig", - "markdownDescription": "A complex type with the configuration information that determines the threshold and other conditions for when Internet Monitor creates a health event for an overall performance or availability issue, across an application's geographies.\n\nDefines the percentages, for overall performance scores and availability scores for an application, that are the thresholds for when Internet Monitor creates a health event. You can override the defaults to set a custom threshold for overall performance or availability scores, or both.\n\nYou can also set thresholds for local health scores,, where Internet Monitor creates a health event when scores cross a threshold for one or more city-networks, in addition to creating an event when an overall score crosses a threshold.\n\nIf you don't set a health event threshold, the default value is 95%.\n\nFor local thresholds, you also set a minimum percentage of overall traffic that is impacted by an issue before Internet Monitor creates an event. In addition, you can disable local thresholds, for performance scores, availability scores, or both.\n\nFor more information, see [Change health event thresholds](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) in the Internet Monitor section of the *CloudWatch User Guide* .", - "title": "HealthEventsConfig" - }, - "IncludeLinkedAccounts": { - "markdownDescription": "A boolean option that you can set to `TRUE` to include monitors for linked accounts in a list of monitors, when you've set up cross-account sharing in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide.", - "title": "IncludeLinkedAccounts", - "type": "boolean" - }, - "InternetMeasurementsLogDelivery": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery", - "markdownDescription": "Publish internet measurements for a monitor for all city-networks (up to the 500,000 service limit) to another location, such as an Amazon S3 bucket. Measurements are also published to Amazon CloudWatch Logs for the first 500 (by traffic volume) city-networks (client locations and ASNs, typically internet service providers or ISPs).", - "title": "InternetMeasurementsLogDelivery" - }, - "LinkedAccountId": { - "markdownDescription": "The account ID for an account that you've set up cross-account sharing for in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide.", - "title": "LinkedAccountId", - "type": "string" - }, - "MaxCityNetworksToMonitor": { - "markdownDescription": "The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network, such as an internet service provider, that clients access the resources through.\n\nFor more information, see [Choosing a city-network maximum value](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) in *Using Amazon CloudWatch Internet Monitor* .", - "title": "MaxCityNetworksToMonitor", - "type": "number" - }, - "MonitorName": { - "markdownDescription": "The name of the monitor. A monitor name can contain only alphanumeric characters, dashes (-), periods (.), and underscores (_).", - "title": "MonitorName", - "type": "string" - }, - "Resources": { - "items": { - "type": "string" - }, - "markdownDescription": "The resources that have been added for the monitor, listed by their Amazon Resource Names (ARNs). Use this option to add or remove resources when making an update.\n\n> Be aware that if you include content in the `Resources` field when you update a monitor, the `ResourcesToAdd` and `ResourcesToRemove` fields must be empty.", - "title": "Resources", - "type": "array" - }, - "ResourcesToAdd": { - "items": { - "type": "string" - }, - "markdownDescription": "The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs). Resources can be Amazon Virtual Private Cloud VPCs, Network Load Balancers (NLBs), Amazon CloudFront distributions, or Amazon WorkSpaces directories.\n\nYou can add a combination of VPCs and CloudFront distributions, or you can add WorkSpaces directories, or you can add NLBs. You can't add NLBs or WorkSpaces directories together with any other resources.\n\nIf you add only VPC resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity.\n\n> You can specify this field for a monitor update only if the `Resources` field is empty.", - "title": "ResourcesToAdd", - "type": "array" - }, - "ResourcesToRemove": { - "items": { - "type": "string" - }, - "markdownDescription": "The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs)\n\n> You can specify this field for a monitor update only if the `Resources` field is empty.", - "title": "ResourcesToRemove", - "type": "array" - }, - "Status": { - "markdownDescription": "The status of a monitor. The accepted values that you can specify for `Status` are `ACTIVE` and `INACTIVE` .", - "title": "Status", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for a monitor, listed as a set of *key:value* pairs.", - "title": "Tags", - "type": "array" - }, - "TrafficPercentageToMonitor": { - "markdownDescription": "The percentage of the internet-facing traffic for your application that you want to monitor. You can also, optionally, set a limit for the number of city-networks (client locations and ASNs, typically internet service providers) that Internet Monitor will monitor traffic for. The city-networks maximum limit caps the number of city-networks that Internet Monitor monitors for your application, regardless of the percentage of traffic that you choose to monitor.", - "title": "TrafficPercentageToMonitor", - "type": "number" - } - }, - "required": [ - "MonitorName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::InternetMonitor::Monitor" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::InternetMonitor::Monitor.HealthEventsConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityLocalHealthEventsConfig": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.LocalHealthEventsConfig", - "markdownDescription": "The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local availability issue.", - "title": "AvailabilityLocalHealthEventsConfig" - }, - "AvailabilityScoreThreshold": { - "markdownDescription": "The health event threshold percentage set for availability scores. When the overall availability score is at or below this percentage, Internet Monitor creates a health event.", - "title": "AvailabilityScoreThreshold", - "type": "number" - }, - "PerformanceLocalHealthEventsConfig": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.LocalHealthEventsConfig", - "markdownDescription": "The configuration that determines the threshold and other conditions for when Internet Monitor creates a health event for a local performance issue.", - "title": "PerformanceLocalHealthEventsConfig" - }, - "PerformanceScoreThreshold": { - "markdownDescription": "The health event threshold percentage set for performance scores. When the overall performance score is at or below this percentage, Internet Monitor creates a health event.", - "title": "PerformanceScoreThreshold", - "type": "number" - } - }, - "type": "object" - }, - "AWS::InternetMonitor::Monitor.InternetMeasurementsLogDelivery": { - "additionalProperties": false, - "properties": { - "S3Config": { - "$ref": "#/definitions/AWS::InternetMonitor::Monitor.S3Config", - "markdownDescription": "The configuration for publishing Amazon CloudWatch Internet Monitor internet measurements to Amazon S3.", - "title": "S3Config" - } - }, - "type": "object" - }, - "AWS::InternetMonitor::Monitor.LocalHealthEventsConfig": { - "additionalProperties": false, - "properties": { - "HealthScoreThreshold": { - "markdownDescription": "The health event threshold percentage set for a local health score.", - "title": "HealthScoreThreshold", - "type": "number" - }, - "MinTrafficImpact": { - "markdownDescription": "The minimum percentage of overall traffic for an application that must be impacted by an issue before Internet Monitor creates an event when a threshold is crossed for a local health score.\n\nIf you don't set a minimum traffic impact threshold, the default value is 0.01%.", - "title": "MinTrafficImpact", - "type": "number" - }, - "Status": { - "markdownDescription": "The status of whether Internet Monitor creates a health event based on a threshold percentage set for a local health score. The status can be `ENABLED` or `DISABLED` .", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::InternetMonitor::Monitor.S3Config": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The Amazon S3 bucket name for internet measurements publishing.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "An optional Amazon S3 bucket prefix for internet measurements publishing.", - "title": "BucketPrefix", - "type": "string" - }, - "LogDeliveryStatus": { - "markdownDescription": "The status of publishing Internet Monitor internet measurements to an Amazon S3 bucket. The delivery status is `ENABLED` if you choose to deliver internet measurements to an S3 bucket, and `DISABLED` otherwise.", - "title": "LogDeliveryStatus", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Invoicing::InvoiceUnit": { + "AWS::Invoicing::InvoiceUnit": { "additionalProperties": false, "properties": { "Condition": { @@ -188536,216 +172872,6 @@ ], "type": "object" }, - "AWS::Invoicing::ProcurementPortalPreference": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BuyerDomain": { - "type": "string" - }, - "BuyerIdentifier": { - "type": "string" - }, - "Contacts": { - "items": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.Contact" - }, - "type": "array" - }, - "EinvoiceDeliveryEnabled": { - "type": "boolean" - }, - "EinvoiceDeliveryPreference": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.EinvoiceDeliveryPreference" - }, - "ProcurementPortalInstanceEndpoint": { - "type": "string" - }, - "ProcurementPortalName": { - "type": "string" - }, - "ProcurementPortalSharedSecret": { - "type": "string" - }, - "PurchaseOrderRetrievalEnabled": { - "type": "boolean" - }, - "Selector": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.ProcurementPortalPreferenceSelector" - }, - "SupplierDomain": { - "type": "string" - }, - "SupplierIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TestEnvPreference": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.TestEnvPreference" - } - }, - "required": [ - "BuyerDomain", - "BuyerIdentifier", - "Contacts", - "EinvoiceDeliveryEnabled", - "ProcurementPortalName", - "PurchaseOrderRetrievalEnabled", - "SupplierDomain", - "SupplierIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Invoicing::ProcurementPortalPreference" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.Contact": { - "additionalProperties": false, - "properties": { - "Email": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.EinvoiceDeliveryPreference": { - "additionalProperties": false, - "properties": { - "ConnectionTestingMethod": { - "type": "string" - }, - "EinvoiceDeliveryActivationDate": { - "type": "string" - }, - "EinvoiceDeliveryAttachmentTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EinvoiceDeliveryDocumentTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "PurchaseOrderDataSources": { - "items": { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference.PurchaseOrderDataSource" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.ProcurementPortalPreferenceSelector": { - "additionalProperties": false, - "properties": { - "InvoiceUnitArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.PurchaseOrderDataSource": { - "additionalProperties": false, - "properties": { - "EinvoiceDeliveryDocumentType": { - "type": "string" - }, - "PurchaseOrderDataSourceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Invoicing::ProcurementPortalPreference.TestEnvPreference": { - "additionalProperties": false, - "properties": { - "BuyerDomain": { - "type": "string" - }, - "BuyerIdentifier": { - "type": "string" - }, - "ProcurementPortalInstanceEndpoint": { - "type": "string" - }, - "ProcurementPortalSharedSecret": { - "type": "string" - }, - "SupplierDomain": { - "type": "string" - }, - "SupplierIdentifier": { - "type": "string" - } - }, - "type": "object" - }, "AWS::IoT::AccountAuditConfiguration": { "additionalProperties": false, "properties": { @@ -190447,365 +174573,6 @@ ], "type": "object" }, - "AWS::IoT::Index": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Index" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::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": { - "AbortConfig": { - "$ref": "#/definitions/AWS::IoT::Job.AbortConfig" - }, - "Description": { - "type": "string" - }, - "DestinationPackageVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Document": { - "type": "string" - }, - "DocumentParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DocumentSource": { - "type": "string" - }, - "JobExecutionsRetryConfig": { - "$ref": "#/definitions/AWS::IoT::Job.JobExecutionsRetryConfig" - }, - "JobExecutionsRolloutConfig": { - "$ref": "#/definitions/AWS::IoT::Job.JobExecutionsRolloutConfig" - }, - "JobId": { - "type": "string" - }, - "JobTemplateArn": { - "type": "string" - }, - "PresignedUrlConfig": { - "$ref": "#/definitions/AWS::IoT::Job.PresignedUrlConfig" - }, - "SchedulingConfig": { - "$ref": "#/definitions/AWS::IoT::Job.SchedulingConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetSelection": { - "type": "string" - }, - "Targets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TimeoutConfig": { - "$ref": "#/definitions/AWS::IoT::Job.TimeoutConfig" - } - }, - "required": [ - "JobId", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Job.AbortConfig": { - "additionalProperties": false, - "properties": { - "CriteriaList": { - "items": { - "$ref": "#/definitions/AWS::IoT::Job.AbortCriteria" - }, - "type": "array" - } - }, - "required": [ - "CriteriaList" - ], - "type": "object" - }, - "AWS::IoT::Job.AbortCriteria": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "FailureType": { - "type": "string" - }, - "MinNumberOfExecutedThings": { - "type": "number" - }, - "ThresholdPercentage": { - "type": "number" - } - }, - "required": [ - "Action", - "FailureType", - "MinNumberOfExecutedThings", - "ThresholdPercentage" - ], - "type": "object" - }, - "AWS::IoT::Job.ExponentialRolloutRate": { - "additionalProperties": false, - "properties": { - "BaseRatePerMinute": { - "type": "number" - }, - "IncrementFactor": { - "type": "number" - }, - "RateIncreaseCriteria": { - "$ref": "#/definitions/AWS::IoT::Job.RateIncreaseCriteria" - } - }, - "required": [ - "BaseRatePerMinute", - "IncrementFactor", - "RateIncreaseCriteria" - ], - "type": "object" - }, - "AWS::IoT::Job.JobExecutionsRetryConfig": { - "additionalProperties": false, - "properties": { - "CriteriaList": { - "items": { - "$ref": "#/definitions/AWS::IoT::Job.RetryCriteria" - }, - "type": "array" - } - }, - "required": [ - "CriteriaList" - ], - "type": "object" - }, - "AWS::IoT::Job.JobExecutionsRolloutConfig": { - "additionalProperties": false, - "properties": { - "ExponentialRate": { - "$ref": "#/definitions/AWS::IoT::Job.ExponentialRolloutRate" - }, - "MaximumPerMinute": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::IoT::Job.MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DurationInMinutes": { - "type": "number" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "DurationInMinutes", - "StartTime" - ], - "type": "object" - }, - "AWS::IoT::Job.PresignedUrlConfig": { - "additionalProperties": false, - "properties": { - "ExpiresInSec": { - "type": "number" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Job.RateIncreaseCriteria": { - "additionalProperties": false, - "properties": { - "NumberOfNotifiedThings": { - "type": "number" - }, - "NumberOfSucceededThings": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::IoT::Job.RetryCriteria": { - "additionalProperties": false, - "properties": { - "FailureType": { - "type": "string" - }, - "NumberOfRetries": { - "type": "number" - } - }, - "required": [ - "FailureType", - "NumberOfRetries" - ], - "type": "object" - }, - "AWS::IoT::Job.SchedulingConfig": { - "additionalProperties": false, - "properties": { - "EndBehavior": { - "type": "string" - }, - "EndTime": { - "type": "string" - }, - "MaintenanceWindows": { - "items": { - "$ref": "#/definitions/AWS::IoT::Job.MaintenanceWindow" - }, - "type": "array" - }, - "StartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Job.TimeoutConfig": { - "additionalProperties": false, - "properties": { - "InProgressTimeoutInMinutes": { - "type": "number" - } - }, - "type": "object" - }, "AWS::IoT::JobTemplate": { "additionalProperties": false, "properties": { @@ -192580,118 +176347,6 @@ ], "type": "object" }, - "AWS::IoT::Stream": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Files": { - "items": { - "$ref": "#/definitions/AWS::IoT::Stream.StreamFile" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Files", - "RoleArn", - "StreamId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Stream.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Stream.StreamFile": { - "additionalProperties": false, - "properties": { - "FileId": { - "type": "number" - }, - "S3Location": { - "$ref": "#/definitions/AWS::IoT::Stream.S3Location" - } - }, - "type": "object" - }, "AWS::IoT::Thing": { "additionalProperties": false, "properties": { @@ -195633,111 +179288,6 @@ ], "type": "object" }, - "AWS::IoTDeviceAdvisor::SuiteRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SuiteDefinitionId": { - "type": "string" - }, - "SuiteDefinitionVersion": { - "type": "string" - }, - "SuiteRunConfiguration": { - "$ref": "#/definitions/AWS::IoTDeviceAdvisor::SuiteRun.SuiteRunConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SuiteDefinitionId", - "SuiteRunConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTDeviceAdvisor::SuiteRun" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTDeviceAdvisor::SuiteRun.DeviceUnderTest": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "ThingArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTDeviceAdvisor::SuiteRun.SuiteRunConfiguration": { - "additionalProperties": false, - "properties": { - "ParallelRun": { - "type": "boolean" - }, - "PrimaryDevice": { - "$ref": "#/definitions/AWS::IoTDeviceAdvisor::SuiteRun.DeviceUnderTest" - } - }, - "required": [ - "PrimaryDevice" - ], - "type": "object" - }, "AWS::IoTEvents::AlarmModel": { "additionalProperties": false, "properties": { @@ -198910,106 +182460,6 @@ ], "type": "object" }, - "AWS::IoTSecureTunneling::Tunnel": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::IoTSecureTunneling::Tunnel.DestinationConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeoutConfig": { - "$ref": "#/definitions/AWS::IoTSecureTunneling::Tunnel.TimeoutConfig" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSecureTunneling::Tunnel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTSecureTunneling::Tunnel.DestinationConfig": { - "additionalProperties": false, - "properties": { - "Services": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ThingName": { - "type": "string" - } - }, - "required": [ - "Services" - ], - "type": "object" - }, - "AWS::IoTSecureTunneling::Tunnel.TimeoutConfig": { - "additionalProperties": false, - "properties": { - "MaxLifetimeTimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, "AWS::IoTSiteWise::AccessPolicy": { "additionalProperties": false, "properties": { @@ -201708,132 +185158,6 @@ }, "type": "object" }, - "AWS::IoTTwinMaker::MetadataTransferJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Destination": { - "$ref": "#/definitions/AWS::IoTTwinMaker::MetadataTransferJob.DestinationConfiguration" - }, - "MetadataTransferJobId": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::IoTTwinMaker::MetadataTransferJob.SourceConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Destination", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTTwinMaker::MetadataTransferJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTTwinMaker::MetadataTransferJob.DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "S3Configuration": { - "$ref": "#/definitions/AWS::IoTTwinMaker::MetadataTransferJob.S3DestinationConfiguration" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTTwinMaker::MetadataTransferJob.MetadataTransferJobStatus": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTTwinMaker::MetadataTransferJob.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::IoTTwinMaker::MetadataTransferJob.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::IoTTwinMaker::Scene": { "additionalProperties": false, "properties": { @@ -204632,253 +187956,154 @@ }, "type": "object" }, - "AWS::KafkaConnect::ConnectorOperation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::KafkaConnect::ConnectorOperation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KafkaConnect::ConnectorOperation.CapacityDescription": { - "additionalProperties": false, - "properties": { - "ProvisionedCapacity": { - "$ref": "#/definitions/AWS::KafkaConnect::ConnectorOperation.ProvisionedCapacityDescription" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::ConnectorOperation.ConnectorOperationStep": { - "additionalProperties": false, - "properties": { - "StepState": { - "type": "string" - }, - "StepType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::ConnectorOperation.ProvisionedCapacityDescription": { - "additionalProperties": false, - "properties": { - "McuCount": { - "type": "number" - }, - "WorkerCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::ConnectorOperation.WorkerSetting": { - "additionalProperties": false, - "properties": { - "Capacity": { - "$ref": "#/definitions/AWS::KafkaConnect::ConnectorOperation.CapacityDescription" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::CustomPlugin": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentType": { - "markdownDescription": "The format of the plugin file.", - "title": "ContentType", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the custom plugin.", - "title": "Description", - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin.CustomPluginLocation", - "markdownDescription": "Information about the location of the custom plugin.", - "title": "Location" - }, - "Name": { - "markdownDescription": "The name of the custom plugin.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ContentType", - "Location", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KafkaConnect::CustomPlugin" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KafkaConnect::CustomPlugin.CustomPluginFileDescription": { - "additionalProperties": false, - "properties": { - "FileMd5": { - "markdownDescription": "The hex-encoded MD5 checksum of the custom plugin file. You can use it to validate the file.", - "title": "FileMd5", - "type": "string" - }, - "FileSize": { - "markdownDescription": "The size in bytes of the custom plugin file. You can use it to validate the file.", - "title": "FileSize", - "type": "number" - } - }, - "type": "object" - }, - "AWS::KafkaConnect::CustomPlugin.CustomPluginLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin.S3Location", - "markdownDescription": "The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.", - "title": "S3Location" - } - }, - "required": [ - "S3Location" - ], - "type": "object" - }, - "AWS::KafkaConnect::CustomPlugin.S3Location": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an S3 bucket.", - "title": "BucketArn", - "type": "string" - }, - "FileKey": { - "markdownDescription": "The file key for an object in an S3 bucket.", - "title": "FileKey", - "type": "string" - }, - "ObjectVersion": { - "markdownDescription": "The version of an object in an S3 bucket.", - "title": "ObjectVersion", - "type": "string" - } - }, - "required": [ - "BucketArn", - "FileKey" - ], - "type": "object" - }, - "AWS::KafkaConnect::WorkerConfiguration": { + "AWS::KafkaConnect::CustomPlugin": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentType": { + "markdownDescription": "The format of the plugin file.", + "title": "ContentType", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the custom plugin.", + "title": "Description", + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin.CustomPluginLocation", + "markdownDescription": "Information about the location of the custom plugin.", + "title": "Location" + }, + "Name": { + "markdownDescription": "The name of the custom plugin.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ContentType", + "Location", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KafkaConnect::CustomPlugin" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KafkaConnect::CustomPlugin.CustomPluginFileDescription": { + "additionalProperties": false, + "properties": { + "FileMd5": { + "markdownDescription": "The hex-encoded MD5 checksum of the custom plugin file. You can use it to validate the file.", + "title": "FileMd5", + "type": "string" + }, + "FileSize": { + "markdownDescription": "The size in bytes of the custom plugin file. You can use it to validate the file.", + "title": "FileSize", + "type": "number" + } + }, + "type": "object" + }, + "AWS::KafkaConnect::CustomPlugin.CustomPluginLocation": { + "additionalProperties": false, + "properties": { + "S3Location": { + "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin.S3Location", + "markdownDescription": "The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.", + "title": "S3Location" + } + }, + "required": [ + "S3Location" + ], + "type": "object" + }, + "AWS::KafkaConnect::CustomPlugin.S3Location": { + "additionalProperties": false, + "properties": { + "BucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an S3 bucket.", + "title": "BucketArn", + "type": "string" + }, + "FileKey": { + "markdownDescription": "The file key for an object in an S3 bucket.", + "title": "FileKey", + "type": "string" + }, + "ObjectVersion": { + "markdownDescription": "The version of an object in an S3 bucket.", + "title": "ObjectVersion", + "type": "string" + } + }, + "required": [ + "BucketArn", + "FileKey" + ], + "type": "object" + }, + "AWS::KafkaConnect::WorkerConfiguration": { "additionalProperties": false, "properties": { "Condition": { @@ -205727,7 +188952,7 @@ }, "type": "object" }, - "AWS::Kendra::QuerySuggestionsBlockList": { + "AWS::KendraRanking::ExecutionPlan": { "additionalProperties": false, "properties": { "Condition": { @@ -205762,39 +188987,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "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" }, - "IndexId": { + "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" }, - "RoleArn": { - "type": "string" - }, - "SourceS3Path": { - "$ref": "#/definitions/AWS::Kendra::QuerySuggestionsBlockList.S3Path" - }, "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": [ - "IndexId", - "Name", - "RoleArn", - "SourceS3Path" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Kendra::QuerySuggestionsBlockList" + "AWS::KendraRanking::ExecutionPlan" ], "type": "string" }, @@ -205813,224 +189037,21 @@ ], "type": "object" }, - "AWS::Kendra::QuerySuggestionsBlockList.S3Path": { + "AWS::KendraRanking::ExecutionPlan.CapacityUnitsConfiguration": { "additionalProperties": false, "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" + "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": [ - "Bucket", - "Key" + "RescoreCapacityUnits" ], "type": "object" }, - "AWS::Kendra::Thesaurus": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "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::ResourcePolicy": { + "AWS::Kinesis::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -212509,67 +195530,6 @@ ], "type": "object" }, - "AWS::Lambda::DurableExecution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FunctionName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::DurableExecution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Lambda::EventInvokeConfig": { "additionalProperties": false, "properties": { @@ -213439,6 +196399,8 @@ "type": "string" }, "S3ObjectStorageMode": { + "markdownDescription": "Controls how Lambda stores the deployment package: `COPY` (Lambda copies the object to its own storage) or `REFERENCE` (Lambda references the object in your S3 bucket; the object must remain in place for the lifetime of the function).", + "title": "S3ObjectStorageMode", "type": "string" }, "S3ObjectVersion": { @@ -213478,9 +196440,6 @@ "title": "ExecutionTimeout", "type": "number" }, - "KMSKeyArn": { - "type": "string" - }, "RetentionPeriodInDays": { "markdownDescription": "The number of days to retain execution history after a durable execution completes. After this period, execution history is no longer available through the GetDurableExecutionHistory API.", "title": "RetentionPeriodInDays", @@ -213535,9 +196494,6 @@ "markdownDescription": "The path where the function can access the file system, starting with `/mnt/` .", "title": "LocalMountPath", "type": "string" - }, - "S3FilesConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.S3FilesConfig" } }, "required": [ @@ -213658,15 +196614,6 @@ ], "type": "object" }, - "AWS::Lambda::Function.S3FilesConfig": { - "additionalProperties": false, - "properties": { - "DirectS3Read": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Lambda::Function.SnapStart": { "additionalProperties": false, "properties": { @@ -213861,6 +196808,8 @@ "type": "string" }, "S3ObjectStorageMode": { + "markdownDescription": "Controls how Lambda stores the layer archive: `COPY` (Lambda copies the object to its own storage) or `REFERENCE` (Lambda references the object in your S3 bucket; the object must remain in place for the lifetime of the layer version).", + "title": "S3ObjectStorageMode", "type": "string" }, "S3ObjectVersion": { @@ -213959,7 +196908,7 @@ ], "type": "object" }, - "AWS::Lambda::MicrovmImage": { + "AWS::Lambda::Permission": { "additionalProperties": false, "properties": { "Condition": { @@ -213994,87 +196943,62 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalOsCapabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BaseImageArn": { + "Action": { + "markdownDescription": "The action that the principal can use on the function. For example, `lambda:InvokeFunction` or `lambda:GetFunction` .", + "title": "Action", "type": "string" }, - "BaseImageVersion": { + "EventSourceToken": { + "markdownDescription": "For Alexa Smart Home functions, a token that the invoker must supply.", + "title": "EventSourceToken", "type": "string" }, - "BuildRoleArn": { + "FunctionName": { + "markdownDescription": "The name or ARN of the Lambda function, version, or alias.\n\n**Name formats** - *Function name* \u2013 `my-function` (name-only), `my-function:v1` (with alias).\n- *Function ARN* \u2013 `arn:aws:lambda:us-west-2:123456789012:function:my-function` .\n- *Partial ARN* \u2013 `123456789012:function:my-function` .\n\nYou can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "title": "FunctionName", "type": "string" }, - "CodeArtifact": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.CodeArtifact" - }, - "CpuConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.CpuConfiguration" - }, - "type": "array" - }, - "Description": { + "FunctionUrlAuthType": { + "markdownDescription": "The type of authentication that your function URL uses. Set to `AWS_IAM` if you want to restrict access to authenticated users only. Set to `NONE` if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html) .", + "title": "FunctionUrlAuthType", "type": "string" }, - "EgressNetworkConnectors": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.EnvironmentVariable" - }, - "type": "array" - }, - "Hooks": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.Hooks" + "InvokedViaFunctionUrl": { + "markdownDescription": "Indicates whether the permission applies when the function is invoked through a function URL.", + "title": "InvokedViaFunctionUrl", + "type": "boolean" }, - "Logging": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.Logging" + "Principal": { + "markdownDescription": "The AWS service , AWS account , IAM user, or IAM role that invokes the function. If you specify a service, use `SourceArn` or `SourceAccount` to limit who can invoke the function through that service.", + "title": "Principal", + "type": "string" }, - "Name": { + "PrincipalOrgID": { + "markdownDescription": "The identifier for your organization in AWS Organizations . Use this to grant permissions to all the AWS accounts under this organization.", + "title": "PrincipalOrgID", "type": "string" }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.Resources" - }, - "type": "array" + "SourceAccount": { + "markdownDescription": "For AWS service , the ID of the AWS account that owns the resource. Use this together with `SourceArn` to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.", + "title": "SourceAccount", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "SourceArn": { + "markdownDescription": "For AWS services , the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.\n\nNote that Lambda configures the comparison using the `StringLike` operator.", + "title": "SourceArn", + "type": "string" } }, "required": [ - "AdditionalOsCapabilities", - "BaseImageArn", - "BaseImageVersion", - "BuildRoleArn", - "CodeArtifact", - "CpuConfigurations", - "Description", - "EgressNetworkConnectors", - "EnvironmentVariables", - "Hooks", - "Logging", - "Name", - "Resources" + "Action", + "FunctionName", + "Principal" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::MicrovmImage" + "AWS::Lambda::Permission" ], "type": "string" }, @@ -214093,146 +197017,7 @@ ], "type": "object" }, - "AWS::Lambda::MicrovmImage.CloudWatchLogging": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - }, - "LogStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.CodeArtifact": { - "additionalProperties": false, - "properties": { - "Uri": { - "type": "string" - } - }, - "required": [ - "Uri" - ], - "type": "object" - }, - "AWS::Lambda::MicrovmImage.CpuConfiguration": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - } - }, - "required": [ - "Architecture" - ], - "type": "object" - }, - "AWS::Lambda::MicrovmImage.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Lambda::MicrovmImage.Hooks": { - "additionalProperties": false, - "properties": { - "MicrovmHooks": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.MicrovmHooks" - }, - "MicrovmImageHooks": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.MicrovmImageHooks" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.Logging": { - "additionalProperties": false, - "properties": { - "CloudWatch": { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage.CloudWatchLogging" - }, - "Disabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.MicrovmHooks": { - "additionalProperties": false, - "properties": { - "Resume": { - "type": "string" - }, - "ResumeTimeoutInSeconds": { - "type": "number" - }, - "Run": { - "type": "string" - }, - "RunTimeoutInSeconds": { - "type": "number" - }, - "Suspend": { - "type": "string" - }, - "SuspendTimeoutInSeconds": { - "type": "number" - }, - "Terminate": { - "type": "string" - }, - "TerminateTimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.MicrovmImageHooks": { - "additionalProperties": false, - "properties": { - "Ready": { - "type": "string" - }, - "ReadyTimeoutInSeconds": { - "type": "number" - }, - "Validate": { - "type": "string" - }, - "ValidateTimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lambda::MicrovmImage.Resources": { - "additionalProperties": false, - "properties": { - "MinimumMemoryInMiB": { - "type": "number" - } - }, - "required": [ - "MinimumMemoryInMiB" - ], - "type": "object" - }, - "AWS::Lambda::NetworkConnector": { + "AWS::Lambda::Url": { "additionalProperties": false, "properties": { "Condition": { @@ -214267,30 +197052,41 @@ "Properties": { "additionalProperties": false, "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Lambda::NetworkConnector.Config" + "AuthType": { + "markdownDescription": "The type of authentication that your function URL uses. Set to `AWS_IAM` if you want to restrict access to authenticated users only. Set to `NONE` if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html) .", + "title": "AuthType", + "type": "string" }, - "Name": { + "Cors": { + "$ref": "#/definitions/AWS::Lambda::Url.Cors", + "markdownDescription": "The [Cross-Origin Resource Sharing (CORS)](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL.", + "title": "Cors" + }, + "InvokeMode": { + "markdownDescription": "Use one of the following options:\n\n- `BUFFERED` \u2013 This is the default option. Lambda invokes your function using the `Invoke` API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB.\n- `RESPONSE_STREAM` \u2013 Your function streams payload results as they become available. Lambda invokes your function using the `InvokeWithResponseStream` API operation. The maximum response payload size is 200 MB.", + "title": "InvokeMode", "type": "string" }, - "OperatorRole": { + "Qualifier": { + "markdownDescription": "The alias name.", + "title": "Qualifier", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "TargetFunctionArn": { + "markdownDescription": "The name of the Lambda function.\n\n**Name formats** - *Function name* - `my-function` .\n- *Function ARN* - `lambda: : :function:my-function` .\n- *Partial ARN* - `:function:my-function` .\n\nThe length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", + "title": "TargetFunctionArn", + "type": "string" } }, "required": [ - "Configuration" + "AuthType", + "TargetFunctionArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lambda::NetworkConnector" + "AWS::Lambda::Url" ], "type": "string" }, @@ -214309,364 +197105,55 @@ ], "type": "object" }, - "AWS::Lambda::NetworkConnector.Config": { - "additionalProperties": false, - "properties": { - "VpcEgressConfiguration": { - "$ref": "#/definitions/AWS::Lambda::NetworkConnector.VpcEgressConfiguration" - } - }, - "required": [ - "VpcEgressConfiguration" - ], - "type": "object" - }, - "AWS::Lambda::NetworkConnector.VpcEgressConfiguration": { + "AWS::Lambda::Url.Cors": { "additionalProperties": false, "properties": { - "AssociatedComputeResourceTypes": { + "AllowCredentials": { + "markdownDescription": "Whether you want to allow cookies or other credentials in requests to your function URL. The default is `false` .", + "title": "AllowCredentials", + "type": "boolean" + }, + "AllowHeaders": { "items": { "type": "string" }, + "markdownDescription": "The HTTP headers that origins can include in requests to your function URL. For example: `Date` , `Keep-Alive` , `X-Custom-Header` .", + "title": "AllowHeaders", "type": "array" }, - "NetworkProtocol": { - "type": "string" + "AllowMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "The HTTP methods that are allowed when calling your function URL. For example: `GET` , `POST` , `DELETE` , or the wildcard character ( `*` ).", + "title": "AllowMethods", + "type": "array" }, - "SecurityGroupIds": { + "AllowOrigins": { "items": { "type": "string" }, + "markdownDescription": "The origins that can access your function URL. You can list any number of specific origins, separated by a comma. For example: `https://www.example.com` , `http://localhost:60905` .\n\nAlternatively, you can grant access to all origins with the wildcard character ( `*` ).", + "title": "AllowOrigins", "type": "array" }, - "SubnetIds": { + "ExposeHeaders": { "items": { "type": "string" }, + "markdownDescription": "The HTTP headers in your function response that you want to expose to origins that call your function URL. For example: `Date` , `Keep-Alive` , `X-Custom-Header` .", + "title": "ExposeHeaders", "type": "array" + }, + "MaxAge": { + "markdownDescription": "The maximum amount of time, in seconds, that browsers can cache results of a preflight request. By default, this is set to `0` , which means the browser will not cache results.", + "title": "MaxAge", + "type": "number" } }, - "required": [ - "AssociatedComputeResourceTypes", - "SubnetIds" - ], "type": "object" }, - "AWS::Lambda::Permission": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 that the principal can use on the function. For example, `lambda:InvokeFunction` or `lambda:GetFunction` .", - "title": "Action", - "type": "string" - }, - "EventSourceToken": { - "markdownDescription": "For Alexa Smart Home functions, a token that the invoker must supply.", - "title": "EventSourceToken", - "type": "string" - }, - "FunctionName": { - "markdownDescription": "The name or ARN of the Lambda function, version, or alias.\n\n**Name formats** - *Function name* \u2013 `my-function` (name-only), `my-function:v1` (with alias).\n- *Function ARN* \u2013 `arn:aws:lambda:us-west-2:123456789012:function:my-function` .\n- *Partial ARN* \u2013 `123456789012:function:my-function` .\n\nYou can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", - "title": "FunctionName", - "type": "string" - }, - "FunctionUrlAuthType": { - "markdownDescription": "The type of authentication that your function URL uses. Set to `AWS_IAM` if you want to restrict access to authenticated users only. Set to `NONE` if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html) .", - "title": "FunctionUrlAuthType", - "type": "string" - }, - "InvokedViaFunctionUrl": { - "markdownDescription": "Indicates whether the permission applies when the function is invoked through a function URL.", - "title": "InvokedViaFunctionUrl", - "type": "boolean" - }, - "Principal": { - "markdownDescription": "The AWS service , AWS account , IAM user, or IAM role that invokes the function. If you specify a service, use `SourceArn` or `SourceAccount` to limit who can invoke the function through that service.", - "title": "Principal", - "type": "string" - }, - "PrincipalOrgID": { - "markdownDescription": "The identifier for your organization in AWS Organizations . Use this to grant permissions to all the AWS accounts under this organization.", - "title": "PrincipalOrgID", - "type": "string" - }, - "SourceAccount": { - "markdownDescription": "For AWS service , the ID of the AWS account that owns the resource. Use this together with `SourceArn` to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.", - "title": "SourceAccount", - "type": "string" - }, - "SourceArn": { - "markdownDescription": "For AWS services , the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.\n\nNote that Lambda configures the comparison using the `StringLike` operator.", - "title": "SourceArn", - "type": "string" - } - }, - "required": [ - "Action", - "FunctionName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Permission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::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": { - "PolicyDocument": { - "type": "object" - }, - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "ResourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Url": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "markdownDescription": "The type of authentication that your function URL uses. Set to `AWS_IAM` if you want to restrict access to authenticated users only. Set to `NONE` if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html) .", - "title": "AuthType", - "type": "string" - }, - "Cors": { - "$ref": "#/definitions/AWS::Lambda::Url.Cors", - "markdownDescription": "The [Cross-Origin Resource Sharing (CORS)](https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL.", - "title": "Cors" - }, - "InvokeMode": { - "markdownDescription": "Use one of the following options:\n\n- `BUFFERED` \u2013 This is the default option. Lambda invokes your function using the `Invoke` API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB.\n- `RESPONSE_STREAM` \u2013 Your function streams payload results as they become available. Lambda invokes your function using the `InvokeWithResponseStream` API operation. The maximum response payload size is 200 MB.", - "title": "InvokeMode", - "type": "string" - }, - "Qualifier": { - "markdownDescription": "The alias name.", - "title": "Qualifier", - "type": "string" - }, - "TargetFunctionArn": { - "markdownDescription": "The name of the Lambda function.\n\n**Name formats** - *Function name* - `my-function` .\n- *Function ARN* - `lambda: : :function:my-function` .\n- *Partial ARN* - `:function:my-function` .\n\nThe length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.", - "title": "TargetFunctionArn", - "type": "string" - } - }, - "required": [ - "AuthType", - "TargetFunctionArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Url" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Url.Cors": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "markdownDescription": "Whether you want to allow cookies or other credentials in requests to your function URL. The default is `false` .", - "title": "AllowCredentials", - "type": "boolean" - }, - "AllowHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "The HTTP headers that origins can include in requests to your function URL. For example: `Date` , `Keep-Alive` , `X-Custom-Header` .", - "title": "AllowHeaders", - "type": "array" - }, - "AllowMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "The HTTP methods that are allowed when calling your function URL. For example: `GET` , `POST` , `DELETE` , or the wildcard character ( `*` ).", - "title": "AllowMethods", - "type": "array" - }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "markdownDescription": "The origins that can access your function URL. You can list any number of specific origins, separated by a comma. For example: `https://www.example.com` , `http://localhost:60905` .\n\nAlternatively, you can grant access to all origins with the wildcard character ( `*` ).", - "title": "AllowOrigins", - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "The HTTP headers in your function response that you want to expose to origins that call your function URL. For example: `Date` , `Keep-Alive` , `X-Custom-Header` .", - "title": "ExposeHeaders", - "type": "array" - }, - "MaxAge": { - "markdownDescription": "The maximum amount of time, in seconds, that browsers can cache results of a preflight request. By default, this is set to `0` , which means the browser will not cache results.", - "title": "MaxAge", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lambda::Version": { + "AWS::Lambda::Version": { "additionalProperties": false, "properties": { "Condition": { @@ -214977,12 +197464,6 @@ "title": "BotLocales", "type": "array" }, - "BotMembers": { - "items": { - "$ref": "#/definitions/AWS::Lex::Bot.BotMember" - }, - "type": "array" - }, "BotTags": { "items": { "$ref": "#/definitions/Tag" @@ -214991,9 +197472,6 @@ "title": "BotTags", "type": "array" }, - "BotType": { - "type": "string" - }, "DataPrivacy": { "$ref": "#/definitions/AWS::Lex::Bot.DataPrivacy", "markdownDescription": "By default, data stored by Amazon Lex is encrypted. The `DataPrivacy` structure provides settings that determine how Amazon Lex handles special cases of securing the data for your bot.", @@ -215445,34 +197923,6 @@ ], "type": "object" }, - "AWS::Lex::Bot.BotMember": { - "additionalProperties": false, - "properties": { - "BotMemberAliasId": { - "type": "string" - }, - "BotMemberAliasName": { - "type": "string" - }, - "BotMemberId": { - "type": "string" - }, - "BotMemberName": { - "type": "string" - }, - "BotMemberVersion": { - "type": "string" - } - }, - "required": [ - "BotMemberAliasId", - "BotMemberAliasName", - "BotMemberId", - "BotMemberName", - "BotMemberVersion" - ], - "type": "object" - }, "AWS::Lex::Bot.BuildtimeSettings": { "additionalProperties": false, "properties": { @@ -218723,7 +201173,7 @@ ], "type": "object" }, - "AWS::LicenseManager::LicenseAssetRuleSet": { + "AWS::Lightsail::Alarm": { "additionalProperties": false, "properties": { "Condition": { @@ -218758,34 +201208,81 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "AlarmName": { + "markdownDescription": "The name of the alarm.", + "title": "AlarmName", "type": "string" }, - "Name": { + "ComparisonOperator": { + "markdownDescription": "The arithmetic operation to use when comparing the specified statistic and threshold.", + "title": "ComparisonOperator", "type": "string" }, - "Rules": { + "ContactProtocols": { "items": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.LicenseAssetRule" + "type": "string" }, + "markdownDescription": "The contact protocols for the alarm, such as `Email` , `SMS` (text messaging), or both.\n\n*Allowed Values* : `Email` | `SMS`", + "title": "ContactProtocols", "type": "array" }, - "Tags": { + "DatapointsToAlarm": { + "markdownDescription": "The number of data points within the evaluation periods that must be breaching to cause the alarm to go to the `ALARM` state.", + "title": "DatapointsToAlarm", + "type": "number" + }, + "EvaluationPeriods": { + "markdownDescription": "The number of periods over which data is compared to the specified threshold.", + "title": "EvaluationPeriods", + "type": "number" + }, + "MetricName": { + "markdownDescription": "The name of the metric associated with the alarm.", + "title": "MetricName", + "type": "string" + }, + "MonitoredResourceName": { + "markdownDescription": "The name of the Lightsail resource that the alarm monitors.", + "title": "MonitoredResourceName", + "type": "string" + }, + "NotificationEnabled": { + "markdownDescription": "A Boolean value indicating whether the alarm is enabled.", + "title": "NotificationEnabled", + "type": "boolean" + }, + "NotificationTriggers": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "The alarm states that trigger a notification.\n\n> To specify the `OK` and `INSUFFICIENT_DATA` values, you must also specify `ContactProtocols` values. Otherwise, the `OK` and `INSUFFICIENT_DATA` values will not take effect and the stack will drift. \n\n*Allowed Values* : `OK` | `ALARM` | `INSUFFICIENT_DATA`", + "title": "NotificationTriggers", "type": "array" + }, + "Threshold": { + "markdownDescription": "The value against which the specified statistic is compared.", + "title": "Threshold", + "type": "number" + }, + "TreatMissingData": { + "markdownDescription": "Specifies how the alarm handles missing data points.\n\nAn alarm can treat missing data in the following ways:\n\n- `breaching` - Assumes the missing data is not within the threshold. Missing data counts towards the number of times that the metric is not within the threshold.\n- `notBreaching` - Assumes the missing data is within the threshold. Missing data does not count towards the number of times that the metric is not within the threshold.\n- `ignore` - Ignores the missing data. Maintains the current alarm state.\n- `missing` - Missing data is treated as missing.", + "title": "TreatMissingData", + "type": "string" } }, "required": [ - "Name", - "Rules" + "AlarmName", + "ComparisonOperator", + "EvaluationPeriods", + "MetricName", + "MonitoredResourceName", + "Threshold" ], "type": "object" }, "Type": { "enum": [ - "AWS::LicenseManager::LicenseAssetRuleSet" + "AWS::Lightsail::Alarm" ], "type": "string" }, @@ -218804,126 +201301,7 @@ ], "type": "object" }, - "AWS::LicenseManager::LicenseAssetRuleSet.AndRuleStatement": { - "additionalProperties": false, - "properties": { - "MatchingRuleStatements": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.InstanceRuleStatement": { - "additionalProperties": false, - "properties": { - "AndRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.AndRuleStatement" - }, - "MatchingRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "OrRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.OrRuleStatement" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.LicenseAssetRule": { - "additionalProperties": false, - "properties": { - "RuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.RuleStatement" - } - }, - "required": [ - "RuleStatement" - ], - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.LicenseConfigurationRuleStatement": { - "additionalProperties": false, - "properties": { - "AndRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.AndRuleStatement" - }, - "MatchingRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "OrRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.OrRuleStatement" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.LicenseRuleStatement": { - "additionalProperties": false, - "properties": { - "AndRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.AndRuleStatement" - }, - "MatchingRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "OrRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.OrRuleStatement" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement": { - "additionalProperties": false, - "properties": { - "Constraint": { - "type": "string" - }, - "KeyToMatch": { - "type": "string" - }, - "ValueToMatch": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Constraint", - "KeyToMatch", - "ValueToMatch" - ], - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.OrRuleStatement": { - "additionalProperties": false, - "properties": { - "MatchingRuleStatements": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.MatchingRuleStatement" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::LicenseManager::LicenseAssetRuleSet.RuleStatement": { - "additionalProperties": false, - "properties": { - "InstanceRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.InstanceRuleStatement" - }, - "LicenseConfigurationRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.LicenseConfigurationRuleStatement" - }, - "LicenseRuleStatement": { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet.LicenseRuleStatement" - } - }, - "type": "object" - }, - "AWS::Lightsail::Alarm": { + "AWS::Lightsail::Bucket": { "additionalProperties": false, "properties": { "Condition": { @@ -218958,81 +201336,60 @@ "Properties": { "additionalProperties": false, "properties": { - "AlarmName": { - "markdownDescription": "The name of the alarm.", - "title": "AlarmName", + "AccessRules": { + "$ref": "#/definitions/AWS::Lightsail::Bucket.AccessRules", + "markdownDescription": "An object that describes the access rules for the bucket.", + "title": "AccessRules" + }, + "BucketName": { + "markdownDescription": "The name of the bucket.", + "title": "BucketName", "type": "string" }, - "ComparisonOperator": { - "markdownDescription": "The arithmetic operation to use when comparing the specified statistic and threshold.", - "title": "ComparisonOperator", + "BundleId": { + "markdownDescription": "The bundle ID for the bucket (for example, `small_1_0` ).\n\nA bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket.", + "title": "BundleId", "type": "string" }, - "ContactProtocols": { + "ObjectVersioning": { + "markdownDescription": "Indicates whether object versioning is enabled for the bucket.\n\nThe following options can be configured:\n\n- `Enabled` - Object versioning is enabled.\n- `Suspended` - Object versioning was previously enabled but is currently suspended. Existing object versions are retained.\n- `NeverEnabled` - Object versioning has never been enabled.", + "title": "ObjectVersioning", + "type": "boolean" + }, + "ReadOnlyAccessAccounts": { "items": { "type": "string" }, - "markdownDescription": "The contact protocols for the alarm, such as `Email` , `SMS` (text messaging), or both.\n\n*Allowed Values* : `Email` | `SMS`", - "title": "ContactProtocols", + "markdownDescription": "An array of AWS account IDs that have read-only access to the bucket.", + "title": "ReadOnlyAccessAccounts", "type": "array" }, - "DatapointsToAlarm": { - "markdownDescription": "The number of data points within the evaluation periods that must be breaching to cause the alarm to go to the `ALARM` state.", - "title": "DatapointsToAlarm", - "type": "number" - }, - "EvaluationPeriods": { - "markdownDescription": "The number of periods over which data is compared to the specified threshold.", - "title": "EvaluationPeriods", - "type": "number" - }, - "MetricName": { - "markdownDescription": "The name of the metric associated with the alarm.", - "title": "MetricName", - "type": "string" - }, - "MonitoredResourceName": { - "markdownDescription": "The name of the Lightsail resource that the alarm monitors.", - "title": "MonitoredResourceName", - "type": "string" - }, - "NotificationEnabled": { - "markdownDescription": "A Boolean value indicating whether the alarm is enabled.", - "title": "NotificationEnabled", - "type": "boolean" - }, - "NotificationTriggers": { + "ResourcesReceivingAccess": { "items": { "type": "string" }, - "markdownDescription": "The alarm states that trigger a notification.\n\n> To specify the `OK` and `INSUFFICIENT_DATA` values, you must also specify `ContactProtocols` values. Otherwise, the `OK` and `INSUFFICIENT_DATA` values will not take effect and the stack will drift. \n\n*Allowed Values* : `OK` | `ALARM` | `INSUFFICIENT_DATA`", - "title": "NotificationTriggers", + "markdownDescription": "An array of Lightsail instances that have access to the bucket.", + "title": "ResourcesReceivingAccess", "type": "array" }, - "Threshold": { - "markdownDescription": "The value against which the specified statistic is compared.", - "title": "Threshold", - "type": "number" - }, - "TreatMissingData": { - "markdownDescription": "Specifies how the alarm handles missing data points.\n\nAn alarm can treat missing data in the following ways:\n\n- `breaching` - Assumes the missing data is not within the threshold. Missing data counts towards the number of times that the metric is not within the threshold.\n- `notBreaching` - Assumes the missing data is within the threshold. Missing data does not count towards the number of times that the metric is not within the threshold.\n- `ignore` - Ignores the missing data. Maintains the current alarm state.\n- `missing` - Missing data is treated as missing.", - "title": "TreatMissingData", - "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) in the *AWS CloudFormation User Guide* .\n\n> The `Value` of `Tags` is optional for Lightsail resources.", + "title": "Tags", + "type": "array" } }, "required": [ - "AlarmName", - "ComparisonOperator", - "EvaluationPeriods", - "MetricName", - "MonitoredResourceName", - "Threshold" + "BucketName", + "BundleId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Lightsail::Alarm" + "AWS::Lightsail::Bucket" ], "type": "string" }, @@ -219051,130 +201408,23 @@ ], "type": "object" }, - "AWS::Lightsail::Bucket": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessRules": { - "$ref": "#/definitions/AWS::Lightsail::Bucket.AccessRules", - "markdownDescription": "An object that describes the access rules for the bucket.", - "title": "AccessRules" - }, - "BucketName": { - "markdownDescription": "The name of the bucket.", - "title": "BucketName", - "type": "string" - }, - "BundleId": { - "markdownDescription": "The bundle ID for the bucket (for example, `small_1_0` ).\n\nA bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket.", - "title": "BundleId", - "type": "string" - }, - "ObjectVersioning": { - "markdownDescription": "Indicates whether object versioning is enabled for the bucket.\n\nThe following options can be configured:\n\n- `Enabled` - Object versioning is enabled.\n- `Suspended` - Object versioning was previously enabled but is currently suspended. Existing object versions are retained.\n- `NeverEnabled` - Object versioning has never been enabled.", - "title": "ObjectVersioning", - "type": "boolean" - }, - "ReadOnlyAccessAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of AWS account IDs that have read-only access to the bucket.", - "title": "ReadOnlyAccessAccounts", - "type": "array" - }, - "ResourcesReceivingAccess": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of Lightsail instances that have access to the bucket.", - "title": "ResourcesReceivingAccess", - "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) in the *AWS CloudFormation User Guide* .\n\n> The `Value` of `Tags` is optional for Lightsail resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "BucketName", - "BundleId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lightsail::Bucket.AccessRules": { - "additionalProperties": false, - "properties": { - "AllowPublicOverrides": { - "markdownDescription": "A Boolean value indicating whether the access control list (ACL) permissions that are applied to individual objects override the `GetObject` option that is currently specified.\n\nWhen this is true, you can use the [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) Amazon S3 API operation to set individual objects to public (read-only) or private, using either the `public-read` ACL or the `private` ACL.", - "title": "AllowPublicOverrides", - "type": "boolean" - }, - "GetObject": { - "markdownDescription": "Specifies the anonymous access to all objects in a bucket.\n\nThe following options can be specified:\n\n- `public` - Sets all objects in the bucket to public (read-only), making them readable by everyone on the internet.\n\nIf the `GetObject` value is set to `public` , then all objects in the bucket default to public regardless of the `allowPublicOverrides` value.\n- `private` - Sets all objects in the bucket to private, making them readable only by you and anyone that you grant access to.\n\nIf the `GetObject` value is set to `private` , and the `allowPublicOverrides` value is set to `true` , then all objects in the bucket default to private unless they are configured with a `public-read` ACL. Individual objects with a `public-read` ACL are readable by everyone on the internet.", - "title": "GetObject", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::Certificate": { + "AWS::Lightsail::Bucket.AccessRules": { + "additionalProperties": false, + "properties": { + "AllowPublicOverrides": { + "markdownDescription": "A Boolean value indicating whether the access control list (ACL) permissions that are applied to individual objects override the `GetObject` option that is currently specified.\n\nWhen this is true, you can use the [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) Amazon S3 API operation to set individual objects to public (read-only) or private, using either the `public-read` ACL or the `private` ACL.", + "title": "AllowPublicOverrides", + "type": "boolean" + }, + "GetObject": { + "markdownDescription": "Specifies the anonymous access to all objects in a bucket.\n\nThe following options can be specified:\n\n- `public` - Sets all objects in the bucket to public (read-only), making them readable by everyone on the internet.\n\nIf the `GetObject` value is set to `public` , then all objects in the bucket default to public regardless of the `allowPublicOverrides` value.\n- `private` - Sets all objects in the bucket to private, making them readable only by you and anyone that you grant access to.\n\nIf the `GetObject` value is set to `private` , and the `allowPublicOverrides` value is set to `true` , then all objects in the bucket default to private unless they are configured with a `public-read` ACL. Individual objects with a `public-read` ACL are readable by everyone on the internet.", + "title": "GetObject", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lightsail::Certificate": { "additionalProperties": false, "properties": { "Condition": { @@ -219263,75 +201513,6 @@ ], "type": "object" }, - "AWS::Lightsail::ContactMethod": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactEndpoint": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "ContactEndpoint", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lightsail::ContactMethod" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Lightsail::Container": { "additionalProperties": false, "properties": { @@ -220570,147 +202751,6 @@ }, "type": "object" }, - "AWS::Lightsail::ExportSnapshotRecord": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Lightsail::ExportSnapshotRecord" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.DestinationInfo": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Service": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.DiskInfo": { - "additionalProperties": false, - "properties": { - "IsSystemDisk": { - "type": "boolean" - }, - "Path": { - "type": "string" - }, - "SizeInGb": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.ExportSnapshotRecordSourceInfo": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedAt": { - "type": "string" - }, - "FromResourceArn": { - "type": "string" - }, - "FromResourceName": { - "type": "string" - }, - "InstanceSnapshotInfo": { - "$ref": "#/definitions/AWS::Lightsail::ExportSnapshotRecord.InstanceSnapshotInfo" - }, - "Name": { - "type": "string" - }, - "ResourceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.InstanceSnapshotInfo": { - "additionalProperties": false, - "properties": { - "FromBlueprintId": { - "type": "string" - }, - "FromBundleId": { - "type": "string" - }, - "FromDiskInfo": { - "items": { - "$ref": "#/definitions/AWS::Lightsail::ExportSnapshotRecord.DiskInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lightsail::ExportSnapshotRecord.ResourceLocation": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "RegionName": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Lightsail::Instance": { "additionalProperties": false, "properties": { @@ -221730,148 +203770,6 @@ ], "type": "object" }, - "AWS::Location::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": { - "Action": { - "type": "string" - }, - "ActionOptions": { - "$ref": "#/definitions/AWS::Location::Job.JobActionOptions" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "InputOptions": { - "$ref": "#/definitions/AWS::Location::Job.JobInputOptions" - }, - "Name": { - "type": "string" - }, - "OutputOptions": { - "$ref": "#/definitions/AWS::Location::Job.JobOutputOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Action", - "ExecutionRoleArn", - "InputOptions", - "OutputOptions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Job.JobActionOptions": { - "additionalProperties": false, - "properties": { - "ValidateAddress": { - "$ref": "#/definitions/AWS::Location::Job.ValidateAddressActionOptions" - } - }, - "type": "object" - }, - "AWS::Location::Job.JobInputOptions": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - } - }, - "required": [ - "Format", - "Location" - ], - "type": "object" - }, - "AWS::Location::Job.JobOutputOptions": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - } - }, - "required": [ - "Format", - "Location" - ], - "type": "object" - }, - "AWS::Location::Job.ValidateAddressActionOptions": { - "additionalProperties": false, - "properties": { - "AdditionalFeatures": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::Location::Map": { "additionalProperties": false, "properties": { @@ -223766,71 +205664,6 @@ ], "type": "object" }, - "AWS::Logs::StorageTierPolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StorageTier": { - "type": "string" - } - }, - "required": [ - "StorageTier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::StorageTierPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Logs::SubscriptionFilter": { "additionalProperties": false, "properties": { @@ -225468,7 +207301,7 @@ }, "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition": { + "AWS::MPA::ApprovalTeam": { "additionalProperties": false, "properties": { "Condition": { @@ -225503,54 +207336,58 @@ "Properties": { "additionalProperties": false, "properties": { + "ApprovalStrategy": { + "$ref": "#/definitions/AWS::MPA::ApprovalTeam.ApprovalStrategy", + "markdownDescription": "Contains details for how an approval team grants approval.", + "title": "ApprovalStrategy" + }, + "Approvers": { + "items": { + "$ref": "#/definitions/AWS::MPA::ApprovalTeam.Approver" + }, + "markdownDescription": "Contains details for an approver.", + "title": "Approvers", + "type": "array" + }, "Description": { + "markdownDescription": "Description for the team.", + "title": "Description", "type": "string" }, "Name": { + "markdownDescription": "Name of the team.", + "title": "Name", "type": "string" }, - "ScopeTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SourceConfigurations": { + "Policies": { "items": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceConfiguration" + "$ref": "#/definitions/AWS::MPA::ApprovalTeam.Policy" }, + "markdownDescription": "Contains details for a policy. Policies define what operations a team that define the permissions for team resources.", + "title": "Policies", "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Tags that you have added to the specified resource.", + "title": "Tags", "type": "array" - }, - "TargetDeployment": { - "type": "string" - }, - "TargetNetwork": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetNetwork" - }, - "TargetS3Configuration": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration" } }, "required": [ + "ApprovalStrategy", + "Approvers", + "Description", "Name", - "SourceConfigurations", - "TargetNetwork", - "TargetS3Configuration" + "Policies" ], "type": "object" }, "Type": { "enum": [ - "AWS::MGN::NetworkMigrationDefinition" + "AWS::MPA::ApprovalTeam" ], "type": "string" }, @@ -225569,262 +207406,84 @@ ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.SourceConfiguration": { + "AWS::MPA::ApprovalTeam.ApprovalStrategy": { "additionalProperties": false, "properties": { - "SourceEnvironment": { - "type": "string" - }, - "SourceS3Configuration": { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration" + "MofN": { + "$ref": "#/definitions/AWS::MPA::ApprovalTeam.MofNApprovalStrategy", + "markdownDescription": "Minimum number of approvals (M) required for a total number of approvers (N).", + "title": "MofN" } }, "required": [ - "SourceEnvironment", - "SourceS3Configuration" + "MofN" ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.SourceS3Configuration": { + "AWS::MPA::ApprovalTeam.Approver": { "additionalProperties": false, "properties": { - "S3Bucket": { + "ApproverId": { + "markdownDescription": "ID for the approver.", + "title": "ApproverId", "type": "string" }, - "S3BucketOwner": { + "PrimaryIdentityId": { + "markdownDescription": "ID for the user.", + "title": "PrimaryIdentityId", "type": "string" }, - "S3Key": { + "PrimaryIdentitySourceArn": { + "markdownDescription": "Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.", + "title": "PrimaryIdentitySourceArn", + "type": "string" + }, + "PrimaryIdentityStatus": { + "markdownDescription": "Status for the identity source. For example, if an approver has accepted a team invitation with a user authentication method managed by the identity source.", + "title": "PrimaryIdentityStatus", + "type": "string" + }, + "ResponseTime": { + "markdownDescription": "Timestamp when the approver responded to an approval team invitation.", + "title": "ResponseTime", "type": "string" } }, "required": [ - "S3Bucket", - "S3BucketOwner", - "S3Key" + "PrimaryIdentityId", + "PrimaryIdentitySourceArn" ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.TargetNetwork": { + "AWS::MPA::ApprovalTeam.MofNApprovalStrategy": { "additionalProperties": false, "properties": { - "InboundCidr": { - "type": "string" - }, - "InspectionCidr": { - "type": "string" - }, - "OutboundCidr": { - "type": "string" - }, - "Topology": { - "type": "string" + "MinApprovalsRequired": { + "markdownDescription": "Minimum number of approvals (M) required for a total number of approvers (N).", + "title": "MinApprovalsRequired", + "type": "number" } }, "required": [ - "Topology" + "MinApprovalsRequired" ], "type": "object" }, - "AWS::MGN::NetworkMigrationDefinition.TargetS3Configuration": { + "AWS::MPA::ApprovalTeam.Policy": { "additionalProperties": false, "properties": { - "S3Bucket": { - "type": "string" - }, - "S3BucketOwner": { + "PolicyArn": { + "markdownDescription": "", + "title": "PolicyArn", "type": "string" } }, "required": [ - "S3Bucket", - "S3BucketOwner" + "PolicyArn" ], "type": "object" }, - "AWS::MPA::ApprovalTeam": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApprovalStrategy": { - "$ref": "#/definitions/AWS::MPA::ApprovalTeam.ApprovalStrategy", - "markdownDescription": "Contains details for how an approval team grants approval.", - "title": "ApprovalStrategy" - }, - "Approvers": { - "items": { - "$ref": "#/definitions/AWS::MPA::ApprovalTeam.Approver" - }, - "markdownDescription": "Contains details for an approver.", - "title": "Approvers", - "type": "array" - }, - "Description": { - "markdownDescription": "Description for the team.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "Name of the team.", - "title": "Name", - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::MPA::ApprovalTeam.Policy" - }, - "markdownDescription": "Contains details for a policy. Policies define what operations a team that define the permissions for team resources.", - "title": "Policies", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags that you have added to the specified resource.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ApprovalStrategy", - "Approvers", - "Description", - "Name", - "Policies" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MPA::ApprovalTeam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MPA::ApprovalTeam.ApprovalStrategy": { - "additionalProperties": false, - "properties": { - "MofN": { - "$ref": "#/definitions/AWS::MPA::ApprovalTeam.MofNApprovalStrategy", - "markdownDescription": "Minimum number of approvals (M) required for a total number of approvers (N).", - "title": "MofN" - } - }, - "required": [ - "MofN" - ], - "type": "object" - }, - "AWS::MPA::ApprovalTeam.Approver": { - "additionalProperties": false, - "properties": { - "ApproverId": { - "markdownDescription": "ID for the approver.", - "title": "ApproverId", - "type": "string" - }, - "PrimaryIdentityId": { - "markdownDescription": "ID for the user.", - "title": "PrimaryIdentityId", - "type": "string" - }, - "PrimaryIdentitySourceArn": { - "markdownDescription": "Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.", - "title": "PrimaryIdentitySourceArn", - "type": "string" - }, - "PrimaryIdentityStatus": { - "markdownDescription": "Status for the identity source. For example, if an approver has accepted a team invitation with a user authentication method managed by the identity source.", - "title": "PrimaryIdentityStatus", - "type": "string" - }, - "ResponseTime": { - "markdownDescription": "Timestamp when the approver responded to an approval team invitation.", - "title": "ResponseTime", - "type": "string" - } - }, - "required": [ - "PrimaryIdentityId", - "PrimaryIdentitySourceArn" - ], - "type": "object" - }, - "AWS::MPA::ApprovalTeam.MofNApprovalStrategy": { - "additionalProperties": false, - "properties": { - "MinApprovalsRequired": { - "markdownDescription": "Minimum number of approvals (M) required for a total number of approvers (N).", - "title": "MinApprovalsRequired", - "type": "number" - } - }, - "required": [ - "MinApprovalsRequired" - ], - "type": "object" - }, - "AWS::MPA::ApprovalTeam.Policy": { - "additionalProperties": false, - "properties": { - "PolicyArn": { - "markdownDescription": "", - "title": "PolicyArn", - "type": "string" - } - }, - "required": [ - "PolicyArn" - ], - "type": "object" - }, - "AWS::MPA::IdentitySource": { + "AWS::MPA::IdentitySource": { "additionalProperties": false, "properties": { "Condition": { @@ -226013,429 +207672,6 @@ ], "type": "object" }, - "AWS::MSK::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" - }, - "ClusterArn": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::MSK::Channel.EncryptionConfiguration" - }, - "IcebergDestinationConfiguration": { - "$ref": "#/definitions/AWS::MSK::Channel.IcebergDestinationConfiguration" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Channel.ChannelLoggingInfo" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::MSK::Channel.S3DestinationConfiguration" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TopicConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::MSK::Channel.TopicConfiguration" - }, - "type": "array" - } - }, - "required": [ - "ChannelName", - "TopicConfigurationList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MSK::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Channel.Catalog": { - "additionalProperties": false, - "properties": { - "CatalogArn": { - "type": "string" - }, - "WarehouseLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MSK::Channel.ChannelLoggingInfo": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Channel.CloudWatchLogsLogDestination" - }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Channel.FirehoseLogDestination" - }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Channel.S3LogDestination" - } - }, - "type": "object" - }, - "AWS::MSK::Channel.ChannelStateInfo": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MSK::Channel.CloudWatchLogsLogDestination": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Channel.DeadLetterQueueS3": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "type": "string" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "ExpectedBucketOwner": { - "type": "string" - } - }, - "required": [ - "BucketArn", - "ErrorOutputPrefix" - ], - "type": "object" - }, - "AWS::MSK::Channel.DestinationTable": { - "additionalProperties": false, - "properties": { - "DestinationDatabaseName": { - "type": "string" - }, - "DestinationTableName": { - "type": "string" - }, - "PartitionSpec": { - "$ref": "#/definitions/AWS::MSK::Channel.PartitionSpec" - } - }, - "required": [ - "DestinationDatabaseName", - "DestinationTableName" - ], - "type": "object" - }, - "AWS::MSK::Channel.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - } - }, - "required": [ - "KmsKeyArn" - ], - "type": "object" - }, - "AWS::MSK::Channel.FirehoseLogDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Channel.IcebergDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "AppendOnly": { - "type": "boolean" - }, - "Catalog": { - "$ref": "#/definitions/AWS::MSK::Channel.Catalog" - }, - "CompressionType": { - "type": "string" - }, - "DataFreshnessInSeconds": { - "type": "number" - }, - "DeadLetterQueueS3": { - "$ref": "#/definitions/AWS::MSK::Channel.DeadLetterQueueS3" - }, - "DestinationTableList": { - "items": { - "$ref": "#/definitions/AWS::MSK::Channel.DestinationTable" - }, - "type": "array" - }, - "SchemaEvolution": { - "$ref": "#/definitions/AWS::MSK::Channel.SchemaEvolution" - }, - "ServiceExecutionRoleArn": { - "type": "string" - }, - "TableCreation": { - "$ref": "#/definitions/AWS::MSK::Channel.TableCreation" - } - }, - "required": [ - "AppendOnly", - "DeadLetterQueueS3", - "DestinationTableList", - "SchemaEvolution", - "ServiceExecutionRoleArn", - "TableCreation" - ], - "type": "object" - }, - "AWS::MSK::Channel.PartitionSource": { - "additionalProperties": false, - "properties": { - "SourceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MSK::Channel.PartitionSpec": { - "additionalProperties": false, - "properties": { - "PartitionStrategy": { - "type": "string" - }, - "SourceList": { - "items": { - "$ref": "#/definitions/AWS::MSK::Channel.PartitionSource" - }, - "type": "array" - } - }, - "required": [ - "PartitionStrategy" - ], - "type": "object" - }, - "AWS::MSK::Channel.RecordConverter": { - "additionalProperties": false, - "properties": { - "ValueConverter": { - "type": "string" - } - }, - "required": [ - "ValueConverter" - ], - "type": "object" - }, - "AWS::MSK::Channel.RecordSchema": { - "additionalProperties": false, - "properties": { - "GsrArn": { - "type": "string" - } - }, - "required": [ - "GsrArn" - ], - "type": "object" - }, - "AWS::MSK::Channel.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "DataFreshnessInSeconds": { - "type": "number" - }, - "DeadLetterQueueS3": { - "$ref": "#/definitions/AWS::MSK::Channel.DeadLetterQueueS3" - }, - "ServiceExecutionRoleArn": { - "type": "string" - }, - "Storage": { - "$ref": "#/definitions/AWS::MSK::Channel.S3Storage" - } - }, - "required": [ - "DeadLetterQueueS3", - "ServiceExecutionRoleArn", - "Storage" - ], - "type": "object" - }, - "AWS::MSK::Channel.S3LogDestination": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Channel.S3Storage": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "ExpectedBucketOwner": { - "type": "string" - }, - "OutputKeyTemplate": { - "type": "string" - }, - "OutputPrefix": { - "type": "string" - }, - "StorageClass": { - "type": "string" - } - }, - "required": [ - "BucketArn", - "CompressionType", - "StorageClass" - ], - "type": "object" - }, - "AWS::MSK::Channel.SchemaEvolution": { - "additionalProperties": false, - "properties": { - "EnableSchemaEvolution": { - "type": "boolean" - } - }, - "required": [ - "EnableSchemaEvolution" - ], - "type": "object" - }, - "AWS::MSK::Channel.TableCreation": { - "additionalProperties": false, - "properties": { - "EnableTableCreation": { - "type": "boolean" - } - }, - "required": [ - "EnableTableCreation" - ], - "type": "object" - }, - "AWS::MSK::Channel.TopicConfiguration": { - "additionalProperties": false, - "properties": { - "RecordConverter": { - "$ref": "#/definitions/AWS::MSK::Channel.RecordConverter" - }, - "RecordSchema": { - "$ref": "#/definitions/AWS::MSK::Channel.RecordSchema" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "RecordConverter", - "TopicArn" - ], - "type": "object" - }, "AWS::MSK::Cluster": { "additionalProperties": false, "properties": { @@ -226575,21 +207811,6 @@ ], "type": "object" }, - "AWS::MSK::Cluster.AuthorizerLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" - }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" - }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, "AWS::MSK::Cluster.BrokerLogs": { "additionalProperties": false, "properties": { @@ -226850,15 +208071,15 @@ "AWS::MSK::Cluster.LoggingInfo": { "additionalProperties": false, "properties": { - "AuthorizerLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.AuthorizerLogs" - }, "BrokerLogs": { "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs", "markdownDescription": "You can configure your MSK cluster to send broker logs to different destination types. This configuration specifies the details of these destinations.", "title": "BrokerLogs" } }, + "required": [ + "BrokerLogs" + ], "type": "object" }, "AWS::MSK::Cluster.NodeExporter": { @@ -227556,16 +208777,13 @@ "AWS::MSK::Replicator.KafkaClusterClientAuthentication": { "additionalProperties": false, "properties": { - "MTLS": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterMtlsAuthentication" - }, - "SaslOAuthBearer": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterSaslOAuthBearerAuthentication" - }, "SaslScram": { "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterSaslScramAuthentication" } }, + "required": [ + "SaslScram" + ], "type": "object" }, "AWS::MSK::Replicator.KafkaClusterClientVpcConfig": { @@ -227608,99 +208826,6 @@ ], "type": "object" }, - "AWS::MSK::Replicator.KafkaClusterMtlsAuthentication": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::MSK::Replicator.KafkaClusterOAuthClientCredentials": { - "additionalProperties": false, - "properties": { - "TokenRequestSecretArn": { - "type": "string" - } - }, - "required": [ - "TokenRequestSecretArn" - ], - "type": "object" - }, - "AWS::MSK::Replicator.KafkaClusterOAuthClientCredentialsAssertion": { - "additionalProperties": false, - "properties": { - "Audience": { - "type": "string" - }, - "SigningAlgorithm": { - "type": "string" - }, - "TokenRequestSecretArn": { - "type": "string" - } - }, - "required": [ - "Audience", - "SigningAlgorithm" - ], - "type": "object" - }, - "AWS::MSK::Replicator.KafkaClusterOAuthIamJwtBearer": { - "additionalProperties": false, - "properties": { - "Audience": { - "type": "string" - }, - "SigningAlgorithm": { - "type": "string" - }, - "TokenRequestSecretArn": { - "type": "string" - } - }, - "required": [ - "Audience", - "SigningAlgorithm" - ], - "type": "object" - }, - "AWS::MSK::Replicator.KafkaClusterSaslOAuthBearerAuthentication": { - "additionalProperties": false, - "properties": { - "ClientCredentials": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterOAuthClientCredentials" - }, - "ClientCredentialsAssertion": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterOAuthClientCredentialsAssertion" - }, - "IamJwtBearer": { - "$ref": "#/definitions/AWS::MSK::Replicator.KafkaClusterOAuthIamJwtBearer" - }, - "Scope": { - "type": "string" - }, - "TokenEndpointAuthenticationMethod": { - "type": "string" - }, - "TokenEndpointTlsCertificateArn": { - "type": "string" - }, - "TokenEndpointUrl": { - "type": "string" - } - }, - "required": [ - "TokenEndpointAuthenticationMethod", - "TokenEndpointUrl" - ], - "type": "object" - }, "AWS::MSK::Replicator.KafkaClusterSaslScramAuthentication": { "additionalProperties": false, "properties": { @@ -228522,9 +209647,6 @@ "Properties": { "additionalProperties": false, "properties": { - "Code": { - "$ref": "#/definitions/AWS::MWAAServerless::Workflow.Code" - }, "DefinitionS3Location": { "$ref": "#/definitions/AWS::MWAAServerless::Workflow.S3Location" }, @@ -228586,34 +209708,6 @@ ], "type": "object" }, - "AWS::MWAAServerless::Workflow.Code": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::MWAAServerless::Workflow.CodeS3Location" - } - }, - "type": "object" - }, - "AWS::MWAAServerless::Workflow.CodeS3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "ObjectKey": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "required": [ - "Bucket", - "ObjectKey" - ], - "type": "object" - }, "AWS::MWAAServerless::Workflow.EncryptionConfiguration": { "additionalProperties": false, "properties": { @@ -228687,7 +209781,7 @@ }, "type": "object" }, - "AWS::Macie2::ClassificationJob": { + "AWS::Macie::AllowList": { "additionalProperties": false, "properties": { "Condition": { @@ -228722,47 +209816,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InitialRun": { - "type": "boolean" - }, - "JobType": { - "type": "string" + "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" }, - "ManagedDataIdentifierSelector": { + "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" }, - "S3JobDefinition": { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob.S3JobDefinition" - }, - "SamplingPercentage": { - "type": "number" - }, - "ScheduleFrequency": { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob.JobScheduleFrequency" - }, "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": [ - "JobType", - "Name", - "S3JobDefinition" + "Criteria", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Macie2::ClassificationJob" + "AWS::Macie::AllowList" ], "type": "string" }, @@ -228781,288 +209867,150 @@ ], "type": "object" }, - "AWS::Macie2::ClassificationJob.JobScheduleFrequency": { + "AWS::Macie::AllowList.Criteria": { "additionalProperties": false, "properties": { - "WeeklySchedule": { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob.WeeklySchedule" + "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::Macie2::ClassificationJob.S3BucketDefinitionForJob": { + "AWS::Macie::AllowList.S3WordsList": { "additionalProperties": false, "properties": { - "AccountId": { + "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" }, - "Buckets": { - "items": { - "type": "string" - }, - "type": "array" + "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": [ - "AccountId", - "Buckets" + "BucketName", + "ObjectKey" ], "type": "object" }, - "AWS::Macie2::ClassificationJob.S3JobDefinition": { + "AWS::Macie::CustomDataIdentifier": { "additionalProperties": false, "properties": { - "BucketDefinitions": { - "items": { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob.S3BucketDefinitionForJob" - }, - "type": "array" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Scoping": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" - } - }, - "type": "object" - }, - "AWS::Macie2::ClassificationJob.WeeklySchedule": { - "additionalProperties": false, - "properties": { - "DayOfWeek": { + }, + "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::AllowList": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "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" - }, - "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": { + "AWS::Macie::FindingsFilter": { "additionalProperties": false, "properties": { "Condition": { @@ -232062,150 +213010,6 @@ ], "type": "object" }, - "AWS::MediaConnect::Offering": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::MediaConnect::Offering" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaConnect::Offering.ResourceSpecification": { - "additionalProperties": false, - "properties": { - "ReservedBitrate": { - "type": "number" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, - "AWS::MediaConnect::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::MediaConnect::Reservation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaConnect::Reservation.ResourceSpecification": { - "additionalProperties": false, - "properties": { - "ReservedBitrate": { - "type": "number" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "ResourceType" - ], - "type": "object" - }, "AWS::MediaConnect::RouterInput": { "additionalProperties": false, "properties": { @@ -232251,9 +213055,6 @@ "markdownDescription": "", "title": "Configuration" }, - "ContentQualityAnalysisConfiguration": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.RouterContentQualityAnalysisConfiguration" - }, "MaintenanceConfiguration": { "$ref": "#/definitions/AWS::MediaConnect::RouterInput.MaintenanceConfiguration", "markdownDescription": "The maintenance configuration settings applied to this router input.", @@ -232328,37 +213129,6 @@ ], "type": "object" }, - "AWS::MediaConnect::RouterInput.BlackFramesConfiguration": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - }, - "ThresholdSeconds": { - "type": "number" - } - }, - "required": [ - "State", - "ThresholdSeconds" - ], - "type": "object" - }, - "AWS::MediaConnect::RouterInput.ContentQualityAnalysisFeatureConfiguration": { - "additionalProperties": false, - "properties": { - "BlackFrames": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.BlackFramesConfiguration" - }, - "FrozenFrames": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.FrozenFramesConfiguration" - }, - "SilentAudio": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.SilentAudioConfiguration" - } - }, - "type": "object" - }, "AWS::MediaConnect::RouterInput.FailoverRouterInputConfiguration": { "additionalProperties": false, "properties": { @@ -232454,22 +213224,6 @@ }, "type": "object" }, - "AWS::MediaConnect::RouterInput.FrozenFramesConfiguration": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - }, - "ThresholdSeconds": { - "type": "number" - } - }, - "required": [ - "State", - "ThresholdSeconds" - ], - "type": "object" - }, "AWS::MediaConnect::RouterInput.MaintenanceConfiguration": { "additionalProperties": false, "properties": { @@ -232643,18 +213397,6 @@ ], "type": "object" }, - "AWS::MediaConnect::RouterInput.RouterContentQualityAnalysisConfiguration": { - "additionalProperties": false, - "properties": { - "ContentLevel": { - "$ref": "#/definitions/AWS::MediaConnect::RouterInput.ContentQualityAnalysisFeatureConfiguration" - } - }, - "required": [ - "ContentLevel" - ], - "type": "object" - }, "AWS::MediaConnect::RouterInput.RouterInputConfiguration": { "additionalProperties": false, "properties": { @@ -232784,22 +213526,6 @@ ], "type": "object" }, - "AWS::MediaConnect::RouterInput.SilentAudioConfiguration": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - }, - "ThresholdSeconds": { - "type": "number" - } - }, - "required": [ - "State", - "ThresholdSeconds" - ], - "type": "object" - }, "AWS::MediaConnect::RouterInput.SrtCallerRouterInputConfiguration": { "additionalProperties": false, "properties": { @@ -238539,21 +219265,6 @@ }, "type": "object" }, - "AWS::MediaLive::Channel.NielsenNwOnly": { - "additionalProperties": false, - "properties": { - "CheckDigitString": { - "type": "string" - }, - "Sid": { - "type": "number" - }, - "Timezone": { - "type": "string" - } - }, - "type": "object" - }, "AWS::MediaLive::Channel.NielsenWatermarksSettings": { "additionalProperties": false, "properties": { @@ -238571,9 +219282,6 @@ "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenNaesIiNw", "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" } }, "type": "object" @@ -238691,9 +219399,6 @@ "markdownDescription": "The user name to connect to the downstream system. This applies only if the downstream system requires credentials.", "title": "Username", "type": "string" - }, - "VirtualSourceAddress": { - "type": "string" } }, "type": "object" @@ -241456,212 +222161,6 @@ }, "type": "object" }, - "AWS::MediaLive::Node": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NodeInterfaceMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Node.NodeInterfaceMapping" - }, - "type": "array" - }, - "Role": { - "type": "string" - }, - "SdiSourceMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Node.SdiSourceMapping" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ClusterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Node" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaLive::Node.NodeInterfaceMapping": { - "additionalProperties": false, - "properties": { - "LogicalInterfaceName": { - "type": "string" - }, - "NetworkInterfaceMode": { - "type": "string" - }, - "PhysicalInterfaceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Node.SdiSourceMapping": { - "additionalProperties": false, - "properties": { - "CardNumber": { - "type": "number" - }, - "ChannelNumber": { - "type": "number" - }, - "SdiSource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Offering": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Offering" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Offering.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": { @@ -242236,107 +222735,6 @@ }, "type": "object" }, - "AWS::MediaPackage::HarvestJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Id": { - "type": "string" - }, - "OriginEndpointId": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::MediaPackage::HarvestJob.S3Destination" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "Id", - "OriginEndpointId", - "S3Destination", - "StartTime" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::HarvestJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::HarvestJob.S3Destination": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "ManifestKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "ManifestKey", - "RoleArn" - ], - "type": "object" - }, "AWS::MediaPackage::OriginEndpoint": { "additionalProperties": false, "properties": { @@ -243603,9 +224001,6 @@ "markdownDescription": "The settings for what common media server data (CMSD) headers AWS Elemental MediaPackage includes in responses to the CDN.", "title": "OutputHeaderConfiguration" }, - "OutputLockingMode": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" @@ -243844,207 +224239,6 @@ ], "type": "object" }, - "AWS::MediaPackageV2::HarvestJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelGroupName": { - "type": "string" - }, - "ChannelName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.Destination" - }, - "HarvestJobName": { - "type": "string" - }, - "HarvestedManifests": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvestedManifests" - }, - "OriginEndpointName": { - "type": "string" - }, - "ScheduleConfiguration": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvesterScheduleConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelGroupName", - "ChannelName", - "Destination", - "HarvestedManifests", - "OriginEndpointName", - "ScheduleConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackageV2::HarvestJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.Destination": { - "additionalProperties": false, - "properties": { - "S3Destination": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.S3DestinationConfig" - } - }, - "required": [ - "S3Destination" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvestedDashManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - } - }, - "required": [ - "ManifestName" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvestedHlsManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - } - }, - "required": [ - "ManifestName" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvestedLowLatencyHlsManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - } - }, - "required": [ - "ManifestName" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvestedManifests": { - "additionalProperties": false, - "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvestedDashManifest" - }, - "type": "array" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvestedHlsManifest" - }, - "type": "array" - }, - "LowLatencyHlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob.HarvestedLowLatencyHlsManifest" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.HarvesterScheduleConfiguration": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::MediaPackageV2::HarvestJob.S3DestinationConfig": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "DestinationPath": { - "type": "string" - } - }, - "required": [ - "BucketName", - "DestinationPath" - ], - "type": "object" - }, "AWS::MediaPackageV2::OriginEndpoint": { "additionalProperties": false, "properties": { @@ -244810,9 +225004,6 @@ "title": "IncludeIframeOnlyStreams", "type": "boolean" }, - "OutputTimestampMode": { - "type": "string" - }, "Scte": { "$ref": "#/definitions/AWS::MediaPackageV2::OriginEndpoint.Scte", "markdownDescription": "The SCTE-35 configuration associated with the segment.", @@ -245515,203 +225706,6 @@ ], "type": "object" }, - "AWS::MediaTailor::Function": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomOutputConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::Function.CustomOutputConfiguration" - }, - "Description": { - "type": "string" - }, - "FunctionId": { - "type": "string" - }, - "FunctionType": { - "type": "string" - }, - "HttpRequestConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::Function.HttpRequestConfiguration" - }, - "SequentialExecutorConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::Function.SequentialExecutorConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FunctionId", - "FunctionType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaTailor::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaTailor::Function.CustomOutputConfiguration": { - "additionalProperties": false, - "properties": { - "Output": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Runtime": { - "type": "string" - } - }, - "required": [ - "Runtime" - ], - "type": "object" - }, - "AWS::MediaTailor::Function.FunctionRef": { - "additionalProperties": false, - "properties": { - "FunctionId": { - "type": "string" - }, - "RunCondition": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::Function.HttpRequestConfiguration": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "Headers": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MethodType": { - "type": "string" - }, - "Output": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestTimeoutMilliseconds": { - "type": "number" - }, - "Runtime": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "MethodType", - "RequestTimeoutMilliseconds", - "Runtime", - "Url" - ], - "type": "object" - }, - "AWS::MediaTailor::Function.SequentialExecutorConfiguration": { - "additionalProperties": false, - "properties": { - "FunctionList": { - "items": { - "$ref": "#/definitions/AWS::MediaTailor::Function.FunctionRef" - }, - "type": "array" - }, - "Output": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Runtime": { - "type": "string" - }, - "TimeoutMilliseconds": { - "type": "number" - } - }, - "required": [ - "FunctionList", - "Runtime", - "TimeoutMilliseconds" - ], - "type": "object" - }, "AWS::MediaTailor::LiveSource": { "additionalProperties": false, "properties": { @@ -245878,12 +225872,6 @@ "title": "AdDecisionServerUrl", "type": "string" }, - "AdsPersonalizationConcurrency": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdsPersonalizationConcurrency" - }, - "AdsPersonalizationTimeouts": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AdsPersonalizationTimeouts" - }, "AvailSuppression": { "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.AvailSuppression", "markdownDescription": "The configuration for avail suppression, also known as ad suppression. For more information about ad suppression, see [Ad Suppression](https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html) .", @@ -246032,9 +226020,6 @@ "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.HttpRequest", "markdownDescription": "", "title": "HttpRequest" - }, - "VastResponse": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.VastResponse" } }, "required": [ @@ -246075,39 +226060,6 @@ }, "type": "object" }, - "AWS::MediaTailor::PlaybackConfiguration.AdsPersonalizationConcurrency": { - "additionalProperties": false, - "properties": { - "EnableVodVastParallelization": { - "type": "boolean" - }, - "MaxConcurrentAdsRequests": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaTailor::PlaybackConfiguration.AdsPersonalizationTimeouts": { - "additionalProperties": false, - "properties": { - "AdsRequestTimeoutMilliseconds": { - "type": "number" - }, - "LiveMaximumAdsPersonalizationTimeMilliseconds": { - "type": "number" - }, - "PrefetchAdsRequestTimeoutMilliseconds": { - "type": "number" - }, - "PrefetchMaximumAdsPersonalizationTimeMilliseconds": { - "type": "number" - }, - "VodMaximumAdsPersonalizationTimeMilliseconds": { - "type": "number" - } - }, - "type": "object" - }, "AWS::MediaTailor::PlaybackConfiguration.AvailSuppression": { "additionalProperties": false, "properties": { @@ -246228,9 +226180,6 @@ "AWS::MediaTailor::PlaybackConfiguration.LivePreRollConfiguration": { "additionalProperties": false, "properties": { - "AdDecisionServerConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.PreRollAdDecisionServerConfiguration" - }, "AdDecisionServerUrl": { "markdownDescription": "The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.", "title": "AdDecisionServerUrl", @@ -246301,457 +226250,184 @@ }, "type": "object" }, - "AWS::MediaTailor::PlaybackConfiguration.PreRollAdDecisionServerConfiguration": { + "AWS::MediaTailor::SourceLocation": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.AccessConfiguration", + "markdownDescription": "The access configuration for the source location.", + "title": "AccessConfiguration" + }, + "DefaultSegmentDeliveryConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.DefaultSegmentDeliveryConfiguration", + "markdownDescription": "The default segment delivery configuration.", + "title": "DefaultSegmentDeliveryConfiguration" + }, + "HttpConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.HttpConfiguration", + "markdownDescription": "The HTTP configuration for the source location.", + "title": "HttpConfiguration" + }, + "SegmentDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.SegmentDeliveryConfiguration" + }, + "markdownDescription": "The segment delivery configurations for the source location.", + "title": "SegmentDeliveryConfigurations", + "type": "array" + }, + "SourceLocationName": { + "markdownDescription": "The name of the source location.", + "title": "SourceLocationName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the source location. Tags are key-value pairs that you can associate with Amazon resources to help with organization, access control, and cost tracking. For more information, see [Tagging AWS Elemental MediaTailor Resources](https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "HttpConfiguration", + "SourceLocationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaTailor::SourceLocation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaTailor::SourceLocation.AccessConfiguration": { "additionalProperties": false, "properties": { - "VastResponse": { - "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration.PreRollVastResponse" + "AccessType": { + "markdownDescription": "The type of authentication used to access content from `HttpConfiguration::BaseUrl` on your source location. Accepted value: `S3_SIGV4` .\n\n`S3_SIGV4` - AWS Signature Version 4 authentication for Amazon S3 hosted virtual-style access. If your source location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature Version 4 (SigV4) authentication to access the bucket where your source content is stored. Your MediaTailor source location baseURL must follow the S3 virtual hosted-style request URL format. For example, https://bucket-name.s3.Region.amazonaws.com/key-name.\n\nBefore you can use `S3_SIGV4` , you must meet these requirements:\n\n\u2022 You must allow MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com principal access in IAM. For information about configuring access in IAM, see Access management in the IAM User Guide.\n\n\u2022 The mediatailor.amazonaws.com service principal must have permissions to read all top level manifests referenced by the VodSource packaging configurations.\n\n\u2022 The caller of the API must have s3:GetObject IAM permissions to read all top level manifests referenced by your MediaTailor VodSource packaging configurations.", + "title": "AccessType", + "type": "string" + }, + "SecretsManagerAccessTokenConfiguration": { + "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.SecretsManagerAccessTokenConfiguration", + "markdownDescription": "AWS Secrets Manager access token configuration parameters.", + "title": "SecretsManagerAccessTokenConfiguration" } }, "type": "object" }, - "AWS::MediaTailor::PlaybackConfiguration.PreRollVastResponse": { + "AWS::MediaTailor::SourceLocation.DefaultSegmentDeliveryConfiguration": { "additionalProperties": false, "properties": { - "AdSequencingMode": { + "BaseUrl": { + "markdownDescription": "The hostname of the server that will be used to serve segments. This string must include the protocol, such as *https://* .", + "title": "BaseUrl", "type": "string" } }, "type": "object" }, - "AWS::MediaTailor::PlaybackConfiguration.VastResponse": { + "AWS::MediaTailor::SourceLocation.HttpConfiguration": { "additionalProperties": false, "properties": { - "AdSequencingMode": { + "BaseUrl": { + "markdownDescription": "The base URL for the source location host server. This string must include the protocol, such as *https://* .", + "title": "BaseUrl", + "type": "string" + } + }, + "required": [ + "BaseUrl" + ], + "type": "object" + }, + "AWS::MediaTailor::SourceLocation.SecretsManagerAccessTokenConfiguration": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "markdownDescription": "The name of the HTTP header used to supply the access token in requests to the source location.", + "title": "HeaderName", + "type": "string" + }, + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the access token.", + "title": "SecretArn", + "type": "string" + }, + "SecretStringKey": { + "markdownDescription": "The AWS Secrets Manager [SecretString](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html#SecretsManager-CreateSecret-request-SecretString.html) key associated with the access token. MediaTailor uses the key to look up SecretString key and value pair containing the access token.", + "title": "SecretStringKey", + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaTailor::SourceLocation.SegmentDeliveryConfiguration": { + "additionalProperties": false, + "properties": { + "BaseUrl": { + "markdownDescription": "The base URL of the host or path of the segment delivery server that you're using to serve segments. This is typically a content delivery network (CDN). The URL can be absolute or relative. To use an absolute URL include the protocol, such as `https://example.com/some/path` . To use a relative URL specify the relative path, such as `/some/path*` .", + "title": "BaseUrl", + "type": "string" + }, + "Name": { + "markdownDescription": "A unique identifier used to distinguish between multiple segment delivery configurations in a source location.", + "title": "Name", "type": "string" } }, "type": "object" }, - "AWS::MediaTailor::PrefetchSchedule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Consumption": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.PrefetchConsumption" - }, - "Name": { - "type": "string" - }, - "PlaybackConfigurationName": { - "type": "string" - }, - "RecurringPrefetchConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.RecurringPrefetchConfiguration" - }, - "Retrieval": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.PrefetchRetrieval" - }, - "ScheduleType": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "PlaybackConfigurationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaTailor::PrefetchSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.AvailMatchingCriteria": { - "additionalProperties": false, - "properties": { - "DynamicVariable": { - "type": "string" - }, - "Operator": { - "type": "string" - } - }, - "required": [ - "DynamicVariable", - "Operator" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.PrefetchConsumption": { - "additionalProperties": false, - "properties": { - "AvailMatchingCriteria": { - "items": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.AvailMatchingCriteria" - }, - "type": "array" - }, - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.PrefetchRetrieval": { - "additionalProperties": false, - "properties": { - "DynamicVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "TrafficShapingRetrievalWindow": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.TrafficShapingRetrievalWindow" - }, - "TrafficShapingTpsConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.TrafficShapingTpsConfiguration" - }, - "TrafficShapingType": { - "type": "string" - } - }, - "required": [ - "EndTime" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.RecurringConsumption": { - "additionalProperties": false, - "properties": { - "AvailMatchingCriteria": { - "items": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.AvailMatchingCriteria" - }, - "type": "array" - }, - "RetrievedAdExpirationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.RecurringPrefetchConfiguration": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "RecurringConsumption": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.RecurringConsumption" - }, - "RecurringRetrieval": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.RecurringRetrieval" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "RecurringConsumption", - "RecurringRetrieval" - ], - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.RecurringRetrieval": { - "additionalProperties": false, - "properties": { - "DelayAfterAvailEndSeconds": { - "type": "number" - }, - "DynamicVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TrafficShapingRetrievalWindow": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.TrafficShapingRetrievalWindow" - }, - "TrafficShapingTpsConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule.TrafficShapingTpsConfiguration" - }, - "TrafficShapingType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.TrafficShapingRetrievalWindow": { - "additionalProperties": false, - "properties": { - "RetrievalWindowDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaTailor::PrefetchSchedule.TrafficShapingTpsConfiguration": { - "additionalProperties": false, - "properties": { - "PeakConcurrentUsers": { - "type": "number" - }, - "PeakTps": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaTailor::SourceLocation": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.AccessConfiguration", - "markdownDescription": "The access configuration for the source location.", - "title": "AccessConfiguration" - }, - "DefaultSegmentDeliveryConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.DefaultSegmentDeliveryConfiguration", - "markdownDescription": "The default segment delivery configuration.", - "title": "DefaultSegmentDeliveryConfiguration" - }, - "HttpConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.HttpConfiguration", - "markdownDescription": "The HTTP configuration for the source location.", - "title": "HttpConfiguration" - }, - "SegmentDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.SegmentDeliveryConfiguration" - }, - "markdownDescription": "The segment delivery configurations for the source location.", - "title": "SegmentDeliveryConfigurations", - "type": "array" - }, - "SourceLocationName": { - "markdownDescription": "The name of the source location.", - "title": "SourceLocationName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the source location. Tags are key-value pairs that you can associate with Amazon resources to help with organization, access control, and cost tracking. For more information, see [Tagging AWS Elemental MediaTailor Resources](https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html) .", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "HttpConfiguration", - "SourceLocationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaTailor::SourceLocation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.AccessConfiguration": { - "additionalProperties": false, - "properties": { - "AccessType": { - "markdownDescription": "The type of authentication used to access content from `HttpConfiguration::BaseUrl` on your source location. Accepted value: `S3_SIGV4` .\n\n`S3_SIGV4` - AWS Signature Version 4 authentication for Amazon S3 hosted virtual-style access. If your source location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature Version 4 (SigV4) authentication to access the bucket where your source content is stored. Your MediaTailor source location baseURL must follow the S3 virtual hosted-style request URL format. For example, https://bucket-name.s3.Region.amazonaws.com/key-name.\n\nBefore you can use `S3_SIGV4` , you must meet these requirements:\n\n\u2022 You must allow MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com principal access in IAM. For information about configuring access in IAM, see Access management in the IAM User Guide.\n\n\u2022 The mediatailor.amazonaws.com service principal must have permissions to read all top level manifests referenced by the VodSource packaging configurations.\n\n\u2022 The caller of the API must have s3:GetObject IAM permissions to read all top level manifests referenced by your MediaTailor VodSource packaging configurations.", - "title": "AccessType", - "type": "string" - }, - "SecretsManagerAccessTokenConfiguration": { - "$ref": "#/definitions/AWS::MediaTailor::SourceLocation.SecretsManagerAccessTokenConfiguration", - "markdownDescription": "AWS Secrets Manager access token configuration parameters.", - "title": "SecretsManagerAccessTokenConfiguration" - } - }, - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.DefaultSegmentDeliveryConfiguration": { - "additionalProperties": false, - "properties": { - "BaseUrl": { - "markdownDescription": "The hostname of the server that will be used to serve segments. This string must include the protocol, such as *https://* .", - "title": "BaseUrl", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.HttpConfiguration": { - "additionalProperties": false, - "properties": { - "BaseUrl": { - "markdownDescription": "The base URL for the source location host server. This string must include the protocol, such as *https://* .", - "title": "BaseUrl", - "type": "string" - } - }, - "required": [ - "BaseUrl" - ], - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.SecretsManagerAccessTokenConfiguration": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "markdownDescription": "The name of the HTTP header used to supply the access token in requests to the source location.", - "title": "HeaderName", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the access token.", - "title": "SecretArn", - "type": "string" - }, - "SecretStringKey": { - "markdownDescription": "The AWS Secrets Manager [SecretString](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html#SecretsManager-CreateSecret-request-SecretString.html) key associated with the access token. MediaTailor uses the key to look up SecretString key and value pair containing the access token.", - "title": "SecretStringKey", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::SourceLocation.SegmentDeliveryConfiguration": { - "additionalProperties": false, - "properties": { - "BaseUrl": { - "markdownDescription": "The base URL of the host or path of the segment delivery server that you're using to serve segments. This is typically a content delivery network (CDN). The URL can be absolute or relative. To use an absolute URL include the protocol, such as `https://example.com/some/path` . To use a relative URL specify the relative path, such as `/some/path*` .", - "title": "BaseUrl", - "type": "string" - }, - "Name": { - "markdownDescription": "A unique identifier used to distinguish between multiple segment delivery configurations in a source location.", - "title": "Name", - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaTailor::VodSource": { + "AWS::MediaTailor::VodSource": { "additionalProperties": false, "properties": { "Condition": { @@ -246867,67 +226543,6 @@ ], "type": "object" }, - "AWS::MedicalImaging::ImageSet": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatastoreId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MedicalImaging::ImageSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::MemoryDB::ACL": { "additionalProperties": false, "properties": { @@ -247360,63 +226975,6 @@ ], "type": "object" }, - "AWS::MemoryDB::MultiRegionParameterGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MemoryDB::MultiRegionParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::MemoryDB::ParameterGroup": { "additionalProperties": false, "properties": { @@ -247508,75 +227066,6 @@ ], "type": "object" }, - "AWS::MemoryDB::ReservedNode": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MemoryDB::ReservedNode" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MemoryDB::ReservedNode.RecurringCharge": { - "additionalProperties": false, - "properties": { - "RecurringChargeAmount": { - "type": "number" - }, - "RecurringChargeFrequency": { - "type": "string" - } - }, - "type": "object" - }, "AWS::MemoryDB::SubnetGroup": { "additionalProperties": false, "properties": { @@ -248594,153 +228083,6 @@ ], "type": "object" }, - "AWS::NeptuneGraph::ExportTask": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "type": "string" - }, - "ExportFilter": { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask.ExportFilter" - }, - "Format": { - "type": "string" - }, - "GraphIdentifier": { - "type": "string" - }, - "KmsKeyIdentifier": { - "type": "string" - }, - "ParquetType": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Destination", - "Format", - "GraphIdentifier", - "KmsKeyIdentifier", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NeptuneGraph::ExportTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NeptuneGraph::ExportTask.ExportFilter": { - "additionalProperties": false, - "properties": { - "EdgeFilter": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask.ExportFilterElement" - } - }, - "type": "object" - }, - "VertexFilter": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask.ExportFilterElement" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::NeptuneGraph::ExportTask.ExportFilterElement": { - "additionalProperties": false, - "properties": { - "Properties": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask.ExportFilterPropertyAttributes" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::NeptuneGraph::ExportTask.ExportFilterPropertyAttributes": { - "additionalProperties": false, - "properties": { - "MultiValueHandling": { - "type": "string" - }, - "OutputType": { - "type": "string" - }, - "SourcePropertyName": { - "type": "string" - } - }, - "type": "object" - }, "AWS::NeptuneGraph::Graph": { "additionalProperties": false, "properties": { @@ -250665,125 +230007,6 @@ ], "type": "object" }, - "AWS::NetworkFlowMonitor::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": { - "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::NetworkManager::ConnectAttachment": { "additionalProperties": false, "properties": { @@ -253593,78 +232816,6 @@ ], "type": "object" }, - "AWS::NovaAct::WorkflowRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "ModelId": { - "type": "string" - }, - "WorkflowDefinitionName": { - "type": "string" - } - }, - "required": [ - "ModelId", - "WorkflowDefinitionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NovaAct::WorkflowRun" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::ODB::CloudAutonomousVmCluster": { "additionalProperties": false, "properties": { @@ -255081,67 +234232,6 @@ ], "type": "object" }, - "AWS::OSIS::PipelineBlueprint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BlueprintName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OSIS::PipelineBlueprint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Oam::Link": { "additionalProperties": false, "properties": { @@ -255525,9 +234615,6 @@ "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationCentralizationRule.LogsEncryptionConfiguration", "markdownDescription": "The encryption configuration for centralization destination log groups.", "title": "LogsEncryptionConfiguration" - }, - "TagPropagationConfiguration": { - "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationCentralizationRule.TagPropagationConfiguration" } }, "type": "object" @@ -255580,9 +234667,6 @@ "title": "EncryptionConflictResolutionStrategy", "type": "string" }, - "EncryptionScope": { - "type": "string" - }, "EncryptionStrategy": { "markdownDescription": "Configuration that determines the encryption strategy of the destination log groups. CUSTOMER_MANAGED uses the configured KmsKeyArn to encrypt newly created destination log groups.", "title": "EncryptionStrategy", @@ -255642,21 +234726,6 @@ }, "type": "object" }, - "AWS::ObservabilityAdmin::OrganizationCentralizationRule.TagPropagationConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationRoleArn": { - "type": "string" - }, - "TagConflictResolutionStrategy": { - "type": "string" - } - }, - "required": [ - "DestinationRoleArn" - ], - "type": "object" - }, "AWS::ObservabilityAdmin::OrganizationTelemetryRule": { "additionalProperties": false, "properties": { @@ -256023,9 +235092,6 @@ "markdownDescription": "Configuration parameters specific to ELB load balancer logging when ELB is the resource type.", "title": "ELBLoadBalancerLoggingParameters" }, - "KmsKeyArn": { - "type": "string" - }, "LogDeliveryParameters": { "$ref": "#/definitions/AWS::ObservabilityAdmin::OrganizationTelemetryRule.LogDeliveryParameters" }, @@ -256867,9 +235933,6 @@ "markdownDescription": "Configuration parameters specific to ELB load balancer logging when ELB is the resource type.", "title": "ELBLoadBalancerLoggingParameters" }, - "KmsKeyArn": { - "type": "string" - }, "LogDeliveryParameters": { "$ref": "#/definitions/AWS::ObservabilityAdmin::TelemetryRule.LogDeliveryParameters", "markdownDescription": "Configuration parameters specific to Amazon Bedrock AgentCore logging when Amazon Bedrock AgentCore is the resource type.", @@ -257274,7 +236337,7 @@ }, "type": "object" }, - "AWS::Omics::ReadSet": { + "AWS::Omics::ReferenceStore": { "additionalProperties": false, "properties": { "Condition": { @@ -257310,32 +236373,40 @@ "additionalProperties": false, "properties": { "Description": { - "type": "string" - }, - "FileType": { + "markdownDescription": "A description for the store.", + "title": "Description", "type": "string" }, "Name": { + "markdownDescription": "A name for the store.", + "title": "Name", "type": "string" }, - "ReferenceArn": { - "type": "string" - }, - "SampleId": { - "type": "string" - }, - "SequenceStoreId": { - "type": "string" + "SseConfig": { + "$ref": "#/definitions/AWS::Omics::ReferenceStore.SseConfig", + "markdownDescription": "Server-side encryption (SSE) settings for the store.", + "title": "SseConfig" }, - "SubjectId": { - "type": "string" + "Tags": { + "additionalProperties": true, + "markdownDescription": "Tags for the store.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" } }, + "required": [ + "Name" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Omics::ReadSet" + "AWS::Omics::ReferenceStore" ], "type": "string" }, @@ -257349,86 +236420,31 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Omics::ReadSet.ETag": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "Source1": { - "type": "string" - }, - "Source2": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Omics::ReadSet.FileInformation": { - "additionalProperties": false, - "properties": { - "ContentLength": { - "type": "number" - }, - "PartSize": { - "type": "number" - }, - "S3Access": { - "$ref": "#/definitions/AWS::Omics::ReadSet.ReadSetS3Access" - }, - "TotalParts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Omics::ReadSet.ReadSetFiles": { - "additionalProperties": false, - "properties": { - "Index": { - "$ref": "#/definitions/AWS::Omics::ReadSet.FileInformation" - }, - "Source1": { - "$ref": "#/definitions/AWS::Omics::ReadSet.FileInformation" - }, - "Source2": { - "$ref": "#/definitions/AWS::Omics::ReadSet.FileInformation" - } - }, - "type": "object" - }, - "AWS::Omics::ReadSet.ReadSetS3Access": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Omics::ReadSet.SequenceInformation": { + "AWS::Omics::ReferenceStore.SseConfig": { "additionalProperties": false, "properties": { - "Alignment": { + "KeyArn": { + "markdownDescription": "An encryption key ARN.", + "title": "KeyArn", "type": "string" }, - "GeneratedFrom": { + "Type": { + "markdownDescription": "The encryption type.", + "title": "Type", "type": "string" - }, - "TotalBaseCount": { - "type": "number" - }, - "TotalReadCount": { - "type": "number" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::Omics::Reference": { + "AWS::Omics::RunGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -257463,27 +236479,48 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "MaxCpus": { + "markdownDescription": "The group's maximum CPU count setting.", + "title": "MaxCpus", + "type": "number" }, - "Name": { - "type": "string" + "MaxDuration": { + "markdownDescription": "The group's maximum duration setting in minutes.", + "title": "MaxDuration", + "type": "number" + }, + "MaxGpus": { + "markdownDescription": "The maximum GPUs that can be used by a run group.", + "title": "MaxGpus", + "type": "number" + }, + "MaxRuns": { + "markdownDescription": "The group's maximum concurrent run setting.", + "title": "MaxRuns", + "type": "number" }, - "ReferenceStoreId": { + "Name": { + "markdownDescription": "The group's name.", + "title": "Name", "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/AWS::Omics::Reference.TagsItems" + "additionalProperties": true, + "markdownDescription": "Tags for the group.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "Tags", + "type": "object" } }, "type": "object" }, "Type": { "enum": [ - "AWS::Omics::Reference" + "AWS::Omics::RunGroup" ], "type": "string" }, @@ -257501,23 +236538,7 @@ ], "type": "object" }, - "AWS::Omics::Reference.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Omics::ReferenceStore": { + "AWS::Omics::SequenceStore": { "additionalProperties": false, "properties": { "Condition": { @@ -257552,18 +236573,46 @@ "Properties": { "additionalProperties": false, "properties": { + "AccessLogLocation": { + "markdownDescription": "Location of the access logs.", + "title": "AccessLogLocation", + "type": "string" + }, "Description": { "markdownDescription": "A description for the store.", "title": "Description", "type": "string" }, + "ETagAlgorithmFamily": { + "markdownDescription": "The algorithm family of the ETag.", + "title": "ETagAlgorithmFamily", + "type": "string" + }, + "FallbackLocation": { + "markdownDescription": "An S3 location that is used to store files that have failed a direct upload.", + "title": "FallbackLocation", + "type": "string" + }, "Name": { "markdownDescription": "A name for the store.", "title": "Name", "type": "string" }, + "PropagatedSetLevelTags": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "PropagatedSetLevelTags", + "type": "array" + }, + "S3AccessPolicy": { + "markdownDescription": "", + "title": "S3AccessPolicy", + "type": "object" + }, "SseConfig": { - "$ref": "#/definitions/AWS::Omics::ReferenceStore.SseConfig", + "$ref": "#/definitions/AWS::Omics::SequenceStore.SseConfig", "markdownDescription": "Server-side encryption (SSE) settings for the store.", "title": "SseConfig" }, @@ -257586,7 +236635,7 @@ }, "Type": { "enum": [ - "AWS::Omics::ReferenceStore" + "AWS::Omics::SequenceStore" ], "type": "string" }, @@ -257605,7 +236654,7 @@ ], "type": "object" }, - "AWS::Omics::ReferenceStore.SseConfig": { + "AWS::Omics::SequenceStore.SseConfig": { "additionalProperties": false, "properties": { "KeyArn": { @@ -257624,490 +236673,7 @@ ], "type": "object" }, - "AWS::Omics::Run": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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::RunCache": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheBehavior": { - "type": "string" - }, - "CacheBucketOwnerId": { - "type": "string" - }, - "CacheS3Location": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Omics::RunCache" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Omics::RunGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MaxCpus": { - "markdownDescription": "The group's maximum CPU count setting.", - "title": "MaxCpus", - "type": "number" - }, - "MaxDuration": { - "markdownDescription": "The group's maximum duration setting in minutes.", - "title": "MaxDuration", - "type": "number" - }, - "MaxGpus": { - "markdownDescription": "The maximum GPUs that can be used by a run group.", - "title": "MaxGpus", - "type": "number" - }, - "MaxRuns": { - "markdownDescription": "The group's maximum concurrent run setting.", - "title": "MaxRuns", - "type": "number" - }, - "Name": { - "markdownDescription": "The group's name.", - "title": "Name", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags for the group.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Omics::RunGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Omics::SequenceStore": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogLocation": { - "markdownDescription": "Location of the access logs.", - "title": "AccessLogLocation", - "type": "string" - }, - "Description": { - "markdownDescription": "A description for the store.", - "title": "Description", - "type": "string" - }, - "ETagAlgorithmFamily": { - "markdownDescription": "The algorithm family of the ETag.", - "title": "ETagAlgorithmFamily", - "type": "string" - }, - "FallbackLocation": { - "markdownDescription": "An S3 location that is used to store files that have failed a direct upload.", - "title": "FallbackLocation", - "type": "string" - }, - "Name": { - "markdownDescription": "A name for the store.", - "title": "Name", - "type": "string" - }, - "PropagatedSetLevelTags": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "PropagatedSetLevelTags", - "type": "array" - }, - "S3AccessPolicy": { - "markdownDescription": "", - "title": "S3AccessPolicy", - "type": "object" - }, - "SseConfig": { - "$ref": "#/definitions/AWS::Omics::SequenceStore.SseConfig", - "markdownDescription": "Server-side encryption (SSE) settings for the store.", - "title": "SseConfig" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags for the store.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Omics::SequenceStore" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Omics::SequenceStore.SseConfig": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "markdownDescription": "An encryption key ARN.", - "title": "KeyArn", - "type": "string" - }, - "Type": { - "markdownDescription": "The encryption type.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Omics::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": { - "RunId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Omics::Task" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Omics::VariantStore": { + "AWS::Omics::VariantStore": { "additionalProperties": false, "properties": { "Condition": { @@ -258814,103 +237380,6 @@ }, "type": "object" }, - "AWS::OpenSearch::DataSource": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSourceType": { - "$ref": "#/definitions/AWS::OpenSearch::DataSource.DataSourceType" - }, - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DataSourceType", - "DomainName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpenSearch::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpenSearch::DataSource.DataSourceType": { - "additionalProperties": false, - "properties": { - "S3GlueDataCatalog": { - "$ref": "#/definitions/AWS::OpenSearch::DataSource.S3GlueDataCatalog" - } - }, - "type": "object" - }, - "AWS::OpenSearch::DataSource.S3GlueDataCatalog": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, "AWS::OpenSearchServerless::AccessPolicy": { "additionalProperties": false, "properties": { @@ -259387,45 +237856,6 @@ ], "type": "object" }, - "AWS::OpenSearchServerless::Index.Analysis": { - "additionalProperties": false, - "properties": { - "Analyzer": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::OpenSearchServerless::Index.AnalyzerItems" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::OpenSearchServerless::Index.AnalyzerItems": { - "additionalProperties": false, - "properties": { - "CharFilter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Filter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tokenizer": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, "AWS::OpenSearchServerless::Index.Index": { "additionalProperties": false, "properties": { @@ -259450,9 +237880,6 @@ "AWS::OpenSearchServerless::Index.IndexSettings": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::OpenSearchServerless::Index.Analysis" - }, "Index": { "$ref": "#/definitions/AWS::OpenSearchServerless::Index.Index", "markdownDescription": "Index settings.", @@ -259526,15 +237953,6 @@ "AWS::OpenSearchServerless::Index.PropertyMapping": { "additionalProperties": false, "properties": { - "Analyzer": { - "type": "string" - }, - "CompressionLevel": { - "type": "string" - }, - "DataType": { - "type": "string" - }, "Dimension": { "markdownDescription": "Dimension size for vector fields, defines the number of dimensions in the vector.", "title": "Dimension", @@ -259561,9 +237979,6 @@ "title": "Properties", "type": "object" }, - "SpaceType": { - "type": "string" - }, "Type": { "markdownDescription": "The field data type. Must be a valid OpenSearch field type.", "title": "Type", @@ -260276,9 +238691,6 @@ "markdownDescription": "Whether the domain should encrypt data at rest, and if so, the AWS key to use. See [Encryption of data at rest for Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html) .\n\nIf no encryption at rest options were initially specified in the template, updating this property by adding it causes no interruption. However, if you change this property after it's already been set within a template, the domain is deleted and recreated in order to modify the property.", "title": "EncryptionAtRestOptions" }, - "EngineMode": { - "type": "string" - }, "EngineVersion": { "markdownDescription": "The version of OpenSearch to use. The value must be in the format `OpenSearch_X.Y` or `Elasticsearch_X.Y` . If not specified, the latest version of OpenSearch is used. For information about the versions that OpenSearch Service supports, see [Supported versions of OpenSearch and Elasticsearch](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html#choosing-version) in the *Amazon OpenSearch Service Developer Guide* .\n\nIf you set the [EnableVersionUpgrade](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-upgradeopensearchdomain) update policy to `true` , you can update `EngineVersion` without interruption. When `EnableVersionUpgrade` is set to `false` , or is not specified, updating `EngineVersion` results in [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .", "title": "EngineVersion", @@ -260338,9 +238750,6 @@ "title": "Tags", "type": "array" }, - "UseCase": { - "type": "string" - }, "VPCOptions": { "$ref": "#/definitions/AWS::OpenSearchService::Domain.VPCOptions", "markdownDescription": "The virtual private cloud (VPC) configuration for the OpenSearch Service domain. For more information, see [Launching your Amazon OpenSearch Service domains within a VPC](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html) in the *Amazon OpenSearch Service Developer Guide* .\n\nIf you remove this entity altogether, along with its associated properties, it causes a replacement. You might encounter this scenario if you're updating your security configuration from a VPC to a public endpoint.", @@ -260988,9 +239397,6 @@ "markdownDescription": "Specifies whether automatic service software updates are enabled for the domain.", "title": "AutoSoftwareUpdateEnabled", "type": "boolean" - }, - "UseLatestServiceSoftwareForBlueGreen": { - "type": "boolean" } }, "type": "object" @@ -262937,76 +241343,7 @@ ], "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": { + "AWS::PCAConnectorAD::Connector": { "additionalProperties": false, "properties": { "Condition": { @@ -263041,39 +241378,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "Name": { + "CertificateAuthorityArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the certificate authority being used.", + "title": "CertificateAuthorityArn", "type": "string" }, - "Notes": { + "DirectoryId": { + "markdownDescription": "The identifier of the Active Directory.", + "title": "DirectoryId", "type": "string" }, - "OperatingAddress": { - "$ref": "#/definitions/AWS::Outposts::Site.Address" - }, - "RackPhysicalProperties": { - "$ref": "#/definitions/AWS::Outposts::Site.RackPhysicalProperties" - }, - "ShippingAddress": { - "$ref": "#/definitions/AWS::Outposts::Site.Address" - }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "Metadata assigned to a connector consisting of a key-value pair.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "type": "array" + "title": "Tags", + "type": "object" + }, + "VpcInformation": { + "$ref": "#/definitions/AWS::PCAConnectorAD::Connector.VpcInformation", + "markdownDescription": "Information of the VPC and security group(s) used with the connector.", + "title": "VpcInformation" } }, "required": [ - "Name" + "CertificateAuthorityArn", + "DirectoryId", + "VpcInformation" ], "type": "object" }, "Type": { "enum": [ - "AWS::Outposts::Site" + "AWS::PCAConnectorAD::Connector" ], "type": "string" }, @@ -263092,88 +241433,29 @@ ], "type": "object" }, - "AWS::Outposts::Site.Address": { + "AWS::PCAConnectorAD::Connector.VpcInformation": { "additionalProperties": false, "properties": { - "AddressLine1": { - "type": "string" - }, - "AddressLine2": { - "type": "string" - }, - "AddressLine3": { - "type": "string" - }, - "City": { - "type": "string" - }, - "ContactName": { - "type": "string" - }, - "ContactPhoneNumber": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "DistrictOrCounty": { - "type": "string" - }, - "Municipality": { - "type": "string" - }, - "PostalCode": { + "IpAddressType": { + "markdownDescription": "The VPC IP address type.", + "title": "IpAddressType", "type": "string" }, - "StateOrRegion": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The security groups used with the connector. You can use a maximum of 4 security groups with a connector.", + "title": "SecurityGroupIds", + "type": "array" } }, "required": [ - "AddressLine1", - "City", - "ContactName", - "ContactPhoneNumber", - "CountryCode", - "PostalCode", - "StateOrRegion" + "SecurityGroupIds" ], "type": "object" }, - "AWS::Outposts::Site.RackPhysicalProperties": { - "additionalProperties": false, - "properties": { - "FiberOpticCableType": { - "type": "string" - }, - "MaximumSupportedWeightLbs": { - "type": "string" - }, - "OpticalStandard": { - "type": "string" - }, - "PowerConnector": { - "type": "string" - }, - "PowerDrawKva": { - "type": "string" - }, - "PowerFeedDrop": { - "type": "string" - }, - "PowerPhase": { - "type": "string" - }, - "UplinkCount": { - "type": "string" - }, - "UplinkGbps": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PCAConnectorAD::Connector": { + "AWS::PCAConnectorAD::DirectoryRegistration": { "additionalProperties": false, "properties": { "Condition": { @@ -263208,11 +241490,6 @@ "Properties": { "additionalProperties": false, "properties": { - "CertificateAuthorityArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the certificate authority being used.", - "title": "CertificateAuthorityArn", - "type": "string" - }, "DirectoryId": { "markdownDescription": "The identifier of the Active Directory.", "title": "DirectoryId", @@ -263220,7 +241497,7 @@ }, "Tags": { "additionalProperties": true, - "markdownDescription": "Metadata assigned to a connector consisting of a key-value pair.", + "markdownDescription": "Metadata assigned to a directory registration consisting of a key-value pair.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" @@ -263228,23 +241505,16 @@ }, "title": "Tags", "type": "object" - }, - "VpcInformation": { - "$ref": "#/definitions/AWS::PCAConnectorAD::Connector.VpcInformation", - "markdownDescription": "Information of the VPC and security group(s) used with the connector.", - "title": "VpcInformation" } }, "required": [ - "CertificateAuthorityArn", - "DirectoryId", - "VpcInformation" + "DirectoryId" ], "type": "object" }, "Type": { "enum": [ - "AWS::PCAConnectorAD::Connector" + "AWS::PCAConnectorAD::DirectoryRegistration" ], "type": "string" }, @@ -263263,107 +241533,7 @@ ], "type": "object" }, - "AWS::PCAConnectorAD::Connector.VpcInformation": { - "additionalProperties": false, - "properties": { - "IpAddressType": { - "markdownDescription": "The VPC IP address type.", - "title": "IpAddressType", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The security groups used with the connector. You can use a maximum of 4 security groups with a connector.", - "title": "SecurityGroupIds", - "type": "array" - } - }, - "required": [ - "SecurityGroupIds" - ], - "type": "object" - }, - "AWS::PCAConnectorAD::DirectoryRegistration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "markdownDescription": "The identifier of the Active Directory.", - "title": "DirectoryId", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Metadata assigned to a directory registration consisting of a key-value pair.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PCAConnectorAD::DirectoryRegistration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PCAConnectorAD::ServicePrincipalName": { + "AWS::PCAConnectorAD::ServicePrincipalName": { "additionalProperties": false, "properties": { "Condition": { @@ -265240,9 +243410,6 @@ "title": "Name", "type": "string" }, - "NodeLifecycleActions": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.NodeLifecycleActions" - }, "PurchaseOption": { "markdownDescription": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand Instances, Spot Instances, and Amazon EC2 Capacity Blocks for ML. For more information, see [Amazon EC2 billing and purchasing options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) in the *Amazon Elastic Compute Cloud User Guide* . For more information about AWS PCS support for Capacity Blocks, see [Using Amazon EC2 Capacity Blocks for ML with AWS PCS](https://docs.aws.amazon.com/pcs/latest/userguide/capacity-blocks.html) in the *AWS PCS User Guide* . If you don't provide this option, it defaults to On-Demand.", "title": "PurchaseOption", @@ -265360,67 +243527,6 @@ }, "type": "object" }, - "AWS::PCS::ComputeNodeGroup.NodeLifecycleActions": { - "additionalProperties": false, - "properties": { - "ScriptCachingPolicy": { - "type": "string" - }, - "Stages": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.NodeLifecycleStages" - } - }, - "required": [ - "Stages" - ], - "type": "object" - }, - "AWS::PCS::ComputeNodeGroup.NodeLifecycleScript": { - "additionalProperties": false, - "properties": { - "Arguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExecutionPolicy": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OnError": { - "type": "string" - }, - "ScriptSource": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.ScriptSource" - } - }, - "required": [ - "Name", - "ScriptSource" - ], - "type": "object" - }, - "AWS::PCS::ComputeNodeGroup.NodeLifecycleStages": { - "additionalProperties": false, - "properties": { - "NodeBootstrapped": { - "items": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.NodeLifecycleScript" - }, - "type": "array" - }, - "NodeReady": { - "items": { - "$ref": "#/definitions/AWS::PCS::ComputeNodeGroup.NodeLifecycleScript" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::PCS::ComputeNodeGroup.ScalingConfiguration": { "additionalProperties": false, "properties": { @@ -265441,24 +243547,6 @@ ], "type": "object" }, - "AWS::PCS::ComputeNodeGroup.ScriptSource": { - "additionalProperties": false, - "properties": { - "Checksum": { - "type": "string" - }, - "S3VersionId": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "required": [ - "ScriptLocation" - ], - "type": "object" - }, "AWS::PCS::ComputeNodeGroup.SlurmConfiguration": { "additionalProperties": false, "properties": { @@ -265997,134 +244085,6 @@ ], "type": "object" }, - "AWS::PartnerCentral::ConnectionPreferences": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PartnerCentral::ConnectionPreferences" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::PartnerCentral::Partner": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PartnerCentral::Partner" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::PaymentCryptography::Alias": { "additionalProperties": false, "properties": { @@ -266406,324 +244366,6 @@ ], "type": "object" }, - "AWS::Personalize::BatchInferenceJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BatchInferenceJobMode": { - "type": "string" - }, - "JobInput": { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob.BatchInferenceJobInput" - }, - "JobName": { - "type": "string" - }, - "JobOutput": { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob.BatchInferenceJobOutput" - }, - "NumResults": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SolutionVersionArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::BatchInferenceJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Personalize::BatchInferenceJob.BatchInferenceJobInput": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob.S3DataConfig" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Personalize::BatchInferenceJob.BatchInferenceJobOutput": { - "additionalProperties": false, - "properties": { - "S3DataDestination": { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob.S3DataConfig" - } - }, - "required": [ - "S3DataDestination" - ], - "type": "object" - }, - "AWS::Personalize::BatchInferenceJob.S3DataConfig": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::Personalize::BatchSegmentJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobInput": { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob.BatchSegmentJobInput" - }, - "JobName": { - "type": "string" - }, - "JobOutput": { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob.BatchSegmentJobOutput" - }, - "NumResults": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SolutionVersionArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::BatchSegmentJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Personalize::BatchSegmentJob.BatchSegmentJobInput": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob.S3DataConfig" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::Personalize::BatchSegmentJob.BatchSegmentJobOutput": { - "additionalProperties": false, - "properties": { - "S3DataDestination": { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob.S3DataConfig" - } - }, - "required": [ - "S3DataDestination" - ], - "type": "object" - }, - "AWS::Personalize::BatchSegmentJob.S3DataConfig": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::Personalize::DataDeletionJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::DataDeletionJob.DataSource" - }, - "DatasetGroupArn": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::DataDeletionJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Personalize::DataDeletionJob.DataSource": { - "additionalProperties": false, - "properties": { - "DataLocation": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Personalize::Dataset": { "additionalProperties": false, "properties": { @@ -266783,12 +244425,6 @@ "markdownDescription": "The ARN of the associated schema.", "title": "SchemaArn", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ @@ -266916,12 +244552,6 @@ "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": [ @@ -266950,272 +244580,6 @@ ], "type": "object" }, - "AWS::Personalize::EventTracker": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetGroupArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatasetGroupArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::EventTracker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Personalize::MetricAttribution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetGroupArn": { - "type": "string" - }, - "Metrics": { - "items": { - "$ref": "#/definitions/AWS::Personalize::MetricAttribution.MetricAttribute" - }, - "type": "array" - }, - "MetricsOutputConfig": { - "$ref": "#/definitions/AWS::Personalize::MetricAttribution.MetricsOutputConfig" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DatasetGroupArn", - "Metrics", - "MetricsOutputConfig", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::MetricAttribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Personalize::MetricAttribution.MetricAttribute": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "MetricName": { - "type": "string" - } - }, - "required": [ - "EventType", - "Expression", - "MetricName" - ], - "type": "object" - }, - "AWS::Personalize::MetricAttribution.MetricsOutputConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "S3DataDestination": { - "$ref": "#/definitions/AWS::Personalize::MetricAttribution.S3DataDestination" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Personalize::MetricAttribution.S3DataDestination": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::Personalize::Recipe": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Personalize::Recipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::Personalize::Schema": { "additionalProperties": false, "properties": { @@ -267265,12 +244629,6 @@ "markdownDescription": "The schema.", "title": "Schema", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ @@ -267369,12 +244727,6 @@ "$ref": "#/definitions/AWS::Personalize::Solution.SolutionConfig", "markdownDescription": "Describes the configuration properties for the solution.", "title": "SolutionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ @@ -275550,220 +252902,6 @@ ], "type": "object" }, - "AWS::QuickSight::Agent": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionConnectors": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AgentId": { - "type": "string" - }, - "AgentLifecycle": { - "type": "string" - }, - "AwsAccountId": { - "type": "string" - }, - "CustomPromptInput": { - "$ref": "#/definitions/AWS::QuickSight::Agent.CustomPromptInput" - }, - "Description": { - "type": "string" - }, - "IconId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Spaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StarterPrompts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Agent.AgentTag" - }, - "type": "array" - }, - "WelcomeMessage": { - "type": "string" - } - }, - "required": [ - "AgentId", - "AwsAccountId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Agent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Agent.AgentTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::QuickSight::Agent.CustomPromptInput": { - "additionalProperties": false, - "properties": { - "ExistingPrompt": { - "$ref": "#/definitions/AWS::QuickSight::Agent.CustomPromptProfile" - }, - "NewPrompt": { - "$ref": "#/definitions/AWS::QuickSight::Agent.CustomPromptInputParameters" - } - }, - "type": "object" - }, - "AWS::QuickSight::Agent.CustomPromptInputParameters": { - "additionalProperties": false, - "properties": { - "CustomInstructions": { - "type": "string" - }, - "Identity": { - "type": "string" - }, - "OutputStyle": { - "type": "string" - }, - "ResponseLength": { - "type": "string" - }, - "Tone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Agent.CustomPromptInterface": { - "additionalProperties": false, - "properties": { - "CustomInstructions": { - "type": "string" - }, - "Identity": { - "type": "string" - }, - "ModelProfileId": { - "type": "string" - }, - "OutputStyle": { - "type": "string" - }, - "PromptSummary": { - "type": "string" - }, - "QbsAwsAccountId": { - "type": "string" - }, - "ResponseLength": { - "type": "string" - }, - "SubscriptionId": { - "type": "string" - }, - "Tone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Agent.CustomPromptProfile": { - "additionalProperties": false, - "properties": { - "ModelProfileId": { - "type": "string" - }, - "QbsAwsAccountId": { - "type": "string" - }, - "SubscriptionId": { - "type": "string" - } - }, - "required": [ - "ModelProfileId", - "QbsAwsAccountId", - "SubscriptionId" - ], - "type": "object" - }, "AWS::QuickSight::Analysis": { "additionalProperties": false, "properties": { @@ -289913,310 +267051,6 @@ ], "type": "object" }, - "AWS::QuickSight::ApprovalPolicy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "object" - }, - "type": "array" - }, - "ApplicableTo": { - "$ref": "#/definitions/AWS::QuickSight::ApprovalPolicy.ApplicableTo" - }, - "ApprovalGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AssetTypes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PolicyId": { - "type": "string" - } - }, - "required": [ - "Actions", - "ApplicableTo", - "ApprovalGroups", - "AssetTypes", - "Name", - "PolicyId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::ApprovalPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::ApprovalPolicy.ApplicableTo": { - "additionalProperties": false, - "properties": { - "GroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "type": "object" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::AssetBundleExportJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetBundleExportJobId": { - "type": "string" - }, - "AwsAccountId": { - "type": "string" - }, - "ExportFormat": { - "type": "string" - }, - "IncludeAllDependencies": { - "type": "boolean" - }, - "IncludeFolderMembers": { - "type": "string" - }, - "IncludeFolderMemberships": { - "type": "boolean" - }, - "IncludePermissions": { - "type": "boolean" - }, - "IncludeTags": { - "type": "boolean" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AssetBundleExportJobId", - "ExportFormat", - "ResourceArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::AssetBundleExportJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::AssetBundleImportJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetBundleImportJobId": { - "type": "string" - }, - "AssetBundleImportSource": { - "$ref": "#/definitions/AWS::QuickSight::AssetBundleImportJob.AssetBundleImportSourceDescription" - }, - "AwsAccountId": { - "type": "string" - }, - "FailureAction": { - "type": "string" - }, - "OverrideValidationStrategy": { - "$ref": "#/definitions/AWS::QuickSight::AssetBundleImportJob.AssetBundleImportJobOverrideValidationStrategy" - } - }, - "required": [ - "AssetBundleImportJobId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::AssetBundleImportJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::AssetBundleImportJob.AssetBundleImportJobOverrideValidationStrategy": { - "additionalProperties": false, - "properties": { - "StrictModeForAllResources": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::AssetBundleImportJob.AssetBundleImportSourceDescription": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, "AWS::QuickSight::CustomPermissions": { "additionalProperties": false, "properties": { @@ -291037,167 +267871,6 @@ }, "type": "object" }, - "AWS::QuickSight::DLPSetting": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "DlpSettingId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "ProviderConfig": { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting.ProviderConfig" - }, - "ProviderOutageAction": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DlpSettingId", - "Enabled", - "Name", - "ProviderConfig", - "ProviderOutageAction", - "ProviderType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DLPSetting" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::DLPSetting.LabelActionMapping": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "LabelId": { - "type": "string" - }, - "LabelName": { - "type": "string" - } - }, - "required": [ - "Action", - "LabelId", - "LabelName" - ], - "type": "object" - }, - "AWS::QuickSight::DLPSetting.MicrosoftPurviewCredentials": { - "additionalProperties": false, - "properties": { - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::QuickSight::DLPSetting.MicrosoftPurviewProviderConfig": { - "additionalProperties": false, - "properties": { - "Credentials": { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting.MicrosoftPurviewCredentials" - }, - "LabelActionMappings": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting.LabelActionMapping" - }, - "type": "array" - }, - "UnmappedAction": { - "type": "string" - } - }, - "required": [ - "Credentials", - "LabelActionMappings", - "UnmappedAction" - ], - "type": "object" - }, - "AWS::QuickSight::DLPSetting.ProviderConfig": { - "additionalProperties": false, - "properties": { - "MicrosoftPurview": { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting.MicrosoftPurviewProviderConfig" - } - }, - "required": [ - "MicrosoftPurview" - ], - "type": "object" - }, "AWS::QuickSight::Dashboard": { "additionalProperties": false, "properties": { @@ -309184,7 +285857,7 @@ ], "type": "object" }, - "AWS::QuickSight::Flow": { + "AWS::QuickSight::Folder": { "additionalProperties": false, "properties": { "Condition": { @@ -309220,34 +285893,57 @@ "additionalProperties": false, "properties": { "AwsAccountId": { + "markdownDescription": "The ID for the AWS account where you want to create the folder.", + "title": "AwsAccountId", "type": "string" }, - "Description": { + "FolderId": { + "markdownDescription": "The ID of the folder.", + "title": "FolderId", "type": "string" }, - "FlowDefinition": { - "type": "object" + "FolderType": { + "markdownDescription": "The type of folder it is.", + "title": "FolderType", + "type": "string" }, "Name": { + "markdownDescription": "A display name for the folder.", + "title": "Name", + "type": "string" + }, + "ParentFolderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the folder.", + "title": "ParentFolderArn", "type": "string" }, "Permissions": { "items": { - "$ref": "#/definitions/AWS::QuickSight::Flow.Permission" + "$ref": "#/definitions/AWS::QuickSight::Folder.ResourcePermission" + }, + "markdownDescription": "A structure that describes the principals and the resource-level permissions of a folder.\n\nTo specify no permissions, omit `Permissions` .", + "title": "Permissions", + "type": "array" + }, + "SharingModel": { + "markdownDescription": "The sharing scope of the folder.", + "title": "SharingModel", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of tags for the folders that you want to apply overrides to.", + "title": "Tags", "type": "array" } }, - "required": [ - "AwsAccountId", - "FlowDefinition", - "Name" - ], "type": "object" }, "Type": { "enum": [ - "AWS::QuickSight::Flow" + "AWS::QuickSight::Folder" ], "type": "string" }, @@ -309261,21 +285957,24 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::QuickSight::Flow.Permission": { + "AWS::QuickSight::Folder.ResourcePermission": { "additionalProperties": false, "properties": { "Actions": { "items": { "type": "string" }, + "markdownDescription": "", + "title": "Actions", "type": "array" }, "Principal": { + "markdownDescription": "", + "title": "Principal", "type": "string" } }, @@ -309285,842 +285984,148 @@ ], "type": "object" }, - "AWS::QuickSight::Flow.StepAliasMapping": { + "AWS::QuickSight::RefreshSchedule": { "additionalProperties": false, "properties": { - "StepAlias": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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 of the account that you are creating a schedule in.", + "title": "AwsAccountId", + "type": "string" + }, + "DataSetId": { + "markdownDescription": "The ID of the dataset that you are creating a refresh schedule for.", + "title": "DataSetId", + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap", + "markdownDescription": "The refresh schedule of a dataset.", + "title": "Schedule" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::RefreshSchedule" + ], "type": "string" }, - "StepId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "StepAlias", - "StepId" + "Type" ], "type": "object" }, - "AWS::QuickSight::Folder": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 ID for the AWS account where you want to create the folder.", - "title": "AwsAccountId", - "type": "string" - }, - "FolderId": { - "markdownDescription": "The ID of the folder.", - "title": "FolderId", - "type": "string" - }, - "FolderType": { - "markdownDescription": "The type of folder it is.", - "title": "FolderType", - "type": "string" - }, - "Name": { - "markdownDescription": "A display name for the folder.", - "title": "Name", - "type": "string" - }, - "ParentFolderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the folder.", - "title": "ParentFolderArn", - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Folder.ResourcePermission" - }, - "markdownDescription": "A structure that describes the principals and the resource-level permissions of a folder.\n\nTo specify no permissions, omit `Permissions` .", - "title": "Permissions", - "type": "array" - }, - "SharingModel": { - "markdownDescription": "The sharing scope of the folder.", - "title": "SharingModel", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags for the folders that you want to apply overrides to.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Folder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::Folder.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Actions", - "type": "array" - }, - "Principal": { - "markdownDescription": "", - "title": "Principal", - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessControlConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.AccessControlConfiguration" - }, - "AwsAccountId": { - "type": "string" - }, - "DataSourceArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IsEmailNotificationOptedForIngestionFailures": { - "type": "boolean" - }, - "KnowledgeBaseConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.KnowledgeBaseConfiguration" - }, - "KnowledgeBaseId": { - "type": "string" - }, - "MediaExtractionConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.MediaExtractionConfiguration" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.ResourcePermission" - }, - "type": "array" - }, - "PrimaryOwnerArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AwsAccountId", - "DataSourceArn", - "KnowledgeBaseConfiguration", - "KnowledgeBaseId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::KnowledgeBase" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.AccessControlConfiguration": { - "additionalProperties": false, - "properties": { - "IsACLEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.AudioExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "AudioExtractionStatus": { - "type": "string" - } - }, - "required": [ - "AudioExtractionStatus" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.ImageExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "ImageExtractionStatus": { - "type": "string" - } - }, - "required": [ - "ImageExtractionStatus" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.KbTemplateConfiguration": { - "additionalProperties": false, - "properties": { - "Template": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.KnowledgeBaseConfiguration": { - "additionalProperties": false, - "properties": { - "TemplateConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.KbTemplateConfiguration" - } - }, - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.MediaExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "AudioExtractionConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.AudioExtractionConfiguration" - }, - "ImageExtractionConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.ImageExtractionConfiguration" - }, - "VideoExtractionConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase.VideoExtractionConfiguration" - } - }, - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - }, - "Resource": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::KnowledgeBase.VideoExtractionConfiguration": { - "additionalProperties": false, - "properties": { - "VideoExtractionStatus": { - "type": "string" - }, - "VideoExtractionType": { - "type": "string" - } - }, - "required": [ - "VideoExtractionStatus" - ], - "type": "object" - }, - "AWS::QuickSight::LimitsProfile": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ResourceLimits": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::LimitsProfile.ProfileLimitValue" - } - }, - "type": "object" - } - }, - "required": [ - "AccountId", - "ProfileName", - "ResourceLimits" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::LimitsProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::LimitsProfile.ProfileLimitValue": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MaxValue", - "Unit" - ], - "type": "object" - }, - "AWS::QuickSight::OAuthClientApplication": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "DataSourceType": { - "type": "string" - }, - "IdentityProviderVpcConnectionProperties": { - "$ref": "#/definitions/AWS::QuickSight::OAuthClientApplication.IdentityProviderVpcConnectionProperties" - }, - "Name": { - "type": "string" - }, - "OAuthAuthorizationEndpointUrl": { - "type": "string" - }, - "OAuthClientApplicationId": { - "type": "string" - }, - "OAuthClientAuthenticationType": { - "type": "string" - }, - "OAuthScopes": { - "type": "string" - }, - "OAuthTokenEndpointUrl": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "OAuthClientApplicationId", - "OAuthClientAuthenticationType", - "OAuthTokenEndpointUrl" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::OAuthClientApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::OAuthClientApplication.IdentityProviderVpcConnectionProperties": { - "additionalProperties": false, - "properties": { - "VpcConnectionArn": { - "type": "string" - } - }, - "required": [ - "VpcConnectionArn" - ], - "type": "object" - }, - "AWS::QuickSight::RefreshSchedule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 of the account that you are creating a schedule in.", - "title": "AwsAccountId", - "type": "string" - }, - "DataSetId": { - "markdownDescription": "The ID of the dataset that you are creating a refresh schedule for.", - "title": "DataSetId", - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshScheduleMap", - "markdownDescription": "The refresh schedule of a dataset.", - "title": "Schedule" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::RefreshSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { - "additionalProperties": false, - "properties": { - "DayOfMonth": { - "markdownDescription": "The day of the month that you want your dataset to refresh. This value is required for monthly refresh intervals.", - "title": "DayOfMonth", - "type": "string" - }, - "DayOfWeek": { - "markdownDescription": "The day of the week that you want to schedule the refresh on. This value is required for weekly and monthly refresh intervals.", - "title": "DayOfWeek", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { - "additionalProperties": false, - "properties": { - "RefreshType": { - "markdownDescription": "The type of refresh that a dataset undergoes. Valid values are as follows:\n\n- `FULL_REFRESH` : A complete refresh of a dataset.\n- `INCREMENTAL_REFRESH` : A partial refresh of some rows of a dataset, based on the time window specified.\n\nFor more information on full and incremental refreshes, see [Refreshing SPICE data](https://docs.aws.amazon.com/quicksight/latest/user/refreshing-imported-data.html) in the *Quick User Guide* .", - "title": "RefreshType", - "type": "string" - }, - "ScheduleFrequency": { - "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency", - "markdownDescription": "The frequency for the refresh schedule.", - "title": "ScheduleFrequency" - }, - "ScheduleId": { - "markdownDescription": "An identifier for the refresh schedule.", - "title": "ScheduleId", - "type": "string" - }, - "StartAfterDateTime": { - "markdownDescription": "Time after which the refresh schedule can be started, expressed in `YYYY-MM-DDTHH:MM:SS` format.", - "title": "StartAfterDateTime", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { - "additionalProperties": false, - "properties": { - "Interval": { - "markdownDescription": "The interval between scheduled refreshes. Valid values are as follows:\n\n- `MINUTE15` : The dataset refreshes every 15 minutes. This value is only supported for incremental refreshes. This interval can only be used for one schedule per dataset.\n- `MINUTE30` : The dataset refreshes every 30 minutes. This value is only supported for incremental refreshes. This interval can only be used for one schedule per dataset.\n- `HOURLY` : The dataset refreshes every hour. This interval can only be used for one schedule per dataset.\n- `DAILY` : The dataset refreshes every day.\n- `WEEKLY` : The dataset refreshes every week.\n- `MONTHLY` : The dataset refreshes every month.", - "title": "Interval", - "type": "string" - }, - "RefreshOnDay": { - "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay", - "markdownDescription": "The day of the week that you want to schedule the refresh on. This value is required for weekly and monthly refresh intervals.", - "title": "RefreshOnDay" - }, - "TimeOfTheDay": { - "markdownDescription": "The time of day that you want the dataset to refresh. This value is expressed in HH:MM format. This field is not required for schedules that refresh hourly.", - "title": "TimeOfTheDay", - "type": "string" - }, - "TimeZone": { - "markdownDescription": "The timezone that you want the refresh schedule to use. The timezone ID must match a corresponding ID found on `java.util.time.getAvailableIDs()` .", - "title": "TimeZone", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Space": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Space.ResourcePermission" - }, - "type": "array" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Space.SpaceResource" - }, - "type": "array" - }, - "SpaceId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AwsAccountId", - "Name", - "SpaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Space" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Space.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Space.SpaceResource": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "ResourceType" - ], - "type": "object" - }, - "AWS::QuickSight::Template": { + "AWS::QuickSight::RefreshSchedule.RefreshOnDay": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "markdownDescription": "The day of the month that you want your dataset to refresh. This value is required for monthly refresh intervals.", + "title": "DayOfMonth", + "type": "string" + }, + "DayOfWeek": { + "markdownDescription": "The day of the week that you want to schedule the refresh on. This value is required for weekly and monthly refresh intervals.", + "title": "DayOfWeek", + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.RefreshScheduleMap": { + "additionalProperties": false, + "properties": { + "RefreshType": { + "markdownDescription": "The type of refresh that a dataset undergoes. Valid values are as follows:\n\n- `FULL_REFRESH` : A complete refresh of a dataset.\n- `INCREMENTAL_REFRESH` : A partial refresh of some rows of a dataset, based on the time window specified.\n\nFor more information on full and incremental refreshes, see [Refreshing SPICE data](https://docs.aws.amazon.com/quicksight/latest/user/refreshing-imported-data.html) in the *Quick User Guide* .", + "title": "RefreshType", + "type": "string" + }, + "ScheduleFrequency": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.ScheduleFrequency", + "markdownDescription": "The frequency for the refresh schedule.", + "title": "ScheduleFrequency" + }, + "ScheduleId": { + "markdownDescription": "An identifier for the refresh schedule.", + "title": "ScheduleId", + "type": "string" + }, + "StartAfterDateTime": { + "markdownDescription": "Time after which the refresh schedule can be started, expressed in `YYYY-MM-DDTHH:MM:SS` format.", + "title": "StartAfterDateTime", + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::RefreshSchedule.ScheduleFrequency": { + "additionalProperties": false, + "properties": { + "Interval": { + "markdownDescription": "The interval between scheduled refreshes. Valid values are as follows:\n\n- `MINUTE15` : The dataset refreshes every 15 minutes. This value is only supported for incremental refreshes. This interval can only be used for one schedule per dataset.\n- `MINUTE30` : The dataset refreshes every 30 minutes. This value is only supported for incremental refreshes. This interval can only be used for one schedule per dataset.\n- `HOURLY` : The dataset refreshes every hour. This interval can only be used for one schedule per dataset.\n- `DAILY` : The dataset refreshes every day.\n- `WEEKLY` : The dataset refreshes every week.\n- `MONTHLY` : The dataset refreshes every month.", + "title": "Interval", + "type": "string" + }, + "RefreshOnDay": { + "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule.RefreshOnDay", + "markdownDescription": "The day of the week that you want to schedule the refresh on. This value is required for weekly and monthly refresh intervals.", + "title": "RefreshOnDay" + }, + "TimeOfTheDay": { + "markdownDescription": "The time of day that you want the dataset to refresh. This value is expressed in HH:MM format. This field is not required for schedules that refresh hourly.", + "title": "TimeOfTheDay", + "type": "string" + }, + "TimeZone": { + "markdownDescription": "The timezone that you want the refresh schedule to use. The timezone ID must match a corresponding ID found on `java.util.time.getAvailableIDs()` .", + "title": "TimeZone", + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template": { "additionalProperties": false, "properties": { "Condition": { @@ -323121,10170 +299126,348 @@ }, "type": "object" }, - "AWS::QuickSight::Template.WaterfallChartFieldWells": { - "additionalProperties": false, - "properties": { - "WaterfallChartAggregatedFieldWells": { - "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartAggregatedFieldWells", - "markdownDescription": "The field well configuration of a waterfall visual.", - "title": "WaterfallChartAggregatedFieldWells" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WaterfallChartGroupColorConfiguration": { - "additionalProperties": false, - "properties": { - "NegativeBarColor": { - "markdownDescription": "Defines the color for the negative bars of a waterfall chart.", - "title": "NegativeBarColor", - "type": "string" - }, - "PositiveBarColor": { - "markdownDescription": "Defines the color for the positive bars of a waterfall chart.", - "title": "PositiveBarColor", - "type": "string" - }, - "TotalBarColor": { - "markdownDescription": "Defines the color for the total bars of a waterfall chart.", - "title": "TotalBarColor", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WaterfallChartOptions": { - "additionalProperties": false, - "properties": { - "TotalBarLabel": { - "markdownDescription": "This option determines the total bar label of a waterfall visual.", - "title": "TotalBarLabel", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WaterfallChartSortConfiguration": { - "additionalProperties": false, - "properties": { - "BreakdownItemsLimit": { - "$ref": "#/definitions/AWS::QuickSight::Template.ItemsLimitConfiguration", - "markdownDescription": "The limit on the number of bar groups that are displayed.", - "title": "BreakdownItemsLimit" - }, - "CategorySort": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.FieldSortOptions" - }, - "markdownDescription": "The sort configuration of the category fields.", - "title": "CategorySort", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WaterfallVisual": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualCustomAction" - }, - "markdownDescription": "The list of custom actions that are configured for a visual.", - "title": "Actions", - "type": "array" - }, - "ChartConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartConfiguration", - "markdownDescription": "The configuration for a waterfall visual.", - "title": "ChartConfiguration" - }, - "ColumnHierarchies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.ColumnHierarchy" - }, - "markdownDescription": "The column hierarchy that is used during drill-downs and drill-ups.", - "title": "ColumnHierarchies", - "type": "array" - }, - "Subtitle": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions", - "markdownDescription": "The subtitle that is displayed on the visual.", - "title": "Subtitle" - }, - "Title": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions", - "markdownDescription": "The title that is displayed on the visual.", - "title": "Title" - }, - "VisualContentAltText": { - "markdownDescription": "The alt text for the visual.", - "title": "VisualContentAltText", - "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", - "type": "string" - } - }, - "required": [ - "VisualId" - ], - "type": "object" - }, - "AWS::QuickSight::Template.WhatIfPointScenario": { - "additionalProperties": false, - "properties": { - "Date": { - "markdownDescription": "The date that you need the forecast results for.", - "title": "Date", - "type": "string" - }, - "Value": { - "markdownDescription": "The target value that you want to meet for the provided date.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Date", - "Value" - ], - "type": "object" - }, - "AWS::QuickSight::Template.WhatIfRangeScenario": { - "additionalProperties": false, - "properties": { - "EndDate": { - "markdownDescription": "The end date in the date range that you need the forecast results for.", - "title": "EndDate", - "type": "string" - }, - "StartDate": { - "markdownDescription": "The start date in the date range that you need the forecast results for.", - "title": "StartDate", - "type": "string" - }, - "Value": { - "markdownDescription": "The target value that you want to meet for the provided date range.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "EndDate", - "StartDate", - "Value" - ], - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudAggregatedFieldWells": { - "additionalProperties": false, - "properties": { - "GroupBy": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.DimensionField" - }, - "markdownDescription": "The group by field well of a word cloud. Values are grouped by group by fields.", - "title": "GroupBy", - "type": "array" - }, - "Size": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.MeasureField" - }, - "markdownDescription": "The size field well of a word cloud. Values are aggregated based on group by fields.", - "title": "Size", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudChartConfiguration": { - "additionalProperties": false, - "properties": { - "CategoryLabelOptions": { - "$ref": "#/definitions/AWS::QuickSight::Template.ChartAxisLabelOptions", - "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) for the word cloud category.", - "title": "CategoryLabelOptions" - }, - "FieldWells": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudFieldWells", - "markdownDescription": "The field wells of the visual.", - "title": "FieldWells" - }, - "Interactions": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualInteractionOptions", - "markdownDescription": "The general visual interactions setup for a visual.", - "title": "Interactions" - }, - "SortConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudSortConfiguration", - "markdownDescription": "The sort configuration of a word cloud visual.", - "title": "SortConfiguration" - }, - "WordCloudOptions": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudOptions", - "markdownDescription": "The options for a word cloud visual.", - "title": "WordCloudOptions" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudFieldWells": { - "additionalProperties": false, - "properties": { - "WordCloudAggregatedFieldWells": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudAggregatedFieldWells", - "markdownDescription": "The aggregated field wells of a word cloud.", - "title": "WordCloudAggregatedFieldWells" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudOptions": { - "additionalProperties": false, - "properties": { - "CloudLayout": { - "markdownDescription": "The cloud layout options (fluid, normal) of a word cloud.", - "title": "CloudLayout", - "type": "string" - }, - "MaximumStringLength": { - "markdownDescription": "The length limit of each word from 1-100.", - "title": "MaximumStringLength", - "type": "number" - }, - "WordCasing": { - "markdownDescription": "The word casing options (lower_case, existing_case) for the words in a word cloud.", - "title": "WordCasing", - "type": "string" - }, - "WordOrientation": { - "markdownDescription": "The word orientation options (horizontal, horizontal_and_vertical) for the words in a word cloud.", - "title": "WordOrientation", - "type": "string" - }, - "WordPadding": { - "markdownDescription": "The word padding options (none, small, medium, large) for the words in a word cloud.", - "title": "WordPadding", - "type": "string" - }, - "WordScaling": { - "markdownDescription": "The word scaling options (emphasize, normal) for the words in a word cloud.", - "title": "WordScaling", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudSortConfiguration": { - "additionalProperties": false, - "properties": { - "CategoryItemsLimit": { - "$ref": "#/definitions/AWS::QuickSight::Template.ItemsLimitConfiguration", - "markdownDescription": "The limit on the number of groups that are displayed in a word cloud.", - "title": "CategoryItemsLimit" - }, - "CategorySort": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.FieldSortOptions" - }, - "markdownDescription": "The sort configuration of group by fields.", - "title": "CategorySort", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.WordCloudVisual": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualCustomAction" - }, - "markdownDescription": "The list of custom actions that are configured for a visual.", - "title": "Actions", - "type": "array" - }, - "ChartConfiguration": { - "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudChartConfiguration", - "markdownDescription": "The configuration settings of the visual.", - "title": "ChartConfiguration" - }, - "ColumnHierarchies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.ColumnHierarchy" - }, - "markdownDescription": "The column hierarchy that is used during drill-downs and drill-ups.", - "title": "ColumnHierarchies", - "type": "array" - }, - "Subtitle": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions", - "markdownDescription": "The subtitle that is displayed on the visual.", - "title": "Subtitle" - }, - "Title": { - "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions", - "markdownDescription": "The title that is displayed on the visual.", - "title": "Title" - }, - "VisualContentAltText": { - "markdownDescription": "The alt text for the visual.", - "title": "VisualContentAltText", - "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", - "type": "string" - } - }, - "required": [ - "VisualId" - ], - "type": "object" - }, - "AWS::QuickSight::Template.YAxisOptions": { - "additionalProperties": false, - "properties": { - "YAxis": { - "markdownDescription": "The Y axis type to be used in the chart.\n\nIf you choose `PRIMARY_Y_AXIS` , the primary Y Axis is located on the leftmost vertical axis of the chart.", - "title": "YAxis", - "type": "string" - } - }, - "required": [ - "YAxis" - ], - "type": "object" - }, - "AWS::QuickSight::Theme": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 ID of the AWS account where you want to store the new theme.", - "title": "AwsAccountId", - "type": "string" - }, - "BaseThemeId": { - "markdownDescription": "The ID of the theme that a custom theme will inherit from. All themes inherit from one of the starting themes defined by Amazon Quick Sight. For a list of the starting themes, use `ListThemes` or choose *Themes* from within an analysis.", - "title": "BaseThemeId", - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration", - "markdownDescription": "The theme configuration, which contains the theme display properties.", - "title": "Configuration" - }, - "Name": { - "markdownDescription": "A display name for the theme.", - "title": "Name", - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" - }, - "markdownDescription": "A valid grouping of resource permissions to apply to the new theme.", - "title": "Permissions", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs for the resource tag or tags that you want to add to the resource.", - "title": "Tags", - "type": "array" - }, - "ThemeId": { - "markdownDescription": "An ID for the theme that you want to create. The theme ID is unique per AWS Region in each AWS account.", - "title": "ThemeId", - "type": "string" - }, - "VersionDescription": { - "markdownDescription": "A description of the first version of the theme that you're creating. Every time `UpdateTheme` is called, a new version is created. Each version of the theme has a description of the version in the `VersionDescription` field.", - "title": "VersionDescription", - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "BaseThemeId", - "Configuration", - "Name", - "ThemeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Theme" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.BorderStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "markdownDescription": "The option to enable display of borders for visuals.", - "title": "Show", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.DataColorPalette": { - "additionalProperties": false, - "properties": { - "Colors": { - "items": { - "type": "string" - }, - "markdownDescription": "The hexadecimal codes for the colors.", - "title": "Colors", - "type": "array" - }, - "EmptyFillColor": { - "markdownDescription": "The hexadecimal code of a color that applies to charts where a lack of data is highlighted.", - "title": "EmptyFillColor", - "type": "string" - }, - "MinMaxGradient": { - "items": { - "type": "string" - }, - "markdownDescription": "The minimum and maximum hexadecimal codes that describe a color gradient.", - "title": "MinMaxGradient", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Font": { - "additionalProperties": false, - "properties": { - "FontFamily": { - "markdownDescription": "Determines the font family settings.", - "title": "FontFamily", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.GutterStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "markdownDescription": "This Boolean value controls whether to display a gutter space between sheet tiles.", - "title": "Show", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.MarginStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "markdownDescription": "This Boolean value controls whether to display sheet margins.", - "title": "Show", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "markdownDescription": "The IAM action to grant or revoke permissions on.", - "title": "Actions", - "type": "array" - }, - "Principal": { - "markdownDescription": "The Amazon Resource Name (ARN) of the principal. This can be one of the following:\n\n- The ARN of an Amazon Quick user or group associated with a data source or dataset. (This is common.)\n- The ARN of an Amazon Quick user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)\n- The ARN of an AWS account root: This is an IAM ARN rather than a Quick ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)", - "title": "Principal", - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.SheetStyle": { - "additionalProperties": false, - "properties": { - "Tile": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle", - "markdownDescription": "The display options for tiles.", - "title": "Tile" - }, - "TileLayout": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle", - "markdownDescription": "The layout options for tiles.", - "title": "TileLayout" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeConfiguration": { - "additionalProperties": false, - "properties": { - "DataColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette", - "markdownDescription": "Color properties that apply to chart data colors.", - "title": "DataColorPalette" - }, - "Sheet": { - "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle", - "markdownDescription": "Display options related to sheets.", - "title": "Sheet" - }, - "Typography": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Typography", - "markdownDescription": "Determines the typography options.", - "title": "Typography" - }, - "UIColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette", - "markdownDescription": "Color properties that apply to the UI and to charts, excluding the colors that apply to data.", - "title": "UIColorPalette" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeError": { - "additionalProperties": false, - "properties": { - "Message": { - "markdownDescription": "The error message.", - "title": "Message", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of error.", - "title": "Type", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeVersion": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource.", - "title": "Arn", - "type": "string" - }, - "BaseThemeId": { - "markdownDescription": "The Quick Sight-defined ID of the theme that a custom theme inherits from. All themes initially inherit from a default Quick Sight theme.", - "title": "BaseThemeId", - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration", - "markdownDescription": "The theme configuration, which contains all the theme display properties.", - "title": "Configuration" - }, - "CreatedTime": { - "markdownDescription": "The date and time that this theme version was created.", - "title": "CreatedTime", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the theme.", - "title": "Description", - "type": "string" - }, - "Errors": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeError" - }, - "markdownDescription": "Errors associated with the theme.", - "title": "Errors", - "type": "array" - }, - "Status": { - "markdownDescription": "The status of the theme version.", - "title": "Status", - "type": "string" - }, - "VersionNumber": { - "markdownDescription": "The version number of the theme.", - "title": "VersionNumber", - "type": "number" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileLayoutStyle": { - "additionalProperties": false, - "properties": { - "Gutter": { - "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle", - "markdownDescription": "The gutter settings that apply between tiles.", - "title": "Gutter" - }, - "Margin": { - "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle", - "markdownDescription": "The margin settings that apply around the outside edge of sheets.", - "title": "Margin" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileStyle": { - "additionalProperties": false, - "properties": { - "Border": { - "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle", - "markdownDescription": "The border around a tile.", - "title": "Border" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Typography": { - "additionalProperties": false, - "properties": { - "FontFamilies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Font" - }, - "markdownDescription": "Determines the list of font families.", - "title": "FontFamilies", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.UIColorPalette": { - "additionalProperties": false, - "properties": { - "Accent": { - "markdownDescription": "This color is that applies to selected states and buttons.", - "title": "Accent", - "type": "string" - }, - "AccentForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the accent color.", - "title": "AccentForeground", - "type": "string" - }, - "Danger": { - "markdownDescription": "The color that applies to error messages.", - "title": "Danger", - "type": "string" - }, - "DangerForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the error color.", - "title": "DangerForeground", - "type": "string" - }, - "Dimension": { - "markdownDescription": "The color that applies to the names of fields that are identified as dimensions.", - "title": "Dimension", - "type": "string" - }, - "DimensionForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the dimension color.", - "title": "DimensionForeground", - "type": "string" - }, - "Measure": { - "markdownDescription": "The color that applies to the names of fields that are identified as measures.", - "title": "Measure", - "type": "string" - }, - "MeasureForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the measure color.", - "title": "MeasureForeground", - "type": "string" - }, - "PrimaryBackground": { - "markdownDescription": "The background color that applies to visuals and other high emphasis UI.", - "title": "PrimaryBackground", - "type": "string" - }, - "PrimaryForeground": { - "markdownDescription": "The color of text and other foreground elements that appear over the primary background regions, such as grid lines, borders, table banding, icons, and so on.", - "title": "PrimaryForeground", - "type": "string" - }, - "SecondaryBackground": { - "markdownDescription": "The background color that applies to the sheet background and sheet controls.", - "title": "SecondaryBackground", - "type": "string" - }, - "SecondaryForeground": { - "markdownDescription": "The foreground color that applies to any sheet title, sheet control text, or UI that appears over the secondary background.", - "title": "SecondaryForeground", - "type": "string" - }, - "Success": { - "markdownDescription": "The color that applies to success messages, for example the check mark for a successful download.", - "title": "Success", - "type": "string" - }, - "SuccessForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the success color.", - "title": "SuccessForeground", - "type": "string" - }, - "Warning": { - "markdownDescription": "This color that applies to warning and informational messages.", - "title": "Warning", - "type": "string" - }, - "WarningForeground": { - "markdownDescription": "The foreground color that applies to any text or other elements that appear over the warning color.", - "title": "WarningForeground", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 ID of the AWS account that you want to create a topic in.", - "title": "AwsAccountId", - "type": "string" - }, - "ConfigOptions": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicConfigOptions", - "markdownDescription": "Configuration options for a `Topic` .", - "title": "ConfigOptions" - }, - "CustomInstructions": { - "$ref": "#/definitions/AWS::QuickSight::Topic.CustomInstructions", - "markdownDescription": "", - "title": "CustomInstructions" - }, - "DataSets": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DatasetMetadata" - }, - "markdownDescription": "The data sets that the topic is associated with.", - "title": "DataSets", - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the topic.", - "title": "Description", - "type": "string" - }, - "FolderArns": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "FolderArns", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the topic.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - }, - "TopicId": { - "markdownDescription": "The ID for the topic. This ID is unique per AWS Region for each AWS account.", - "title": "TopicId", - "type": "string" - }, - "UserExperienceVersion": { - "markdownDescription": "The user experience version of the topic.", - "title": "UserExperienceVersion", - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Topic" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.CellValueSynonym": { - "additionalProperties": false, - "properties": { - "CellValue": { - "markdownDescription": "The cell value.", - "title": "CellValue", - "type": "string" - }, - "Synonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "Other names or aliases for the cell value.", - "title": "Synonyms", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.CollectiveConstant": { - "additionalProperties": false, - "properties": { - "ValueList": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of values for the collective constant.", - "title": "ValueList", - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.ComparativeOrder": { - "additionalProperties": false, - "properties": { - "SpecifedOrder": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of columns to be used in the ordering.", - "title": "SpecifedOrder", - "type": "array" - }, - "TreatUndefinedSpecifiedValues": { - "markdownDescription": "The treat of undefined specified values. Valid values for this structure are `LEAST` and `MOST` .", - "title": "TreatUndefinedSpecifiedValues", - "type": "string" - }, - "UseOrdering": { - "markdownDescription": "The ordering type for a column. Valid values for this structure are `GREATER_IS_BETTER` , `LESSER_IS_BETTER` and `SPECIFIED` .", - "title": "UseOrdering", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.CustomInstructions": { - "additionalProperties": false, - "properties": { - "CustomInstructionsString": { - "markdownDescription": "", - "title": "CustomInstructionsString", - "type": "string" - } - }, - "required": [ - "CustomInstructionsString" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.DataAggregation": { - "additionalProperties": false, - "properties": { - "DatasetRowDateGranularity": { - "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", - "title": "DatasetRowDateGranularity", - "type": "string" - }, - "DefaultDateColumnName": { - "markdownDescription": "The column name for the default date.", - "title": "DefaultDateColumnName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.DatasetMetadata": { - "additionalProperties": false, - "properties": { - "CalculatedFields": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCalculatedField" - }, - "markdownDescription": "The list of calculated field definitions.", - "title": "CalculatedFields", - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicColumn" - }, - "markdownDescription": "The list of column definitions.", - "title": "Columns", - "type": "array" - }, - "DataAggregation": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DataAggregation", - "markdownDescription": "The definition of a data aggregation.", - "title": "DataAggregation" - }, - "DatasetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the dataset.", - "title": "DatasetArn", - "type": "string" - }, - "DatasetDescription": { - "markdownDescription": "The description of the dataset.", - "title": "DatasetDescription", - "type": "string" - }, - "DatasetName": { - "markdownDescription": "The name of the dataset.", - "title": "DatasetName", - "type": "string" - }, - "Filters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicFilter" - }, - "markdownDescription": "The list of filter definitions.", - "title": "Filters", - "type": "array" - }, - "NamedEntities": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNamedEntity" - }, - "markdownDescription": "The list of named entities definitions.", - "title": "NamedEntities", - "type": "array" - } - }, - "required": [ - "DatasetArn" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.DefaultFormatting": { - "additionalProperties": false, - "properties": { - "DisplayFormat": { - "markdownDescription": "The display format. Valid values for this structure are `AUTO` , `PERCENT` , `CURRENCY` , `NUMBER` , `DATE` , and `STRING` .", - "title": "DisplayFormat", - "type": "string" - }, - "DisplayFormatOptions": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DisplayFormatOptions", - "markdownDescription": "The additional options for display formatting.", - "title": "DisplayFormatOptions" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.DisplayFormatOptions": { - "additionalProperties": false, - "properties": { - "BlankCellFormat": { - "markdownDescription": "Determines the blank cell format.", - "title": "BlankCellFormat", - "type": "string" - }, - "CurrencySymbol": { - "markdownDescription": "The currency symbol, such as `USD` .", - "title": "CurrencySymbol", - "type": "string" - }, - "DateFormat": { - "markdownDescription": "Determines the `DateTime` format.", - "title": "DateFormat", - "type": "string" - }, - "DecimalSeparator": { - "markdownDescription": "Determines the decimal separator.", - "title": "DecimalSeparator", - "type": "string" - }, - "FractionDigits": { - "markdownDescription": "Determines the number of fraction digits.", - "title": "FractionDigits", - "type": "number" - }, - "GroupingSeparator": { - "markdownDescription": "Determines the grouping separator.", - "title": "GroupingSeparator", - "type": "string" - }, - "NegativeFormat": { - "$ref": "#/definitions/AWS::QuickSight::Topic.NegativeFormat", - "markdownDescription": "The negative format.", - "title": "NegativeFormat" - }, - "Prefix": { - "markdownDescription": "The prefix value for a display format.", - "title": "Prefix", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The suffix value for a display format.", - "title": "Suffix", - "type": "string" - }, - "UnitScaler": { - "markdownDescription": "The unit scaler. Valid values for this structure are: `NONE` , `AUTO` , `THOUSANDS` , `MILLIONS` , `BILLIONS` , and `TRILLIONS` .", - "title": "UnitScaler", - "type": "string" - }, - "UseBlankCellFormat": { - "markdownDescription": "A Boolean value that indicates whether to use blank cell format.", - "title": "UseBlankCellFormat", - "type": "boolean" - }, - "UseGrouping": { - "markdownDescription": "A Boolean value that indicates whether to use grouping.", - "title": "UseGrouping", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.NamedEntityDefinition": { - "additionalProperties": false, - "properties": { - "FieldName": { - "markdownDescription": "The name of the entity.", - "title": "FieldName", - "type": "string" - }, - "Metric": { - "$ref": "#/definitions/AWS::QuickSight::Topic.NamedEntityDefinitionMetric", - "markdownDescription": "The definition of a metric.", - "title": "Metric" - }, - "PropertyName": { - "markdownDescription": "The property name to be used for the named entity.", - "title": "PropertyName", - "type": "string" - }, - "PropertyRole": { - "markdownDescription": "The property role. Valid values for this structure are `PRIMARY` and `ID` .", - "title": "PropertyRole", - "type": "string" - }, - "PropertyUsage": { - "markdownDescription": "The property usage. Valid values for this structure are `INHERIT` , `DIMENSION` , and `MEASURE` .", - "title": "PropertyUsage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.NamedEntityDefinitionMetric": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "The aggregation of a named entity. Valid values for this structure are `SUM` , `MIN` , `MAX` , `COUNT` , `AVERAGE` , `DISTINCT_COUNT` , `STDEV` , `STDEVP` , `VAR` , `VARP` , `PERCENTILE` , `MEDIAN` , and `CUSTOM` .", - "title": "Aggregation", - "type": "string" - }, - "AggregationFunctionParameters": { - "additionalProperties": true, - "markdownDescription": "The additional parameters for an aggregation function.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AggregationFunctionParameters", - "type": "object" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.NegativeFormat": { - "additionalProperties": false, - "properties": { - "Prefix": { - "markdownDescription": "The prefix for a negative format.", - "title": "Prefix", - "type": "string" - }, - "Suffix": { - "markdownDescription": "The suffix for a negative format.", - "title": "Suffix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.RangeConstant": { - "additionalProperties": false, - "properties": { - "Maximum": { - "markdownDescription": "The maximum value for a range constant.", - "title": "Maximum", - "type": "string" - }, - "Minimum": { - "markdownDescription": "The minimum value for a range constant.", - "title": "Minimum", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.SemanticEntityType": { - "additionalProperties": false, - "properties": { - "SubTypeName": { - "markdownDescription": "The semantic entity sub type name.", - "title": "SubTypeName", - "type": "string" - }, - "TypeName": { - "markdownDescription": "The semantic entity type name.", - "title": "TypeName", - "type": "string" - }, - "TypeParameters": { - "additionalProperties": true, - "markdownDescription": "The semantic entity type parameters.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TypeParameters", - "type": "object" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.SemanticType": { - "additionalProperties": false, - "properties": { - "FalseyCellValue": { - "markdownDescription": "The semantic type falsey cell value.", - "title": "FalseyCellValue", - "type": "string" - }, - "FalseyCellValueSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the false cell value.", - "title": "FalseyCellValueSynonyms", - "type": "array" - }, - "SubTypeName": { - "markdownDescription": "The semantic type sub type name.", - "title": "SubTypeName", - "type": "string" - }, - "TruthyCellValue": { - "markdownDescription": "The semantic type truthy cell value.", - "title": "TruthyCellValue", - "type": "string" - }, - "TruthyCellValueSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the true cell value.", - "title": "TruthyCellValueSynonyms", - "type": "array" - }, - "TypeName": { - "markdownDescription": "The semantic type name.", - "title": "TypeName", - "type": "string" - }, - "TypeParameters": { - "additionalProperties": true, - "markdownDescription": "The semantic type parameters.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "TypeParameters", - "type": "object" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicCalculatedField": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "The default aggregation. Valid values for this structure are `SUM` , `MAX` , `MIN` , `COUNT` , `DISTINCT_COUNT` , and `AVERAGE` .", - "title": "Aggregation", - "type": "string" - }, - "AllowedAggregations": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of aggregation types that are allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", - "title": "AllowedAggregations", - "type": "array" - }, - "CalculatedFieldDescription": { - "markdownDescription": "The calculated field description.", - "title": "CalculatedFieldDescription", - "type": "string" - }, - "CalculatedFieldName": { - "markdownDescription": "The calculated field name.", - "title": "CalculatedFieldName", - "type": "string" - }, - "CalculatedFieldSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the calculated field.", - "title": "CalculatedFieldSynonyms", - "type": "array" - }, - "CellValueSynonyms": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.CellValueSynonym" - }, - "markdownDescription": "The other names or aliases for the calculated field cell value.", - "title": "CellValueSynonyms", - "type": "array" - }, - "ColumnDataRole": { - "markdownDescription": "The column data role for a calculated field. Valid values for this structure are `DIMENSION` and `MEASURE` .", - "title": "ColumnDataRole", - "type": "string" - }, - "ComparativeOrder": { - "$ref": "#/definitions/AWS::QuickSight::Topic.ComparativeOrder", - "markdownDescription": "The order in which data is displayed for the calculated field when it's used in a comparative context.", - "title": "ComparativeOrder" - }, - "DefaultFormatting": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DefaultFormatting", - "markdownDescription": "The default formatting definition.", - "title": "DefaultFormatting" - }, - "DisableIndexing": { - "markdownDescription": "A Boolean value that indicates if a calculated field is visible in the autocomplete.", - "title": "DisableIndexing", - "type": "boolean" - }, - "Expression": { - "markdownDescription": "The calculated field expression.", - "title": "Expression", - "type": "string" - }, - "IsIncludedInTopic": { - "markdownDescription": "A boolean value that indicates if a calculated field is included in the topic.", - "title": "IsIncludedInTopic", - "type": "boolean" - }, - "NeverAggregateInFilter": { - "markdownDescription": "A Boolean value that indicates whether to never aggregate calculated field in filters.", - "title": "NeverAggregateInFilter", - "type": "boolean" - }, - "NonAdditive": { - "markdownDescription": "The non additive for the table style target.", - "title": "NonAdditive", - "type": "boolean" - }, - "NotAllowedAggregations": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of aggregation types that are not allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", - "title": "NotAllowedAggregations", - "type": "array" - }, - "SemanticType": { - "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticType", - "markdownDescription": "The semantic type.", - "title": "SemanticType" - }, - "TimeGranularity": { - "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", - "title": "TimeGranularity", - "type": "string" - } - }, - "required": [ - "CalculatedFieldName", - "Expression" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.TopicCategoryFilter": { - "additionalProperties": false, - "properties": { - "CategoryFilterFunction": { - "markdownDescription": "The category filter function. Valid values for this structure are `EXACT` and `CONTAINS` .", - "title": "CategoryFilterFunction", - "type": "string" - }, - "CategoryFilterType": { - "markdownDescription": "The category filter type. This element is used to specify whether a filter is a simple category filter or an inverse category filter.", - "title": "CategoryFilterType", - "type": "string" - }, - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCategoryFilterConstant", - "markdownDescription": "The constant used in a category filter.", - "title": "Constant" - }, - "Inverse": { - "markdownDescription": "A Boolean value that indicates if the filter is inverse.", - "title": "Inverse", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicCategoryFilterConstant": { - "additionalProperties": false, - "properties": { - "CollectiveConstant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.CollectiveConstant", - "markdownDescription": "A collective constant used in a category filter. This element is used to specify a list of values for the constant.", - "title": "CollectiveConstant" - }, - "ConstantType": { - "markdownDescription": "The type of category filter constant. This element is used to specify whether a constant is a singular or collective. Valid values are `SINGULAR` and `COLLECTIVE` .", - "title": "ConstantType", - "type": "string" - }, - "SingularConstant": { - "markdownDescription": "A singular constant used in a category filter. This element is used to specify a single value for the constant.", - "title": "SingularConstant", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicColumn": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "The type of aggregation that is performed on the column data when it's queried.", - "title": "Aggregation", - "type": "string" - }, - "AllowedAggregations": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of aggregation types that are allowed for the column. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", - "title": "AllowedAggregations", - "type": "array" - }, - "CellValueSynonyms": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.CellValueSynonym" - }, - "markdownDescription": "The other names or aliases for the column cell value.", - "title": "CellValueSynonyms", - "type": "array" - }, - "ColumnDataRole": { - "markdownDescription": "The role of the column in the data. Valid values are `DIMENSION` and `MEASURE` .", - "title": "ColumnDataRole", - "type": "string" - }, - "ColumnDescription": { - "markdownDescription": "A description of the column and its contents.", - "title": "ColumnDescription", - "type": "string" - }, - "ColumnFriendlyName": { - "markdownDescription": "A user-friendly name for the column.", - "title": "ColumnFriendlyName", - "type": "string" - }, - "ColumnName": { - "markdownDescription": "The name of the column.", - "title": "ColumnName", - "type": "string" - }, - "ColumnSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the column.", - "title": "ColumnSynonyms", - "type": "array" - }, - "ComparativeOrder": { - "$ref": "#/definitions/AWS::QuickSight::Topic.ComparativeOrder", - "markdownDescription": "The order in which data is displayed for the column when it's used in a comparative context.", - "title": "ComparativeOrder" - }, - "DefaultFormatting": { - "$ref": "#/definitions/AWS::QuickSight::Topic.DefaultFormatting", - "markdownDescription": "The default formatting used for values in the column.", - "title": "DefaultFormatting" - }, - "DisableIndexing": { - "markdownDescription": "A Boolean value that indicates whether the column shows in the autocomplete functionality.", - "title": "DisableIndexing", - "type": "boolean" - }, - "IsIncludedInTopic": { - "markdownDescription": "A Boolean value that indicates whether the column is included in the query results.", - "title": "IsIncludedInTopic", - "type": "boolean" - }, - "NeverAggregateInFilter": { - "markdownDescription": "A Boolean value that indicates whether to aggregate the column data when it's used in a filter context.", - "title": "NeverAggregateInFilter", - "type": "boolean" - }, - "NonAdditive": { - "markdownDescription": "The non additive value for the column.", - "title": "NonAdditive", - "type": "boolean" - }, - "NotAllowedAggregations": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of aggregation types that are not allowed for the column. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", - "title": "NotAllowedAggregations", - "type": "array" - }, - "SemanticType": { - "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticType", - "markdownDescription": "The semantic type of data contained in the column.", - "title": "SemanticType" - }, - "TimeGranularity": { - "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", - "title": "TimeGranularity", - "type": "string" - } - }, - "required": [ - "ColumnName" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.TopicConfigOptions": { - "additionalProperties": false, - "properties": { - "QBusinessInsightsEnabled": { - "markdownDescription": "Enables Amazon Q Business Insights for a `Topic` .", - "title": "QBusinessInsightsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicDateRangeFilter": { - "additionalProperties": false, - "properties": { - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRangeFilterConstant", - "markdownDescription": "The constant used in a date range filter.", - "title": "Constant" - }, - "Inclusive": { - "markdownDescription": "A Boolean value that indicates whether the date range filter should include the boundary values. If set to true, the filter includes the start and end dates. If set to false, the filter excludes them.", - "title": "Inclusive", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicFilter": { - "additionalProperties": false, - "properties": { - "CategoryFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCategoryFilter", - "markdownDescription": "The category filter that is associated with this filter.", - "title": "CategoryFilter" - }, - "DateRangeFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicDateRangeFilter", - "markdownDescription": "The date range filter.", - "title": "DateRangeFilter" - }, - "FilterClass": { - "markdownDescription": "The class of the filter. Valid values for this structure are `ENFORCED_VALUE_FILTER` , `CONDITIONAL_VALUE_FILTER` , and `NAMED_VALUE_FILTER` .", - "title": "FilterClass", - "type": "string" - }, - "FilterDescription": { - "markdownDescription": "A description of the filter used to select items for a topic.", - "title": "FilterDescription", - "type": "string" - }, - "FilterName": { - "markdownDescription": "The name of the filter.", - "title": "FilterName", - "type": "string" - }, - "FilterSynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the filter.", - "title": "FilterSynonyms", - "type": "array" - }, - "FilterType": { - "markdownDescription": "The type of the filter. Valid values for this structure are `CATEGORY_FILTER` , `NUMERIC_EQUALITY_FILTER` , `NUMERIC_RANGE_FILTER` , `DATE_RANGE_FILTER` , and `RELATIVE_DATE_FILTER` .", - "title": "FilterType", - "type": "string" - }, - "NumericEqualityFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNumericEqualityFilter", - "markdownDescription": "The numeric equality filter.", - "title": "NumericEqualityFilter" - }, - "NumericRangeFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNumericRangeFilter", - "markdownDescription": "The numeric range filter.", - "title": "NumericRangeFilter" - }, - "OperandFieldName": { - "markdownDescription": "The name of the field that the filter operates on.", - "title": "OperandFieldName", - "type": "string" - }, - "RelativeDateFilter": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRelativeDateFilter", - "markdownDescription": "The relative date filter.", - "title": "RelativeDateFilter" - } - }, - "required": [ - "FilterName", - "OperandFieldName" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.TopicNamedEntity": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Topic.NamedEntityDefinition" - }, - "markdownDescription": "The definition of a named entity.", - "title": "Definition", - "type": "array" - }, - "EntityDescription": { - "markdownDescription": "The description of the named entity.", - "title": "EntityDescription", - "type": "string" - }, - "EntityName": { - "markdownDescription": "The name of the named entity.", - "title": "EntityName", - "type": "string" - }, - "EntitySynonyms": { - "items": { - "type": "string" - }, - "markdownDescription": "The other names or aliases for the named entity.", - "title": "EntitySynonyms", - "type": "array" - }, - "SemanticEntityType": { - "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticEntityType", - "markdownDescription": "The type of named entity that a topic represents.", - "title": "SemanticEntityType" - } - }, - "required": [ - "EntityName" - ], - "type": "object" - }, - "AWS::QuickSight::Topic.TopicNumericEqualityFilter": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "An aggregation function that specifies how to calculate the value of a numeric field for a topic. Valid values for this structure are `NO_AGGREGATION` , `SUM` , `AVERAGE` , `COUNT` , `DISTINCT_COUNT` , `MAX` , `MEDIAN` , `MIN` , `STDEV` , `STDEVP` , `VAR` , and `VARP` .", - "title": "Aggregation", - "type": "string" - }, - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicSingularFilterConstant", - "markdownDescription": "The constant used in a numeric equality filter.", - "title": "Constant" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicNumericRangeFilter": { - "additionalProperties": false, - "properties": { - "Aggregation": { - "markdownDescription": "An aggregation function that specifies how to calculate the value of a numeric field for a topic, Valid values for this structure are `NO_AGGREGATION` , `SUM` , `AVERAGE` , `COUNT` , `DISTINCT_COUNT` , `MAX` , `MEDIAN` , `MIN` , `STDEV` , `STDEVP` , `VAR` , and `VARP` .", - "title": "Aggregation", - "type": "string" - }, - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRangeFilterConstant", - "markdownDescription": "The constant used in a numeric range filter.", - "title": "Constant" - }, - "Inclusive": { - "markdownDescription": "A Boolean value that indicates whether the endpoints of the numeric range are included in the filter. If set to true, topics whose numeric field value is equal to the endpoint values will be included in the filter. If set to false, topics whose numeric field value is equal to the endpoint values will be excluded from the filter.", - "title": "Inclusive", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicRangeFilterConstant": { - "additionalProperties": false, - "properties": { - "ConstantType": { - "markdownDescription": "The data type of the constant value that is used in a range filter. Valid values for this structure are `RANGE` .", - "title": "ConstantType", - "type": "string" - }, - "RangeConstant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.RangeConstant", - "markdownDescription": "The value of the constant that is used to specify the endpoints of a range filter.", - "title": "RangeConstant" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicRelativeDateFilter": { - "additionalProperties": false, - "properties": { - "Constant": { - "$ref": "#/definitions/AWS::QuickSight::Topic.TopicSingularFilterConstant", - "markdownDescription": "The constant used in a relative date filter.", - "title": "Constant" - }, - "RelativeDateFilterFunction": { - "markdownDescription": "The function to be used in a relative date filter to determine the range of dates to include in the results. Valid values for this structure are `BEFORE` , `AFTER` , and `BETWEEN` .", - "title": "RelativeDateFilterFunction", - "type": "string" - }, - "TimeGranularity": { - "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", - "title": "TimeGranularity", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Topic.TopicSingularFilterConstant": { - "additionalProperties": false, - "properties": { - "ConstantType": { - "markdownDescription": "The type of the singular filter constant. Valid values for this structure are `SINGULAR` .", - "title": "ConstantType", - "type": "string" - }, - "SingularConstant": { - "markdownDescription": "The value of the singular filter constant.", - "title": "SingularConstant", - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::TopicV2": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "CustomInstructions": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.CustomInstructions" - }, - "DataSetRelations": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.DataSetRelation" - }, - "type": "array" - }, - "DataSets": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.DataSetReference" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "FolderArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.ResourcePermission" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::TopicV2" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.CustomInstructions": { - "additionalProperties": false, - "properties": { - "CustomInstructionsString": { - "type": "string" - } - }, - "required": [ - "CustomInstructionsString" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetName": { - "type": "string" - } - }, - "required": [ - "DataSetArn" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.DataSetRelation": { - "additionalProperties": false, - "properties": { - "Left": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.DataSetRelationEndpoint" - }, - "Right": { - "$ref": "#/definitions/AWS::QuickSight::TopicV2.DataSetRelationEndpoint" - } - }, - "required": [ - "Left", - "Right" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.DataSetRelationEndpoint": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DataSetArn": { - "type": "string" - } - }, - "required": [ - "ColumnNames", - "DataSetArn" - ], - "type": "object" - }, - "AWS::QuickSight::TopicV2.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::VPCConnection": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "markdownDescription": "The availability status of the VPC connection.", - "title": "AvailabilityStatus", - "type": "string" - }, - "AwsAccountId": { - "markdownDescription": "The AWS account ID of the account where you want to create a new VPC connection.", - "title": "AwsAccountId", - "type": "string" - }, - "DnsResolvers": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of IP addresses of DNS resolver endpoints for the VPC connection.", - "title": "DnsResolvers", - "type": "array" - }, - "Name": { - "markdownDescription": "The display name for the VPC connection.", - "title": "Name", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role associated with the VPC connection.", - "title": "RoleArn", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon EC2 security group IDs associated with the VPC connection.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of subnet IDs for the VPC connection.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs for the resource tag or tags assigned to the VPC connection.", - "title": "Tags", - "type": "array" - }, - "VPCConnectionId": { - "markdownDescription": "The ID of the VPC connection that you're creating. This ID is a unique identifier for each AWS Region in an AWS account.", - "title": "VPCConnectionId", - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::VPCConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::VPCConnection.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The availability zone that the network interface resides in.", - "title": "AvailabilityZone", - "type": "string" - }, - "ErrorMessage": { - "markdownDescription": "An error message.", - "title": "ErrorMessage", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The network interface ID.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the network interface.", - "title": "Status", - "type": "string" - }, - "SubnetId": { - "markdownDescription": "The subnet ID associated with the network interface.", - "title": "SubnetId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RAM::Permission": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "Specifies the name of the customer managed permission. The name must be unique within the AWS Region .", - "title": "Name", - "type": "string" - }, - "PolicyTemplate": { - "markdownDescription": "A string in JSON format string that contains the following elements of a resource-based policy:\n\n- *Effect* : must be set to `ALLOW` .\n- *Action* : specifies the actions that are allowed by this customer managed permission. The list must contain only actions that are supported by the specified resource type. For a list of all actions supported by each resource type, 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 *AWS Identity and Access Management User Guide* .\n- *Condition* : (optional) specifies conditional parameters that must evaluate to true when a user attempts an action for that action to be allowed. For more information about the Condition element, see [IAM policies: Condition element](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) in the *AWS Identity and Access Management User Guide* .\n\nThis template can't include either the `Resource` or `Principal` elements. Those are both filled in by AWS RAM when it instantiates the resource-based policy on each resource shared using this managed permission. The `Resource` comes from the ARN of the specific resource that you are sharing. The `Principal` comes from the list of identities added to the resource share.", - "title": "PolicyTemplate", - "type": "object" - }, - "ResourceType": { - "markdownDescription": "Specifies the name of the resource type that this customer managed permission applies to.\n\nThe format is `** : **` and is not case sensitive. For example, to specify an Amazon EC2 Subnet, you can use the string `ec2:subnet` . To see the list of valid values for this parameter, query the [ListResourceTypes](https://docs.aws.amazon.com/ram/latest/APIReference/API_ListResourceTypes.html) operation.", - "title": "ResourceType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies a list of one or more tag key and value pairs to attach to the permission.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name", - "PolicyTemplate", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RAM::Permission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RAM::ResourceShare": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowExternalPrincipals": { - "markdownDescription": "Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. A value of `true` lets you share with individual AWS accounts that are *not* in your organization. A value of `false` only has meaning if your account is a member of an AWS Organization. The default value is `true` .", - "title": "AllowExternalPrincipals", - "type": "boolean" - }, - "Name": { - "markdownDescription": "Specifies the name of the resource share.", - "title": "Name", - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share.", - "title": "PermissionArns", - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the principals to associate with the resource share. The possible values are:\n\n- An AWS account ID\n- An Amazon Resource Name (ARN) of an organization in AWS Organizations\n- An ARN of an organizational unit (OU) in AWS Organizations\n- An ARN of an IAM role\n- An ARN of an IAM user\n\n> Not all resource types can be shared with IAM roles and users. For more information, see the column *Can share with IAM roles and users* in the tables on [Shareable AWS resources](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html) in the *AWS Resource Access Manager User Guide* .", - "title": "Principals", - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies a list of one or more ARNs of the resources to associate with the resource share.", - "title": "ResourceArns", - "type": "array" - }, - "ResourceShareConfiguration": { - "$ref": "#/definitions/AWS::RAM::ResourceShare.ResourceShareConfiguration" - }, - "Sources": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies from which source accounts the service principal has access to the resources in this resource share.", - "title": "Sources", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies one or more tags to attach to the resource share itself. It doesn't attach the tags to the resources associated with the resource share.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RAM::ResourceShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RAM::ResourceShare.ResourceShareConfiguration": { - "additionalProperties": false, - "properties": { - "ExclusiveAccountAccess": { - "type": "boolean" - }, - "RetainSharingOnAccountLeaveOrganization": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::RDS::ClusterSnapshot": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterSnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBClusterIdentifier", - "DBClusterSnapshotIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::ClusterSnapshot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::CustomDBEngineVersion": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseInstallationFiles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DatabaseInstallationFilesS3BucketName": { - "markdownDescription": "The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is `my-custom-installation-files` .", - "title": "DatabaseInstallationFilesS3BucketName", - "type": "string" - }, - "DatabaseInstallationFilesS3Prefix": { - "markdownDescription": "The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is `123456789012/cev1` . If this setting isn't specified, no prefix is assumed.", - "title": "DatabaseInstallationFilesS3Prefix", - "type": "string" - }, - "Description": { - "markdownDescription": "An optional description of your CEV.", - "title": "Description", - "type": "string" - }, - "Engine": { - "markdownDescription": "The database engine to use for your custom engine version (CEV).\n\nValid values:\n\n- `custom-oracle-ee`\n- `custom-oracle-ee-cdb`", - "title": "Engine", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The name of your CEV. The name format is `major version.customized_string` . For example, a valid CEV name is `19.my_cev1` . This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of `Engine` and `EngineVersion` is unique per customer per Region.\n\n*Constraints:* Minimum length is 1. Maximum length is 60.\n\n*Pattern:* `^[a-z0-9_.-]{1,60$` }", - "title": "EngineVersion", - "type": "string" - }, - "ImageId": { - "markdownDescription": "A value that indicates the ID of the AMI.", - "title": "ImageId", - "type": "string" - }, - "KMSKeyId": { - "markdownDescription": "The AWS KMS key identifier for an encrypted CEV. A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS.\n\nIf you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in [Creating a symmetric encryption KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) in the *AWS Key Management Service Developer Guide* .\n\nYou can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys.", - "title": "KMSKeyId", - "type": "string" - }, - "Manifest": { - "markdownDescription": "The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.\n\nThe following JSON fields are valid:\n\n- **MediaImportTemplateVersion** - Version of the CEV manifest. The date is in the format `YYYY-MM-DD` .\n- **databaseInstallationFileNames** - Ordered list of installation files for the CEV.\n- **opatchFileNames** - Ordered list of OPatch installers used for the Oracle DB engine.\n- **psuRuPatchFileNames** - The PSU and RU patches for this CEV.\n- **OtherPatchFileNames** - The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches.\n\nFor more information, see [Creating the CEV manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) in the *Amazon RDS User Guide* .", - "title": "Manifest", - "type": "string" - }, - "SourceCustomDbEngineVersionIdentifier": { - "markdownDescription": "The ARN of a CEV to use as a source for creating a new CEV. You can specify a different Amazon Machine Imagine (AMI) by using either `Source` or `UseAwsProvidedLatestImage` . You can't specify a different JSON manifest when you specify `SourceCustomDbEngineVersionIdentifier` .", - "title": "SourceCustomDbEngineVersionIdentifier", - "type": "string" - }, - "Status": { - "markdownDescription": "A value that indicates the status of a custom engine version (CEV).", - "title": "Status", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*", - "title": "Tags", - "type": "array" - }, - "UseAwsProvidedLatestImage": { - "markdownDescription": "Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. If you specify `UseAwsProvidedLatestImage` , you can't also specify `ImageId` .", - "title": "UseAwsProvidedLatestImage", - "type": "boolean" - } - }, - "required": [ - "Engine", - "EngineVersion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::CustomDBEngineVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nThis setting is required to create a Multi-AZ DB cluster.", - "title": "AllocatedStorage", - "type": "number" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "markdownDescription": "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "AssociatedRoles", - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "markdownDescription": "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB cluster.\n\nFor more information about automatic minor version upgrades, see [Automatically upgrading the minor engine version](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades) .", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see [Choosing the Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", - "title": "AvailabilityZones", - "type": "array" - }, - "BacktrackWindow": { - "markdownDescription": "The target backtrack window, in seconds. To disable backtracking, set this value to `0` .\n\nValid for Cluster Type: Aurora MySQL DB clusters only\n\nDefault: `0`\n\nConstraints:\n\n- If specified, this value must be set to a number from 0 to 259,200 (72 hours).", - "title": "BacktrackWindow", - "type": "number" - }, - "BackupRetentionPeriod": { - "markdownDescription": "The number of days for which automated backups are retained.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 1 to 35\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "BackupRetentionPeriod", - "type": "number" - }, - "ClusterScalabilityType": { - "markdownDescription": "Specifies the scalability mode of the Aurora DB cluster. When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation.\n\n*Important:* Automated backup retention isn't supported with Aurora Limitless Database clusters. If you set this property to `limitless` , you cannot set `DeleteAutomatedBackups` to `false` . To create a backup, use manual snapshots instead.", - "title": "ClusterScalabilityType", - "type": "string" - }, - "CopyTagsToSnapshot": { - "markdownDescription": "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "CopyTagsToSnapshot", - "type": "boolean" - }, - "DBClusterIdentifier": { - "markdownDescription": "The DB 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- First character must be a letter.\n- Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: `my-cluster1`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DBClusterIdentifier", - "type": "string" - }, - "DBClusterInstanceClass": { - "markdownDescription": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6gd.xlarge` . Not all DB instance classes are available in all AWS Regions , or for all database engines.\n\nFor the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only", - "title": "DBClusterInstanceClass", - "type": "string" - }, - "DBClusterParameterGroupName": { - "markdownDescription": "The name of the DB cluster parameter group to associate with this DB cluster.\n\n> If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n> \n> If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started. \n\nTo list all of the available DB cluster parameter group names, use the following command:\n\n`aws rds describe-db-cluster-parameter-groups --query \"DBClusterParameterGroups[].DBClusterParameterGroupName\" --output text`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DBClusterParameterGroupName", - "type": "string" - }, - "DBInstanceParameterGroupName": { - "markdownDescription": "The name of the DB parameter group to apply to all instances of the DB cluster.\n\n> When you apply a parameter group using the `DBInstanceParameterGroupName` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window. \n\nValid for Cluster Type: Aurora DB clusters only\n\nDefault: The existing name setting\n\nConstraints:\n\n- The DB parameter group must be in the same DB parameter group family as this DB cluster.\n- The `DBInstanceParameterGroupName` parameter is valid in combination with the `AllowMajorVersionUpgrade` parameter for a major version upgrade only.", - "title": "DBInstanceParameterGroupName", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "A DB subnet group that you want to associate with this DB cluster.\n\nIf you are restoring a DB cluster to a point in time with `RestoreType` set to `copy-on-write` , and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DBSubnetGroupName", - "type": "string" - }, - "DBSystemId": { - "markdownDescription": "Reserved for future use.", - "title": "DBSystemId", - "type": "string" - }, - "DatabaseInsightsMode": { - "markdownDescription": "The mode of Database Insights to enable for the DB cluster.\n\nIf you set this value to `advanced` , you must also set the `PerformanceInsightsEnabled` parameter to `true` and the `PerformanceInsightsRetentionPeriod` parameter to 465.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DatabaseInsightsMode", - "type": "string" - }, - "DatabaseName": { - "markdownDescription": "The name of your database. If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see [Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DatabaseName", - "type": "string" - }, - "DeleteAutomatedBackups": { - "markdownDescription": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted, unless the AWS Backup policy specifies a point-in-time restore rule.", - "title": "DeleteAutomatedBackups", - "type": "boolean" - }, - "DeletionProtection": { - "markdownDescription": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "DeletionProtection", - "type": "boolean" - }, - "Domain": { - "markdownDescription": "Indicates the directory ID of the Active Directory to create the DB cluster.\n\nFor Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.\n\nFor more information, see [Kerberos authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", - "title": "Domain", - "type": "string" - }, - "DomainIAMRoleName": { - "markdownDescription": "Specifies the name of the IAM role to use when making API calls to the Directory Service.\n\nValid for: Aurora DB clusters only", - "title": "DomainIAMRoleName", - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Aurora User Guide* .\n\n*Aurora MySQL*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Aurora PostgreSQL*\n\nValid values: `postgresql`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "EnableCloudwatchLogsExports", - "type": "array" - }, - "EnableGlobalWriteForwarding": { - "markdownDescription": "Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.\n\nYou can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.\n\nValid for Cluster Type: Aurora DB clusters only", - "title": "EnableGlobalWriteForwarding", - "type": "boolean" - }, - "EnableHttpEndpoint": { - "markdownDescription": "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n\nWhen enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n\nFor more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide* .\n\nValid for Cluster Type: Aurora DB clusters only", - "title": "EnableHttpEndpoint", - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "markdownDescription": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n\nFor more information, see [IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon Aurora User Guide.*\n\nValid for: Aurora DB clusters only", - "title": "EnableIAMDatabaseAuthentication", - "type": "boolean" - }, - "EnableLocalWriteForwarding": { - "markdownDescription": "Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.\n\nValid for: Aurora DB clusters only", - "title": "EnableLocalWriteForwarding", - "type": "boolean" - }, - "Engine": { - "markdownDescription": "The name of the database engine to be used for this DB cluster.\n\nValid Values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `mysql`\n- `postgres`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "Engine", - "type": "string" - }, - "EngineLifecycleSupport": { - "markdownDescription": "The life cycle type for this DB cluster.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date. \n\nYou can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n\n- Amazon Aurora - [Amazon RDS Extended Support with Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide*\n- Amazon RDS - [Amazon RDS Extended Support with Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide*\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", - "title": "EngineLifecycleSupport", - "type": "string" - }, - "EngineMode": { - "markdownDescription": "The DB engine mode of the DB cluster, either `provisioned` or `serverless` .\n\nThe `serverless` engine mode only applies for Aurora Serverless v1 DB clusters. Aurora Serverless v2 DB clusters use the `provisioned` engine mode.\n\nFor information about limitations and requirements for Serverless DB clusters, see the following sections in the *Amazon Aurora User Guide* :\n\n- [Limitations of Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)\n- [Requirements for Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html)\n\nValid for Cluster Type: Aurora DB clusters only", - "title": "EngineMode", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The version number of the database engine to use.\n\nTo list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (8.0-compatible), use the following command:\n\n`aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"`\n\nYou can supply either `5.7` or `8.0` to use the default engine version for Aurora MySQL version 2 or version 3, respectively.\n\nTo list all of the available engine versions for Aurora PostgreSQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"`\n\nTo list all of the available engine versions for RDS for MySQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"`\n\nTo list all of the available engine versions for RDS for PostgreSQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"`\n\n*Aurora MySQL*\n\nFor information, see [Database engine updates for Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) in the *Amazon Aurora User Guide* .\n\n*Aurora PostgreSQL*\n\nFor information, see [Amazon Aurora PostgreSQL releases and engine versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) in the *Amazon Aurora User Guide* .\n\n*MySQL*\n\nFor information, see [Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide* .\n\n*PostgreSQL*\n\nFor information, see [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) in the *Amazon RDS User Guide* .\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "EngineVersion", - "type": "string" - }, - "GlobalClusterIdentifier": { - "markdownDescription": "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the [AWS::RDS::GlobalCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html) resource.\n\nIf you aren't configuring a global database cluster, don't specify this property.\n\n> To remove the DB cluster from a global database cluster, specify an empty value for the `GlobalClusterIdentifier` property. \n\nFor information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", - "title": "GlobalClusterIdentifier", - "type": "string" - }, - "Iops": { - "markdownDescription": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.\n\nFor information about valid IOPS values, see [Provisioned IOPS storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nConstraints:\n\n- Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . If you enable the `StorageEncrypted` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the `StorageEncrypted` property to `true` .\n\nIf you specify the `SnapshotIdentifier` property, the `StorageEncrypted` property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used.\n\nIf you create a read replica of an encrypted DB cluster in another AWS Region, make sure to set `KmsKeyId` to a KMS key identifier that is valid in the destination AWS Region. This KMS key is used to encrypt the read replica in that AWS Region.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "KmsKeyId", - "type": "string" - }, - "ManageMasterUserPassword": { - "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nConstraints:\n\n- Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified.", - "title": "ManageMasterUserPassword", - "type": "boolean" - }, - "MasterUserAuthenticationType": { - "markdownDescription": "Specifies the authentication type for the master user. With IAM master user authentication, you can configure the master DB user with IAM database authentication when you create a DB cluster.\n\nYou can specify one of the following values:\n\n- `password` - Use standard database authentication with a password.\n- `iam-db-auth` - Use IAM database authentication for the master user.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nThis option is only valid for RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, Aurora MySQL, and Aurora PostgreSQL engines.", - "title": "MasterUserAuthenticationType", - "type": "string" - }, - "MasterUserPassword": { - "markdownDescription": "The master password for the DB instance.\n\n> If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "MasterUserPassword", - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/AWS::RDS::DBCluster.MasterUserSecret", - "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n\n> When you restore a DB cluster from a snapshot, Amazon RDS generates a new secret instead of reusing the secret specified in the `SecretArn` property. This ensures that the restored DB cluster is securely managed with a dedicated secret. To maintain consistent integration with your application, you might need to update resource configurations to reference the newly created secret. \n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*", - "title": "MasterUserSecret" - }, - "MasterUsername": { - "markdownDescription": "The name of the master user for the DB cluster.\n\n> If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "MasterUsername", - "type": "string" - }, - "MonitoringInterval": { - "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify `0` .\n\nIf `MonitoringRoleArn` is specified, also set `MonitoringInterval` to a value other than `0` .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`\n\nDefault: `0`", - "title": "MonitoringInterval", - "type": "number" - }, - "MonitoringRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* .\n\nIf `MonitoringInterval` is set to a value other than `0` , supply a `MonitoringRoleArn` value.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "MonitoringRoleArn", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "The network type of the DB cluster.\n\nValid values:\n\n- `IPV4`\n- `DUAL`\n\nThe network type is determined by the `DBSubnetGroup` specified for the DB cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ).\n\nFor more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon Aurora User Guide.*\n\nValid for: Aurora DB clusters only", - "title": "NetworkType", - "type": "string" - }, - "PerformanceInsightsEnabled": { - "markdownDescription": "Specifies whether to turn on Performance Insights for the DB cluster.\n\nFor more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "PerformanceInsightsEnabled", - "type": "boolean" - }, - "PerformanceInsightsKmsKeyId": { - "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n\nThe AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n\nIf you don't specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account . Your AWS account has a different default KMS key for each AWS Region .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "PerformanceInsightsKmsKeyId", - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "markdownDescription": "The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter `PerformanceInsightsRetentionPeriod` .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values:\n\n- `7`\n- *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31)\n- `731`\n\nDefault: `7` days\n\nIf you specify a retention period that isn't valid, such as `94` , Amazon RDS issues an error.", - "title": "PerformanceInsightsRetentionPeriod", - "type": "number" - }, - "Port": { - "markdownDescription": "The port number on which the DB instances in the DB cluster accept connections.\n\nDefault:\n\n- When `EngineMode` is `provisioned` , `3306` (for both Aurora MySQL and Aurora PostgreSQL)\n- When `EngineMode` is `serverless` :\n\n- `3306` when `Engine` is `aurora` or `aurora-mysql`\n- `5432` when `Engine` is `aurora-postgresql`\n\n> The `No interruption` on update behavior only applies to DB clusters. If you are updating a DB instance, see [Port](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port) for the AWS::RDS::DBInstance resource. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "Port", - "type": "number" - }, - "PreferredBackupWindow": { - "markdownDescription": "The daily time range during which automated backups are created. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) in the *Amazon Aurora User Guide.*\n\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.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "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. To see the time blocks available, see [Maintaining an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) in the *Amazon Aurora User Guide.*\n\nValid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n\nConstraints: Minimum 30-minute window.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "PreferredMaintenanceWindow", - "type": "string" - }, - "PubliclyAccessible": { - "markdownDescription": "Specifies whether the DB cluster is publicly accessible.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nWhen the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its domain name system (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is controlled by its security group settings.\n\nWhen the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.\n\nThe default behavior when `PubliclyAccessible` is not specified depends on whether a `DBSubnetGroup` is specified.\n\nIf `DBSubnetGroup` isn't specified, `PubliclyAccessible` defaults to `true` .\n\nIf `DBSubnetGroup` is specified, `PubliclyAccessible` defaults to `false` unless the value of `DBSubnetGroup` is `default` , in which case `PubliclyAccessible` defaults to `true` .\n\nIf `PubliclyAccessible` is true and the VPC that the `DBSubnetGroup` is in doesn't have an internet gateway attached to it, Amazon RDS returns an error.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ReplicationSourceIdentifier": { - "markdownDescription": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.\n\nValid for: Aurora DB clusters only", - "title": "ReplicationSourceIdentifier", - "type": "string" - }, - "RestoreToTime": { - "markdownDescription": "The date and time to restore the DB cluster to.\n\nValid Values: Value must be a time in Universal Coordinated Time (UTC) format\n\nConstraints:\n\n- Must be before the latest restorable time for the DB instance\n- Must be specified if `UseLatestRestorableTime` parameter isn't provided\n- Can't be specified if the `UseLatestRestorableTime` parameter is enabled\n- Can't be specified if the `RestoreType` parameter is `copy-on-write`\n\nThis property must be used with `SourceDBClusterIdentifier` property. The resulting cluster will have the identifier that matches the value of the `DBclusterIdentifier` property.\n\nExample: `2015-03-07T23:45:00Z`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "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\nIf you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "RestoreType", - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration", - "markdownDescription": "The scaling configuration of an Aurora Serverless v1 DB cluster.\n\nThis property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the `ServerlessV2ScalingConfiguration` property.\n\nValid for: Aurora Serverless v1 DB clusters only", - "title": "ScalingConfiguration" - }, - "ServerlessV2ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ServerlessV2ScalingConfiguration", - "markdownDescription": "The scaling configuration of an Aurora Serverless V2 DB cluster.\n\nThis property is only supported for Aurora Serverless v2. For Aurora Serverless v1, Use the `ScalingConfiguration` property.\n\nValid for: Aurora Serverless v2 DB clusters only", - "title": "ServerlessV2ScalingConfiguration" - }, - "SnapshotIdentifier": { - "markdownDescription": "The identifier for the DB snapshot or DB cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.\n\nAfter you restore a DB cluster with a `SnapshotIdentifier` property, you must specify the same `SnapshotIdentifier` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed. However, if you don't specify the `SnapshotIdentifier` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified `SnapshotIdentifier` property, and the original DB cluster is deleted.\n\nIf you specify the `SnapshotIdentifier` property to restore a DB cluster (as opposed to specifying it for DB cluster updates), then don't specify the following properties:\n\n- `GlobalClusterIdentifier`\n- `MasterUsername`\n- `MasterUserPassword`\n- `ReplicationSourceIdentifier`\n- `RestoreType`\n- `SourceDBClusterIdentifier`\n- `SourceRegion`\n- `StorageEncrypted` (for an encrypted snapshot)\n- `UseLatestRestorableTime`\n\nConstraints:\n\n- Must match the identifier of an existing Snapshot.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "SnapshotIdentifier", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "markdownDescription": "When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore.\n\nConstraints:\n\n- Must match the identifier of an existing DBCluster.\n- Cannot be specified if `SourceDbClusterResourceId` is specified. You must specify either `SourceDBClusterIdentifier` or `SourceDbClusterResourceId` , but not both.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "SourceDBClusterIdentifier", - "type": "string" - }, - "SourceDbClusterResourceId": { - "markdownDescription": "The resource ID of the source DB cluster from which to restore.", - "title": "SourceDbClusterResourceId", - "type": "string" - }, - "SourceRegion": { - "markdownDescription": "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, `us-east-1` .\n\nValid for: Aurora DB clusters only", - "title": "SourceRegion", - "type": "string" - }, - "StorageEncrypted": { - "markdownDescription": "Indicates whether the DB cluster is encrypted.\n\nIf you specify the `KmsKeyId` property, then you must enable encryption.\n\nIf you specify the `SourceDBClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used.\n\nIf you specify the `SnapshotIdentifier` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified `KmsKeyId` property is used.\n\nIf you specify the `SnapshotIdentifier` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the `KmsKeyId` property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to `false` .\n\n> If you specify both the `StorageEncrypted` and `SnapshotIdentifier` properties without specifying the `KmsKeyId` property, then the restored DB cluster inherits the encryption settings from the DB snapshot that provide. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "StorageEncrypted", - "type": "boolean" - }, - "StorageType": { - "markdownDescription": "The storage type to associate with the DB cluster.\n\nFor information on storage types for Aurora DB clusters, see [Storage configurations for Amazon Aurora DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type) . For information on storage types for Multi-AZ DB clusters, see [Settings for creating Multi-AZ DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings) .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nWhen specified for a Multi-AZ DB cluster, a value for the `Iops` parameter is required.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values:\n\n- Aurora DB clusters - `aurora | aurora-iopt1`\n- Multi-AZ DB clusters - `io1 | io2 | gp3`\n\nDefault:\n\n- Aurora DB clusters - `aurora`\n- Multi-AZ DB clusters - `io1`\n\n> When you create an Aurora DB cluster with the storage type set to `aurora-iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `aurora` .", - "title": "StorageType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB cluster.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", - "title": "Tags", - "type": "array" - }, - "UseLatestRestorableTime": { - "markdownDescription": "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "UseLatestRestorableTime", - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of EC2 VPC security groups to associate with this DB cluster.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", - "title": "VpcSecurityGroupIds", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* .", - "title": "FeatureName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.", - "title": "RoleArn", - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "Specifies the connection endpoint for the primary instance of the DB cluster.", - "title": "Address", - "type": "string" - }, - "Port": { - "markdownDescription": "Specifies the port that the database engine is listening on.", - "title": "Port", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBCluster.MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.", - "title": "KmsKeyId", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#aws-resource-rds-dbcluster-return-values) .", - "title": "SecretArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBCluster.ReadEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "The host address of the reader endpoint.", - "title": "Address", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBCluster.ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "markdownDescription": "Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in `serverless` DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).\n\n> If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.", - "title": "AutoPause", - "type": "boolean" - }, - "MaxCapacity": { - "markdownDescription": "The maximum capacity for an Aurora DB cluster in `serverless` DB engine mode.\n\nFor Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` .\n\nFor Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` .\n\nThe maximum capacity must be greater than or equal to the minimum capacity.", - "title": "MaxCapacity", - "type": "number" - }, - "MinCapacity": { - "markdownDescription": "The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode.\n\nFor Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` .\n\nFor Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` .\n\nThe minimum capacity must be less than or equal to the maximum capacity.", - "title": "MinCapacity", - "type": "number" - }, - "SecondsBeforeTimeout": { - "markdownDescription": "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.\n\nSpecify a value between 60 and 600 seconds.", - "title": "SecondsBeforeTimeout", - "type": "number" - }, - "SecondsUntilAutoPause": { - "markdownDescription": "The time, in seconds, before an Aurora DB cluster in `serverless` mode is paused.\n\nSpecify a value between 300 and 86,400 seconds.", - "title": "SecondsUntilAutoPause", - "type": "number" - }, - "TimeoutAction": { - "markdownDescription": "The action to take when the timeout is reached, either `ForceApplyCapacityChange` or `RollbackCapacityChange` .\n\n`ForceApplyCapacityChange` sets the capacity to the specified value as soon as possible.\n\n`RollbackCapacityChange` , the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n\n> If you specify `ForceApplyCapacityChange` , connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped. \n\nFor more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide* .", - "title": "TimeoutAction", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBCluster.ServerlessV2ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "markdownDescription": "The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128.\n\nThe maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide* .\n\nAurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the `ParameterApplyStatus` value for the DB instance changes to `pending-reboot` . You can update the parameter values by rebooting the DB instance after changing the capacity range.", - "title": "MaxCapacity", - "type": "number" - }, - "MinCapacity": { - "markdownDescription": "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5.", - "title": "MinCapacity", - "type": "number" - }, - "SecondsUntilAutoPause": { - "markdownDescription": "Specifies the number of seconds an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it.\n\nSpecify a value between 300 seconds (five minutes) and 86,400 seconds (one day). The default is 300 seconds.", - "title": "SecondsUntilAutoPause", - "type": "number" - } - }, - "type": "object" - }, - "AWS::RDS::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBClusterParameterGroupName": { - "markdownDescription": "The name of the DB cluster parameter group.\n\nConstraints:\n\n- Must not match the name of an existing DB cluster parameter group.\n\n> This value is stored as a lowercase string.", - "title": "DBClusterParameterGroupName", - "type": "string" - }, - "Description": { - "markdownDescription": "The description for the DB cluster parameter group.", - "title": "Description", - "type": "string" - }, - "Family": { - "markdownDescription": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.\n\n*Aurora MySQL*\n\nExample: `aurora-mysql5.7` , `aurora-mysql8.0`\n\n*Aurora PostgreSQL*\n\nExample: `aurora-postgresql14`\n\n*RDS for MySQL*\n\nExample: `mysql8.0`\n\n*RDS for PostgreSQL*\n\nExample: `postgres13`\n\nTo list all of the available parameter group families for a DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine `\n\nFor example, to list all of the available parameter group families for the Aurora PostgreSQL DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine aurora-postgresql`\n\n> The output contains duplicates. \n\nThe following are the valid DB engine values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `mysql`\n- `postgres`", - "title": "Family", - "type": "string" - }, - "Parameters": { - "markdownDescription": "Provides a list of parameters for the DB cluster parameter group.", - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB cluster parameter group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalStorageVolumes": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.AdditionalStorageVolume" - }, - "type": "array" - }, - "AllocatedStorage": { - "markdownDescription": "The amount of storage in gibibytes (GiB) to be initially allocated for the database instance.\n\n> If any value is set in the `Iops` parameter, `AllocatedStorage` must be at least 100 GiB, which corresponds to the minimum Iops value of 1,000. If you increase the `Iops` value (in 1,000 IOPS increments), then you must also increase the `AllocatedStorage` value (in 100-GiB increments). \n\n*Amazon Aurora*\n\nNot applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.\n\n*Db2*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp3): Must be an integer from 20 to 64000.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 64000.\n\n*MySQL*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*MariaDB*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*PostgreSQL*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*Oracle*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 10 to 3072.\n\n*SQL Server*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 16384.\n- Web and Express editions: Must be an integer from 20 to 16384.\n- Provisioned IOPS storage (io1):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 16384.\n- Web and Express editions: Must be an integer from 20 to 16384.\n- Magnetic storage (standard):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 1024.\n- Web and Express editions: Must be an integer from 20 to 1024.", - "title": "AllocatedStorage", - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "markdownDescription": "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.\n\nConstraints: Major version upgrades must be allowed when specifying a value for the `EngineVersion` parameter that is a different major version than the DB instance's current version.", - "title": "AllowMajorVersionUpgrade", - "type": "boolean" - }, - "ApplyImmediately": { - "markdownDescription": "Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the `PreferredMaintenanceWindow` setting. If set to `false` , changes are applied during the next maintenance window. Until RDS applies the changes, the DB instance remains in a drift state. As a result, the configuration doesn't fully reflect the requested modifications and temporarily diverges from the intended state.\n\nIn addition to the settings described in [Modifying a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) , this property also determines whether the DB instance reboots when a static parameter is modified in the associated DB parameter group.\n\nDefault: `true`", - "title": "ApplyImmediately", - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "markdownDescription": "The AWS Identity and Access Management (IAM) roles associated with the DB instance.\n\n*Amazon Aurora*\n\nNot applicable. The associated roles are managed by the DB cluster.", - "title": "AssociatedRoles", - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.", - "title": "AutoMinorVersionUpgrade", - "type": "boolean" - }, - "AutomaticBackupReplicationKmsKeyId": { - "markdownDescription": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region , for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE` .", - "title": "AutomaticBackupReplicationKmsKeyId", - "type": "string" - }, - "AutomaticBackupReplicationRegion": { - "markdownDescription": "The AWS Region associated with the automated backup.", - "title": "AutomaticBackupReplicationRegion", - "type": "string" - }, - "AutomaticBackupReplicationRetentionPeriod": { - "markdownDescription": "The retention period for automated backups in a different AWS Region. Use this parameter to set a unique retention period that only applies to cross-Region automated backups. To enable automated backups in a different Region, specify a positive value for the `AutomaticBackupReplicationRegion` parameter.\n\nIf not specified, this parameter defaults to the value of the `BackupRetentionPeriod` parameter. The maximum allowed value is 35.", - "title": "AutomaticBackupReplicationRetentionPeriod", - "type": "number" - }, - "AvailabilityZone": { - "markdownDescription": "The Availability Zone (AZ) where the database will be created. For information on AWS Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html) .\n\nFor Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's AWS Region .\n\nConstraints:\n\n- The `AvailabilityZone` parameter can't be specified if the DB instance is a Multi-AZ deployment.\n- The specified Availability Zone must be in the same AWS Region as the current endpoint.\n\nExample: `us-east-1d`", - "title": "AvailabilityZone", - "type": "string" - }, - "BackupRetentionPeriod": { - "markdownDescription": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n\n*Amazon Aurora*\n\nNot applicable. The retention period for automated backups is managed by the DB cluster.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 0 to 35\n- Can't be set to 0 if the DB instance is a source to read replicas", - "title": "BackupRetentionPeriod", - "type": "number" - }, - "BackupTarget": { - "markdownDescription": "The location for storing automated backups and manual snapshots.\n\nValid Values:\n\n- `local` (Dedicated Local Zone)\n- `outposts` ( AWS Outposts)\n- `region` ( AWS Region )\n\nDefault: `region`\n\nFor more information, see [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) in the *Amazon RDS User Guide* .", - "title": "BackupTarget", - "type": "string" - }, - "CACertificateIdentifier": { - "markdownDescription": "The identifier of the CA certificate for this DB instance.\n\nFor more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide* .", - "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, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:\n\n- For more information about rotating your SSL/TLS certificate for RDS DB engines, see [Rotating Your SSL/TLS Certificate.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon RDS User Guide.*\n- For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [Rotating Your SSL/TLS Certificate](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon Aurora User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "CertificateRotationRestart", - "type": "boolean" - }, - "CharacterSetName": { - "markdownDescription": "For supported engines, indicates that the DB instance should be associated with the specified character set.\n\n*Amazon Aurora*\n\nNot applicable. The character set is managed by the DB cluster. For more information, see [AWS::RDS::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html) .", - "title": "CharacterSetName", - "type": "string" - }, - "CopyTagsToSnapshot": { - "markdownDescription": "Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.\n\nThis setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.", - "title": "CopyTagsToSnapshot", - "type": "boolean" - }, - "CustomIAMInstanceProfile": { - "markdownDescription": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.\n\nThis setting is required for RDS Custom.\n\nConstraints:\n\n- The profile must exist in your account.\n- The profile must have an IAM role that Amazon EC2 has permissions to assume.\n- The instance profile name and the associated IAM role name must start with the prefix `AWSRDSCustom` .\n\nFor the list of permissions required for the IAM role, see [Configure IAM and your VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) in the *Amazon RDS User Guide* .", - "title": "CustomIAMInstanceProfile", - "type": "string" - }, - "DBClusterIdentifier": { - "markdownDescription": "The identifier of the DB cluster that this DB instance will belong to.\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "DBClusterIdentifier", - "type": "string" - }, - "DBClusterSnapshotIdentifier": { - "markdownDescription": "The identifier for the Multi-AZ DB cluster snapshot to restore from.\n\nFor more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n- Can't be specified when `DBSnapshotIdentifier` is specified.\n- Must be specified when `DBSnapshotIdentifier` isn't specified.\n- If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the `DBClusterSnapshotIdentifier` must be the ARN of the shared snapshot.\n- Can't be the identifier of an Aurora DB cluster snapshot.", - "title": "DBClusterSnapshotIdentifier", - "type": "string" - }, - "DBInstanceClass": { - "markdownDescription": "The compute and memory capacity of the DB instance, for example `db.m5.large` . Not all DB instance classes are available in all AWS Regions , or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide* .", - "title": "DBInstanceClass", - "type": "string" - }, - "DBInstanceIdentifier": { - "markdownDescription": "A name for the DB instance. If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nFor information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* .\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "DBInstanceIdentifier", - "type": "string" - }, - "DBName": { - "markdownDescription": "The meaning of this parameter differs according to the database engine you use.\n\n> If you specify the `[DBSnapshotIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsnapshotidentifier)` property, this property only applies to RDS for Oracle. \n\n*Amazon Aurora*\n\nNot applicable. The database name is managed by the DB cluster.\n\n*Db2*\n\nThe name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n- Can't be a word reserved by the specified database engine.\n\n*MySQL*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Can't be a word reserved by the specified database engine\n\n*MariaDB*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Can't be a word reserved by the specified database engine\n\n*PostgreSQL*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, the default `postgres` database is created in the DB instance.\n\nConstraints:\n\n- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n- Must contain 1 to 63 characters.\n- Can't be a word reserved by the specified database engine\n\n*Oracle*\n\nThe Oracle System ID (SID) of the created DB instance. If you specify `null` , the default value `ORCL` is used. You can't specify the string NULL, or any other reserved word, for `DBName` .\n\nDefault: `ORCL`\n\nConstraints:\n\n- Can't be longer than 8 characters\n\n*SQL Server*\n\nNot applicable. Must be null.", - "title": "DBName", - "type": "string" - }, - "DBParameterGroupName": { - "markdownDescription": "The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template.\n\nTo list all of the available DB parameter group names, use the following command:\n\n`aws rds describe-db-parameter-groups --query \"DBParameterGroups[].DBParameterGroupName\" --output text`\n\n> If any of the data members of the referenced parameter group are changed during an update, the DB instance might need to be restarted, which causes some interruption. If the parameter group contains static parameters, whether they were changed or not, an update triggers a reboot. \n\nIf you don't specify a value for `DBParameterGroupName` property, the default DB parameter group for the specified engine and engine version is used.", - "title": "DBParameterGroupName", - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template.\n\nIf you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups.\n\n> If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations:\n> \n> - `AllocatedStorage`\n> - `AutoMinorVersionUpgrade`\n> - `AvailabilityZone`\n> - `BackupRetentionPeriod`\n> - `CharacterSetName`\n> - `DBInstanceClass`\n> - `DBName`\n> - `DBParameterGroupName`\n> - `DBSecurityGroups`\n> - `DBSubnetGroupName`\n> - `Engine`\n> - `EngineVersion`\n> - `Iops`\n> - `LicenseModel`\n> - `MasterUsername`\n> - `MasterUserPassword`\n> - `MultiAZ`\n> - `OptionGroupName`\n> - `PreferredBackupWindow`\n> - `PreferredMaintenanceWindow`\n> \n> All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as `StorageType` , `StorageEncrypted` , or `KmsKeyId` . If you're already using the `DBSecurityGroups` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.", - "title": "DBSecurityGroups", - "type": "array" - }, - "DBSnapshotIdentifier": { - "markdownDescription": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n\nBy specifying this property, you can create a DB instance from the specified DB snapshot. If the `DBSnapshotIdentifier` property is an empty string or the `AWS::RDS::DBInstance` declaration has no `DBSnapshotIdentifier` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n\nSome DB instance properties aren't valid when you restore from a snapshot, such as the `MasterUsername` and `MasterUserPassword` properties, and the point-in-time recovery properties `RestoreTime` and `UseLatestRestorableTime` . For information about the properties that you can specify, see the [`RestoreDBInstanceFromDBSnapshot`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) action in the *Amazon RDS API Reference* .\n\nAfter you restore a DB instance with a `DBSnapshotIdentifier` property, you must specify the same `DBSnapshotIdentifier` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the `DBSnapshotIdentifier` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified `DBSnapshotIdentifier` property, and the original DB instance is deleted.\n\nIf you specify the `DBSnapshotIdentifier` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n\n- `CharacterSetName`\n- `DBClusterIdentifier`\n- `DBName`\n- `KmsKeyId`\n- `MasterUsername`\n- `MasterUserPassword`\n- `PromotionTier`\n- `SourceDBInstanceIdentifier`\n- `SourceRegion`\n- `StorageEncrypted` (for an unencrypted snapshot)\n- `Timezone`\n\n*Amazon Aurora*\n\nNot applicable. Snapshot restore is managed by the DB cluster.", - "title": "DBSnapshotIdentifier", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "A DB subnet group to associate with the DB instance. If you update this value, the new subnet group must be a subnet group in a new VPC.\n\nIf you don't specify a DB subnet group, RDS uses the default DB subnet group if one exists. If a default DB subnet group does not exist, and you don't specify a `DBSubnetGroupName` , the DB instance fails to launch.\n\nFor more information about using Amazon RDS in a VPC, see [Amazon VPC and Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to Amazon Aurora DB instances. The DB subnet group is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", - "title": "DBSubnetGroupName", - "type": "string" - }, - "DBSystemId": { - "markdownDescription": "The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term \"Oracle database instance\" refers exclusively to the system global area (SGA) and Oracle background processes. If you don't specify a SID, the value defaults to `RDSCDB` . The Oracle SID is also the name of your CDB.", - "title": "DBSystemId", - "type": "string" - }, - "DatabaseInsightsMode": { - "markdownDescription": "The mode of Database Insights to enable for the DB instance.\n\n> Aurora DB instances inherit this value from the DB cluster, so you can't change this value.", - "title": "DatabaseInsightsMode", - "type": "string" - }, - "DedicatedLogVolume": { - "markdownDescription": "Indicates whether the DB instance has a dedicated log volume (DLV) enabled.", - "title": "DedicatedLogVolume", - "type": "boolean" - }, - "DeleteAutomatedBackups": { - "markdownDescription": "A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.\n\n*Amazon Aurora*\n\nNot applicable. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the DB cluster are not deleted.", - "title": "DeleteAutomatedBackups", - "type": "boolean" - }, - "DeletionProtection": { - "markdownDescription": "Specifies whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see [Deleting a DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html) .\n\nThis setting doesn't apply to Amazon Aurora DB instances. You can enable or disable deletion protection for the DB cluster. For more information, see `CreateDBCluster` . DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.", - "title": "DeletionProtection", - "type": "boolean" - }, - "Domain": { - "markdownDescription": "The Active Directory directory ID to create the DB instance in. Currently, only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.\n\nFor more information, see [Kerberos Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) in the *Amazon RDS User Guide* .", - "title": "Domain", - "type": "string" - }, - "DomainAuthSecretArn": { - "markdownDescription": "The ARN for the Secrets Manager secret with the credentials for the user joining the domain.\n\nExample: `arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`", - "title": "DomainAuthSecretArn", - "type": "string" - }, - "DomainDnsIps": { - "items": { - "type": "string" - }, - "markdownDescription": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.\n\nConstraints:\n\n- Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.\n\nExample: `123.124.125.126,234.235.236.237`", - "title": "DomainDnsIps", - "type": "array" - }, - "DomainFqdn": { - "markdownDescription": "The fully qualified domain name (FQDN) of an Active Directory domain.\n\nConstraints:\n\n- Can't be longer than 64 characters.\n\nExample: `mymanagedADtest.mymanagedAD.mydomain`", - "title": "DomainFqdn", - "type": "string" - }, - "DomainIAMRoleName": { - "markdownDescription": "The name of the IAM role to use when making API calls to the Directory Service.\n\nThis setting doesn't apply to the following DB instances:\n\n- Amazon Aurora (The domain is managed by the DB cluster.)\n- RDS Custom", - "title": "DomainIAMRoleName", - "type": "string" - }, - "DomainOu": { - "markdownDescription": "The Active Directory organizational unit for your DB instance to join.\n\nConstraints:\n\n- Must be in the distinguished name format.\n- Can't be longer than 64 characters.\n\nExample: `OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`", - "title": "DomainOu", - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide* .\n\n*Amazon Aurora*\n\nNot applicable. CloudWatch Logs exports are managed by the DB cluster.\n\n*Db2*\n\nValid values: `diag.log` , `notify.log`\n\n*MariaDB*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Microsoft SQL Server*\n\nValid values: `agent` , `error`\n\n*MySQL*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Oracle*\n\nValid values: `alert` , `audit` , `listener` , `trace` , `oemagent`\n\n*PostgreSQL*\n\nValid values: `postgresql` , `upgrade`", - "title": "EnableCloudwatchLogsExports", - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "markdownDescription": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n\nThis property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.*\n\n*Amazon Aurora*\n\nNot applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.", - "title": "EnableIAMDatabaseAuthentication", - "type": "boolean" - }, - "EnablePerformanceInsights": { - "markdownDescription": "Specifies whether to enable Performance Insights for the DB instance. For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "EnablePerformanceInsights", - "type": "boolean" - }, - "Engine": { - "markdownDescription": "The name of the database engine to use for this DB instance. Not every database engine is available in every AWS Region.\n\nThis property is required when creating a DB instance.\n\n> You can convert an Oracle database from the non-CDB architecture to the container database (CDB) architecture by updating the `Engine` value in your templates from `oracle-ee` to `oracle-ee-cdb` or from `oracle-se2` to `oracle-se2-cdb` . Converting to the CDB architecture requires an interruption. \n\nValid Values:\n\n- `aurora-mysql` (for Aurora MySQL DB instances)\n- `aurora-postgresql` (for Aurora PostgreSQL DB instances)\n- `custom-oracle-ee` (for RDS Custom for Oracle DB instances)\n- `custom-oracle-ee-cdb` (for RDS Custom for Oracle DB instances)\n- `custom-sqlserver-ee` (for RDS Custom for SQL Server DB instances)\n- `custom-sqlserver-se` (for RDS Custom for SQL Server DB instances)\n- `custom-sqlserver-web` (for RDS Custom for SQL Server DB instances)\n- `db2-ae`\n- `db2-se`\n- `mariadb`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", - "title": "Engine", - "type": "string" - }, - "EngineLifecycleSupport": { - "markdownDescription": "The life cycle type for this DB instance.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB instance into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB instance will fail if the DB major version is past its end of standard support date. \n\nThis setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life cycle type is managed by the DB cluster.\n\nYou can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB instance past the end of standard support for that engine version. For more information, see [Amazon RDS Extended Support with Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* .\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", - "title": "EngineLifecycleSupport", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The version number of the database engine to use.\n\nFor a list of valid engine versions, use the `DescribeDBEngineVersions` action.\n\nThe following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.\n\n*Amazon Aurora*\n\nNot applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.\n\n*Db2*\n\nSee [Amazon RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*MariaDB*\n\nSee [MariaDB on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*Microsoft SQL Server*\n\nSee [Microsoft SQL Server Versions on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) in the *Amazon RDS User Guide.*\n\n*MySQL*\n\nSee [MySQL on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*Oracle*\n\nSee [Oracle Database Engine Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) in the *Amazon RDS User Guide.*\n\n*PostgreSQL*\n\nSee [Supported PostgreSQL Database Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions) in the *Amazon RDS User Guide.*", - "title": "EngineVersion", - "type": "string" - }, - "Iops": { - "markdownDescription": "The number of I/O operations per second (IOPS) that the database provisions. The value must be equal to or greater than 1000.\n\nIf you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GiB of storage (a ratio of 5:1), or specify 2000 IOPS with 200 GiB of storage (a ratio of 10:1). For more information, see [Amazon RDS Provisioned IOPS Storage to Improve Performance](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* .\n\n> If you specify `io1` for the `StorageType` property, then you must also specify the `Iops` property. \n\nConstraints:\n\n- For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.\n- For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.", - "title": "Iops", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The ARN of the AWS KMS key that's used to encrypt the DB instance, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . If you enable the StorageEncrypted property but don't specify this property, AWS CloudFormation uses the default KMS key. If you specify this property, you must set the StorageEncrypted property to true.\n\nIf you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used. However, if the source DB instance is in a different AWS Region, you must specify a KMS key ID.\n\nIf you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup, and if the automated backup is encrypted, the specified `KmsKeyId` property is used.\n\nIf you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the region that they're created in, and you can't use encryption keys from one region in another region.\n\nIf you specify the `DBSnapshotIdentifier` property, don't specify this property. The `StorageEncrypted` property value is inherited from the snapshot. If the DB instance is encrypted, the specified `KmsKeyId` property is also inherited from the snapshot.\n\nIf you specify `DBSecurityGroups` , AWS CloudFormation ignores this property. To specify both a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see [Using Amazon RDS with Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* .\n\n*Amazon Aurora*\n\nNot applicable. The KMS key identifier is managed by the DB cluster.", - "title": "KmsKeyId", - "type": "string" - }, - "LicenseModel": { - "markdownDescription": "License model information for this DB instance.\n\nValid Values:\n\n- Aurora MySQL - `general-public-license`\n- Aurora PostgreSQL - `postgresql-license`\n- RDS for Db2 - `bring-your-own-license` . For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.*\n- RDS for MariaDB - `general-public-license`\n- RDS for Microsoft SQL Server - `license-included`\n- RDS for MySQL - `general-public-license`\n- RDS for Oracle - `bring-your-own-license` or `license-included`\n- RDS for PostgreSQL - `postgresql-license`\n\n> If you've specified `DBSecurityGroups` and then you update the license model, AWS CloudFormation replaces the underlying DB instance. This will incur some interruptions to database availability.", - "title": "LicenseModel", - "type": "string" - }, - "ManageMasterUserPassword": { - "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.*\n\nConstraints:\n\n- Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified.", - "title": "ManageMasterUserPassword", - "type": "boolean" - }, - "MasterUserAuthenticationType": { - "markdownDescription": "Specifies the authentication type for the master user. With IAM master user authentication, you can configure the master DB user with IAM database authentication when you create a DB instance.\n\nYou can specify one of the following values:\n\n- `password` - Use standard database authentication with a password.\n- `iam-db-auth` - Use IAM database authentication for the master user.\n\nThis option is only valid for RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, Aurora MySQL, and Aurora PostgreSQL engines.", - "title": "MasterUserAuthenticationType", - "type": "string" - }, - "MasterUserPassword": { - "markdownDescription": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".\n\n*Amazon Aurora*\n\nNot applicable. The password for the master user is managed by the DB cluster.\n\n*RDS for Db2*\n\nMust contain from 8 to 255 characters.\n\n*RDS for MariaDB*\n\nConstraints: Must contain from 8 to 41 characters.\n\n*RDS for Microsoft SQL Server*\n\nConstraints: Must contain from 8 to 128 characters.\n\n*RDS for MySQL*\n\nConstraints: Must contain from 8 to 41 characters.\n\n*RDS for Oracle*\n\nConstraints: Must contain from 8 to 30 characters.\n\n*RDS for PostgreSQL*\n\nConstraints: Must contain from 8 to 128 characters.", - "title": "MasterUserPassword", - "type": "string" - }, - "MasterUserSecret": { - "$ref": "#/definitions/AWS::RDS::DBInstance.MasterUserSecret", - "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.*", - "title": "MasterUserSecret" - }, - "MasterUsername": { - "markdownDescription": "The master user name for the DB instance.\n\n> If you specify the `SourceDBInstanceIdentifier` or `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the source DB instance or snapshot.\n> \n> When migrating a self-managed Db2 database, we recommend that you use the same master username as your self-managed Db2 instance name. \n\n*Amazon Aurora*\n\nNot applicable. The name for the master user is managed by the DB cluster.\n\n*RDS for Db2*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for MariaDB*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for Microsoft SQL Server*\n\nConstraints:\n\n- Must be 1 to 128 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for MySQL*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for Oracle*\n\nConstraints:\n\n- Must be 1 to 30 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for PostgreSQL*\n\nConstraints:\n\n- Must be 1 to 63 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.", - "title": "MasterUsername", - "type": "string" - }, - "MaxAllocatedStorage": { - "markdownDescription": "The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.\n\nFor more information about this setting, including limitations that apply to it, see [Managing capacity automatically with Amazon RDS storage autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to the following DB instances:\n\n- Amazon Aurora (Storage is managed by the DB cluster.)\n- RDS Custom", - "title": "MaxAllocatedStorage", - "type": "number" - }, - "MonitoringInterval": { - "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify `0` .\n\nIf `MonitoringRoleArn` is specified, then you must set `MonitoringInterval` to a value other than `0` .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nValid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`\n\nDefault: `0`", - "title": "MonitoringInterval", - "type": "number" - }, - "MonitoringRoleArn": { - "markdownDescription": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting Up and Enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* .\n\nIf `MonitoringInterval` is set to a value other than `0` , then you must supply a `MonitoringRoleArn` value.\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "MonitoringRoleArn", - "type": "string" - }, - "MultiAZ": { - "markdownDescription": "Specifies whether the DB instance is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the DB instance is a Multi-AZ deployment.\n\nThis setting doesn't apply to Amazon Aurora because the DB instance Availability Zones (AZs) are managed by the DB cluster.", - "title": "MultiAZ", - "type": "boolean" - }, - "NcharCharacterSetName": { - "markdownDescription": "The name of the NCHAR character set for the Oracle DB instance.\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "NcharCharacterSetName", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "The network type of the DB instance.\n\nValid values:\n\n- `IPV4`\n- `DUAL`\n\nThe network type is determined by the `DBSubnetGroup` specified for the DB instance. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ).\n\nFor more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon RDS User Guide.*", - "title": "NetworkType", - "type": "string" - }, - "OptionGroupName": { - "markdownDescription": "Indicates that the DB instance should be associated with the specified option group.\n\nPermanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance.", - "title": "OptionGroupName", - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n\nThe KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n\nIf you do not specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account. Your AWS account has a different default KMS key for each AWS Region.\n\nFor information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights) .", - "title": "PerformanceInsightsKMSKeyId", - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "markdownDescription": "The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter `PerformanceInsightsRetentionPeriod` .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nValid Values:\n\n- `7`\n- *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31)\n- `731`\n\nDefault: `7` days\n\nIf you specify a retention period that isn't valid, such as `94` , Amazon RDS returns an error.", - "title": "PerformanceInsightsRetentionPeriod", - "type": "number" - }, - "Port": { - "markdownDescription": "The port number on which the database accepts connections.\n\nThis setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n\nValid Values: `1150-65535`\n\nDefault:\n\n- RDS for Db2 - `50000`\n- RDS for MariaDB - `3306`\n- RDS for Microsoft SQL Server - `1433`\n- RDS for MySQL - `3306`\n- RDS for Oracle - `1521`\n- RDS for PostgreSQL - `5432`\n\nConstraints:\n\n- For RDS for Microsoft SQL Server, the value can't be `1234` , `1434` , `3260` , `3343` , `3389` , `47001` , or `49152-49156` .", - "title": "Port", - "type": "string" - }, - "PreferredBackupWindow": { - "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, using the `BackupRetentionPeriod` parameter. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) in the *Amazon RDS User Guide.*\n\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.\n\n*Amazon Aurora*\n\nNot applicable. The daily time range for creating automated backups is managed by the DB cluster.", - "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. To see the time blocks available, see [Maintaining a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) in the *Amazon RDS User Guide.*\n\n> This property applies when AWS CloudFormation initially creates the DB instance. If you use AWS CloudFormation to update the DB instance, those updates are applied immediately. \n\nConstraints: Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", - "type": "string" - }, - "ProcessorFeatures": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" - }, - "markdownDescription": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.\n\nThis setting doesn't apply to Amazon Aurora or RDS Custom DB instances.", - "title": "ProcessorFeatures", - "type": "array" - }, - "PromotionTier": { - "markdownDescription": "The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nDefault: `1`\n\nValid Values: `0 - 15`", - "title": "PromotionTier", - "type": "number" - }, - "PubliclyAccessible": { - "markdownDescription": "Indicates whether the DB instance is an internet-facing instance. If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address.\n\nThe default behavior value depends on your VPC setup and the database subnet group. For more information, see the `PubliclyAccessible` parameter in the [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) in the *Amazon RDS API Reference* .", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ReplicaMode": { - "markdownDescription": "The open mode of an Oracle read replica. For more information, see [Working with Oracle Read Replicas for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) in the *Amazon RDS User Guide* .\n\nThis setting is only supported in RDS for Oracle.\n\nDefault: `open-read-only`\n\nValid Values: `open-read-only` or `mounted`", - "title": "ReplicaMode", - "type": "string" - }, - "RestoreTime": { - "markdownDescription": "The date and time to restore from. This parameter applies to point-in-time recovery. For more information, see [Restoring a DB instance to a specified time](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html) in the in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Must be a time in Universal Coordinated Time (UTC) format.\n- Must be before the latest restorable time for the DB instance.\n- Can't be specified if the `UseLatestRestorableTime` parameter is enabled.\n\nExample: `2009-09-07T23:45:00Z`", - "title": "RestoreTime", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "markdownDescription": "The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.\n\nConstraints:\n\n- Must be the identifier of an existing Multi-AZ DB cluster.\n- Can't be specified if the `SourceDBInstanceIdentifier` parameter is also specified.\n- The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.\n- The source DB cluster must be in the same AWS Region as the read replica. Cross-Region replication isn't supported.", - "title": "SourceDBClusterIdentifier", - "type": "string" - }, - "SourceDBInstanceAutomatedBackupsArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, `arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE` .\n\nThis setting doesn't apply to RDS Custom.", - "title": "SourceDBInstanceAutomatedBackupsArn", - "type": "string" - }, - "SourceDBInstanceIdentifier": { - "markdownDescription": "If you want to create a read replica DB instance, specify the ID of the source DB instance. Each DB instance can have a limited number of read replicas. For more information, see [Working with Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html) in the *Amazon RDS User Guide* .\n\nFor information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* .\n\nThe `SourceDBInstanceIdentifier` property determines whether a DB instance is a read replica. If you remove the `SourceDBInstanceIdentifier` property from your template and then update your stack, AWS CloudFormation promotes the read replica to a standalone DB instance.\n\nIf you specify the `UseLatestRestorableTime` or `RestoreTime` properties in conjunction with the `SourceDBInstanceIdentifier` property, RDS restores the DB instance to the requested point in time, thereby creating a new DB instance.\n\n> - If you specify a source DB instance that uses VPC security groups, we recommend that you specify the `VPCSecurityGroups` property. If you don't specify the property, the read replica inherits the value of the `VPCSecurityGroups` property from the source DB when you create the replica. However, if you update the stack, AWS CloudFormation reverts the replica's `VPCSecurityGroups` property to the default value because it's not defined in the stack's template. This change might cause unexpected issues.\n> - Read replicas don't support deletion policies. AWS CloudFormation ignores any deletion policy that's associated with a read replica.\n> - If you specify `SourceDBInstanceIdentifier` , don't specify the `DBSnapshotIdentifier` property. You can't create a read replica from a snapshot.\n> - Don't set the `BackupRetentionPeriod` , `DBName` , `MasterUsername` , `MasterUserPassword` , and `PreferredBackupWindow` properties. The database attributes are inherited from the source DB instance, and backups are disabled for read replicas.\n> - If the source DB instance is in a different region than the read replica, specify the source region in `SourceRegion` , and specify an ARN for a valid DB instance in `SourceDBInstanceIdentifier` . For more information, see [Constructing a Amazon RDS Amazon Resource Name (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN) in the *Amazon RDS User Guide* .\n> - For DB instances in Amazon Aurora clusters, don't specify this property. Amazon RDS automatically assigns writer and reader DB instances.", - "title": "SourceDBInstanceIdentifier", - "type": "string" - }, - "SourceDbiResourceId": { - "markdownDescription": "The resource ID of the source DB instance from which to restore.", - "title": "SourceDbiResourceId", - "type": "string" - }, - "SourceRegion": { - "markdownDescription": "The ID of the region that contains the source DB instance for the read replica.", - "title": "SourceRegion", - "type": "string" - }, - "StorageEncrypted": { - "markdownDescription": "A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.\n\nIf you specify the `KmsKeyId` property, then you must enable encryption.\n\nIf you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used.\n\nIf you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup.\n\nIf you specify `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the snapshot.\n\n*Amazon Aurora*\n\nNot applicable. The encryption for DB instances is managed by the DB cluster.", - "title": "StorageEncrypted", - "type": "boolean" - }, - "StorageThroughput": { - "markdownDescription": "Specifies the storage throughput value, in mebibyte per second (MiBps), for the DB instance. This setting applies only to the `gp3` storage type.\n\nThis setting doesn't apply to RDS Custom or Amazon Aurora.", - "title": "StorageThroughput", - "type": "number" - }, - "StorageType": { - "markdownDescription": "The storage type to associate with the DB instance.\n\nIf you specify `io1` , `io2` , or `gp3` , you must also include a value for the `Iops` parameter.\n\nThis setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.\n\nValid Values: `gp2 | gp3 | io1 | io2 | standard`\n\nDefault: `io1` , if the `Iops` parameter is specified. Otherwise, `gp3` .", - "title": "StorageType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB instance.", - "title": "Tags", - "type": "array" - }, - "Timezone": { - "markdownDescription": "The time zone of the DB instance. The time zone parameter is currently supported only by [RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone) and [RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) .", - "title": "Timezone", - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "markdownDescription": "Specifies whether the DB instance class of the DB instance uses its default processor features.\n\nThis setting doesn't apply to RDS Custom DB instances.", - "title": "UseDefaultProcessorFeatures", - "type": "boolean" - }, - "UseLatestRestorableTime": { - "markdownDescription": "Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time. This parameter applies to point-in-time recovery. For more information, see [Restoring a DB instance to a specified time](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html) in the in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Can't be specified if the `RestoreTime` parameter is provided.", - "title": "UseLatestRestorableTime", - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.\n\nIf you set `VPCSecurityGroups` , you must not set [`DBSecurityGroups`](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) , and vice versa.\n\n> You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind:\n> \n> - You can't revert to using an RDS security group after you establish a VPC security group membership.\n> - When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group.\n> - To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [`DBSecurityGroups`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property. \n\nTo avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template.\n\n*Amazon Aurora*\n\nNot applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", - "title": "VPCSecurityGroups", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.AdditionalStorageVolume": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "StorageThroughput": { - "type": "number" - }, - "StorageType": { - "type": "string" - }, - "VolumeName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.CertificateDetails": { - "additionalProperties": false, - "properties": { - "CAIdentifier": { - "markdownDescription": "The CA identifier of the CA certificate used for the DB instance's server certificate.", - "title": "CAIdentifier", - "type": "string" - }, - "ValidTill": { - "markdownDescription": "The expiration date of the DB instance\u2019s server certificate.", - "title": "ValidTill", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.DBInstanceRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB instance grant permission for the DB instance to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* .", - "title": "FeatureName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.", - "title": "RoleArn", - "type": "string" - } - }, - "required": [ - "FeatureName", - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.DBInstanceStatusInfo": { - "additionalProperties": false, - "properties": { - "Message": { - "markdownDescription": "Details of the error if there is an error for the instance. If the instance isn't in an error state, this value is blank.", - "title": "Message", - "type": "string" - }, - "Normal": { - "markdownDescription": "Indicates whether the instance is operating normally (TRUE) or is in an error state (FALSE).", - "title": "Normal", - "type": "boolean" - }, - "Status": { - "markdownDescription": "The status of the DB instance. For a StatusType of read replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.", - "title": "Status", - "type": "string" - }, - "StatusType": { - "markdownDescription": "This value is currently \"read replication.\"", - "title": "StatusType", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "Specifies the DNS address of the DB instance.", - "title": "Address", - "type": "string" - }, - "HostedZoneId": { - "markdownDescription": "Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.", - "title": "HostedZoneId", - "type": "string" - }, - "Port": { - "markdownDescription": "Specifies the port that the database engine is listening on.", - "title": "Port", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.MasterUserSecret": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.", - "title": "KmsKeyId", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance-return-values) .", - "title": "SecretArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBInstance.ProcessorFeature": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the processor feature. Valid names are `coreCount` and `threadsPerCore` .", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of a processor feature.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBParameterGroupName": { - "markdownDescription": "The name of the DB parameter group.\n\nConstraints:\n\n- Must be 1 to 255 letters, numbers, or hyphens.\n- First character must be a letter\n- Can't end with a hyphen or contain two consecutive hyphens\n\nIf you don't specify a value for `DBParameterGroupName` property, a name is automatically created for the DB parameter group.\n\n> This value is stored as a lowercase string.", - "title": "DBParameterGroupName", - "type": "string" - }, - "Description": { - "markdownDescription": "Provides the customer-specified description for this DB parameter group.", - "title": "Description", - "type": "string" - }, - "Family": { - "markdownDescription": "The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.\n\nTo list all of the available parameter group families for a DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine `\n\nFor example, to list all of the available parameter group families for the MySQL DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine mysql`\n\n> The output contains duplicates. \n\nThe following are the valid DB engine values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `db2-ae`\n- `db2-se`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", - "title": "Family", - "type": "string" - }, - "Parameters": { - "markdownDescription": "A mapping of parameter names and values for the parameter update. You must specify at least one parameter name and value.\n\nFor more information about parameter groups, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide* , or [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide* .\n\n> AWS CloudFormation doesn't support specifying an apply method for each individual parameter. The default apply method for each parameter is used.", - "title": "Parameters", - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB parameter group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "Family" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Auth": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" - }, - "markdownDescription": "The authorization mechanism that the proxy uses.", - "title": "Auth", - "type": "array" - }, - "DBProxyName": { - "markdownDescription": "The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region . 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.", - "title": "DBProxyName", - "type": "string" - }, - "DebugLogging": { - "markdownDescription": "Specifies whether the proxy logs detailed connection and query information. When you enable `DebugLogging` , the proxy captures connection details and connection pool behavior from your queries. Debug logging increases CloudWatch costs and can impact proxy performance. Enable this option only when you need to troubleshoot connection or performance issues.", - "title": "DebugLogging", - "type": "boolean" - }, - "DefaultAuthScheme": { - "markdownDescription": "The default authentication scheme that the proxy uses for client connections to the proxy and connections from the proxy to the underlying database. Valid values are `NONE` and `IAM_AUTH` . When set to `IAM_AUTH` , the proxy uses end-to-end IAM authentication to connect to the database.", - "title": "DefaultAuthScheme", - "type": "string" - }, - "EndpointNetworkType": { - "markdownDescription": "The network type of the DB proxy endpoint. The network type determines the IP version that the proxy endpoint supports.\n\nValid values:\n\n- `IPV4` - The proxy endpoint supports IPv4 only.\n- `IPV6` - The proxy endpoint supports IPv6 only.\n- `DUAL` - The proxy endpoint supports both IPv4 and IPv6.", - "title": "EndpointNetworkType", - "type": "string" - }, - "EngineFamily": { - "markdownDescription": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL` . For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL` . For RDS for Microsoft SQL Server, specify `SQLSERVER` .", - "title": "EngineFamily", - "type": "string" - }, - "IdleClientTimeout": { - "markdownDescription": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", - "title": "IdleClientTimeout", - "type": "number" - }, - "RequireTLS": { - "markdownDescription": "Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", - "title": "RequireTLS", - "type": "boolean" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", - "title": "RoleArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" - }, - "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.", - "title": "Tags", - "type": "array" - }, - "TargetConnectionNetworkType": { - "markdownDescription": "The network type that the proxy uses to connect to the target database. The network type determines the IP version that the proxy uses for connections to the database.\n\nValid values:\n\n- `IPV4` - The proxy connects to the database using IPv4 only.\n- `IPV6` - The proxy connects to the database using IPv6 only.", - "title": "TargetConnectionNetworkType", - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more VPC security group IDs to associate with the new proxy.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.", - "title": "VpcSecurityGroupIds", - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more VPC subnet IDs to associate with the new proxy.", - "title": "VpcSubnetIds", - "type": "array" - } - }, - "required": [ - "DBProxyName", - "EngineFamily", - "RoleArn", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy.AuthFormat": { - "additionalProperties": false, - "properties": { - "AuthScheme": { - "markdownDescription": "The type of authentication that the proxy uses for connections from the proxy to the underlying database.", - "title": "AuthScheme", - "type": "string" - }, - "ClientPasswordAuthType": { - "markdownDescription": "Specifies the details of authentication used by a proxy to log in as a specific database user.", - "title": "ClientPasswordAuthType", - "type": "string" - }, - "Description": { - "markdownDescription": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", - "title": "Description", - "type": "string" - }, - "IAMAuth": { - "markdownDescription": "A value that indicates whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. The `ENABLED` value is valid only for proxies with RDS for Microsoft SQL Server.", - "title": "IAMAuth", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", - "title": "SecretArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxy.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBProxyEndpointName": { - "markdownDescription": "The name of the DB proxy endpoint to create.", - "title": "DBProxyEndpointName", - "type": "string" - }, - "DBProxyName": { - "markdownDescription": "The name of the DB proxy associated with the DB proxy endpoint that you create.", - "title": "DBProxyName", - "type": "string" - }, - "EndpointNetworkType": { - "markdownDescription": "The network type of the DB proxy endpoint. The network type determines the IP version that the proxy endpoint supports.\n\nValid values:\n\n- `IPV4` - The proxy endpoint supports IPv4 only.\n- `IPV6` - The proxy endpoint supports IPv6 only.\n- `DUAL` - The proxy endpoint supports both IPv4 and IPv6.", - "title": "EndpointNetworkType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" - }, - "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.", - "title": "Tags", - "type": "array" - }, - "TargetRole": { - "markdownDescription": "A value that indicates whether the DB proxy endpoint can be used for read/write or read-only operations.", - "title": "TargetRole", - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC security group IDs for the DB proxy endpoint that you create. You can specify a different set of security group IDs than for the original DB proxy. The default is the default security group for the VPC.", - "title": "VpcSecurityGroupIds", - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC subnet IDs for the DB proxy endpoint that you create. You can specify a different set of subnet IDs than for the original DB proxy.", - "title": "VpcSubnetIds", - "type": "array" - } - }, - "required": [ - "DBProxyEndpointName", - "DBProxyName", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionPoolConfigurationInfo": { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat", - "markdownDescription": "Displays the settings that control the size and behavior of the connection pool associated with a `DBProxyTarget` .", - "title": "ConnectionPoolConfigurationInfo" - }, - "DBClusterIdentifiers": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more DB cluster identifiers.", - "title": "DBClusterIdentifiers", - "type": "array" - }, - "DBInstanceIdentifiers": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more DB instance identifiers.", - "title": "DBInstanceIdentifiers", - "type": "array" - }, - "DBProxyName": { - "markdownDescription": "The identifier of the `DBProxy` that is associated with the `DBProxyTargetGroup` .", - "title": "DBProxyName", - "type": "string" - }, - "TargetGroupName": { - "markdownDescription": "The identifier for the target group.\n\n> Currently, this property must be set to `default` .", - "title": "TargetGroupName", - "type": "string" - } - }, - "required": [ - "DBProxyName", - "TargetGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyTargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { - "additionalProperties": false, - "properties": { - "ConnectionBorrowTimeout": { - "markdownDescription": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. This setting only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.\n\nDefault: `120`\n\nConstraints:\n\n- Must be between 0 and 300.", - "title": "ConnectionBorrowTimeout", - "type": "number" - }, - "InitQuery": { - "markdownDescription": "Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with `SET` statements to make sure that each connection has identical settings. Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty. For including multiple variables in a single SET statement, use a comma separator.\n\nFor example: `SET variable1=value1, variable2=value2`\n\nDefault: no initialization query\n\n> Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. Anyone with access to view or manage your proxy target group configuration can view the initialization query. You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.", - "title": "InitQuery", - "type": "string" - }, - "MaxConnectionsPercent": { - "markdownDescription": "The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group.\n\nIf you specify `MaxIdleConnectionsPercent` , then you must also include a value for this parameter.\n\nDefault: `10` for RDS for Microsoft SQL Server, and `100` for all other engines\n\nConstraints:\n\n- Must be between 1 and 100.", - "title": "MaxConnectionsPercent", - "type": "number" - }, - "MaxIdleConnectionsPercent": { - "markdownDescription": "A value that controls how actively the proxy closes idle database connections in the connection pool. The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database.\n\nIf you specify this parameter, then you must also include a value for `MaxConnectionsPercent` .\n\nDefault: The default value is half of the value of `MaxConnectionsPercent` . For example, if `MaxConnectionsPercent` is 80, then the default value of `MaxIdleConnectionsPercent` is 40. If the value of `MaxConnectionsPercent` isn't specified, then for SQL Server, `MaxIdleConnectionsPercent` is `5` , and for all other engines, the default is `50` .\n\nConstraints:\n\n- Must be between 0 and the value of `MaxConnectionsPercent` .", - "title": "MaxIdleConnectionsPercent", - "type": "number" - }, - "SessionPinningFilters": { - "items": { - "type": "string" - }, - "markdownDescription": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior.\n\nDefault: no session pinning filters", - "title": "SessionPinningFilters", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "markdownDescription": "Ingress rules to be applied to the DB security group.", - "title": "DBSecurityGroupIngress", - "type": "array" - }, - "EC2VpcId": { - "markdownDescription": "The identifier of an Amazon virtual private cloud (VPC). This property indicates the VPC that this DB security group belongs to.\n\n> This property is included for backwards compatibility and is no longer recommended for providing security information to an RDS DB instance.", - "title": "EC2VpcId", - "type": "string" - }, - "GroupDescription": { - "markdownDescription": "Provides the description of the DB security group.", - "title": "GroupDescription", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "markdownDescription": "The IP range to authorize.", - "title": "CIDRIP", - "type": "string" - }, - "EC2SecurityGroupId": { - "markdownDescription": "Id of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupId", - "type": "string" - }, - "EC2SecurityGroupName": { - "markdownDescription": "Name of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "markdownDescription": "AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupOwnerId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 IP range to authorize.", - "title": "CIDRIP", - "type": "string" - }, - "DBSecurityGroupName": { - "markdownDescription": "The name of the DB security group to add authorization to.", - "title": "DBSecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupId": { - "markdownDescription": "Id of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupId", - "type": "string" - }, - "EC2SecurityGroupName": { - "markdownDescription": "Name of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "markdownDescription": "AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", - "title": "EC2SecurityGroupOwnerId", - "type": "string" - } - }, - "required": [ - "DBSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBShardGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeRedundancy": { - "markdownDescription": "Specifies whether to create standby standby DB data access shard for the DB shard group. Valid values are the following:\n\n- 0 - Creates a DB shard group without a standby DB data access shard. This is the default value.\n- 1 - Creates a DB shard group with a standby DB data access shard in a different Availability Zone (AZ).\n- 2 - Creates a DB shard group with two standby DB data access shard in two different AZs.", - "title": "ComputeRedundancy", - "type": "number" - }, - "DBClusterIdentifier": { - "markdownDescription": "The name of the primary DB cluster for the DB shard group.", - "title": "DBClusterIdentifier", - "type": "string" - }, - "DBShardGroupIdentifier": { - "markdownDescription": "The name of the DB shard group.", - "title": "DBShardGroupIdentifier", - "type": "string" - }, - "MaxACU": { - "markdownDescription": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs).", - "title": "MaxACU", - "type": "number" - }, - "MinACU": { - "markdownDescription": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs).", - "title": "MinACU", - "type": "number" - }, - "PubliclyAccessible": { - "markdownDescription": "Specifies whether the DB shard group is publicly accessible.\n\nWhen the DB shard group is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB shard group's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB shard group's VPC. Access to the DB shard group is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB shard group doesn't permit it.\n\nWhen the DB shard group isn't publicly accessible, it is an internal DB shard group with a DNS name that resolves to a private IP address.\n\nDefault: The default behavior varies depending on whether `DBSubnetGroupName` is specified.\n\nIf `DBSubnetGroupName` isn't specified, and `PubliclyAccessible` isn't specified, the following applies:\n\n- If the default VPC in the target Region doesn\u2019t have an internet gateway attached to it, the DB shard group is private.\n- If the default VPC in the target Region has an internet gateway attached to it, the DB shard group is public.\n\nIf `DBSubnetGroupName` is specified, and `PubliclyAccessible` isn't specified, the following applies:\n\n- If the subnets are part of a VPC that doesn\u2019t have an internet gateway attached to it, the DB shard group is private.\n- If the subnets are part of a VPC that has an internet gateway attached to it, the DB shard group is public.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the DB shard group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DBClusterIdentifier", - "MaxACU" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBShardGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSnapshot": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBInstanceIdentifier": { - "type": "string" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceIdentifier", - "DBSnapshotIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSnapshot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "markdownDescription": "The description for the DB subnet group.", - "title": "DBSubnetGroupDescription", - "type": "string" - }, - "DBSubnetGroupName": { - "markdownDescription": "The name for the DB subnet group. This value is stored as a lowercase string.\n\nConstraints:\n\n- Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens.\n- Must not be default.\n- First character must be a letter.\n\nExample: `mydbsubnetgroup`", - "title": "DBSubnetGroupName", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The EC2 Subnet IDs for the DB subnet group.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the DB subnet group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::EventSubscription": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "Specifies whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.", - "title": "Enabled", - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of event categories for a particular source type ( `SourceType` ) that you want to subscribe to. You can see a list of the categories for a given source type in the \"Amazon RDS event categories and event messages\" section of the [*Amazon RDS User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) or the [*Amazon Aurora User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) . You can also see this list by using the `DescribeEventCategories` operation.", - "title": "EventCategories", - "type": "array" - }, - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. SNS automatically creates the ARN when you create a topic and subscribe to it.\n\n> RDS doesn't support FIFO (first in, first out) topics. For more information, see [Message ordering and deduplication (FIFO topics)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html) in the *Amazon Simple Notification Service Developer Guide* .", - "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 supplied, `SourceType` must also be provided.\n- If the source type is a DB instance, a `DBInstanceIdentifier` value must be supplied.\n- If the source type is a DB cluster, a `DBClusterIdentifier` value must be supplied.\n- If the source type is a DB parameter group, a `DBParameterGroupName` value must be supplied.\n- If the source type is a DB security group, a `DBSecurityGroupName` value must be supplied.\n- If the source type is a DB snapshot, a `DBSnapshotIdentifier` value must be supplied.\n- If the source type is a DB cluster snapshot, a `DBClusterSnapshotIdentifier` value must be supplied.\n- If the source type is an RDS Proxy, a `DBProxyName` value must be supplied.", - "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 a DB instance, you set this parameter to `db-instance` . For RDS Proxy events, specify `db-proxy` . If this value isn't specified, all events are returned.\n\nValid Values: `db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy | zero-etl | custom-engine-version | blue-green-deployment`", - "title": "SourceType", - "type": "string" - }, - "SubscriptionName": { - "markdownDescription": "The name of the subscription.\n\nConstraints: The name must be less than 255 characters.", - "title": "SubscriptionName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An optional array of key-value pairs to apply to this subscription.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::GlobalCluster": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "Specifies whether to enable deletion protection for the new global database cluster. The global database can't be deleted when deletion protection is enabled.", - "title": "DeletionProtection", - "type": "boolean" - }, - "Engine": { - "markdownDescription": "The database engine to use for this global database cluster.\n\nValid Values: `aurora-mysql | aurora-postgresql`\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine of the source DB cluster.", - "title": "Engine", - "type": "string" - }, - "EngineLifecycleSupport": { - "markdownDescription": "The life cycle type for this global database cluster.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your global cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the global cluster will fail if the DB major version is past its end of standard support date. \n\nThis setting only applies to Aurora PostgreSQL-based global databases.\n\nYou can use this setting to enroll your global cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your global cluster past the end of standard support for that engine version. For more information, see [Amazon RDS Extended Support with Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* .\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", - "title": "EngineLifecycleSupport", - "type": "string" - }, - "EngineVersion": { - "markdownDescription": "The engine version to use for this global database cluster.\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine version of the source DB cluster.", - "title": "EngineVersion", - "type": "string" - }, - "GlobalClusterIdentifier": { - "markdownDescription": "The cluster identifier for this global database cluster. This parameter is stored as a lowercase string.", - "title": "GlobalClusterIdentifier", - "type": "string" - }, - "SourceDBClusterIdentifier": { - "markdownDescription": "The Amazon Resource Name (ARN) to use as the primary cluster of the global database.\n\nIf you provide a value for this parameter, don't specify values for the following settings because Amazon Aurora uses the values from the specified source DB cluster:\n\n- `DatabaseName`\n- `Engine`\n- `EngineVersion`\n- `StorageEncrypted`", - "title": "SourceDBClusterIdentifier", - "type": "string" - }, - "StorageEncrypted": { - "markdownDescription": "Specifies whether to enable storage encryption for the new global database cluster.\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the setting from the source DB cluster.", - "title": "StorageEncrypted", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .", - "title": "Tags", - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::GlobalCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::GlobalCluster.GlobalEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "The writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.", - "title": "Address", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::Integration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalEncryptionContext": { - "additionalProperties": true, - "markdownDescription": "An optional set of non-secret key\u2013value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* .\n\nYou can only include this parameter if you specify the `KMSKeyId` parameter.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AdditionalEncryptionContext", - "type": "object" - }, - "DataFilter": { - "markdownDescription": "Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.", - "title": "DataFilter", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the integration.", - "title": "Description", - "type": "string" - }, - "IntegrationName": { - "markdownDescription": "The name of the integration.", - "title": "IntegrationName", - "type": "string" - }, - "KMSKeyId": { - "markdownDescription": "The AWS Key Management System ( AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key.", - "title": "KMSKeyId", - "type": "string" - }, - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the database to use as the source for replication.", - "title": "SourceArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An optional array of key-value pairs to apply to this integration.", - "title": "Tags", - "type": "array" - }, - "TargetArn": { - "markdownDescription": "The ARN of the Redshift data warehouse to use as the target for replication.", - "title": "TargetArn", - "type": "string" - } - }, - "required": [ - "SourceArn", - "TargetArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EngineName": { - "markdownDescription": "Specifies the name of the engine that this option group should be associated with.\n\nValid Values:\n\n- `mariadb`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", - "title": "EngineName", - "type": "string" - }, - "MajorEngineVersion": { - "markdownDescription": "Specifies the major version of the engine that this option group should be associated with.", - "title": "MajorEngineVersion", - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "markdownDescription": "A list of all available options for an option group.", - "title": "OptionConfigurations", - "type": "array" - }, - "OptionGroupDescription": { - "markdownDescription": "The description of the option group.", - "title": "OptionGroupDescription", - "type": "string" - }, - "OptionGroupName": { - "markdownDescription": "The name of the option group to be created.\n\nConstraints:\n\n- Must be 1 to 255 letters, numbers, or hyphens\n- First character must be a letter\n- Can't end with a hyphen or contain two consecutive hyphens\n\nExample: `myoptiongroup`\n\nIf you don't specify a value for `OptionGroupName` property, a name is automatically created for the option group.\n\n> This value is stored as a lowercase string.", - "title": "OptionGroupName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the option group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::OptionGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of DB security groups used for this option.", - "title": "DBSecurityGroupMemberships", - "type": "array" - }, - "OptionName": { - "markdownDescription": "The configuration of options to include in a group.", - "title": "OptionName", - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "markdownDescription": "The option settings to include in an option group.", - "title": "OptionSettings", - "type": "array" - }, - "OptionVersion": { - "markdownDescription": "The version for the option.", - "title": "OptionVersion", - "type": "string" - }, - "Port": { - "markdownDescription": "The optional port for the option.", - "title": "Port", - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of VPC security group names used for this option.", - "title": "VpcSecurityGroupMemberships", - "type": "array" - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the option that has settings that you can set.", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The current value of the option setting.", - "title": "Value", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::ReservedDBInstance": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBInstanceCount": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::ReservedDBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::ReservedDBInstance.RecurringCharge": { - "additionalProperties": false, - "properties": { - "RecurringChargeAmount": { - "type": "number" - }, - "RecurringChargeFrequency": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "markdownDescription": "", - "title": "GatewayId", - "type": "string" - }, - "LinkAttributes": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkAttributes", - "markdownDescription": "", - "title": "LinkAttributes" - }, - "LinkLogSettings": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkLogSettings", - "markdownDescription": "", - "title": "LinkLogSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "GatewayId", - "LinkLogSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::InboundExternalLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.ApplicationLogs": { - "additionalProperties": false, - "properties": { - "LinkApplicationLogSampling": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkApplicationLogSampling", - "markdownDescription": "", - "title": "LinkApplicationLogSampling" - } - }, - "required": [ - "LinkApplicationLogSampling" - ], - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.LinkApplicationLogSampling": { - "additionalProperties": false, - "properties": { - "ErrorLog": { - "markdownDescription": "", - "title": "ErrorLog", - "type": "number" - }, - "FilterLog": { - "markdownDescription": "", - "title": "FilterLog", - "type": "number" - } - }, - "required": [ - "ErrorLog", - "FilterLog" - ], - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.LinkAttributes": { - "additionalProperties": false, - "properties": { - "CustomerProvidedId": { - "markdownDescription": "", - "title": "CustomerProvidedId", - "type": "string" - }, - "ResponderErrorMasking": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.ResponderErrorMaskingForHttpCode" - }, - "markdownDescription": "", - "title": "ResponderErrorMasking", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.LinkLogSettings": { - "additionalProperties": false, - "properties": { - "ApplicationLogs": { - "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.ApplicationLogs", - "markdownDescription": "", - "title": "ApplicationLogs" - } - }, - "required": [ - "ApplicationLogs" - ], - "type": "object" - }, - "AWS::RTBFabric::InboundExternalLink.ResponderErrorMaskingForHttpCode": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "", - "title": "Action", - "type": "string" - }, - "HttpCode": { - "markdownDescription": "", - "title": "HttpCode", - "type": "string" - }, - "LoggingTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "LoggingTypes", - "type": "array" - }, - "ResponseLoggingPercentage": { - "markdownDescription": "", - "title": "ResponseLoggingPercentage", - "type": "number" - } - }, - "required": [ - "Action", - "HttpCode", - "LoggingTypes" - ], - "type": "object" - }, - "AWS::RTBFabric::Link": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "markdownDescription": "The unique identifier of the gateway.", - "title": "GatewayId", - "type": "string" - }, - "HttpResponderAllowed": { - "markdownDescription": "Boolean to specify if an HTTP responder is allowed.", - "title": "HttpResponderAllowed", - "type": "boolean" - }, - "LinkAttributes": { - "$ref": "#/definitions/AWS::RTBFabric::Link.LinkAttributes", - "markdownDescription": "Attributes of the link.", - "title": "LinkAttributes" - }, - "LinkLogSettings": { - "$ref": "#/definitions/AWS::RTBFabric::Link.LinkLogSettings", - "markdownDescription": "Settings for the application logs.", - "title": "LinkLogSettings" - }, - "ModuleConfigurationList": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::Link.ModuleConfiguration" - }, - "markdownDescription": "", - "title": "ModuleConfigurationList", - "type": "array" - }, - "PeerGatewayId": { - "markdownDescription": "The unique identifier of the peer gateway.", - "title": "PeerGatewayId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "GatewayId", - "LinkLogSettings", - "PeerGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::Link" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.Action": { - "additionalProperties": false, - "properties": { - "HeaderTag": { - "$ref": "#/definitions/AWS::RTBFabric::Link.HeaderTagAction", - "markdownDescription": "Describes the header tag for a bid action.", - "title": "HeaderTag" - }, - "NoBid": { - "$ref": "#/definitions/AWS::RTBFabric::Link.NoBidAction", - "markdownDescription": "Describes the parameters of a no bid module.", - "title": "NoBid" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.ApplicationLogs": { - "additionalProperties": false, - "properties": { - "LinkApplicationLogSampling": { - "$ref": "#/definitions/AWS::RTBFabric::Link.LinkApplicationLogSampling", - "markdownDescription": "Describes a link application log sample.", - "title": "LinkApplicationLogSampling" - } - }, - "required": [ - "LinkApplicationLogSampling" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.Filter": { - "additionalProperties": false, - "properties": { - "Criteria": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::Link.FilterCriterion" - }, - "markdownDescription": "Describes the criteria for a filter.", - "title": "Criteria", - "type": "array" - } - }, - "required": [ - "Criteria" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.FilterCriterion": { - "additionalProperties": false, - "properties": { - "Path": { - "markdownDescription": "The path to filter.", - "title": "Path", - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The value to filter.", - "title": "Values", - "type": "array" - } - }, - "required": [ - "Path", - "Values" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.HeaderTagAction": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the bid action.", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of the bid action.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.LinkApplicationLogSampling": { - "additionalProperties": false, - "properties": { - "ErrorLog": { - "markdownDescription": "An error log entry.", - "title": "ErrorLog", - "type": "number" - }, - "FilterLog": { - "markdownDescription": "A filter log entry.", - "title": "FilterLog", - "type": "number" - } - }, - "required": [ - "ErrorLog", - "FilterLog" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.LinkAttributes": { - "additionalProperties": false, - "properties": { - "CustomerProvidedId": { - "markdownDescription": "The customer-provided unique identifier of the link.", - "title": "CustomerProvidedId", - "type": "string" - }, - "ResponderErrorMasking": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::Link.ResponderErrorMaskingForHttpCode" - }, - "markdownDescription": "Describes the masking for HTTP error codes.", - "title": "ResponderErrorMasking", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.LinkLogSettings": { - "additionalProperties": false, - "properties": { - "ApplicationLogs": { - "$ref": "#/definitions/AWS::RTBFabric::Link.ApplicationLogs", - "markdownDescription": "Describes the configuration of a link application log.", - "title": "ApplicationLogs" - } - }, - "required": [ - "ApplicationLogs" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.ModuleConfiguration": { - "additionalProperties": false, - "properties": { - "DependsOn": { - "items": { - "type": "string" - }, - "markdownDescription": "The dependencies of the module.", - "title": "DependsOn", - "type": "array" - }, - "ModuleParameters": { - "$ref": "#/definitions/AWS::RTBFabric::Link.ModuleParameters", - "markdownDescription": "Describes the parameters of a module.", - "title": "ModuleParameters" - }, - "Name": { - "markdownDescription": "The name of the module.", - "title": "Name", - "type": "string" - }, - "Version": { - "markdownDescription": "The version of the module.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.ModuleParameters": { - "additionalProperties": false, - "properties": { - "NoBid": { - "$ref": "#/definitions/AWS::RTBFabric::Link.NoBidModuleParameters", - "markdownDescription": "Describes the parameters of a no bid module.", - "title": "NoBid" - }, - "OpenRtbAttribute": { - "$ref": "#/definitions/AWS::RTBFabric::Link.OpenRtbAttributeModuleParameters", - "markdownDescription": "Describes the parameters of an open RTB attribute module.", - "title": "OpenRtbAttribute" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.NoBidAction": { - "additionalProperties": false, - "properties": { - "NoBidReasonCode": { - "markdownDescription": "The reason code for the no bid action.", - "title": "NoBidReasonCode", - "type": "number" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.NoBidModuleParameters": { - "additionalProperties": false, - "properties": { - "PassThroughPercentage": { - "markdownDescription": "The pass through percentage.", - "title": "PassThroughPercentage", - "type": "number" - }, - "Reason": { - "markdownDescription": "The reason description.", - "title": "Reason", - "type": "string" - }, - "ReasonCode": { - "markdownDescription": "The reason code.", - "title": "ReasonCode", - "type": "number" - } - }, - "type": "object" - }, - "AWS::RTBFabric::Link.OpenRtbAttributeModuleParameters": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::RTBFabric::Link.Action", - "markdownDescription": "Describes a bid action.", - "title": "Action" - }, - "FilterConfiguration": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::Link.Filter" - }, - "markdownDescription": "Describes the configuration of a filter.", - "title": "FilterConfiguration", - "type": "array" - }, - "FilterType": { - "markdownDescription": "The filter type.", - "title": "FilterType", - "type": "string" - }, - "HoldbackPercentage": { - "markdownDescription": "The hold back percentage.", - "title": "HoldbackPercentage", - "type": "number" - } - }, - "required": [ - "Action", - "FilterConfiguration", - "FilterType", - "HoldbackPercentage" - ], - "type": "object" - }, - "AWS::RTBFabric::Link.ResponderErrorMaskingForHttpCode": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "The action for the error..", - "title": "Action", - "type": "string" - }, - "HttpCode": { - "markdownDescription": "The HTTP error code.", - "title": "HttpCode", - "type": "string" - }, - "LoggingTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The error log type.", - "title": "LoggingTypes", - "type": "array" - }, - "ResponseLoggingPercentage": { - "markdownDescription": "The percentage of response logging.", - "title": "ResponseLoggingPercentage", - "type": "number" - } - }, - "required": [ - "Action", - "HttpCode", - "LoggingTypes" - ], - "type": "object" - }, - "AWS::RTBFabric::LinkRoutingRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Conditions": { - "$ref": "#/definitions/AWS::RTBFabric::LinkRoutingRule.RuleCondition" - }, - "GatewayId": { - "type": "string" - }, - "LinkId": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Conditions", - "GatewayId", - "LinkId", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::LinkRoutingRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::LinkRoutingRule.QueryStringKeyValuePair": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::RTBFabric::LinkRoutingRule.RuleCondition": { - "additionalProperties": false, - "properties": { - "HostHeader": { - "type": "string" - }, - "HostHeaderWildcard": { - "type": "string" - }, - "PathExact": { - "type": "string" - }, - "PathPrefix": { - "type": "string" - }, - "QueryStringEquals": { - "$ref": "#/definitions/AWS::RTBFabric::LinkRoutingRule.QueryStringKeyValuePair" - }, - "QueryStringExists": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "markdownDescription": "", - "title": "GatewayId", - "type": "string" - }, - "LinkAttributes": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkAttributes", - "markdownDescription": "", - "title": "LinkAttributes" - }, - "LinkLogSettings": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkLogSettings", - "markdownDescription": "", - "title": "LinkLogSettings" - }, - "PublicEndpoint": { - "markdownDescription": "", - "title": "PublicEndpoint", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "GatewayId", - "LinkLogSettings", - "PublicEndpoint" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::OutboundExternalLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.ApplicationLogs": { - "additionalProperties": false, - "properties": { - "LinkApplicationLogSampling": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkApplicationLogSampling", - "markdownDescription": "", - "title": "LinkApplicationLogSampling" - } - }, - "required": [ - "LinkApplicationLogSampling" - ], - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.LinkApplicationLogSampling": { - "additionalProperties": false, - "properties": { - "ErrorLog": { - "markdownDescription": "", - "title": "ErrorLog", - "type": "number" - }, - "FilterLog": { - "markdownDescription": "", - "title": "FilterLog", - "type": "number" - } - }, - "required": [ - "ErrorLog", - "FilterLog" - ], - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.LinkAttributes": { - "additionalProperties": false, - "properties": { - "CustomerProvidedId": { - "markdownDescription": "", - "title": "CustomerProvidedId", - "type": "string" - }, - "ResponderErrorMasking": { - "items": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.ResponderErrorMaskingForHttpCode" - }, - "markdownDescription": "", - "title": "ResponderErrorMasking", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.LinkLogSettings": { - "additionalProperties": false, - "properties": { - "ApplicationLogs": { - "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.ApplicationLogs", - "markdownDescription": "", - "title": "ApplicationLogs" - } - }, - "required": [ - "ApplicationLogs" - ], - "type": "object" - }, - "AWS::RTBFabric::OutboundExternalLink.ResponderErrorMaskingForHttpCode": { - "additionalProperties": false, - "properties": { - "Action": { - "markdownDescription": "", - "title": "Action", - "type": "string" - }, - "HttpCode": { - "markdownDescription": "", - "title": "HttpCode", - "type": "string" - }, - "LoggingTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "LoggingTypes", - "type": "array" - }, - "ResponseLoggingPercentage": { - "markdownDescription": "", - "title": "ResponseLoggingPercentage", - "type": "number" - } - }, - "required": [ - "Action", - "HttpCode", - "LoggingTypes" - ], - "type": "object" - }, - "AWS::RTBFabric::RequesterGateway": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": "An optional description for the requester gateway.", - "title": "Description", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The unique identifiers of the security groups.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The unique identifiers of the subnets.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The unique identifier of the Virtual Private Cloud (VPC).", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::RequesterGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "Description": { - "markdownDescription": "An optional description for the responder gateway.", - "title": "Description", - "type": "string" - }, - "DomainName": { - "markdownDescription": "The domain name for the responder gateway.", - "title": "DomainName", - "type": "string" - }, - "GatewayType": { - "type": "string" - }, - "ListenerConfig": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.ListenerConfig" - }, - "ManagedEndpointConfiguration": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.ManagedEndpointConfiguration", - "markdownDescription": "The configuration for the managed endpoint.", - "title": "ManagedEndpointConfiguration" - }, - "Port": { - "markdownDescription": "The networking port to use.", - "title": "Port", - "type": "number" - }, - "Protocol": { - "markdownDescription": "The networking protocol to use.", - "title": "Protocol", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The unique identifiers of the security groups.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The unique identifiers of the subnets.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", - "title": "Tags", - "type": "array" - }, - "TrustStoreConfiguration": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.TrustStoreConfiguration", - "markdownDescription": "The configuration of the trust store.", - "title": "TrustStoreConfiguration" - }, - "VpcId": { - "markdownDescription": "The unique identifier of the Virtual Private Cloud (VPC).", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "Port", - "Protocol", - "SecurityGroupIds", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RTBFabric::ResponderGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.AutoScalingGroupsConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupNameList": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of the auto scaling group.", - "title": "AutoScalingGroupNameList", - "type": "array" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.HealthCheckConfig" - }, - "RoleArn": { - "markdownDescription": "The role ARN of the auto scaling group.", - "title": "RoleArn", - "type": "string" - } - }, - "required": [ - "AutoScalingGroupNameList", - "RoleArn" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.EksEndpointsConfiguration": { - "additionalProperties": false, - "properties": { - "ClusterApiServerCaCertificateChain": { - "markdownDescription": "The CA certificate chain of the cluster API server.", - "title": "ClusterApiServerCaCertificateChain", - "type": "string" - }, - "ClusterApiServerEndpointUri": { - "markdownDescription": "The URI of the cluster API server endpoint.", - "title": "ClusterApiServerEndpointUri", - "type": "string" - }, - "ClusterName": { - "markdownDescription": "The name of the cluster.", - "title": "ClusterName", - "type": "string" - }, - "EndpointsResourceName": { - "markdownDescription": "The name of the endpoint resource.", - "title": "EndpointsResourceName", - "type": "string" - }, - "EndpointsResourceNamespace": { - "markdownDescription": "The namespace of the endpoint resource.", - "title": "EndpointsResourceNamespace", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The role ARN for the cluster.", - "title": "RoleArn", - "type": "string" - } - }, - "required": [ - "ClusterApiServerCaCertificateChain", - "ClusterApiServerEndpointUri", - "ClusterName", - "EndpointsResourceName", - "EndpointsResourceNamespace", - "RoleArn" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "HealthyThresholdCount": { - "type": "number" - }, - "IntervalSeconds": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "StatusCodeMatcher": { - "type": "string" - }, - "TimeoutMs": { - "type": "number" - }, - "UnhealthyThresholdCount": { - "type": "number" - } - }, - "required": [ - "Path", - "Port" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.ListenerConfig": { - "additionalProperties": false, - "properties": { - "Protocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Protocols" - ], - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.ManagedEndpointConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupsConfiguration": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.AutoScalingGroupsConfiguration", - "markdownDescription": "Describes the configuration of an auto scaling group.", - "title": "AutoScalingGroupsConfiguration" - }, - "EksEndpointsConfiguration": { - "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.EksEndpointsConfiguration", - "markdownDescription": "Describes the configuration of an Amazon Elastic Kubernetes Service endpoint.", - "title": "EksEndpointsConfiguration" - } - }, - "type": "object" - }, - "AWS::RTBFabric::ResponderGateway.TrustStoreConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityCertificates": { - "items": { - "type": "string" - }, - "markdownDescription": "The certificate authority certificate.", - "title": "CertificateAuthorityCertificates", - "type": "array" - } - }, - "required": [ - "CertificateAuthorityCertificates" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppMonitorConfiguration": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.AppMonitorConfiguration", - "markdownDescription": "A structure that contains much of the configuration data for the app monitor. If you are using Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the Amazon Cognito identity pool to use for authorization. If you don't include `AppMonitorConfiguration` , you must set up your own authorization method. For more information, see [Authorize your application to send data to AWS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started-authorization.html) .\n\nIf you omit this argument, the sample rate used for CloudWatch RUM is set to 10% of the user sessions.", - "title": "AppMonitorConfiguration" - }, - "CustomEvents": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.CustomEvents", - "markdownDescription": "Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED` .", - "title": "CustomEvents" - }, - "CwLogEnabled": { - "markdownDescription": "Data collected by CloudWatch RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether CloudWatch RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges.\n\nIf you omit this parameter, the default is `false` .", - "title": "CwLogEnabled", - "type": "boolean" - }, - "DeobfuscationConfiguration": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.DeobfuscationConfiguration", - "markdownDescription": "A structure that contains the configuration for how an app monitor can deobfuscate stack traces.", - "title": "DeobfuscationConfiguration" - }, - "Domain": { - "markdownDescription": "The top-level internet domain name for which your application has administrative authority. This parameter or the `DomainList` parameter is required.", - "title": "Domain", - "type": "string" - }, - "DomainList": { - "items": { - "type": "string" - }, - "markdownDescription": "List the domain names for which your application has administrative authority. This parameter or the `Domain` parameter is required.\n\nYou can have a minimum of 1 and a maximum of 5 `Domain` under `DomainList` . Each `Domain` must be a minimum length of 1 and a maximum of 253 characters.", - "title": "DomainList", - "type": "array" - }, - "Name": { - "markdownDescription": "A name for the app monitor. This parameter is required.", - "title": "Name", - "type": "string" - }, - "Platform": { - "markdownDescription": "", - "title": "Platform", - "type": "string" - }, - "ResourcePolicy": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.ResourcePolicy", - "markdownDescription": "Use this structure to assign a resource-based policy to a CloudWatch RUM app monitor to control access to it. Each app monitor can have one resource-based policy. The maximum size of the policy is 4 KB. To learn more about using resource policies with RUM, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .", - "title": "ResourcePolicy" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Assigns one or more tags (key-value pairs) to the app monitor.\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 an app monitor.\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::RUM::AppMonitor" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor.AppMonitorConfiguration": { - "additionalProperties": false, - "properties": { - "AllowCookies": { - "markdownDescription": "If you set this to `true` , the CloudWatch RUM web client sets two cookies, a session cookie and a user cookie. The cookies allow the CloudWatch RUM web client to collect data relating to the number of users an application has and the behavior of the application across a sequence of events. Cookies are stored in the top-level domain of the current page.", - "title": "AllowCookies", - "type": "boolean" - }, - "EnableXRay": { - "markdownDescription": "If you set this to `true` , CloudWatch RUM sends client-side traces to X-Ray for each sampled session. You can then see traces and segments from these user sessions in the RUM dashboard and the CloudWatch ServiceLens console. For more information, see [What is AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)", - "title": "EnableXRay", - "type": "boolean" - }, - "ExcludedPages": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of URLs in your website or application to exclude from RUM data collection.\n\nYou can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.", - "title": "ExcludedPages", - "type": "array" - }, - "FavoritePages": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of pages in your application that are to be displayed with a \"favorite\" icon in the CloudWatch RUM console.", - "title": "FavoritePages", - "type": "array" - }, - "GuestRoleArn": { - "markdownDescription": "The ARN of the guest IAM role that is attached to the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.", - "title": "GuestRoleArn", - "type": "string" - }, - "IdentityPoolId": { - "markdownDescription": "The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.", - "title": "IdentityPoolId", - "type": "string" - }, - "IncludedPages": { - "items": { - "type": "string" - }, - "markdownDescription": "If this app monitor is to collect data from only certain pages in your application, this structure lists those pages.\n\nYou can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.", - "title": "IncludedPages", - "type": "array" - }, - "MetricDestinations": { - "items": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.MetricDestination" - }, - "markdownDescription": "An array of structures that each define a destination that this app monitor will send extended metrics to.", - "title": "MetricDestinations", - "type": "array" - }, - "SessionSampleRate": { - "markdownDescription": "Specifies the portion of user sessions to use for CloudWatch RUM data collection. Choosing a higher portion gives you more data but also incurs more costs.\n\nThe range for this value is 0 to 1 inclusive. Setting this to 1 means that 100% of user sessions are sampled, and setting it to 0.1 means that 10% of user sessions are sampled.\n\nIf you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.", - "title": "SessionSampleRate", - "type": "number" - }, - "Telemetries": { - "items": { - "type": "string" - }, - "markdownDescription": "An array that lists the types of telemetry data that this app monitor is to collect.\n\n- `errors` indicates that RUM collects data about unhandled JavaScript errors raised by your application.\n- `performance` indicates that RUM collects performance data about how your application and its resources are loaded and rendered. This includes Core Web Vitals.\n- `http` indicates that RUM collects data about HTTP errors thrown by your application.", - "title": "Telemetries", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RUM::AppMonitor.CustomEvents": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "Set this to `ENABLED` to allow the web client to send custom events for this app monitor.\n\nValid values are `ENABLED` and `DISABLED` .", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RUM::AppMonitor.DeobfuscationConfiguration": { - "additionalProperties": false, - "properties": { - "JavaScriptSourceMaps": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.JavaScriptSourceMaps", - "markdownDescription": "A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.", - "title": "JavaScriptSourceMaps" - } - }, - "type": "object" - }, - "AWS::RUM::AppMonitor.JavaScriptSourceMaps": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "markdownDescription": "The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.", - "title": "S3Uri", - "type": "string" - }, - "Status": { - "markdownDescription": "Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be `DISABLED` .", - "title": "Status", - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor.MetricDefinition": { - "additionalProperties": false, - "properties": { - "DimensionKeys": { - "additionalProperties": true, - "markdownDescription": "This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch . The value of this field is used only if the metric destination is `CloudWatch` . If the metric destination is `Evidently` , the value of `DimensionKeys` is ignored.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "DimensionKeys", - "type": "object" - }, - "EventPattern": { - "markdownDescription": "The pattern that defines the metric. RUM checks events that happen in a user's session against the pattern, and events that match the pattern are sent to the metric destination.\n\nIf the metrics destination is `CloudWatch` and the event also matches a value in `DimensionKeys` , then the metric is published with the specified dimensions.", - "title": "EventPattern", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the metric that is defined in this structure.", - "title": "Name", - "type": "string" - }, - "Namespace": { - "markdownDescription": "If you are creating a custom metric instead of an extended metrics, use this parameter to define the metric namespace for that custom metric. Do not specify this parameter if you are creating an extended metric.\n\nYou can't use any string that starts with `AWS/` for your namespace.", - "title": "Namespace", - "type": "string" - }, - "UnitLabel": { - "markdownDescription": "Use this field only if you are sending this metric to CloudWatch . It defines the CloudWatch metric unit that this metric is measured in.", - "title": "UnitLabel", - "type": "string" - }, - "ValueKey": { - "markdownDescription": "The field within the event object that the metric value is sourced from.", - "title": "ValueKey", - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor.MetricDestination": { - "additionalProperties": false, - "properties": { - "Destination": { - "markdownDescription": "Defines the destination to send the metrics to. Valid values are `CloudWatch` and `Evidently` . If you specify `Evidently` , you must also specify the ARN of the CloudWatch Evidently experiment that is to be the destination and an IAM role that has permission to write to the experiment.", - "title": "Destination", - "type": "string" - }, - "DestinationArn": { - "markdownDescription": "Use this parameter only if `Destination` is `Evidently` . This parameter specifies the ARN of the Evidently experiment that will receive the extended metrics.", - "title": "DestinationArn", - "type": "string" - }, - "IamRoleArn": { - "markdownDescription": "This parameter is required if `Destination` is `Evidently` . If `Destination` is `CloudWatch` , do not use this parameter.\n\nThis parameter specifies the ARN of an IAM role that RUM will assume to write to the Evidently experiment that you are sending metrics to. This role must have permission to write to that experiment.", - "title": "IamRoleArn", - "type": "string" - }, - "MetricDefinitions": { - "items": { - "$ref": "#/definitions/AWS::RUM::AppMonitor.MetricDefinition" - }, - "markdownDescription": "An array of structures which define the metrics that you want to send.", - "title": "MetricDefinitions", - "type": "array" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::RUM::AppMonitor.ResourcePolicy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "markdownDescription": "The JSON to use as the resource policy. The document can be up to 4 KB in size. For more information about the contents and syntax for this policy, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .", - "title": "PolicyDocument", - "type": "string" - }, - "PolicyRevisionId": { - "markdownDescription": "A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy.\n\nWhen you assign a policy revision ID, then later requests about that policy will be rejected with an `InvalidPolicyRevisionIdException` error if they don't provide the correct current revision ID.", - "title": "PolicyRevisionId", - "type": "string" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "AWS::Rbin::Rule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 retention rule description.", - "title": "Description", - "type": "string" - }, - "ExcludeResourceTags": { - "items": { - "$ref": "#/definitions/AWS::Rbin::Rule.ResourceTag" - }, - "markdownDescription": "[Region-level retention rules only] Specifies the exclusion tags to use to identify resources that are to be excluded, or ignored, by a Region-level retention rule. Resources that have any of these tags are not retained by the retention rule upon deletion.\n\nYou can't specify exclusion tags for tag-level retention rules.", - "title": "ExcludeResourceTags", - "type": "array" - }, - "LockConfiguration": { - "$ref": "#/definitions/AWS::Rbin::Rule.UnlockDelay", - "markdownDescription": "Information about the retention rule lock configuration.", - "title": "LockConfiguration" - }, - "ResourceTags": { - "items": { - "$ref": "#/definitions/AWS::Rbin::Rule.ResourceTag" - }, - "markdownDescription": "[Tag-level retention rules only] Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. For tag-level retention rules, only deleted resources, of the specified resource type, that have one or more of the specified tag key and value pairs are retained. If a resource is deleted, but it does not have any of the specified tag key and value pairs, it is immediately deleted without being retained by the retention rule.\n\nYou can add the same tag key and value pair to a maximum or five retention rules.\n\nTo create a Region-level retention rule, omit this parameter. A Region-level retention rule does not have any resource tags specified. It retains all deleted resources of the specified resource type in the Region in which the rule is created, even if the resources are not tagged.", - "title": "ResourceTags", - "type": "array" - }, - "ResourceType": { - "markdownDescription": "The resource type to be retained by the retention rule. Currently, only EBS volumes, EBS snapshots, and EBS-backed AMIs are supported.\n\n- To retain EBS volumes, specify `EBS_VOLUME` .\n- To retain EBS snapshots, specify `EBS_SNAPSHOT`\n- To retain EBS-backed AMIs, specify `EC2_IMAGE` .", - "title": "ResourceType", - "type": "string" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::Rbin::Rule.RetentionPeriod", - "markdownDescription": "Information about the retention period for which the retention rule is to retain resources.", - "title": "RetentionPeriod" - }, - "Status": { - "markdownDescription": "The state of the retention rule. Only retention rules that are in the `available` state retain resources.", - "title": "Status", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Information about the tags to assign to the retention rule.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ResourceType", - "RetentionPeriod" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Rbin::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Rbin::Rule.ResourceTag": { - "additionalProperties": false, - "properties": { - "ResourceTagKey": { - "markdownDescription": "The tag key.", - "title": "ResourceTagKey", - "type": "string" - }, - "ResourceTagValue": { - "markdownDescription": "The tag value.", - "title": "ResourceTagValue", - "type": "string" - } - }, - "required": [ - "ResourceTagKey", - "ResourceTagValue" - ], - "type": "object" - }, - "AWS::Rbin::Rule.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "RetentionPeriodUnit": { - "markdownDescription": "The unit of time in which the retention period is measured. Currently, only `DAYS` is supported.", - "title": "RetentionPeriodUnit", - "type": "string" - }, - "RetentionPeriodValue": { - "markdownDescription": "The period value for which the retention rule is to retain resources, measured in days. The supported retention periods are:\n\n- EBS volumes: 1 - 7 days\n- EBS snapshots and EBS-backed AMIs: 1 - 365 days", - "title": "RetentionPeriodValue", - "type": "number" - } - }, - "required": [ - "RetentionPeriodUnit", - "RetentionPeriodValue" - ], - "type": "object" - }, - "AWS::Rbin::Rule.UnlockDelay": { - "additionalProperties": false, - "properties": { - "UnlockDelayUnit": { - "markdownDescription": "The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measured only in days.", - "title": "UnlockDelayUnit", - "type": "string" - }, - "UnlockDelayValue": { - "markdownDescription": "The unlock delay period, measured in the unit specified for *UnlockDelayUnit* .", - "title": "UnlockDelayValue", - "type": "number" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowVersionUpgrade": { - "markdownDescription": "If `true` , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.\n\nWhen a new major version of the Amazon Redshift engine is released, you can request that the service automatically apply upgrades during the maintenance window to the Amazon Redshift engine that is running on your cluster.\n\nDefault: `true`", - "title": "AllowVersionUpgrade", - "type": "boolean" - }, - "AquaConfigurationStatus": { - "markdownDescription": "This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).", - "title": "AquaConfigurationStatus", - "type": "string" - }, - "AutomatedSnapshotRetentionPeriod": { - "markdownDescription": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with [CreateClusterSnapshot](https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSnapshot.html) in the *Amazon Redshift API Reference* .\n\nDefault: `1`\n\nConstraints: Must be a value from 0 to 35.", - "title": "AutomatedSnapshotRetentionPeriod", - "type": "number" - }, - "AvailabilityZone": { - "markdownDescription": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.\n\nDefault: A random, system-chosen Availability Zone in the region that is specified by the endpoint.\n\nExample: `us-east-2d`\n\nConstraint: The specified Availability Zone must be in the same region as the current endpoint.", - "title": "AvailabilityZone", - "type": "string" - }, - "AvailabilityZoneRelocation": { - "markdownDescription": "The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.", - "title": "AvailabilityZoneRelocation", - "type": "boolean" - }, - "AvailabilityZoneRelocationStatus": { - "markdownDescription": "Describes the status of the Availability Zone relocation operation.", - "title": "AvailabilityZoneRelocationStatus", - "type": "string" - }, - "Classic": { - "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to `false` , the resize type is elastic.", - "title": "Classic", - "type": "boolean" - }, - "ClusterIdentifier": { - "markdownDescription": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. The identifier also appears in the Amazon Redshift console.\n\nConstraints:\n\n- Must contain from 1 to 63 alphanumeric characters or hyphens.\n- Alphabetic characters must be lowercase.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n- Must be unique for all clusters within an AWS account .\n\nExample: `myexamplecluster`", - "title": "ClusterIdentifier", - "type": "string" - }, - "ClusterParameterGroupName": { - "markdownDescription": "The name of the parameter group to be associated with this cluster.\n\nDefault: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to [Working with Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)\n\nConstraints:\n\n- Must be 1 to 255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", - "title": "ClusterParameterGroupName", - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of security groups to be associated with this cluster.\n\nDefault: The default cluster security group for Amazon Redshift.", - "title": "ClusterSecurityGroups", - "type": "array" - }, - "ClusterSubnetGroupName": { - "markdownDescription": "The name of a cluster subnet group to be associated with this cluster.\n\nIf this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).", - "title": "ClusterSubnetGroupName", - "type": "string" - }, - "ClusterType": { - "markdownDescription": "The type of the cluster. When cluster type is specified as\n\n- `single-node` , the *NumberOfNodes* parameter is not required.\n- `multi-node` , the *NumberOfNodes* parameter is required.\n\nValid Values: `multi-node` | `single-node`\n\nDefault: `multi-node`", - "title": "ClusterType", - "type": "string" - }, - "ClusterVersion": { - "markdownDescription": "The version of the Amazon Redshift engine software that you want to deploy on the cluster.\n\nThe version selected runs on all the nodes in the cluster.\n\nConstraints: Only version 1.0 is currently available.\n\nExample: `1.0`", - "title": "ClusterVersion", - "type": "string" - }, - "DBName": { - "markdownDescription": "The name of the first database to be created when the cluster is created.\n\nTo create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to [Create a Database](https://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html) in the Amazon Redshift Database Developer Guide.\n\nDefault: `dev`\n\nConstraints:\n\n- Must contain 1 to 64 alphanumeric characters.\n- Must contain only lowercase letters.\n- Cannot be a word that is reserved by the service. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", - "title": "DBName", - "type": "string" - }, - "DeferMaintenance": { - "markdownDescription": "A Boolean indicating whether to enable the deferred maintenance window.", - "title": "DeferMaintenance", - "type": "boolean" - }, - "DeferMaintenanceDuration": { - "markdownDescription": "An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.", - "title": "DeferMaintenanceDuration", - "type": "number" - }, - "DeferMaintenanceEndTime": { - "markdownDescription": "A timestamp for the end of the time period when we defer maintenance.", - "title": "DeferMaintenanceEndTime", - "type": "string" - }, - "DeferMaintenanceStartTime": { - "markdownDescription": "A timestamp indicating the start time for the deferred maintenance window.", - "title": "DeferMaintenanceStartTime", - "type": "string" - }, - "DestinationRegion": { - "markdownDescription": "The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled.", - "title": "DestinationRegion", - "type": "string" - }, - "ElasticIp": { - "markdownDescription": "The Elastic IP (EIP) address for the cluster.\n\nConstraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on. For more information about provisioning clusters in EC2-VPC, go to [Supported Platforms to Launch Your Cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms) in the Amazon Redshift Cluster Management Guide.", - "title": "ElasticIp", - "type": "string" - }, - "Encrypted": { - "markdownDescription": "If `true` , the data in the cluster is encrypted at rest. If you set the value on this parameter to `false` , the request will fail.\n\nDefault: true", - "title": "Encrypted", - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint", - "markdownDescription": "The connection endpoint.", - "title": "Endpoint" - }, - "EnhancedVpcRouting": { - "markdownDescription": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see [Enhanced VPC Routing](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) in the Amazon Redshift Cluster Management Guide.\n\nIf this option is `true` , enhanced VPC routing is enabled.\n\nDefault: false", - "title": "EnhancedVpcRouting", - "type": "boolean" - }, - "HsmClientCertificateIdentifier": { - "markdownDescription": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.", - "title": "HsmClientCertificateIdentifier", - "type": "string" - }, - "HsmConfigurationIdentifier": { - "markdownDescription": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.", - "title": "HsmConfigurationIdentifier", - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.\n\nThe maximum number of IAM roles that you can associate is subject to a quota. For more information, go to [Quotas and limits](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) in the *Amazon Redshift Cluster Management Guide* .", - "title": "IamRoles", - "type": "array" - }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.", - "title": "KmsKeyId", - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties", - "markdownDescription": "Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.", - "title": "LoggingProperties" - }, - "MaintenanceTrackName": { - "markdownDescription": "An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance track name, the cluster is assigned to the `current` track.", - "title": "MaintenanceTrackName", - "type": "string" - }, - "ManageMasterPassword": { - "markdownDescription": "If `true` , Amazon Redshift uses AWS Secrets Manager to manage this cluster's admin credentials. You can't use `MasterUserPassword` if `ManageMasterPassword` is true. If `ManageMasterPassword` is false or not set, Amazon Redshift uses `MasterUserPassword` for the admin user account's password.", - "title": "ManageMasterPassword", - "type": "boolean" - }, - "ManualSnapshotRetentionPeriod": { - "markdownDescription": "The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.\n\nThe value must be either -1 or an integer between 1 and 3,653.", - "title": "ManualSnapshotRetentionPeriod", - "type": "number" - }, - "MasterPasswordSecretKmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. You can only use this parameter if `ManageMasterPassword` is true.", - "title": "MasterPasswordSecretKmsKeyId", - "type": "string" - }, - "MasterUserPassword": { - "markdownDescription": "The password associated with the admin user account for the cluster that is being created.\n\nYou can't use `MasterUserPassword` if `ManageMasterPassword` is `true` .\n\nConstraints:\n\n- Must be between 8 and 64 characters in length.\n- Must contain at least one uppercase letter.\n- Must contain at least one lowercase letter.\n- Must contain one number.\n- Can be any printable ASCII character (ASCII code 33-126) except `'` (single quote), `\"` (double quote), `\\` , `/` , or `@` .", - "title": "MasterUserPassword", - "type": "string" - }, - "MasterUsername": { - "markdownDescription": "The user name associated with the admin user account for the cluster that is being created.\n\nConstraints:\n\n- Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be `PUBLIC` .\n- Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.\n- The first character must be a letter.\n- Must not contain a colon (:) or a slash (/).\n- Cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", - "title": "MasterUsername", - "type": "string" - }, - "MultiAZ": { - "markdownDescription": "A boolean indicating whether Amazon Redshift should deploy the cluster in two Availability Zones. The default is false.", - "title": "MultiAZ", - "type": "boolean" - }, - "NamespaceResourcePolicy": { - "markdownDescription": "The policy that is attached to a resource.", - "title": "NamespaceResourcePolicy", - "type": "object" - }, - "NodeType": { - "markdownDescription": "The node type to be provisioned for the cluster. For information about node types, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .\n\nValid Values: `dc2.large` | `dc2.8xlarge` | `ra3.large` | `ra3.xlplus` | `ra3.4xlarge` | `ra3.16xlarge`", - "title": "NodeType", - "type": "string" - }, - "NumberOfNodes": { - "markdownDescription": "The number of compute nodes in the cluster. This parameter is required when the *ClusterType* parameter is specified as `multi-node` .\n\nFor information about determining how many nodes you need, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .\n\nIf you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.\n\nDefault: `1`\n\nConstraints: Value must be at least 1 and no more than 100.", - "title": "NumberOfNodes", - "type": "number" - }, - "OwnerAccount": { - "markdownDescription": "The AWS account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.", - "title": "OwnerAccount", - "type": "string" - }, - "Port": { - "markdownDescription": "The port number on which the cluster accepts incoming connections.\n\nThe cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections.\n\nDefault: `5439`\n\nValid Values:\n\n- For clusters with ra3 nodes - Select a port within the ranges `5431-5455` or `8191-8215` . (If you have an existing cluster with ra3 nodes, it isn't required that you change the port to these ranges.)\n- For clusters with dc2 nodes - Select a port within the range `1150-65535` .", - "title": "Port", - "type": "number" - }, - "PreferredMaintenanceWindow": { - "markdownDescription": "The weekly time range (in UTC) during which automated cluster maintenance can occur.\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nDefault: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see [Maintenance Windows](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows) in Amazon Redshift Cluster Management Guide.\n\nValid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun\n\nConstraints: Minimum 30-minute window.", - "title": "PreferredMaintenanceWindow", - "type": "string" - }, - "PubliclyAccessible": { - "markdownDescription": "If `true` , the cluster can be accessed from a public network.\n\nDefault: false", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "ResourceAction": { - "markdownDescription": "The Amazon Redshift operation to be performed. Supported operations are `pause-cluster` , `resume-cluster` , and `failover-primary-compute` .", - "title": "ResourceAction", - "type": "string" - }, - "RevisionTarget": { - "markdownDescription": "Describes a `RevisionTarget` object.", - "title": "RevisionTarget", - "type": "string" - }, - "RotateEncryptionKey": { - "markdownDescription": "Rotates the encryption keys for a cluster.", - "title": "RotateEncryptionKey", - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "markdownDescription": "The name of the cluster the source snapshot was created from. This parameter is required if your user or role has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.", - "title": "SnapshotClusterIdentifier", - "type": "string" - }, - "SnapshotCopyGrantName": { - "markdownDescription": "The name of the snapshot copy grant.", - "title": "SnapshotCopyGrantName", - "type": "string" - }, - "SnapshotCopyManual": { - "markdownDescription": "Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.", - "title": "SnapshotCopyManual", - "type": "boolean" - }, - "SnapshotCopyRetentionPeriod": { - "markdownDescription": "The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region .\n\nBy default, this only changes the retention period of copied automated snapshots.\n\nIf you decrease the retention period for automated snapshots that are copied to a destination AWS Region , Amazon Redshift deletes any existing automated snapshots that were copied to the destination AWS Region and that fall outside of the new retention period.\n\nConstraints: Must be at least 1 and no more than 35 for automated snapshots.\n\nIf you specify the `manual` option, only newly copied manual snapshots will have the new retention period.\n\nIf you specify the value of -1 newly copied manual snapshots are retained indefinitely.\n\nConstraints: The number of days must be either -1 or an integer between 1 and 3,653 for manual snapshots.", - "title": "SnapshotCopyRetentionPeriod", - "type": "number" - }, - "SnapshotIdentifier": { - "markdownDescription": "The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must specify this parameter or `snapshotArn` , but not both.\n\nExample: `my-snapshot-id`", - "title": "SnapshotIdentifier", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tag instances.", - "title": "Tags", - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.\n\nDefault: The default VPC security group is associated with the cluster.", - "title": "VpcSecurityGroupIds", - "type": "array" - } - }, - "required": [ - "ClusterType", - "DBName", - "MasterUsername", - "NodeType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::Cluster.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "The DNS address of the cluster. This property is read only.", - "title": "Address", - "type": "string" - }, - "Port": { - "markdownDescription": "The port that the database engine is listening on. This property is read only.", - "title": "Port", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster.LoggingProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The name of an existing S3 bucket where the log files are to be stored.\n\nConstraints:\n\n- Must be in the same region as the cluster\n- The cluster must have read bucket and put object permissions", - "title": "BucketName", - "type": "string" - }, - "LogDestinationType": { - "markdownDescription": "The log destination type. An enum with possible values of `s3` and `cloudwatch` .", - "title": "LogDestinationType", - "type": "string" - }, - "LogExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The collection of exported log types. Possible values are `connectionlog` , `useractivitylog` , and `userlog` .", - "title": "LogExports", - "type": "array" - }, - "S3KeyPrefix": { - "markdownDescription": "The prefix applied to the log file names.\n\nValid characters are any letter from any language, any whitespace character, any numeric character, and the following characters: underscore ( `_` ), period ( `.` ), colon ( `:` ), slash ( `/` ), equal ( `=` ), plus ( `+` ), backslash ( `\\` ), hyphen ( `-` ), at symbol ( `@` ).", - "title": "S3KeyPrefix", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 parameter group.", - "title": "Description", - "type": "string" - }, - "ParameterGroupFamily": { - "markdownDescription": "The name of the cluster parameter group family that this cluster parameter group is compatible with. You can create a custom parameter group and then associate your cluster with it. For more information, see [Amazon Redshift parameter groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) .", - "title": "ParameterGroupFamily", - "type": "string" - }, - "ParameterGroupName": { - "markdownDescription": "The name of the cluster parameter group.", - "title": "ParameterGroupName", - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "markdownDescription": "An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.\n\nFor each parameter to be modified, you must supply at least the parameter name and parameter value; other name-value pairs of the parameter are optional.\n\nFor the workload management (WLM) configuration, you must supply all the name-value pairs in the wlm_json_configuration parameter.", - "title": "Parameters", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The list of tags for the cluster parameter group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "ParameterGroupFamily" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "markdownDescription": "The name of the parameter.", - "title": "ParameterName", - "type": "string" - }, - "ParameterValue": { - "markdownDescription": "The value of the parameter. If `ParameterName` is `wlm_json_configuration` , then the maximum size of `ParameterValue` is 8000 characters.", - "title": "ParameterValue", - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 security group.", - "title": "Description", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies an arbitrary set of tags (key\u2013value pairs) to associate with this security group. Use tags to manage your resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 IP range to be added the Amazon Redshift security group.", - "title": "CIDRIP", - "type": "string" - }, - "ClusterSecurityGroupName": { - "markdownDescription": "The name of the security group to which the ingress rule is added.", - "title": "ClusterSecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupName": { - "markdownDescription": "The EC2 security group to be added the Amazon Redshift security group.", - "title": "EC2SecurityGroupName", - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "markdownDescription": "The AWS account number of the owner of the security group specified by the *EC2SecurityGroupName* parameter. The AWS Access Key ID is not an acceptable value.\n\nExample: `111122223333`\n\nConditional. If you specify the `EC2SecurityGroupName` property, you must specify this property.", - "title": "EC2SecurityGroupOwnerId", - "type": "string" - } - }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSubnetGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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 subnet group.", - "title": "Description", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Specifies an arbitrary set of tags (key\u2013value pairs) to associate with this subnet group. Use tags to manage your resources.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::DataShare": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::Redshift::DataShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Redshift::DataShare.DataShareAssociation": { - "additionalProperties": false, - "properties": { - "ConsumerIdentifier": { - "type": "string" - }, - "CreatedDate": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "StatusChangeDate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::EndpointAccess": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The cluster identifier of the cluster associated with the endpoint.", - "title": "ClusterIdentifier", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint.", - "title": "EndpointName", - "type": "string" - }, - "ResourceOwner": { - "markdownDescription": "The AWS account ID of the owner of the cluster.", - "title": "ResourceOwner", - "type": "string" - }, - "SubnetGroupName": { - "markdownDescription": "The subnet group name where Amazon Redshift chooses to deploy the endpoint.", - "title": "SubnetGroupName", - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.", - "title": "VpcSecurityGroupIds", - "type": "array" - } - }, - "required": [ - "ClusterIdentifier", - "EndpointName", - "SubnetGroupName", - "VpcSecurityGroupIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::EndpointAccess" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::EndpointAccess.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The Availability Zone.", - "title": "AvailabilityZone", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The network interface identifier.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "PrivateIpAddress": { - "markdownDescription": "The IPv4 address of the network interface within the subnet.", - "title": "PrivateIpAddress", - "type": "string" - }, - "SubnetId": { - "markdownDescription": "The subnet identifier.", - "title": "SubnetId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::EndpointAccess.VpcEndpoint": { - "additionalProperties": false, - "properties": { - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::Redshift::EndpointAccess.NetworkInterface" - }, - "markdownDescription": "One or more network interfaces of the endpoint. Also known as an interface endpoint.", - "title": "NetworkInterfaces", - "type": "array" - }, - "VpcEndpointId": { - "markdownDescription": "The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.", - "title": "VpcEndpointId", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The VPC identifier that the endpoint is associated.", - "title": "VpcId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::EndpointAccess.VpcSecurityGroup": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "The status of the endpoint.", - "title": "Status", - "type": "string" - }, - "VpcSecurityGroupId": { - "markdownDescription": "The identifier of the VPC security group.", - "title": "VpcSecurityGroupId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::EndpointAuthorization": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Account": { - "markdownDescription": "The AWS account ID of either the cluster owner (grantor) or grantee. If `Grantee` parameter is true, then the `Account` value is of the grantor.", - "title": "Account", - "type": "string" - }, - "ClusterIdentifier": { - "markdownDescription": "The cluster identifier.", - "title": "ClusterIdentifier", - "type": "string" - }, - "Force": { - "markdownDescription": "Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.", - "title": "Force", - "type": "boolean" - }, - "VpcIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The virtual private cloud (VPC) identifiers to grant access to.", - "title": "VpcIds", - "type": "array" - } - }, - "required": [ - "Account", - "ClusterIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::EndpointAuthorization" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::EventSubscription": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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, and set to `false` to create the subscription but not activate it.", - "title": "Enabled", - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the Amazon Redshift event categories to be published by the event notification subscription.\n\nValues: configuration, management, monitoring, security, pending", - "title": "EventCategories", - "type": "array" - }, - "Severity": { - "markdownDescription": "Specifies the Amazon Redshift event severity to be published by the event notification subscription.\n\nValues: ERROR, INFO", - "title": "Severity", - "type": "string" - }, - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", - "title": "SnsTopicArn", - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of one or more identifiers of Amazon Redshift source objects. All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified.\n\nExample: my-cluster-1, my-cluster-2\n\nExample: my-snapshot-20131010", - "title": "SourceIds", - "type": "array" - }, - "SourceType": { - "markdownDescription": "The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account . You must specify a source type in order to specify source IDs.\n\nValid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.", - "title": "SourceType", - "type": "string" - }, - "SubscriptionName": { - "markdownDescription": "The name of the event subscription to be created.\n\nConstraints:\n\n- Cannot be null, empty, or blank.\n- Must contain from 1 to 255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", - "title": "SubscriptionName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tag instances.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SubscriptionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::Integration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalEncryptionContext": { - "additionalProperties": true, - "markdownDescription": "The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/) in the *AWS Key Management Service Developer Guide* .", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "AdditionalEncryptionContext", - "type": "object" - }, - "IntegrationName": { - "markdownDescription": "The name of the integration.", - "title": "IntegrationName", - "type": "string" - }, - "KMSKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key identifier for the key used to encrypt the integration.", - "title": "KMSKeyId", - "type": "string" - }, - "SourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the database used as the source for replication.", - "title": "SourceArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The list of tags associated with the integration.", - "title": "Tags", - "type": "array" - }, - "TargetArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Redshift data warehouse to use as the target for replication.", - "title": "TargetArn", - "type": "string" - } - }, - "required": [ - "SourceArn", - "TargetArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enable": { - "markdownDescription": "If true, the schedule is enabled. If false, the scheduled action does not trigger. For more information about `state` of the scheduled action, see `ScheduledAction` .", - "title": "Enable", - "type": "boolean" - }, - "EndTime": { - "markdownDescription": "The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.", - "title": "EndTime", - "type": "string" - }, - "IamRole": { - "markdownDescription": "The IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see [Using Identity-Based Policies for Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) in the *Amazon Redshift Cluster Management Guide* .", - "title": "IamRole", - "type": "string" - }, - "Schedule": { - "markdownDescription": "The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.\n\nFormat of at expressions is \" `at(yyyy-mm-ddThh:mm:ss)` \". For example, \" `at(2016-03-04T17:27:00)` \".\n\nFormat of cron expressions is \" `cron(Minutes Hours Day-of-month Month Day-of-week Year)` \". For example, \" `cron(0 10 ? * MON *)` \". For more information, see [Cron Expressions](https://docs.aws.amazon.com//AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) in the *Amazon CloudWatch Events User Guide* .", - "title": "Schedule", - "type": "string" - }, - "ScheduledActionDescription": { - "markdownDescription": "The description of the scheduled action.", - "title": "ScheduledActionDescription", - "type": "string" - }, - "ScheduledActionName": { - "markdownDescription": "The name of the scheduled action.", - "title": "ScheduledActionName", - "type": "string" - }, - "StartTime": { - "markdownDescription": "The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.", - "title": "StartTime", - "type": "string" - }, - "TargetAction": { - "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ScheduledActionType", - "markdownDescription": "A JSON format string of the Amazon Redshift API operation with input parameters.\n\n\" `{\\\"ResizeCluster\\\":{\\\"NodeType\\\":\\\"ra3.4xlarge\\\",\\\"ClusterIdentifier\\\":\\\"my-test-cluster\\\",\\\"NumberOfNodes\\\":3}}` \".", - "title": "TargetAction" - } - }, - "required": [ - "ScheduledActionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ScheduledAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction.PauseClusterMessage": { - "additionalProperties": false, - "properties": { - "ClusterIdentifier": { - "markdownDescription": "The identifier of the cluster to be paused.", - "title": "ClusterIdentifier", - "type": "string" - } - }, - "required": [ - "ClusterIdentifier" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction.ResizeClusterMessage": { - "additionalProperties": false, - "properties": { - "Classic": { - "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to `false` , the resize type is elastic.", - "title": "Classic", - "type": "boolean" - }, - "ClusterIdentifier": { - "markdownDescription": "The unique identifier for the cluster to resize.", - "title": "ClusterIdentifier", - "type": "string" - }, - "ClusterType": { - "markdownDescription": "The new cluster type for the specified cluster.", - "title": "ClusterType", - "type": "string" - }, - "NodeType": { - "markdownDescription": "The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.", - "title": "NodeType", - "type": "string" - }, - "NumberOfNodes": { - "markdownDescription": "The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.", - "title": "NumberOfNodes", - "type": "number" - } - }, - "required": [ - "ClusterIdentifier" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction.ResumeClusterMessage": { - "additionalProperties": false, - "properties": { - "ClusterIdentifier": { - "markdownDescription": "The identifier of the cluster to be resumed.", - "title": "ClusterIdentifier", - "type": "string" - } - }, - "required": [ - "ClusterIdentifier" - ], - "type": "object" - }, - "AWS::Redshift::ScheduledAction.ScheduledActionType": { - "additionalProperties": false, - "properties": { - "PauseCluster": { - "$ref": "#/definitions/AWS::Redshift::ScheduledAction.PauseClusterMessage", - "markdownDescription": "An action that runs a `PauseCluster` API operation.", - "title": "PauseCluster" - }, - "ResizeCluster": { - "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ResizeClusterMessage", - "markdownDescription": "An action that runs a `ResizeCluster` API operation.", - "title": "ResizeCluster" - }, - "ResumeCluster": { - "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ResumeClusterMessage", - "markdownDescription": "An action that runs a `ResumeCluster` API operation.", - "title": "ResumeCluster" - } - }, - "type": "object" - }, - "AWS::Redshift::SnapshotSchedule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ScheduleDefinitions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScheduleDescription": { - "type": "string" - }, - "ScheduleIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ScheduleDefinitions", - "ScheduleIdentifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::SnapshotSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RedshiftServerless::Namespace": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdminPasswordSecretKmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if `ManageAdminPassword` is `true` .", - "title": "AdminPasswordSecretKmsKeyId", - "type": "string" - }, - "AdminUserPassword": { - "markdownDescription": "The password of the administrator for the primary database created in the namespace.", - "title": "AdminUserPassword", - "type": "string" - }, - "AdminUsername": { - "markdownDescription": "The username of the administrator for the primary database created in the namespace.", - "title": "AdminUsername", - "type": "string" - }, - "DbName": { - "markdownDescription": "The name of the primary database created in the namespace.", - "title": "DbName", - "type": "string" - }, - "DefaultIamRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.", - "title": "DefaultIamRoleArn", - "type": "string" - }, - "FinalSnapshotName": { - "markdownDescription": "The name of the snapshot to be created before the namespace is deleted.", - "title": "FinalSnapshotName", - "type": "string" - }, - "FinalSnapshotRetentionPeriod": { - "markdownDescription": "How long to retain the final snapshot.", - "title": "FinalSnapshotRetentionPeriod", - "type": "number" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of IAM roles to associate with the namespace.", - "title": "IamRoles", - "type": "array" - }, - "KmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service key used to encrypt your data.", - "title": "KmsKeyId", - "type": "string" - }, - "LogExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of logs the namespace can export. Available export types are `userlog` , `connectionlog` , and `useractivitylog` .", - "title": "LogExports", - "type": "array" - }, - "ManageAdminPassword": { - "markdownDescription": "If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. You can't use `AdminUserPassword` if `ManageAdminPassword` is true. If `ManageAdminPassword` is `false` or not set, Amazon Redshift uses `AdminUserPassword` for the admin user account's password.", - "title": "ManageAdminPassword", - "type": "boolean" - }, - "NamespaceName": { - "markdownDescription": "The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", - "title": "NamespaceName", - "type": "string" - }, - "NamespaceResourcePolicy": { - "markdownDescription": "The resource policy that will be attached to the namespace.", - "title": "NamespaceResourcePolicy", - "type": "object" - }, - "RedshiftIdcApplicationArn": { - "markdownDescription": "The ARN for the Redshift application that integrates with IAM Identity Center.", - "title": "RedshiftIdcApplicationArn", - "type": "string" - }, - "SnapshotCopyConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Namespace.SnapshotCopyConfiguration" - }, - "markdownDescription": "", - "title": "SnapshotCopyConfigurations", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The map of the key-value pairs used to tag the namespace.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "NamespaceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RedshiftServerless::Namespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RedshiftServerless::Namespace.Namespace": { - "additionalProperties": false, - "properties": { - "AdminPasswordSecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the namespace's admin user credentials secret.", - "title": "AdminPasswordSecretArn", - "type": "string" - }, - "AdminPasswordSecretKmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.", - "title": "AdminPasswordSecretKmsKeyId", - "type": "string" - }, - "AdminUsername": { - "markdownDescription": "The username of the administrator for the first database created in the namespace.", - "title": "AdminUsername", - "type": "string" - }, - "CreationDate": { - "markdownDescription": "The date of when the namespace was created.", - "title": "CreationDate", - "type": "string" - }, - "DbName": { - "markdownDescription": "The name of the first database created in the namespace.", - "title": "DbName", - "type": "string" - }, - "DefaultIamRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.", - "title": "DefaultIamRoleArn", - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of IAM roles to associate with the namespace.", - "title": "IamRoles", - "type": "array" - }, - "KmsKeyId": { - "markdownDescription": "The ID of the AWS Key Management Service key used to encrypt your data.", - "title": "KmsKeyId", - "type": "string" - }, - "LogExports": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of logs the namespace can export. Available export types are User log, Connection log, and User activity log.", - "title": "LogExports", - "type": "array" - }, - "NamespaceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) associated with a namespace.", - "title": "NamespaceArn", - "type": "string" - }, - "NamespaceId": { - "markdownDescription": "The unique identifier of a namespace.", - "title": "NamespaceId", - "type": "string" - }, - "NamespaceName": { - "markdownDescription": "The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", - "title": "NamespaceName", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the namespace.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Namespace.SnapshotCopyConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationKmsKeyId": { - "markdownDescription": "The ID of the KMS key to use to encrypt your snapshots in the destination AWS Region .", - "title": "DestinationKmsKeyId", - "type": "string" - }, - "DestinationRegion": { - "markdownDescription": "The destination AWS Region to copy snapshots to.", - "title": "DestinationRegion", - "type": "string" - }, - "SnapshotRetentionPeriod": { - "markdownDescription": "The retention period of snapshots that are copied to the destination AWS Region .", - "title": "SnapshotRetentionPeriod", - "type": "number" - } - }, - "required": [ - "DestinationRegion" - ], - "type": "object" - }, - "AWS::RedshiftServerless::RecoveryPoint": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NamespaceName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RedshiftServerless::RecoveryPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RedshiftServerless::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": { - "NamespaceName": { - "markdownDescription": "The name of the namepsace.", - "title": "NamespaceName", - "type": "string" - }, - "RetentionPeriod": { - "markdownDescription": "The retention period of the snapshot created by the scheduled action.", - "title": "RetentionPeriod", - "type": "number" - }, - "SnapshotName": { - "markdownDescription": "The name of the snapshot.", - "title": "SnapshotName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of [Tag objects](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_Tag.html) to associate with the snapshot.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "SnapshotName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RedshiftServerless::Snapshot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RedshiftServerless::Snapshot.Snapshot": { - "additionalProperties": false, - "properties": { - "AdminUsername": { - "markdownDescription": "The username of the database within a snapshot.", - "title": "AdminUsername", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The unique identifier of the KMS key used to encrypt the snapshot.", - "title": "KmsKeyId", - "type": "string" - }, - "NamespaceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the namespace the snapshot was created from.", - "title": "NamespaceArn", - "type": "string" - }, - "NamespaceName": { - "markdownDescription": "The name of the namepsace.", - "title": "NamespaceName", - "type": "string" - }, - "OwnerAccount": { - "markdownDescription": "The owner AWS ; account of the snapshot.", - "title": "OwnerAccount", - "type": "string" - }, - "RetentionPeriod": { - "markdownDescription": "", - "title": "RetentionPeriod", - "type": "number" - }, - "SnapshotArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the snapshot.", - "title": "SnapshotArn", - "type": "string" - }, - "SnapshotCreateTime": { - "markdownDescription": "The timestamp of when the snapshot was created.", - "title": "SnapshotCreateTime", - "type": "string" - }, - "SnapshotName": { - "markdownDescription": "The name of the snapshot.", - "title": "SnapshotName", - "type": "string" - }, - "Status": { - "markdownDescription": "The status of the snapshot.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BaseCapacity": { - "markdownDescription": "The base compute capacity of the workgroup in Redshift Processing Units (RPUs).", - "title": "BaseCapacity", - "type": "number" - }, - "ConfigParameters": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.ConfigParameter" - }, - "markdownDescription": "The key of the parameter. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", - "title": "ConfigParameters", - "type": "array" - }, - "EnhancedVpcRouting": { - "markdownDescription": "The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.", - "title": "EnhancedVpcRouting", - "type": "boolean" - }, - "MaxCapacity": { - "markdownDescription": "The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.", - "title": "MaxCapacity", - "type": "number" - }, - "NamespaceName": { - "markdownDescription": "The namespace the workgroup is associated with.", - "title": "NamespaceName", - "type": "string" - }, - "Port": { - "markdownDescription": "The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.", - "title": "Port", - "type": "number" - }, - "PricePerformanceTarget": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.PerformanceTarget", - "markdownDescription": "An object that represents the price performance target settings for the workgroup.", - "title": "PricePerformanceTarget" - }, - "PubliclyAccessible": { - "markdownDescription": "A value that specifies whether the workgroup can be accessible from a public network.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "RecoveryPointId": { - "markdownDescription": "The recovery point id to restore from.", - "title": "RecoveryPointId", - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of security group IDs to associate with the workgroup.", - "title": "SecurityGroupIds", - "type": "array" - }, - "SnapshotArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the snapshot to restore from.", - "title": "SnapshotArn", - "type": "string" - }, - "SnapshotName": { - "markdownDescription": "The snapshot name to restore from.", - "title": "SnapshotName", - "type": "string" - }, - "SnapshotOwnerAccount": { - "markdownDescription": "The Amazon Web Services account that owns the snapshot.", - "title": "SnapshotOwnerAccount", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of subnet IDs the workgroup is associated with.", - "title": "SubnetIds", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The map of the key-value pairs used to tag the workgroup.", - "title": "Tags", - "type": "array" - }, - "TrackName": { - "markdownDescription": "An optional parameter for the name of the track for the workgroup. If you don't provide a track name, the workgroup is assigned to the current track.", - "title": "TrackName", - "type": "string" - }, - "Workgroup": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.Workgroup", - "markdownDescription": "The collection of computing resources from which an endpoint is created.", - "title": "Workgroup" - }, - "WorkgroupName": { - "markdownDescription": "The name of the workgroup.", - "title": "WorkgroupName", - "type": "string" - } - }, - "required": [ - "WorkgroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RedshiftServerless::Workgroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.ConfigParameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "markdownDescription": "The key of the parameter. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", - "title": "ParameterKey", - "type": "string" - }, - "ParameterValue": { - "markdownDescription": "The value of the parameter to set.", - "title": "ParameterValue", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "markdownDescription": "The DNS address of the VPC endpoint.", - "title": "Address", - "type": "string" - }, - "Port": { - "markdownDescription": "The port that Amazon Redshift Serverless listens on.", - "title": "Port", - "type": "number" - }, - "VpcEndpoints": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.VpcEndpoint" - }, - "markdownDescription": "An array of `VpcEndpoint` objects.", - "title": "VpcEndpoints", - "type": "array" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "markdownDescription": "The availability Zone.", - "title": "AvailabilityZone", - "type": "string" - }, - "NetworkInterfaceId": { - "markdownDescription": "The unique identifier of the network interface.", - "title": "NetworkInterfaceId", - "type": "string" - }, - "PrivateIpAddress": { - "markdownDescription": "The IPv4 address of the network interface within the subnet.", - "title": "PrivateIpAddress", - "type": "string" - }, - "SubnetId": { - "markdownDescription": "The unique identifier of the subnet.", - "title": "SubnetId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.PerformanceTarget": { - "additionalProperties": false, - "properties": { - "Level": { - "markdownDescription": "The target price performance level for the workgroup. Valid values include 1, 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, ECONOMICAL, BALANCED, RESOURCEFUL, and HIGH_PERFORMANCE.", - "title": "Level", - "type": "number" - }, - "Status": { - "markdownDescription": "Whether the price performance target is enabled for the workgroup.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.VpcEndpoint": { - "additionalProperties": false, - "properties": { - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.NetworkInterface" - }, - "markdownDescription": "One or more network interfaces of the endpoint. Also known as an interface endpoint.", - "title": "NetworkInterfaces", - "type": "array" - }, - "VpcEndpointId": { - "markdownDescription": "The connection endpoint ID for connecting to Amazon Redshift Serverless.", - "title": "VpcEndpointId", - "type": "string" - }, - "VpcId": { - "markdownDescription": "The VPC identifier that the endpoint is associated with.", - "title": "VpcId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RedshiftServerless::Workgroup.Workgroup": { - "additionalProperties": false, - "properties": { - "BaseCapacity": { - "markdownDescription": "The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).", - "title": "BaseCapacity", - "type": "number" - }, - "ConfigParameters": { - "items": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.ConfigParameter" - }, - "markdownDescription": "An array of parameters to set for advanced control over a database. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", - "title": "ConfigParameters", - "type": "array" - }, - "CreationDate": { - "markdownDescription": "The creation date of the workgroup.", - "title": "CreationDate", - "type": "string" - }, - "Endpoint": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.Endpoint", - "markdownDescription": "The endpoint that is created from the workgroup.", - "title": "Endpoint" - }, - "EnhancedVpcRouting": { - "markdownDescription": "The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.", - "title": "EnhancedVpcRouting", - "type": "boolean" - }, - "MaxCapacity": { - "markdownDescription": "The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.", - "title": "MaxCapacity", - "type": "number" - }, - "NamespaceName": { - "markdownDescription": "The namespace the workgroup is associated with.", - "title": "NamespaceName", - "type": "string" - }, - "PricePerformanceTarget": { - "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.PerformanceTarget", - "markdownDescription": "An object that represents the price performance target settings for the workgroup.", - "title": "PricePerformanceTarget" - }, - "PubliclyAccessible": { - "markdownDescription": "A value that specifies whether the workgroup can be accessible from a public network.", - "title": "PubliclyAccessible", - "type": "boolean" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of security group IDs to associate with the workgroup.", - "title": "SecurityGroupIds", - "type": "array" - }, - "Status": { - "markdownDescription": "The status of the workgroup.", - "title": "Status", - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of subnet IDs the workgroup is associated with.", - "title": "SubnetIds", - "type": "array" - }, - "TrackName": { - "markdownDescription": "The name of the track for the workgroup.", - "title": "TrackName", - "type": "string" - }, - "WorkgroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) that links to the workgroup.", - "title": "WorkgroupArn", - "type": "string" - }, - "WorkgroupId": { - "markdownDescription": "The unique identifier of the workgroup.", - "title": "WorkgroupId", - "type": "string" - }, - "WorkgroupName": { - "markdownDescription": "The name of the workgroup.", - "title": "WorkgroupName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::RefactorSpaces::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": { - "ApiGatewayProxy": { - "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput", - "markdownDescription": "The endpoint URL of the Amazon API Gateway proxy.", - "title": "ApiGatewayProxy" - }, - "EnvironmentIdentifier": { - "markdownDescription": "The unique identifier of the environment.", - "title": "EnvironmentIdentifier", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the application.", - "title": "Name", - "type": "string" - }, - "ProxyType": { - "markdownDescription": "The proxy type of the proxy created within the application.", - "title": "ProxyType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the application.", - "title": "Tags", - "type": "array" - }, - "VpcId": { - "markdownDescription": "The ID of the virtual private cloud (VPC).", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "EnvironmentIdentifier", - "Name", - "ProxyType", - "VpcId" - ], - "type": "object" + "AWS::QuickSight::Template.WaterfallChartFieldWells": { + "additionalProperties": false, + "properties": { + "WaterfallChartAggregatedFieldWells": { + "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartAggregatedFieldWells", + "markdownDescription": "The field well configuration of a waterfall visual.", + "title": "WaterfallChartAggregatedFieldWells" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.WaterfallChartGroupColorConfiguration": { + "additionalProperties": false, + "properties": { + "NegativeBarColor": { + "markdownDescription": "Defines the color for the negative bars of a waterfall chart.", + "title": "NegativeBarColor", + "type": "string" }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Application" - ], + "PositiveBarColor": { + "markdownDescription": "Defines the color for the positive bars of a waterfall chart.", + "title": "PositiveBarColor", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TotalBarColor": { + "markdownDescription": "Defines the color for the total bars of a waterfall chart.", + "title": "TotalBarColor", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { + "AWS::QuickSight::Template.WaterfallChartOptions": { "additionalProperties": false, "properties": { - "EndpointType": { - "markdownDescription": "The type of endpoint to use for the API Gateway proxy. If no value is specified in the request, the value is set to `REGIONAL` by default.\n\nIf the value is set to `PRIVATE` in the request, this creates a private API endpoint that is isolated from the public internet. The private endpoint can only be accessed by using Amazon Virtual Private Cloud (Amazon VPC) interface endpoints for the Amazon API Gateway that has been granted access. For more information about creating a private connection with Refactor Spaces and interface endpoint ( AWS PrivateLink ) availability, see [Access Refactor Spaces using an interface endpoint ( AWS PrivateLink )](https://docs.aws.amazon.com/migrationhub-refactor-spaces/latest/userguide/vpc-interface-endpoints.html) .", - "title": "EndpointType", - "type": "string" - }, - "StageName": { - "markdownDescription": "The name of the API Gateway stage. The name defaults to `prod` .", - "title": "StageName", + "TotalBarLabel": { + "markdownDescription": "This option determines the total bar label of a waterfall visual.", + "title": "TotalBarLabel", "type": "string" } }, "type": "object" }, - "AWS::RefactorSpaces::Environment": { + "AWS::QuickSight::Template.WaterfallChartSortConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "BreakdownItemsLimit": { + "$ref": "#/definitions/AWS::QuickSight::Template.ItemsLimitConfiguration", + "markdownDescription": "The limit on the number of bar groups that are displayed.", + "title": "BreakdownItemsLimit" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "A description of the environment.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the environment.", - "title": "Name", - "type": "string" - }, - "NetworkFabricType": { - "markdownDescription": "The network fabric type of the environment.", - "title": "NetworkFabricType", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the environment.", - "title": "Tags", - "type": "array" - } + "CategorySort": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.FieldSortOptions" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "markdownDescription": "The sort configuration of the category fields.", + "title": "CategorySort", + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::RefactorSpaces::Route": { + "AWS::QuickSight::Template.WaterfallVisual": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualCustomAction" + }, + "markdownDescription": "The list of custom actions that are configured for a visual.", + "title": "Actions", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ChartConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.WaterfallChartConfiguration", + "markdownDescription": "The configuration for a waterfall visual.", + "title": "ChartConfiguration" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ColumnHierarchies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ColumnHierarchy" + }, + "markdownDescription": "The column hierarchy that is used during drill-downs and drill-ups.", + "title": "ColumnHierarchies", + "type": "array" }, - "Metadata": { - "type": "object" + "Subtitle": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions", + "markdownDescription": "The subtitle that is displayed on the visual.", + "title": "Subtitle" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationIdentifier": { - "markdownDescription": "The unique identifier of the application.", - "title": "ApplicationIdentifier", - "type": "string" - }, - "DefaultRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.DefaultRouteInput", - "markdownDescription": "Configuration for the default route type.", - "title": "DefaultRoute" - }, - "EnvironmentIdentifier": { - "markdownDescription": "The unique identifier of the environment.", - "title": "EnvironmentIdentifier", - "type": "string" - }, - "RouteType": { - "markdownDescription": "The route type of the route.", - "title": "RouteType", - "type": "string" - }, - "ServiceIdentifier": { - "markdownDescription": "The unique identifier of the service.", - "title": "ServiceIdentifier", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the route.", - "title": "Tags", - "type": "array" - }, - "UriPathRoute": { - "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput", - "markdownDescription": "The configuration for the URI path route type.", - "title": "UriPathRoute" - } - }, - "required": [ - "ApplicationIdentifier", - "EnvironmentIdentifier", - "RouteType", - "ServiceIdentifier" - ], - "type": "object" + "Title": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions", + "markdownDescription": "The title that is displayed on the visual.", + "title": "Title" }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Route" - ], + "VisualContentAltText": { + "markdownDescription": "The alt text for the visual.", + "title": "VisualContentAltText", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "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", "type": "string" } }, "required": [ - "Type", - "Properties" + "VisualId" ], "type": "object" }, - "AWS::RefactorSpaces::Route.DefaultRouteInput": { + "AWS::QuickSight::Template.WhatIfPointScenario": { "additionalProperties": false, "properties": { - "ActivationState": { - "markdownDescription": "If set to `ACTIVE` , traffic is forwarded to this route\u2019s service after the route is created.", - "title": "ActivationState", + "Date": { + "markdownDescription": "The date that you need the forecast results for.", + "title": "Date", "type": "string" + }, + "Value": { + "markdownDescription": "The target value that you want to meet for the provided date.", + "title": "Value", + "type": "number" } }, "required": [ - "ActivationState" + "Date", + "Value" ], "type": "object" }, - "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "AWS::QuickSight::Template.WhatIfRangeScenario": { "additionalProperties": false, "properties": { - "ActivationState": { - "markdownDescription": "If set to `ACTIVE` , traffic is forwarded to this route\u2019s service after the route is created.", - "title": "ActivationState", + "EndDate": { + "markdownDescription": "The end date in the date range that you need the forecast results for.", + "title": "EndDate", "type": "string" }, - "AppendSourcePath": { - "markdownDescription": "If set to `true` , this option appends the source path to the service URL endpoint.", - "title": "AppendSourcePath", - "type": "boolean" - }, - "IncludeChildPaths": { - "markdownDescription": "Indicates whether to match all subpaths of the given source path. If this value is `false` , requests must match the source path exactly before they are forwarded to this route's service.", - "title": "IncludeChildPaths", - "type": "boolean" + "StartDate": { + "markdownDescription": "The start date in the date range that you need the forecast results for.", + "title": "StartDate", + "type": "string" }, - "Methods": { + "Value": { + "markdownDescription": "The target value that you want to meet for the provided date range.", + "title": "Value", + "type": "number" + } + }, + "required": [ + "EndDate", + "StartDate", + "Value" + ], + "type": "object" + }, + "AWS::QuickSight::Template.WordCloudAggregatedFieldWells": { + "additionalProperties": false, + "properties": { + "GroupBy": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::QuickSight::Template.DimensionField" }, - "markdownDescription": "A list of HTTP methods to match. An empty list matches all values. If a method is present, only HTTP requests using that method are forwarded to this route\u2019s service.", - "title": "Methods", + "markdownDescription": "The group by field well of a word cloud. Values are grouped by group by fields.", + "title": "GroupBy", "type": "array" }, - "SourcePath": { - "markdownDescription": "This is the path that Refactor Spaces uses to match traffic. Paths must start with `/` and are relative to the base of the application. To use path parameters in the source path, add a variable in curly braces. For example, the resource path {user} represents a path parameter called 'user'.", - "title": "SourcePath", - "type": "string" + "Size": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.MeasureField" + }, + "markdownDescription": "The size field well of a word cloud. Values are aggregated based on group by fields.", + "title": "Size", + "type": "array" } }, - "required": [ - "ActivationState" - ], "type": "object" }, - "AWS::RefactorSpaces::Service": { + "AWS::QuickSight::Template.WordCloudChartConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "CategoryLabelOptions": { + "$ref": "#/definitions/AWS::QuickSight::Template.ChartAxisLabelOptions", + "markdownDescription": "The label options (label text, label visibility, and sort icon visibility) for the word cloud category.", + "title": "CategoryLabelOptions" }, - "Metadata": { - "type": "object" + "FieldWells": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudFieldWells", + "markdownDescription": "The field wells of the visual.", + "title": "FieldWells" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationIdentifier": { - "markdownDescription": "The unique identifier of the application.", - "title": "ApplicationIdentifier", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the service.", - "title": "Description", - "type": "string" - }, - "EndpointType": { - "markdownDescription": "The endpoint type of the service.", - "title": "EndpointType", - "type": "string" - }, - "EnvironmentIdentifier": { - "markdownDescription": "The unique identifier of the environment.", - "title": "EnvironmentIdentifier", - "type": "string" - }, - "LambdaEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput", - "markdownDescription": "A summary of the configuration for the AWS Lambda endpoint type.", - "title": "LambdaEndpoint" - }, - "Name": { - "markdownDescription": "The name of the service.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags assigned to the service.", - "title": "Tags", - "type": "array" - }, - "UrlEndpoint": { - "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput", - "markdownDescription": "The summary of the configuration for the URL endpoint type.", - "title": "UrlEndpoint" - }, - "VpcId": { - "markdownDescription": "The ID of the virtual private cloud (VPC).", - "title": "VpcId", - "type": "string" - } - }, - "required": [ - "ApplicationIdentifier", - "EndpointType", - "EnvironmentIdentifier", - "Name" - ], - "type": "object" + "Interactions": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualInteractionOptions", + "markdownDescription": "The general visual interactions setup for a visual.", + "title": "Interactions" }, - "Type": { - "enum": [ - "AWS::RefactorSpaces::Service" - ], - "type": "string" + "SortConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudSortConfiguration", + "markdownDescription": "The sort configuration of a word cloud visual.", + "title": "SortConfiguration" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "WordCloudOptions": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudOptions", + "markdownDescription": "The options for a word cloud visual.", + "title": "WordCloudOptions" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RefactorSpaces::Service.LambdaEndpointInput": { + "AWS::QuickSight::Template.WordCloudFieldWells": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Lambda function or alias.", - "title": "Arn", - "type": "string" + "WordCloudAggregatedFieldWells": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudAggregatedFieldWells", + "markdownDescription": "The aggregated field wells of a word cloud.", + "title": "WordCloudAggregatedFieldWells" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "AWS::QuickSight::Template.WordCloudOptions": { "additionalProperties": false, "properties": { - "HealthUrl": { - "markdownDescription": "The health check URL of the URL endpoint type. If the URL is a public endpoint, the `HealthUrl` must also be a public endpoint. If the URL is a private endpoint inside a virtual private cloud (VPC), the health URL must also be a private endpoint, and the host must be the same as the URL.", - "title": "HealthUrl", + "CloudLayout": { + "markdownDescription": "The cloud layout options (fluid, normal) of a word cloud.", + "title": "CloudLayout", "type": "string" }, - "Url": { - "markdownDescription": "The URL to route traffic to. The URL must be an [rfc3986-formatted URL](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc3986) . If the host is a domain name, the name must be resolvable over the public internet. If the scheme is `https` , the top level domain of the host must be listed in the [IANA root zone database](https://docs.aws.amazon.com/https://www.iana.org/domains/root/db) .", - "title": "Url", + "MaximumStringLength": { + "markdownDescription": "The length limit of each word from 1-100.", + "title": "MaximumStringLength", + "type": "number" + }, + "WordCasing": { + "markdownDescription": "The word casing options (lower_case, existing_case) for the words in a word cloud.", + "title": "WordCasing", + "type": "string" + }, + "WordOrientation": { + "markdownDescription": "The word orientation options (horizontal, horizontal_and_vertical) for the words in a word cloud.", + "title": "WordOrientation", + "type": "string" + }, + "WordPadding": { + "markdownDescription": "The word padding options (none, small, medium, large) for the words in a word cloud.", + "title": "WordPadding", + "type": "string" + }, + "WordScaling": { + "markdownDescription": "The word scaling options (emphasize, normal) for the words in a word cloud.", + "title": "WordScaling", "type": "string" } }, - "required": [ - "Url" - ], "type": "object" }, - "AWS::Rekognition::Collection": { + "AWS::QuickSight::Template.WordCloudSortConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "CategoryItemsLimit": { + "$ref": "#/definitions/AWS::QuickSight::Template.ItemsLimitConfiguration", + "markdownDescription": "The limit on the number of groups that are displayed in a word cloud.", + "title": "CategoryItemsLimit" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "markdownDescription": "ID for the collection that you are creating.", - "title": "CollectionId", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A set of tags (key-value pairs) that you want to attach to the collection.", - "title": "Tags", - "type": "array" - } + "CategorySort": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.FieldSortOptions" }, - "required": [ - "CollectionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Rekognition::Collection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "markdownDescription": "The sort configuration of group by fields.", + "title": "CategorySort", + "type": "array" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::Rekognition::Dataset": { + "AWS::QuickSight::Template.WordCloudVisual": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualCustomAction" + }, + "markdownDescription": "The list of custom actions that are configured for a visual.", + "title": "Actions", + "type": "array" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "ChartConfiguration": { + "$ref": "#/definitions/AWS::QuickSight::Template.WordCloudChartConfiguration", + "markdownDescription": "The configuration settings of the visual.", + "title": "ChartConfiguration" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ColumnHierarchies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ColumnHierarchy" + }, + "markdownDescription": "The column hierarchy that is used during drill-downs and drill-ups.", + "title": "ColumnHierarchies", + "type": "array" }, - "Metadata": { - "type": "object" + "Subtitle": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualSubtitleLabelOptions", + "markdownDescription": "The subtitle that is displayed on the visual.", + "title": "Subtitle" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetType": { - "type": "string" - }, - "ProjectArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatasetType" - ], - "type": "object" + "Title": { + "$ref": "#/definitions/AWS::QuickSight::Template.VisualTitleLabelOptions", + "markdownDescription": "The title that is displayed on the visual.", + "title": "Title" }, - "Type": { - "enum": [ - "AWS::Rekognition::Dataset" - ], + "VisualContentAltText": { + "markdownDescription": "The alt text for the visual.", + "title": "VisualContentAltText", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "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", "type": "string" } }, "required": [ - "Type", - "Properties" + "VisualId" ], "type": "object" }, - "AWS::Rekognition::Project": { + "AWS::QuickSight::Template.YAxisOptions": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "markdownDescription": "The name of the project to create.", - "title": "ProjectName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Rekognition::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "YAxis": { + "markdownDescription": "The Y axis type to be used in the chart.\n\nIf you choose `PRIMARY_Y_AXIS` , the primary Y Axis is located on the leftmost vertical axis of the chart.", + "title": "YAxis", "type": "string" } }, "required": [ - "Type", - "Properties" + "YAxis" ], "type": "object" }, - "AWS::Rekognition::StreamProcessor": { + "AWS::QuickSight::Theme": { "additionalProperties": false, "properties": { "Condition": { @@ -333319,87 +299502,65 @@ "Properties": { "additionalProperties": false, "properties": { - "BoundingBoxRegionsOfInterest": { - "items": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.BoundingBox" - }, - "markdownDescription": "List of BoundingBox objects, each of which denotes a region of interest on screen. For more information, see the BoundingBox field of [RegionOfInterest](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RegionOfInterest) .", - "title": "BoundingBoxRegionsOfInterest", - "type": "array" - }, - "ConnectedHomeSettings": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.ConnectedHomeSettings", - "markdownDescription": "Connected home settings to use on a streaming video. You can use a stream processor for connected home features and select what you want the stream processor to detect, such as people or pets. When the stream processor has started, one notification is sent for each object class specified. For more information, see the ConnectedHome section of [StreamProcessorSettings](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorSettings) .", - "title": "ConnectedHomeSettings" - }, - "DataSharingPreference": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.DataSharingPreference", - "markdownDescription": "Allows you to opt in or opt out to share data with Rekognition to improve model performance. You can choose this option at the account level or on a per-stream basis. Note that if you opt out at the account level this setting is ignored on individual streams. For more information, see [StreamProcessorDataSharingPreference](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorDataSharingPreference) .", - "title": "DataSharingPreference" - }, - "FaceSearchSettings": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.FaceSearchSettings", - "markdownDescription": "The input parameters used to recognize faces in a streaming video analyzed by an Amazon Rekognition stream processor. For more information regarding the contents of the parameters, see [FaceSearchSettings](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_FaceSearchSettings) .", - "title": "FaceSearchSettings" - }, - "KinesisDataStream": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.KinesisDataStream", - "markdownDescription": "Amazon Rekognition's Video Stream Processor takes a Kinesis video stream as input. This is the Amazon Kinesis Data Streams instance to which the Amazon Rekognition stream processor streams the analysis results. This must be created within the constraints specified at [KinesisDataStream](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_KinesisDataStream) .", - "title": "KinesisDataStream" - }, - "KinesisVideoStream": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.KinesisVideoStream", - "markdownDescription": "The Kinesis video stream that provides the source of the streaming video for an Amazon Rekognition Video stream processor. For more information, see [KinesisVideoStream](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_KinesisVideoStream) .", - "title": "KinesisVideoStream" - }, - "KmsKeyId": { - "markdownDescription": "The identifier for your Amazon Key Management Service key (Amazon KMS key). Optional parameter for connected home stream processors used to encrypt results and data published to your Amazon S3 bucket. For more information, see the KMSKeyId section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", - "title": "KmsKeyId", + "AwsAccountId": { + "markdownDescription": "The ID of the AWS account where you want to store the new theme.", + "title": "AwsAccountId", "type": "string" }, - "Name": { - "markdownDescription": "The Name attribute specifies the name of the stream processor and it must be within the constraints described in the Name section of [StreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessor) . If you don't specify a name, Amazon CloudFormation generates a unique ID and uses that ID for the stream processor name.", - "title": "Name", + "BaseThemeId": { + "markdownDescription": "The ID of the theme that a custom theme will inherit from. All themes inherit from one of the starting themes defined by Amazon Quick Sight. For a list of the starting themes, use `ListThemes` or choose *Themes* from within an analysis.", + "title": "BaseThemeId", "type": "string" }, - "NotificationChannel": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.NotificationChannel", - "markdownDescription": "The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the object detection results and completion status of a video analysis operation. Amazon Rekognition publishes a notification the first time an object of interest or a person is detected in the video stream. Amazon Rekognition also publishes an end-of-session notification with a summary when the stream processing session is complete. For more information, see [StreamProcessorNotificationChannel](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorNotificationChannel) .", - "title": "NotificationChannel" - }, - "PolygonRegionsOfInterest": { - "markdownDescription": "A set of ordered lists of [Point](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_Point) objects. Each entry of the set contains a polygon denoting a region of interest on the screen. Each polygon is an ordered list of [Point](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_Point) objects. For more information, see the Polygon field of [RegionOfInterest](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RegionOfInterest) .", - "title": "PolygonRegionsOfInterest", - "type": "object" + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration", + "markdownDescription": "The theme configuration, which contains the theme display properties.", + "title": "Configuration" }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role that allows access to the stream processor. The IAM role provides Rekognition read permissions to the Kinesis stream. It also provides write permissions to an Amazon S3 bucket and Amazon Simple Notification Service topic for a connected home stream processor. This is required for both face search and connected home stream processors. For information about constraints, see the RoleArn section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", - "title": "RoleArn", + "Name": { + "markdownDescription": "A display name for the theme.", + "title": "Name", "type": "string" }, - "S3Destination": { - "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.S3Destination", - "markdownDescription": "The Amazon S3 bucket location to which Amazon Rekognition publishes the detailed inference results of a video analysis operation. For more information, see the S3Destination section of [StreamProcessorOutput](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorOutput) .", - "title": "S3Destination" + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "markdownDescription": "A valid grouping of resource permissions to apply to the new theme.", + "title": "Permissions", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A set of tags (key-value pairs) that you want to attach to the stream processor. For more information, see the Tags section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", + "markdownDescription": "A map of the key-value pairs for the resource tag or tags that you want to add to the resource.", "title": "Tags", "type": "array" + }, + "ThemeId": { + "markdownDescription": "An ID for the theme that you want to create. The theme ID is unique per AWS Region in each AWS account.", + "title": "ThemeId", + "type": "string" + }, + "VersionDescription": { + "markdownDescription": "A description of the first version of the theme that you're creating. Every time `UpdateTheme` is called, a new version is created. Each version of the theme has a description of the version in the `VersionDescription` field.", + "title": "VersionDescription", + "type": "string" } }, "required": [ - "KinesisVideoStream", - "RoleArn" + "AwsAccountId", + "BaseThemeId", + "Configuration", + "Name", + "ThemeId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Rekognition::StreamProcessor" + "AWS::QuickSight::Theme" ], "type": "string" }, @@ -333418,155 +299579,335 @@ ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.BoundingBox": { + "AWS::QuickSight::Theme.BorderStyle": { "additionalProperties": false, "properties": { - "Height": { - "markdownDescription": "Height of the bounding box as a ratio of the overall image height.", - "title": "Height", - "type": "number" - }, - "Left": { - "markdownDescription": "Left coordinate of the bounding box as a ratio of overall image width.", - "title": "Left", - "type": "number" + "Show": { + "markdownDescription": "The option to enable display of borders for visuals.", + "title": "Show", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { + "items": { + "type": "string" + }, + "markdownDescription": "The hexadecimal codes for the colors.", + "title": "Colors", + "type": "array" }, - "Top": { - "markdownDescription": "Top coordinate of the bounding box as a ratio of overall image height.", - "title": "Top", - "type": "number" + "EmptyFillColor": { + "markdownDescription": "The hexadecimal code of a color that applies to charts where a lack of data is highlighted.", + "title": "EmptyFillColor", + "type": "string" }, - "Width": { - "markdownDescription": "Width of the bounding box as a ratio of the overall image width.", - "title": "Width", - "type": "number" + "MinMaxGradient": { + "items": { + "type": "string" + }, + "markdownDescription": "The minimum and maximum hexadecimal codes that describe a color gradient.", + "title": "MinMaxGradient", + "type": "array" } }, - "required": [ - "Height", - "Left", - "Top", - "Width" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.ConnectedHomeSettings": { + "AWS::QuickSight::Theme.Font": { "additionalProperties": false, "properties": { - "Labels": { + "FontFamily": { + "markdownDescription": "Determines the font family settings.", + "title": "FontFamily", + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "markdownDescription": "This Boolean value controls whether to display a gutter space between sheet tiles.", + "title": "Show", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "markdownDescription": "This Boolean value controls whether to display sheet margins.", + "title": "Show", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { "items": { "type": "string" }, - "markdownDescription": "Specifies what you want to detect in the video, such as people, packages, or pets. The current valid labels you can include in this list are: \"PERSON\", \"PET\", \"PACKAGE\", and \"ALL\".", - "title": "Labels", + "markdownDescription": "The IAM action to grant or revoke permissions on.", + "title": "Actions", "type": "array" }, - "MinConfidence": { - "markdownDescription": "The minimum confidence required to label an object in the video.", - "title": "MinConfidence", - "type": "number" + "Principal": { + "markdownDescription": "The Amazon Resource Name (ARN) of the principal. This can be one of the following:\n\n- The ARN of an Amazon Quick user or group associated with a data source or dataset. (This is common.)\n- The ARN of an Amazon Quick user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)\n- The ARN of an AWS account root: This is an IAM ARN rather than a Quick ARN. Use this option only to share resources (templates) across AWS accounts . (This is less common.)", + "title": "Principal", + "type": "string" } }, "required": [ - "Labels" + "Actions", + "Principal" ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.DataSharingPreference": { + "AWS::QuickSight::Theme.SheetStyle": { "additionalProperties": false, "properties": { - "OptIn": { - "markdownDescription": "Describes the opt-in status applied to a stream processor's data sharing policy.", - "title": "OptIn", - "type": "boolean" + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle", + "markdownDescription": "The display options for tiles.", + "title": "Tile" + }, + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle", + "markdownDescription": "The layout options for tiles.", + "title": "TileLayout" } }, - "required": [ - "OptIn" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.FaceSearchSettings": { + "AWS::QuickSight::Theme.ThemeConfiguration": { "additionalProperties": false, "properties": { - "CollectionId": { - "markdownDescription": "The ID of a collection that contains faces that you want to search for.", - "title": "CollectionId", + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette", + "markdownDescription": "Color properties that apply to chart data colors.", + "title": "DataColorPalette" + }, + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle", + "markdownDescription": "Display options related to sheets.", + "title": "Sheet" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography", + "markdownDescription": "Determines the typography options.", + "title": "Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette", + "markdownDescription": "Color properties that apply to the UI and to charts, excluding the colors that apply to data.", + "title": "UIColorPalette" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeError": { + "additionalProperties": false, + "properties": { + "Message": { + "markdownDescription": "The error message.", + "title": "Message", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of error.", + "title": "Type", + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeVersion": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource.", + "title": "Arn", + "type": "string" + }, + "BaseThemeId": { + "markdownDescription": "The Quick Sight-defined ID of the theme that a custom theme inherits from. All themes initially inherit from a default Quick Sight theme.", + "title": "BaseThemeId", + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration", + "markdownDescription": "The theme configuration, which contains all the theme display properties.", + "title": "Configuration" + }, + "CreatedTime": { + "markdownDescription": "The date and time that this theme version was created.", + "title": "CreatedTime", "type": "string" }, - "FaceMatchThreshold": { - "markdownDescription": "Minimum face match confidence score that must be met to return a result for a recognized face. The default is 80. 0 is the lowest confidence. 100 is the highest confidence. Values between 0 and 100 are accepted, and values lower than 80 are set to 80.", - "title": "FaceMatchThreshold", + "Description": { + "markdownDescription": "The description of the theme.", + "title": "Description", + "type": "string" + }, + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeError" + }, + "markdownDescription": "Errors associated with the theme.", + "title": "Errors", + "type": "array" + }, + "Status": { + "markdownDescription": "The status of the theme version.", + "title": "Status", + "type": "string" + }, + "VersionNumber": { + "markdownDescription": "The version number of the theme.", + "title": "VersionNumber", "type": "number" } }, - "required": [ - "CollectionId" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.KinesisDataStream": { + "AWS::QuickSight::Theme.TileLayoutStyle": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "ARN of the output Amazon Kinesis Data Streams stream.", - "title": "Arn", - "type": "string" + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle", + "markdownDescription": "The gutter settings that apply between tiles.", + "title": "Gutter" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle", + "markdownDescription": "The margin settings that apply around the outside edge of sheets.", + "title": "Margin" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.KinesisVideoStream": { + "AWS::QuickSight::Theme.TileStyle": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "ARN of the Kinesis video stream stream that streams the source video.", - "title": "Arn", - "type": "string" + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle", + "markdownDescription": "The border around a tile.", + "title": "Border" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.NotificationChannel": { + "AWS::QuickSight::Theme.Typography": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The ARN of the SNS topic that receives notifications.", - "title": "Arn", - "type": "string" + "FontFamilies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" + }, + "markdownDescription": "Determines the list of font families.", + "title": "FontFamilies", + "type": "array" } }, - "required": [ - "Arn" - ], "type": "object" }, - "AWS::Rekognition::StreamProcessor.S3Destination": { + "AWS::QuickSight::Theme.UIColorPalette": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name of a stream processor's exports.", - "title": "BucketName", + "Accent": { + "markdownDescription": "This color is that applies to selected states and buttons.", + "title": "Accent", "type": "string" }, - "ObjectKeyPrefix": { - "markdownDescription": "Describes the destination Amazon Simple Storage Service (Amazon S3) object keys of a stream processor's exports.", - "title": "ObjectKeyPrefix", + "AccentForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the accent color.", + "title": "AccentForeground", + "type": "string" + }, + "Danger": { + "markdownDescription": "The color that applies to error messages.", + "title": "Danger", + "type": "string" + }, + "DangerForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the error color.", + "title": "DangerForeground", + "type": "string" + }, + "Dimension": { + "markdownDescription": "The color that applies to the names of fields that are identified as dimensions.", + "title": "Dimension", + "type": "string" + }, + "DimensionForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the dimension color.", + "title": "DimensionForeground", + "type": "string" + }, + "Measure": { + "markdownDescription": "The color that applies to the names of fields that are identified as measures.", + "title": "Measure", + "type": "string" + }, + "MeasureForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the measure color.", + "title": "MeasureForeground", + "type": "string" + }, + "PrimaryBackground": { + "markdownDescription": "The background color that applies to visuals and other high emphasis UI.", + "title": "PrimaryBackground", + "type": "string" + }, + "PrimaryForeground": { + "markdownDescription": "The color of text and other foreground elements that appear over the primary background regions, such as grid lines, borders, table banding, icons, and so on.", + "title": "PrimaryForeground", + "type": "string" + }, + "SecondaryBackground": { + "markdownDescription": "The background color that applies to the sheet background and sheet controls.", + "title": "SecondaryBackground", + "type": "string" + }, + "SecondaryForeground": { + "markdownDescription": "The foreground color that applies to any sheet title, sheet control text, or UI that appears over the secondary background.", + "title": "SecondaryForeground", + "type": "string" + }, + "Success": { + "markdownDescription": "The color that applies to success messages, for example the check mark for a successful download.", + "title": "Success", + "type": "string" + }, + "SuccessForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the success color.", + "title": "SuccessForeground", + "type": "string" + }, + "Warning": { + "markdownDescription": "This color that applies to warning and informational messages.", + "title": "Warning", + "type": "string" + }, + "WarningForeground": { + "markdownDescription": "The foreground color that applies to any text or other elements that appear over the warning color.", + "title": "WarningForeground", "type": "string" } }, - "required": [ - "BucketName" - ], "type": "object" }, - "AWS::ResilienceHub::App": { + "AWS::QuickSight::Topic": { "additionalProperties": false, "properties": { "Condition": { @@ -333601,74 +299942,71 @@ "Properties": { "additionalProperties": false, "properties": { - "AppAssessmentSchedule": { - "markdownDescription": "Assessment execution schedule with 'Daily' or 'Disabled' values.", - "title": "AppAssessmentSchedule", + "AwsAccountId": { + "markdownDescription": "The ID of the AWS account that you want to create a topic in.", + "title": "AwsAccountId", "type": "string" }, - "AppTemplateBody": { - "markdownDescription": "A JSON string that provides information about your application structure. To learn more about the `appTemplateBody` template, see the sample template in [Sample appTemplateBody template](https://docs.aws.amazon.com//resilience-hub/latest/APIReference/API_PutDraftAppVersionTemplate.html#API_PutDraftAppVersionTemplate_Examples) .\n\nThe `appTemplateBody` JSON string has the following structure:\n\n- *`resources`*\n\nThe list of logical resources that needs to be included in the AWS Resilience Hub application.\n\nType: Array\n\n> Don't add the resources that you want to exclude. \n\nEach `resources` array item includes the following fields:\n\n- *`logicalResourceId`*\n\nThe logical identifier of the resource.\n\nType: Object\n\nEach `logicalResourceId` object includes the following fields:\n\n- `identifier`\n\nIdentifier of the resource.\n\nType: String\n- `logicalStackName`\n\nName of the AWS CloudFormation stack this resource belongs to.\n\nType: String\n- `resourceGroupName`\n\nName of the resource group this resource belongs to.\n\nType: String\n- `terraformSourceName`\n\nName of the Terraform S3 state file this resource belongs to.\n\nType: String\n- `eksSourceName`\n\nName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.\n\n> This parameter accepts values in \"eks-cluster/namespace\" format. \n\nType: String\n- *`type`*\n\nThe type of resource.\n\nType: string\n- *`name`*\n\nName of the resource.\n\nType: String\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`\n- *`appComponents`*\n\nThe list of Application Components (AppComponent) that this resource belongs to. If an AppComponent is not part of the AWS Resilience Hub application, it will be added.\n\nType: Array\n\nEach `appComponents` array item includes the following fields:\n\n- `name`\n\nName of the AppComponent.\n\nType: String\n- `type`\n\nThe type of AppComponent. For more information about the types of AppComponent, see [Grouping resources in an AppComponent](https://docs.aws.amazon.com/resilience-hub/latest/userguide/AppComponent.grouping.html) .\n\nType: String\n- `resourceNames`\n\nThe list of included resources that are assigned to the AppComponent.\n\nType: Array of strings\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`\n- *`excludedResources`*\n\nThe list of logical resource identifiers to be excluded from the application.\n\nType: Array\n\n> Don't add the resources that you want to include. \n\nEach `excludedResources` array item includes the following fields:\n\n- *`logicalResourceIds`*\n\nThe logical identifier of the resource.\n\nType: Object\n\n> You can configure only one of the following fields:\n> \n> - `logicalStackName`\n> - `resourceGroupName`\n> - `terraformSourceName`\n> - `eksSourceName` \n\nEach `logicalResourceIds` object includes the following fields:\n\n- `identifier`\n\nThe identifier of the resource.\n\nType: String\n- `logicalStackName`\n\nName of the AWS CloudFormation stack this resource belongs to.\n\nType: String\n- `resourceGroupName`\n\nName of the resource group this resource belongs to.\n\nType: String\n- `terraformSourceName`\n\nName of the Terraform S3 state file this resource belongs to.\n\nType: String\n- `eksSourceName`\n\nName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.\n\n> This parameter accepts values in \"eks-cluster/namespace\" format. \n\nType: String\n- *`version`*\n\nThe AWS Resilience Hub application version.\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`", - "title": "AppTemplateBody", - "type": "string" + "ConfigOptions": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicConfigOptions", + "markdownDescription": "Configuration options for a `Topic` .", + "title": "ConfigOptions" + }, + "CustomInstructions": { + "$ref": "#/definitions/AWS::QuickSight::Topic.CustomInstructions", + "markdownDescription": "", + "title": "CustomInstructions" + }, + "DataSets": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DatasetMetadata" + }, + "markdownDescription": "The data sets that the topic is associated with.", + "title": "DataSets", + "type": "array" }, "Description": { - "markdownDescription": "Optional description for an application.", + "markdownDescription": "The description of the topic.", "title": "Description", "type": "string" }, - "EventSubscriptions": { + "FolderArns": { "items": { - "$ref": "#/definitions/AWS::ResilienceHub::App.EventSubscription" + "type": "string" }, - "markdownDescription": "The list of events you would like to subscribe and get notification for. Currently, AWS Resilience Hub supports notifications only for *Drift detected* and *Scheduled assessment failure* events.", - "title": "EventSubscriptions", + "markdownDescription": "", + "title": "FolderArns", "type": "array" }, "Name": { - "markdownDescription": "Name for the application.", + "markdownDescription": "The name of the topic.", "title": "Name", "type": "string" }, - "PermissionModel": { - "$ref": "#/definitions/AWS::ResilienceHub::App.PermissionModel", - "markdownDescription": "Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment.", - "title": "PermissionModel" - }, - "ResiliencyPolicyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resiliency policy.", - "title": "ResiliencyPolicyArn", - "type": "string" - }, - "ResourceMappings": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::ResilienceHub::App.ResourceMapping" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of `ResourceMapping` objects.", - "title": "ResourceMappings", + "markdownDescription": "", + "title": "Tags", "type": "array" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" + "TopicId": { + "markdownDescription": "The ID for the topic. This ID is unique per AWS Region for each AWS account.", + "title": "TopicId", + "type": "string" + }, + "UserExperienceVersion": { + "markdownDescription": "The user experience version of the topic.", + "title": "UserExperienceVersion", + "type": "string" } }, - "required": [ - "AppTemplateBody", - "Name", - "ResourceMappings" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ResilienceHub::App" + "AWS::QuickSight::Topic" ], "type": "string" }, @@ -333682,877 +300020,891 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ResilienceHub::App.EventSubscription": { + "AWS::QuickSight::Topic.CellValueSynonym": { "additionalProperties": false, "properties": { - "EventType": { - "markdownDescription": "The type of event you would like to subscribe and get notification for. Currently, AWS Resilience Hub supports notifications only for *Drift detected* ( `DriftDetected` ) and *Scheduled assessment failure* ( `ScheduledAssessmentFailure` ) events.", - "title": "EventType", - "type": "string" - }, - "Name": { - "markdownDescription": "Unique name to identify an event subscription.", - "title": "Name", + "CellValue": { + "markdownDescription": "The cell value.", + "title": "CellValue", "type": "string" }, - "SnsTopicArn": { - "markdownDescription": "Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: `arn:partition:sns:region:account:topic-name` . For more information about ARNs, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *AWS General Reference* guide.", - "title": "SnsTopicArn", - "type": "string" + "Synonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "Other names or aliases for the cell value.", + "title": "Synonyms", + "type": "array" } }, - "required": [ - "EventType", - "Name" - ], "type": "object" }, - "AWS::ResilienceHub::App.PermissionModel": { + "AWS::QuickSight::Topic.CollectiveConstant": { "additionalProperties": false, "properties": { - "CrossAccountRoleArns": { + "ValueList": { "items": { "type": "string" }, - "markdownDescription": "Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application.\n\n> - These ARNs are required only when your resources are in other accounts and you have different role name in these accounts. Else, the invoker role name will be used in the other accounts.\n> - These roles must have a trust policy with `iam:AssumeRole` permission to the invoker role in the primary account.", - "title": "CrossAccountRoleArns", + "markdownDescription": "A list of values for the collective constant.", + "title": "ValueList", "type": "array" - }, - "InvokerRoleName": { - "markdownDescription": "Existing AWS IAM role name in the primary AWS account that will be assumed by AWS Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.\n\nIf your IAM role includes a path, you must include the path in the `invokerRoleName` parameter. For example, if your IAM role's ARN is `arn:aws:iam:123456789012:role/my-path/role-name` , you should pass `my-path/role-name` .\n\n> - You must have `iam:passRole` permission for this role while creating or updating the application.\n> - Currently, `invokerRoleName` accepts only `[A-Za-z0-9_+=,.@-]` characters.", - "title": "InvokerRoleName", - "type": "string" - }, - "Type": { - "markdownDescription": "Defines how AWS Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your AWS account, or by using the credentials of the current IAM user.", - "title": "Type", - "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::ResilienceHub::App.PhysicalResourceId": { + "AWS::QuickSight::Topic.ComparativeOrder": { "additionalProperties": false, "properties": { - "AwsAccountId": { - "markdownDescription": "The AWS account that owns the physical resource.", - "title": "AwsAccountId", - "type": "string" - }, - "AwsRegion": { - "markdownDescription": "The AWS Region that the physical resource is located in.", - "title": "AwsRegion", - "type": "string" + "SpecifedOrder": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of columns to be used in the ordering.", + "title": "SpecifedOrder", + "type": "array" }, - "Identifier": { - "markdownDescription": "Identifier of the physical resource.", - "title": "Identifier", + "TreatUndefinedSpecifiedValues": { + "markdownDescription": "The treat of undefined specified values. Valid values for this structure are `LEAST` and `MOST` .", + "title": "TreatUndefinedSpecifiedValues", "type": "string" }, - "Type": { - "markdownDescription": "Specifies the type of physical resource identifier.\n\n- **Arn** - The resource identifier is an Amazon Resource Name (ARN) and it can identify the following list of resources:\n\n- `AWS::ECS::Service`\n- `AWS::EFS::FileSystem`\n- `AWS::ElasticLoadBalancingV2::LoadBalancer`\n- `AWS::Lambda::Function`\n- `AWS::SNS::Topic`\n- **Native** - The resource identifier is an AWS Resilience Hub -native identifier and it can identify the following list of resources:\n\n- `AWS::ApiGateway::RestApi`\n- `AWS::ApiGatewayV2::Api`\n- `AWS::AutoScaling::AutoScalingGroup`\n- `AWS::DocDB::DBCluster`\n- `AWS::DocDB::DBGlobalCluster`\n- `AWS::DocDB::DBInstance`\n- `AWS::DynamoDB::GlobalTable`\n- `AWS::DynamoDB::Table`\n- `AWS::EC2::EC2Fleet`\n- `AWS::EC2::Instance`\n- `AWS::EC2::NatGateway`\n- `AWS::EC2::Volume`\n- `AWS::ElasticLoadBalancing::LoadBalancer`\n- `AWS::RDS::DBCluster`\n- `AWS::RDS::DBInstance`\n- `AWS::RDS::GlobalCluster`\n- `AWS::Route53::RecordSet`\n- `AWS::S3::Bucket`\n- `AWS::SQS::Queue`", - "title": "Type", + "UseOrdering": { + "markdownDescription": "The ordering type for a column. Valid values for this structure are `GREATER_IS_BETTER` , `LESSER_IS_BETTER` and `SPECIFIED` .", + "title": "UseOrdering", "type": "string" } }, - "required": [ - "Identifier", - "Type" - ], "type": "object" }, - "AWS::ResilienceHub::App.ResourceMapping": { + "AWS::QuickSight::Topic.CustomInstructions": { "additionalProperties": false, "properties": { - "EksSourceName": { - "markdownDescription": "Name of the Amazon Elastic Kubernetes Service cluster and namespace that this resource is mapped to when the `mappingType` is `EKS` .\n\n> This parameter accepts values in \"eks-cluster/namespace\" format.", - "title": "EksSourceName", - "type": "string" - }, - "LogicalStackName": { - "markdownDescription": "Name of the CloudFormation stack this resource is mapped to when the `mappingType` is `CfnStack` .", - "title": "LogicalStackName", - "type": "string" - }, - "MappingType": { - "markdownDescription": "Specifies the type of resource mapping.", - "title": "MappingType", - "type": "string" - }, - "PhysicalResourceId": { - "$ref": "#/definitions/AWS::ResilienceHub::App.PhysicalResourceId", - "markdownDescription": "Identifier of the physical resource.", - "title": "PhysicalResourceId" - }, - "ResourceName": { - "markdownDescription": "Name of the resource that this resource is mapped to when the `mappingType` is `Resource` .", - "title": "ResourceName", - "type": "string" - }, - "TerraformSourceName": { - "markdownDescription": "Name of the Terraform source that this resource is mapped to when the `mappingType` is `Terraform` .", - "title": "TerraformSourceName", + "CustomInstructionsString": { + "markdownDescription": "", + "title": "CustomInstructionsString", "type": "string" } }, "required": [ - "MappingType", - "PhysicalResourceId" + "CustomInstructionsString" ], "type": "object" }, - "AWS::ResilienceHub::RecommendationTemplate": { + "AWS::QuickSight::Topic.DataAggregation": { "additionalProperties": false, "properties": { - "Condition": { + "DatasetRowDateGranularity": { + "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", + "title": "DatasetRowDateGranularity", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DefaultDateColumnName": { + "markdownDescription": "The column name for the default date.", + "title": "DefaultDateColumnName", "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Topic.DatasetMetadata": { + "additionalProperties": false, + "properties": { + "CalculatedFields": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCalculatedField" + }, + "markdownDescription": "The list of calculated field definitions.", + "title": "CalculatedFields", + "type": "array" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicColumn" + }, + "markdownDescription": "The list of column definitions.", + "title": "Columns", + "type": "array" }, - "Metadata": { - "type": "object" + "DataAggregation": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DataAggregation", + "markdownDescription": "The definition of a data aggregation.", + "title": "DataAggregation" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentArn": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecommendationTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentArn", - "Format", - "Name", - "RecommendationTypes" - ], - "type": "object" + "DatasetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the dataset.", + "title": "DatasetArn", + "type": "string" }, - "Type": { - "enum": [ - "AWS::ResilienceHub::RecommendationTemplate" - ], + "DatasetDescription": { + "markdownDescription": "The description of the dataset.", + "title": "DatasetDescription", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DatasetName": { + "markdownDescription": "The name of the dataset.", + "title": "DatasetName", "type": "string" + }, + "Filters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicFilter" + }, + "markdownDescription": "The list of filter definitions.", + "title": "Filters", + "type": "array" + }, + "NamedEntities": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNamedEntity" + }, + "markdownDescription": "The list of named entities definitions.", + "title": "NamedEntities", + "type": "array" } }, "required": [ - "Type", - "Properties" + "DatasetArn" ], "type": "object" }, - "AWS::ResilienceHub::RecommendationTemplate.S3Location": { + "AWS::QuickSight::Topic.DefaultFormatting": { "additionalProperties": false, "properties": { - "Bucket": { + "DisplayFormat": { + "markdownDescription": "The display format. Valid values for this structure are `AUTO` , `PERCENT` , `CURRENCY` , `NUMBER` , `DATE` , and `STRING` .", + "title": "DisplayFormat", "type": "string" }, - "Prefix": { - "type": "string" + "DisplayFormatOptions": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DisplayFormatOptions", + "markdownDescription": "The additional options for display formatting.", + "title": "DisplayFormatOptions" } }, "type": "object" }, - "AWS::ResilienceHub::ResiliencyPolicy": { + "AWS::QuickSight::Topic.DisplayFormatOptions": { "additionalProperties": false, "properties": { - "Condition": { + "BlankCellFormat": { + "markdownDescription": "Determines the blank cell format.", + "title": "BlankCellFormat", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CurrencySymbol": { + "markdownDescription": "The currency symbol, such as `USD` .", + "title": "CurrencySymbol", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DateFormat": { + "markdownDescription": "Determines the `DateTime` format.", + "title": "DateFormat", + "type": "string" }, - "Metadata": { - "type": "object" + "DecimalSeparator": { + "markdownDescription": "Determines the decimal separator.", + "title": "DecimalSeparator", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataLocationConstraint": { - "markdownDescription": "Specifies a high-level geographical location constraint for where your resilience policy data can be stored.", - "title": "DataLocationConstraint", - "type": "string" - }, - "Policy": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap", - "markdownDescription": "The resiliency policy.", - "title": "Policy" - }, - "PolicyDescription": { - "markdownDescription": "Description of the resiliency policy.", - "title": "PolicyDescription", - "type": "string" - }, - "PolicyName": { - "markdownDescription": "The name of the policy", - "title": "PolicyName", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - }, - "Tier": { - "markdownDescription": "The tier for this resiliency policy, ranging from the highest severity ( `MissionCritical` ) to lowest ( `NonCritical` ).", - "title": "Tier", - "type": "string" - } - }, - "required": [ - "Policy", - "PolicyName", - "Tier" - ], - "type": "object" + "FractionDigits": { + "markdownDescription": "Determines the number of fraction digits.", + "title": "FractionDigits", + "type": "number" }, - "Type": { - "enum": [ - "AWS::ResilienceHub::ResiliencyPolicy" - ], + "GroupingSeparator": { + "markdownDescription": "Determines the grouping separator.", + "title": "GroupingSeparator", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "NegativeFormat": { + "$ref": "#/definitions/AWS::QuickSight::Topic.NegativeFormat", + "markdownDescription": "The negative format.", + "title": "NegativeFormat" + }, + "Prefix": { + "markdownDescription": "The prefix value for a display format.", + "title": "Prefix", "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy": { - "additionalProperties": false, - "properties": { - "RpoInSecs": { - "markdownDescription": "Recovery Point Objective (RPO) in seconds.", - "title": "RpoInSecs", - "type": "number" }, - "RtoInSecs": { - "markdownDescription": "Recovery Time Objective (RTO) in seconds.", - "title": "RtoInSecs", - "type": "number" - } - }, - "required": [ - "RpoInSecs", - "RtoInSecs" - ], - "type": "object" - }, - "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { - "additionalProperties": false, - "properties": { - "AZ": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", - "markdownDescription": "Defines the RTO and RPO targets for Availability Zone disruption.", - "title": "AZ" + "Suffix": { + "markdownDescription": "The suffix value for a display format.", + "title": "Suffix", + "type": "string" }, - "Hardware": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", - "markdownDescription": "Defines the RTO and RPO targets for hardware disruption.", - "title": "Hardware" + "UnitScaler": { + "markdownDescription": "The unit scaler. Valid values for this structure are: `NONE` , `AUTO` , `THOUSANDS` , `MILLIONS` , `BILLIONS` , and `TRILLIONS` .", + "title": "UnitScaler", + "type": "string" }, - "Region": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", - "markdownDescription": "Defines the RTO and RPO targets for Regional disruption.", - "title": "Region" + "UseBlankCellFormat": { + "markdownDescription": "A Boolean value that indicates whether to use blank cell format.", + "title": "UseBlankCellFormat", + "type": "boolean" }, - "Software": { - "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", - "markdownDescription": "Defines the RTO and RPO targets for software disruption.", - "title": "Software" + "UseGrouping": { + "markdownDescription": "A Boolean value that indicates whether to use grouping.", + "title": "UseGrouping", + "type": "boolean" } }, - "required": [ - "AZ", - "Hardware", - "Software" - ], "type": "object" }, - "AWS::ResilienceHubV2::Policy": { + "AWS::QuickSight::Topic.NamedEntityDefinition": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FieldName": { + "markdownDescription": "The name of the entity.", + "title": "FieldName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "Metric": { + "$ref": "#/definitions/AWS::QuickSight::Topic.NamedEntityDefinitionMetric", + "markdownDescription": "The definition of a metric.", + "title": "Metric" }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilitySlo": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.AvailabilitySlo" - }, - "DataRecovery": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.DataRecoveryTargets" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAz": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.MultiAzTargets" - }, - "MultiRegion": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.MultiRegionTargets" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" + "PropertyName": { + "markdownDescription": "The property name to be used for the named entity.", + "title": "PropertyName", + "type": "string" }, - "Type": { - "enum": [ - "AWS::ResilienceHubV2::Policy" - ], + "PropertyRole": { + "markdownDescription": "The property role. Valid values for this structure are `PRIMARY` and `ID` .", + "title": "PropertyRole", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PropertyUsage": { + "markdownDescription": "The property usage. Valid values for this structure are `INHERIT` , `DIMENSION` , and `MEASURE` .", + "title": "PropertyUsage", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ResilienceHubV2::Policy.AvailabilitySlo": { + "AWS::QuickSight::Topic.NamedEntityDefinitionMetric": { "additionalProperties": false, "properties": { - "Target": { - "type": "number" + "Aggregation": { + "markdownDescription": "The aggregation of a named entity. Valid values for this structure are `SUM` , `MIN` , `MAX` , `COUNT` , `AVERAGE` , `DISTINCT_COUNT` , `STDEV` , `STDEVP` , `VAR` , `VARP` , `PERCENTILE` , `MEDIAN` , and `CUSTOM` .", + "title": "Aggregation", + "type": "string" + }, + "AggregationFunctionParameters": { + "additionalProperties": true, + "markdownDescription": "The additional parameters for an aggregation function.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "AggregationFunctionParameters", + "type": "object" } }, "type": "object" }, - "AWS::ResilienceHubV2::Policy.DataRecoveryTargets": { + "AWS::QuickSight::Topic.NegativeFormat": { "additionalProperties": false, "properties": { - "TimeBetweenBackupsInMinutes": { - "type": "number" + "Prefix": { + "markdownDescription": "The prefix for a negative format.", + "title": "Prefix", + "type": "string" + }, + "Suffix": { + "markdownDescription": "The suffix for a negative format.", + "title": "Suffix", + "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::Policy.MultiAzTargets": { + "AWS::QuickSight::Topic.RangeConstant": { "additionalProperties": false, "properties": { - "DisasterRecoveryApproach": { + "Maximum": { + "markdownDescription": "The maximum value for a range constant.", + "title": "Maximum", "type": "string" }, - "RpoInMinutes": { - "type": "number" - }, - "RtoInMinutes": { - "type": "number" + "Minimum": { + "markdownDescription": "The minimum value for a range constant.", + "title": "Minimum", + "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::Policy.MultiRegionTargets": { + "AWS::QuickSight::Topic.SemanticEntityType": { "additionalProperties": false, "properties": { - "DisasterRecoveryApproach": { + "SubTypeName": { + "markdownDescription": "The semantic entity sub type name.", + "title": "SubTypeName", "type": "string" }, - "RpoInMinutes": { - "type": "number" + "TypeName": { + "markdownDescription": "The semantic entity type name.", + "title": "TypeName", + "type": "string" }, - "RtoInMinutes": { - "type": "number" + "TypeParameters": { + "additionalProperties": true, + "markdownDescription": "The semantic entity type parameters.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "TypeParameters", + "type": "object" } }, "type": "object" }, - "AWS::ResilienceHubV2::Service": { + "AWS::QuickSight::Topic.SemanticType": { "additionalProperties": false, "properties": { - "Condition": { + "FalseyCellValue": { + "markdownDescription": "The semantic type falsey cell value.", + "title": "FalseyCellValue", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "FalseyCellValueSynonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "The other names or aliases for the false cell value.", + "title": "FalseyCellValueSynonyms", + "type": "array" + }, + "SubTypeName": { + "markdownDescription": "The semantic type sub type name.", + "title": "SubTypeName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "TruthyCellValue": { + "markdownDescription": "The semantic type truthy cell value.", + "title": "TruthyCellValue", + "type": "string" }, - "Metadata": { - "type": "object" + "TruthyCellValueSynonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "The other names or aliases for the true cell value.", + "title": "TruthyCellValueSynonyms", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Assertions": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.AssertionDefinition" - }, - "type": "array" - }, - "AssociatedSystems": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.AssociatedSystem" - }, - "type": "array" - }, - "DependencyDiscovery": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "InputSources": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.InputSourceDefinition" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionModel": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.PermissionModel" - }, - "PolicyArn": { + "TypeName": { + "markdownDescription": "The semantic type name.", + "title": "TypeName", + "type": "string" + }, + "TypeParameters": { + "additionalProperties": true, + "markdownDescription": "The semantic type parameters.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReportConfiguration": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ServiceReportConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, - "required": [ - "Name", - "Regions" - ], + "title": "TypeParameters", "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResilienceHubV2::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.AssertionDefinition": { + "AWS::QuickSight::Topic.TopicCalculatedField": { "additionalProperties": false, "properties": { - "Text": { + "Aggregation": { + "markdownDescription": "The default aggregation. Valid values for this structure are `SUM` , `MAX` , `MIN` , `COUNT` , `DISTINCT_COUNT` , and `AVERAGE` .", + "title": "Aggregation", + "type": "string" + }, + "AllowedAggregations": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of aggregation types that are allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", + "title": "AllowedAggregations", + "type": "array" + }, + "CalculatedFieldDescription": { + "markdownDescription": "The calculated field description.", + "title": "CalculatedFieldDescription", + "type": "string" + }, + "CalculatedFieldName": { + "markdownDescription": "The calculated field name.", + "title": "CalculatedFieldName", + "type": "string" + }, + "CalculatedFieldSynonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "The other names or aliases for the calculated field.", + "title": "CalculatedFieldSynonyms", + "type": "array" + }, + "CellValueSynonyms": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.CellValueSynonym" + }, + "markdownDescription": "The other names or aliases for the calculated field cell value.", + "title": "CellValueSynonyms", + "type": "array" + }, + "ColumnDataRole": { + "markdownDescription": "The column data role for a calculated field. Valid values for this structure are `DIMENSION` and `MEASURE` .", + "title": "ColumnDataRole", "type": "string" - } - }, - "required": [ - "Text" - ], - "type": "object" - }, - "AWS::ResilienceHubV2::Service.AssociatedSystem": { - "additionalProperties": false, - "properties": { - "SystemArn": { + }, + "ComparativeOrder": { + "$ref": "#/definitions/AWS::QuickSight::Topic.ComparativeOrder", + "markdownDescription": "The order in which data is displayed for the calculated field when it's used in a comparative context.", + "title": "ComparativeOrder" + }, + "DefaultFormatting": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DefaultFormatting", + "markdownDescription": "The default formatting definition.", + "title": "DefaultFormatting" + }, + "DisableIndexing": { + "markdownDescription": "A Boolean value that indicates if a calculated field is visible in the autocomplete.", + "title": "DisableIndexing", + "type": "boolean" + }, + "Expression": { + "markdownDescription": "The calculated field expression.", + "title": "Expression", "type": "string" }, - "UserJourneyIds": { + "IsIncludedInTopic": { + "markdownDescription": "A boolean value that indicates if a calculated field is included in the topic.", + "title": "IsIncludedInTopic", + "type": "boolean" + }, + "NeverAggregateInFilter": { + "markdownDescription": "A Boolean value that indicates whether to never aggregate calculated field in filters.", + "title": "NeverAggregateInFilter", + "type": "boolean" + }, + "NonAdditive": { + "markdownDescription": "The non additive for the table style target.", + "title": "NonAdditive", + "type": "boolean" + }, + "NotAllowedAggregations": { "items": { "type": "string" }, + "markdownDescription": "The list of aggregation types that are not allowed for the calculated field. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", + "title": "NotAllowedAggregations", "type": "array" + }, + "SemanticType": { + "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticType", + "markdownDescription": "The semantic type.", + "title": "SemanticType" + }, + "TimeGranularity": { + "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", + "title": "TimeGranularity", + "type": "string" } }, "required": [ - "SystemArn" + "CalculatedFieldName", + "Expression" ], "type": "object" }, - "AWS::ResilienceHubV2::Service.CrossAccountRoleConfiguration": { + "AWS::QuickSight::Topic.TopicCategoryFilter": { "additionalProperties": false, "properties": { - "CrossAccountRoleArn": { + "CategoryFilterFunction": { + "markdownDescription": "The category filter function. Valid values for this structure are `EXACT` and `CONTAINS` .", + "title": "CategoryFilterFunction", "type": "string" }, - "ExternalId": { + "CategoryFilterType": { + "markdownDescription": "The category filter type. This element is used to specify whether a filter is a simple category filter or an inverse category filter.", + "title": "CategoryFilterType", "type": "string" + }, + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCategoryFilterConstant", + "markdownDescription": "The constant used in a category filter.", + "title": "Constant" + }, + "Inverse": { + "markdownDescription": "A Boolean value that indicates if the filter is inverse.", + "title": "Inverse", + "type": "boolean" } }, - "required": [ - "CrossAccountRoleArn" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.DisasterRecoverySource": { + "AWS::QuickSight::Topic.TopicCategoryFilterConstant": { "additionalProperties": false, "properties": { - "PolicyName": { + "CollectiveConstant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.CollectiveConstant", + "markdownDescription": "A collective constant used in a category filter. This element is used to specify a list of values for the constant.", + "title": "CollectiveConstant" + }, + "ConstantType": { + "markdownDescription": "The type of category filter constant. This element is used to specify whether a constant is a singular or collective. Valid values are `SINGULAR` and `COLLECTIVE` .", + "title": "ConstantType", "type": "string" }, - "Value": { + "SingularConstant": { + "markdownDescription": "A singular constant used in a category filter. This element is used to specify a single value for the constant.", + "title": "SingularConstant", "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::Service.EffectivePolicyValues": { + "AWS::QuickSight::Topic.TopicColumn": { "additionalProperties": false, "properties": { - "AvailabilitySlo": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.SloSource" + "Aggregation": { + "markdownDescription": "The type of aggregation that is performed on the column data when it's queried.", + "title": "Aggregation", + "type": "string" }, - "MultiAzDrApproach": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.DisasterRecoverySource" + "AllowedAggregations": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of aggregation types that are allowed for the column. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", + "title": "AllowedAggregations", + "type": "array" }, - "MultiAzRpo": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + "CellValueSynonyms": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.CellValueSynonym" + }, + "markdownDescription": "The other names or aliases for the column cell value.", + "title": "CellValueSynonyms", + "type": "array" }, - "MultiAzRto": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + "ColumnDataRole": { + "markdownDescription": "The role of the column in the data. Valid values are `DIMENSION` and `MEASURE` .", + "title": "ColumnDataRole", + "type": "string" }, - "MultiRegionDrApproach": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.DisasterRecoverySource" + "ColumnDescription": { + "markdownDescription": "A description of the column and its contents.", + "title": "ColumnDescription", + "type": "string" }, - "MultiRegionRpo": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + "ColumnFriendlyName": { + "markdownDescription": "A user-friendly name for the column.", + "title": "ColumnFriendlyName", + "type": "string" }, - "MultiRegionRto": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" - } - }, - "type": "object" - }, - "AWS::ResilienceHubV2::Service.EksSource": { - "additionalProperties": false, - "properties": { - "ClusterArn": { + "ColumnName": { + "markdownDescription": "The name of the column.", + "title": "ColumnName", "type": "string" }, - "Namespaces": { + "ColumnSynonyms": { + "items": { + "type": "string" + }, + "markdownDescription": "The other names or aliases for the column.", + "title": "ColumnSynonyms", + "type": "array" + }, + "ComparativeOrder": { + "$ref": "#/definitions/AWS::QuickSight::Topic.ComparativeOrder", + "markdownDescription": "The order in which data is displayed for the column when it's used in a comparative context.", + "title": "ComparativeOrder" + }, + "DefaultFormatting": { + "$ref": "#/definitions/AWS::QuickSight::Topic.DefaultFormatting", + "markdownDescription": "The default formatting used for values in the column.", + "title": "DefaultFormatting" + }, + "DisableIndexing": { + "markdownDescription": "A Boolean value that indicates whether the column shows in the autocomplete functionality.", + "title": "DisableIndexing", + "type": "boolean" + }, + "IsIncludedInTopic": { + "markdownDescription": "A Boolean value that indicates whether the column is included in the query results.", + "title": "IsIncludedInTopic", + "type": "boolean" + }, + "NeverAggregateInFilter": { + "markdownDescription": "A Boolean value that indicates whether to aggregate the column data when it's used in a filter context.", + "title": "NeverAggregateInFilter", + "type": "boolean" + }, + "NonAdditive": { + "markdownDescription": "The non additive value for the column.", + "title": "NonAdditive", + "type": "boolean" + }, + "NotAllowedAggregations": { "items": { "type": "string" }, + "markdownDescription": "The list of aggregation types that are not allowed for the column. Valid values for this structure are `COUNT` , `DISTINCT_COUNT` , `MIN` , `MAX` , `MEDIAN` , `SUM` , `AVERAGE` , `STDEV` , `STDEVP` , `VAR` , `VARP` , and `PERCENTILE` .", + "title": "NotAllowedAggregations", "type": "array" + }, + "SemanticType": { + "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticType", + "markdownDescription": "The semantic type of data contained in the column.", + "title": "SemanticType" + }, + "TimeGranularity": { + "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", + "title": "TimeGranularity", + "type": "string" } }, "required": [ - "ClusterArn", - "Namespaces" + "ColumnName" ], "type": "object" }, - "AWS::ResilienceHubV2::Service.InputSourceDefinition": { + "AWS::QuickSight::Topic.TopicConfigOptions": { "additionalProperties": false, "properties": { - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ResourceConfiguration" + "QBusinessInsightsEnabled": { + "markdownDescription": "Enables Amazon Q Business Insights for a `Topic` .", + "title": "QBusinessInsightsEnabled", + "type": "boolean" } }, - "required": [ - "ResourceConfiguration" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.PermissionModel": { + "AWS::QuickSight::Topic.TopicDateRangeFilter": { "additionalProperties": false, "properties": { - "CrossAccountRoleArns": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.CrossAccountRoleConfiguration" - }, - "type": "array" + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRangeFilterConstant", + "markdownDescription": "The constant used in a date range filter.", + "title": "Constant" }, - "InvokerRoleName": { - "type": "string" - } - }, - "required": [ - "InvokerRoleName" - ], - "type": "object" - }, - "AWS::ResilienceHubV2::Service.ReportOutputConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.S3ReportOutputConfiguration" + "Inclusive": { + "markdownDescription": "A Boolean value that indicates whether the date range filter should include the boundary values. If set to true, the filter includes the start and end dates. If set to false, the filter excludes them.", + "title": "Inclusive", + "type": "boolean" } }, - "required": [ - "S3" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.ResourceConfiguration": { + "AWS::QuickSight::Topic.TopicFilter": { "additionalProperties": false, "properties": { - "CfnStackArn": { + "CategoryFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicCategoryFilter", + "markdownDescription": "The category filter that is associated with this filter.", + "title": "CategoryFilter" + }, + "DateRangeFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicDateRangeFilter", + "markdownDescription": "The date range filter.", + "title": "DateRangeFilter" + }, + "FilterClass": { + "markdownDescription": "The class of the filter. Valid values for this structure are `ENFORCED_VALUE_FILTER` , `CONDITIONAL_VALUE_FILTER` , and `NAMED_VALUE_FILTER` .", + "title": "FilterClass", "type": "string" }, - "DesignFileS3Url": { + "FilterDescription": { + "markdownDescription": "A description of the filter used to select items for a topic.", + "title": "FilterDescription", "type": "string" }, - "Eks": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.EksSource" + "FilterName": { + "markdownDescription": "The name of the filter.", + "title": "FilterName", + "type": "string" }, - "ResourceTags": { + "FilterSynonyms": { "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ResourceTag" + "type": "string" }, + "markdownDescription": "The other names or aliases for the filter.", + "title": "FilterSynonyms", "type": "array" }, - "TfStateFileUrl": { + "FilterType": { + "markdownDescription": "The type of the filter. Valid values for this structure are `CATEGORY_FILTER` , `NUMERIC_EQUALITY_FILTER` , `NUMERIC_RANGE_FILTER` , `DATE_RANGE_FILTER` , and `RELATIVE_DATE_FILTER` .", + "title": "FilterType", + "type": "string" + }, + "NumericEqualityFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNumericEqualityFilter", + "markdownDescription": "The numeric equality filter.", + "title": "NumericEqualityFilter" + }, + "NumericRangeFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicNumericRangeFilter", + "markdownDescription": "The numeric range filter.", + "title": "NumericRangeFilter" + }, + "OperandFieldName": { + "markdownDescription": "The name of the field that the filter operates on.", + "title": "OperandFieldName", "type": "string" + }, + "RelativeDateFilter": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRelativeDateFilter", + "markdownDescription": "The relative date filter.", + "title": "RelativeDateFilter" } }, + "required": [ + "FilterName", + "OperandFieldName" + ], "type": "object" }, - "AWS::ResilienceHubV2::Service.ResourceTag": { + "AWS::QuickSight::Topic.TopicNamedEntity": { "additionalProperties": false, "properties": { - "Key": { + "Definition": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Topic.NamedEntityDefinition" + }, + "markdownDescription": "The definition of a named entity.", + "title": "Definition", + "type": "array" + }, + "EntityDescription": { + "markdownDescription": "The description of the named entity.", + "title": "EntityDescription", "type": "string" }, - "Values": { + "EntityName": { + "markdownDescription": "The name of the named entity.", + "title": "EntityName", + "type": "string" + }, + "EntitySynonyms": { "items": { "type": "string" }, + "markdownDescription": "The other names or aliases for the named entity.", + "title": "EntitySynonyms", "type": "array" + }, + "SemanticEntityType": { + "$ref": "#/definitions/AWS::QuickSight::Topic.SemanticEntityType", + "markdownDescription": "The type of named entity that a topic represents.", + "title": "SemanticEntityType" } }, "required": [ - "Key", - "Values" + "EntityName" ], "type": "object" }, - "AWS::ResilienceHubV2::Service.S3ReportOutputConfiguration": { + "AWS::QuickSight::Topic.TopicNumericEqualityFilter": { "additionalProperties": false, "properties": { - "BucketOwner": { + "Aggregation": { + "markdownDescription": "An aggregation function that specifies how to calculate the value of a numeric field for a topic. Valid values for this structure are `NO_AGGREGATION` , `SUM` , `AVERAGE` , `COUNT` , `DISTINCT_COUNT` , `MAX` , `MEDIAN` , `MIN` , `STDEV` , `STDEVP` , `VAR` , and `VARP` .", + "title": "Aggregation", "type": "string" }, - "BucketPath": { + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicSingularFilterConstant", + "markdownDescription": "The constant used in a numeric equality filter.", + "title": "Constant" + } + }, + "type": "object" + }, + "AWS::QuickSight::Topic.TopicNumericRangeFilter": { + "additionalProperties": false, + "properties": { + "Aggregation": { + "markdownDescription": "An aggregation function that specifies how to calculate the value of a numeric field for a topic, Valid values for this structure are `NO_AGGREGATION` , `SUM` , `AVERAGE` , `COUNT` , `DISTINCT_COUNT` , `MAX` , `MEDIAN` , `MIN` , `STDEV` , `STDEVP` , `VAR` , and `VARP` .", + "title": "Aggregation", "type": "string" + }, + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicRangeFilterConstant", + "markdownDescription": "The constant used in a numeric range filter.", + "title": "Constant" + }, + "Inclusive": { + "markdownDescription": "A Boolean value that indicates whether the endpoints of the numeric range are included in the filter. If set to true, topics whose numeric field value is equal to the endpoint values will be included in the filter. If set to false, topics whose numeric field value is equal to the endpoint values will be excluded from the filter.", + "title": "Inclusive", + "type": "boolean" } }, - "required": [ - "BucketOwner", - "BucketPath" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.ServiceReportConfiguration": { + "AWS::QuickSight::Topic.TopicRangeFilterConstant": { "additionalProperties": false, "properties": { - "ReportOutput": { - "items": { - "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ReportOutputConfiguration" - }, - "type": "array" + "ConstantType": { + "markdownDescription": "The data type of the constant value that is used in a range filter. Valid values for this structure are `RANGE` .", + "title": "ConstantType", + "type": "string" + }, + "RangeConstant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.RangeConstant", + "markdownDescription": "The value of the constant that is used to specify the endpoints of a range filter.", + "title": "RangeConstant" } }, - "required": [ - "ReportOutput" - ], "type": "object" }, - "AWS::ResilienceHubV2::Service.SloSource": { + "AWS::QuickSight::Topic.TopicRelativeDateFilter": { "additionalProperties": false, "properties": { - "PolicyName": { + "Constant": { + "$ref": "#/definitions/AWS::QuickSight::Topic.TopicSingularFilterConstant", + "markdownDescription": "The constant used in a relative date filter.", + "title": "Constant" + }, + "RelativeDateFilterFunction": { + "markdownDescription": "The function to be used in a relative date filter to determine the range of dates to include in the results. Valid values for this structure are `BEFORE` , `AFTER` , and `BETWEEN` .", + "title": "RelativeDateFilterFunction", "type": "string" }, - "Value": { - "type": "number" + "TimeGranularity": { + "markdownDescription": "The level of time precision that is used to aggregate `DateTime` values.", + "title": "TimeGranularity", + "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::Service.TargetSource": { + "AWS::QuickSight::Topic.TopicSingularFilterConstant": { "additionalProperties": false, "properties": { - "PolicyName": { + "ConstantType": { + "markdownDescription": "The type of the singular filter constant. Valid values for this structure are `SINGULAR` .", + "title": "ConstantType", "type": "string" }, - "Value": { - "type": "number" + "SingularConstant": { + "markdownDescription": "The value of the singular filter constant.", + "title": "SingularConstant", + "type": "string" } }, "type": "object" }, - "AWS::ResilienceHubV2::ServiceFunction": { + "AWS::QuickSight::VPCConnection": { "additionalProperties": false, "properties": { "Condition": { @@ -334587,29 +300939,69 @@ "Properties": { "additionalProperties": false, "properties": { - "Criticality": { + "AvailabilityStatus": { + "markdownDescription": "The availability status of the VPC connection.", + "title": "AvailabilityStatus", "type": "string" }, - "Description": { + "AwsAccountId": { + "markdownDescription": "The AWS account ID of the account where you want to create a new VPC connection.", + "title": "AwsAccountId", "type": "string" }, + "DnsResolvers": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IP addresses of DNS resolver endpoints for the VPC connection.", + "title": "DnsResolvers", + "type": "array" + }, "Name": { + "markdownDescription": "The display name for the VPC connection.", + "title": "Name", "type": "string" }, - "ServiceArn": { + "RoleArn": { + "markdownDescription": "The ARN of the IAM role associated with the VPC connection.", + "title": "RoleArn", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon EC2 security group IDs associated with the VPC connection.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of subnet IDs for the VPC connection.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A map of the key-value pairs for the resource tag or tags assigned to the VPC connection.", + "title": "Tags", + "type": "array" + }, + "VPCConnectionId": { + "markdownDescription": "The ID of the VPC connection that you're creating. This ID is a unique identifier for each AWS Region in an AWS account.", + "title": "VPCConnectionId", "type": "string" } }, - "required": [ - "Criticality", - "Name", - "ServiceArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ResilienceHubV2::ServiceFunction" + "AWS::QuickSight::VPCConnection" ], "type": "string" }, @@ -334623,12 +301015,42 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ResilienceHubV2::System": { + "AWS::QuickSight::VPCConnection.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "markdownDescription": "The availability zone that the network interface resides in.", + "title": "AvailabilityZone", + "type": "string" + }, + "ErrorMessage": { + "markdownDescription": "An error message.", + "title": "ErrorMessage", + "type": "string" + }, + "NetworkInterfaceId": { + "markdownDescription": "The network interface ID.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the network interface.", + "title": "Status", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The subnet ID associated with the network interface.", + "title": "SubnetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::Permission": { "additionalProperties": false, "properties": { "Condition": { @@ -334663,33 +301085,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "Name": { + "markdownDescription": "Specifies the name of the customer managed permission. The name must be unique within the AWS Region .", + "title": "Name", "type": "string" }, - "KmsKeyId": { - "type": "string" + "PolicyTemplate": { + "markdownDescription": "A string in JSON format string that contains the following elements of a resource-based policy:\n\n- *Effect* : must be set to `ALLOW` .\n- *Action* : specifies the actions that are allowed by this customer managed permission. The list must contain only actions that are supported by the specified resource type. For a list of all actions supported by each resource type, 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 *AWS Identity and Access Management User Guide* .\n- *Condition* : (optional) specifies conditional parameters that must evaluate to true when a user attempts an action for that action to be allowed. For more information about the Condition element, see [IAM policies: Condition element](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) in the *AWS Identity and Access Management User Guide* .\n\nThis template can't include either the `Resource` or `Principal` elements. Those are both filled in by AWS RAM when it instantiates the resource-based policy on each resource shared using this managed permission. The `Resource` comes from the ARN of the specific resource that you are sharing. The `Principal` comes from the list of identities added to the resource share.", + "title": "PolicyTemplate", + "type": "object" }, - "Name": { + "ResourceType": { + "markdownDescription": "Specifies the name of the resource type that this customer managed permission applies to.\n\nThe format is `** : **` and is not case sensitive. For example, to specify an Amazon EC2 Subnet, you can use the string `ec2:subnet` . To see the list of valid values for this parameter, query the [ListResourceTypes](https://docs.aws.amazon.com/ram/latest/APIReference/API_ListResourceTypes.html) operation.", + "title": "ResourceType", "type": "string" }, - "SharingEnabled": { - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Specifies a list of one or more tag key and value pairs to attach to the permission.", + "title": "Tags", "type": "array" } }, "required": [ - "Name" + "Name", + "PolicyTemplate", + "ResourceType" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResilienceHubV2::System" + "AWS::RAM::Permission" ], "type": "string" }, @@ -334708,7 +301137,7 @@ ], "type": "object" }, - "AWS::ResilienceHubV2::UserJourney": { + "AWS::RAM::ResourceShare": { "additionalProperties": false, "properties": { "Condition": { @@ -334743,28 +301172,68 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "AllowExternalPrincipals": { + "markdownDescription": "Specifies whether principals outside your organization in AWS Organizations can be associated with a resource share. A value of `true` lets you share with individual AWS accounts that are *not* in your organization. A value of `false` only has meaning if your account is a member of an AWS Organization. The default value is `true` .", + "title": "AllowExternalPrincipals", + "type": "boolean" }, "Name": { + "markdownDescription": "Specifies the name of the resource share.", + "title": "Name", "type": "string" }, - "PolicyArn": { - "type": "string" + "PermissionArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html) of the AWS RAM permission to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type. You can associate only one permission with each resource type included in the resource share.", + "title": "PermissionArns", + "type": "array" }, - "SystemIdentifier": { - "type": "string" + "Principals": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the principals to associate with the resource share. The possible values are:\n\n- An AWS account ID\n- An Amazon Resource Name (ARN) of an organization in AWS Organizations\n- An ARN of an organizational unit (OU) in AWS Organizations\n- An ARN of an IAM role\n- An ARN of an IAM user\n\n> Not all resource types can be shared with IAM roles and users. For more information, see the column *Can share with IAM roles and users* in the tables on [Shareable AWS resources](https://docs.aws.amazon.com/ram/latest/userguide/shareable.html) in the *AWS Resource Access Manager User Guide* .", + "title": "Principals", + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies a list of one or more ARNs of the resources to associate with the resource share.", + "title": "ResourceArns", + "type": "array" + }, + "ResourceShareConfiguration": { + "$ref": "#/definitions/AWS::RAM::ResourceShare.ResourceShareConfiguration" + }, + "Sources": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies from which source accounts the service principal has access to the resources in this resource share.", + "title": "Sources", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies one or more tags to attach to the resource share itself. It doesn't attach the tags to the resources associated with the resource share.", + "title": "Tags", + "type": "array" } }, "required": [ - "Name", - "SystemIdentifier" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResilienceHubV2::UserJourney" + "AWS::RAM::ResourceShare" ], "type": "string" }, @@ -334783,7 +301252,19 @@ ], "type": "object" }, - "AWS::ResourceExplorer2::DefaultViewAssociation": { + "AWS::RAM::ResourceShare.ResourceShareConfiguration": { + "additionalProperties": false, + "properties": { + "ExclusiveAccountAccess": { + "type": "boolean" + }, + "RetainSharingOnAccountLeaveOrganization": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::RDS::CustomDBEngineVersion": { "additionalProperties": false, "properties": { "Condition": { @@ -334818,20 +301299,85 @@ "Properties": { "additionalProperties": false, "properties": { - "ViewArn": { - "markdownDescription": "The ARN of the view to set as the default for the AWS Region and AWS account in which you call this operation. The specified view must already exist in the specified Region.", - "title": "ViewArn", + "DatabaseInstallationFiles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DatabaseInstallationFilesS3BucketName": { + "markdownDescription": "The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is `my-custom-installation-files` .", + "title": "DatabaseInstallationFilesS3BucketName", + "type": "string" + }, + "DatabaseInstallationFilesS3Prefix": { + "markdownDescription": "The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is `123456789012/cev1` . If this setting isn't specified, no prefix is assumed.", + "title": "DatabaseInstallationFilesS3Prefix", + "type": "string" + }, + "Description": { + "markdownDescription": "An optional description of your CEV.", + "title": "Description", + "type": "string" + }, + "Engine": { + "markdownDescription": "The database engine to use for your custom engine version (CEV).\n\nValid values:\n\n- `custom-oracle-ee`\n- `custom-oracle-ee-cdb`", + "title": "Engine", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The name of your CEV. The name format is `major version.customized_string` . For example, a valid CEV name is `19.my_cev1` . This setting is required for RDS Custom for Oracle, but optional for Amazon RDS. The combination of `Engine` and `EngineVersion` is unique per customer per Region.\n\n*Constraints:* Minimum length is 1. Maximum length is 60.\n\n*Pattern:* `^[a-z0-9_.-]{1,60$` }", + "title": "EngineVersion", + "type": "string" + }, + "ImageId": { + "markdownDescription": "A value that indicates the ID of the AMI.", + "title": "ImageId", + "type": "string" + }, + "KMSKeyId": { + "markdownDescription": "The AWS KMS key identifier for an encrypted CEV. A symmetric encryption KMS key is required for RDS Custom, but optional for Amazon RDS.\n\nIf you have an existing symmetric encryption KMS key in your account, you can use it with RDS Custom. No further action is necessary. If you don't already have a symmetric encryption KMS key in your account, follow the instructions in [Creating a symmetric encryption KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) in the *AWS Key Management Service Developer Guide* .\n\nYou can choose the same symmetric encryption key when you create a CEV and a DB instance, or choose different keys.", + "title": "KMSKeyId", + "type": "string" + }, + "Manifest": { + "markdownDescription": "The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which they are listed.\n\nThe following JSON fields are valid:\n\n- **MediaImportTemplateVersion** - Version of the CEV manifest. The date is in the format `YYYY-MM-DD` .\n- **databaseInstallationFileNames** - Ordered list of installation files for the CEV.\n- **opatchFileNames** - Ordered list of OPatch installers used for the Oracle DB engine.\n- **psuRuPatchFileNames** - The PSU and RU patches for this CEV.\n- **OtherPatchFileNames** - The patches that are not in the list of PSU and RU patches. Amazon RDS applies these patches after applying the PSU and RU patches.\n\nFor more information, see [Creating the CEV manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest) in the *Amazon RDS User Guide* .", + "title": "Manifest", + "type": "string" + }, + "SourceCustomDbEngineVersionIdentifier": { + "markdownDescription": "The ARN of a CEV to use as a source for creating a new CEV. You can specify a different Amazon Machine Imagine (AMI) by using either `Source` or `UseAwsProvidedLatestImage` . You can't specify a different JSON manifest when you specify `SourceCustomDbEngineVersionIdentifier` .", + "title": "SourceCustomDbEngineVersionIdentifier", + "type": "string" + }, + "Status": { + "markdownDescription": "A value that indicates the status of a custom engine version (CEV).", + "title": "Status", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags. For more information, see [Tagging Amazon RDS Resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide.*", + "title": "Tags", + "type": "array" + }, + "UseAwsProvidedLatestImage": { + "markdownDescription": "Specifies whether to use the latest service-provided Amazon Machine Image (AMI) for the CEV. If you specify `UseAwsProvidedLatestImage` , you can't also specify `ImageId` .", + "title": "UseAwsProvidedLatestImage", + "type": "boolean" } }, "required": [ - "ViewArn" + "Engine", + "EngineVersion" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceExplorer2::DefaultViewAssociation" + "AWS::RDS::CustomDBEngineVersion" ], "type": "string" }, @@ -334850,7 +301396,7 @@ ], "type": "object" }, - "AWS::ResourceExplorer2::Index": { + "AWS::RDS::DBCluster": { "additionalProperties": false, "properties": { "Condition": { @@ -334885,127 +301431,332 @@ "Properties": { "additionalProperties": false, "properties": { - "Tags": { - "additionalProperties": true, - "markdownDescription": "The specified tags are attached to only the index created in this AWS Region . The tags don't attach to any of the resources listed in the index.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "AllocatedStorage": { + "markdownDescription": "The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nThis setting is required to create a Multi-AZ DB cluster.", + "title": "AllocatedStorage", + "type": "number" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" }, - "title": "Tags", - "type": "object" + "markdownDescription": "Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "AssociatedRoles", + "type": "array" }, - "Type": { - "markdownDescription": "Specifies the type of the index in this Region. For information about the aggregator index and how it differs from a local index, see [Turning on cross-Region search by creating an aggregator index](https://docs.aws.amazon.com/resource-explorer/latest/userguide/manage-aggregator-region.html) in the *AWS Resource Explorer User Guide.* .", - "title": "Type", + "AutoMinorVersionUpgrade": { + "markdownDescription": "Specifies whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. By default, minor engine upgrades are applied automatically.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB cluster.\n\nFor more information about automatic minor version upgrades, see [Automatically upgrading the minor engine version](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades) .", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see [Choosing the Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", + "title": "AvailabilityZones", + "type": "array" + }, + "BacktrackWindow": { + "markdownDescription": "The target backtrack window, in seconds. To disable backtracking, set this value to `0` .\n\nValid for Cluster Type: Aurora MySQL DB clusters only\n\nDefault: `0`\n\nConstraints:\n\n- If specified, this value must be set to a number from 0 to 259,200 (72 hours).", + "title": "BacktrackWindow", + "type": "number" + }, + "BackupRetentionPeriod": { + "markdownDescription": "The number of days for which automated backups are retained.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 1 to 35\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "BackupRetentionPeriod", + "type": "number" + }, + "ClusterScalabilityType": { + "markdownDescription": "Specifies the scalability mode of the Aurora DB cluster. When set to `limitless` , the cluster operates as an Aurora Limitless Database, allowing you to create a DB shard group for horizontal scaling (sharding) capabilities. When set to `standard` (the default), the cluster uses normal DB instance creation.\n\n*Important:* Automated backup retention isn't supported with Aurora Limitless Database clusters. If you set this property to `limitless` , you cannot set `DeleteAutomatedBackups` to `false` . To create a backup, use manual snapshots instead.", + "title": "ClusterScalabilityType", "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResourceExplorer2::Index" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceExplorer2::View": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + }, + "CopyTagsToSnapshot": { + "markdownDescription": "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "CopyTagsToSnapshot", + "type": "boolean" + }, + "DBClusterIdentifier": { + "markdownDescription": "The DB 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- First character must be a letter.\n- Can't end with a hyphen or contain two consecutive hyphens.\n\nExample: `my-cluster1`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBClusterInstanceClass": { + "markdownDescription": "The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example `db.m6gd.xlarge` . Not all DB instance classes are available in all AWS Regions , or for all database engines.\n\nFor the full list of DB instance classes and availability for your engine, see [DB instance class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only", + "title": "DBClusterInstanceClass", + "type": "string" + }, + "DBClusterParameterGroupName": { + "markdownDescription": "The name of the DB cluster parameter group to associate with this DB cluster.\n\n> If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n> \n> If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started. \n\nTo list all of the available DB cluster parameter group names, use the following command:\n\n`aws rds describe-db-cluster-parameter-groups --query \"DBClusterParameterGroups[].DBClusterParameterGroupName\" --output text`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DBClusterParameterGroupName", + "type": "string" + }, + "DBInstanceParameterGroupName": { + "markdownDescription": "The name of the DB parameter group to apply to all instances of the DB cluster.\n\n> When you apply a parameter group using the `DBInstanceParameterGroupName` parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window. \n\nValid for Cluster Type: Aurora DB clusters only\n\nDefault: The existing name setting\n\nConstraints:\n\n- The DB parameter group must be in the same DB parameter group family as this DB cluster.\n- The `DBInstanceParameterGroupName` parameter is valid in combination with the `AllowMajorVersionUpgrade` parameter for a major version upgrade only.", + "title": "DBInstanceParameterGroupName", + "type": "string" + }, + "DBSubnetGroupName": { + "markdownDescription": "A DB subnet group that you want to associate with this DB cluster.\n\nIf you are restoring a DB cluster to a point in time with `RestoreType` set to `copy-on-write` , and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DBSubnetGroupName", + "type": "string" + }, + "DBSystemId": { + "markdownDescription": "Reserved for future use.", + "title": "DBSystemId", + "type": "string" + }, + "DatabaseInsightsMode": { + "markdownDescription": "The mode of Database Insights to enable for the DB cluster.\n\nIf you set this value to `advanced` , you must also set the `PerformanceInsightsEnabled` parameter to `true` and the `PerformanceInsightsRetentionPeriod` parameter to 465.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DatabaseInsightsMode", + "type": "string" + }, + "DatabaseName": { + "markdownDescription": "The name of your database. If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see [Naming Constraints](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DatabaseName", + "type": "string" + }, + "DeleteAutomatedBackups": { + "markdownDescription": "Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted, unless the AWS Backup policy specifies a point-in-time restore rule.", + "title": "DeleteAutomatedBackups", + "type": "boolean" + }, + "DeletionProtection": { + "markdownDescription": "A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "DeletionProtection", + "type": "boolean" + }, + "Domain": { + "markdownDescription": "Indicates the directory ID of the Active Directory to create the DB cluster.\n\nFor Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.\n\nFor more information, see [Kerberos authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", + "title": "Domain", + "type": "string" + }, + "DomainIAMRoleName": { + "markdownDescription": "Specifies the name of the IAM role to use when making API calls to the Directory Service.\n\nValid for: Aurora DB clusters only", + "title": "DomainIAMRoleName", + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Aurora User Guide* .\n\n*Aurora MySQL*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Aurora PostgreSQL*\n\nValid values: `postgresql`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "EnableCloudwatchLogsExports", + "type": "array" + }, + "EnableGlobalWriteForwarding": { + "markdownDescription": "Specifies whether to enable this DB cluster to forward write operations to the primary cluster of a global cluster (Aurora global database). By default, write operations are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global database.\n\nYou can set this value only on Aurora DB clusters that are members of an Aurora global database. With this parameter enabled, a secondary cluster can forward writes to the current primary cluster, and the resulting changes are replicated back to this cluster. For the primary DB cluster of an Aurora global database, this value is used immediately if the primary is demoted by a global cluster API operation, but it does nothing until then.\n\nValid for Cluster Type: Aurora DB clusters only", + "title": "EnableGlobalWriteForwarding", + "type": "boolean" + }, + "EnableHttpEndpoint": { + "markdownDescription": "Specifies whether to enable the HTTP endpoint for the DB cluster. By default, the HTTP endpoint isn't enabled.\n\nWhen enabled, the HTTP endpoint provides a connectionless web service API (RDS Data API) for running SQL queries on the DB cluster. You can also query your database from inside the RDS console with the RDS query editor.\n\nFor more information, see [Using RDS Data API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html) in the *Amazon Aurora User Guide* .\n\nValid for Cluster Type: Aurora DB clusters only", + "title": "EnableHttpEndpoint", + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "markdownDescription": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n\nFor more information, see [IAM Database Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon Aurora User Guide.*\n\nValid for: Aurora DB clusters only", + "title": "EnableIAMDatabaseAuthentication", + "type": "boolean" + }, + "EnableLocalWriteForwarding": { + "markdownDescription": "Specifies whether read replicas can forward write operations to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.\n\nValid for: Aurora DB clusters only", + "title": "EnableLocalWriteForwarding", + "type": "boolean" + }, + "Engine": { + "markdownDescription": "The name of the database engine to be used for this DB cluster.\n\nValid Values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `mysql`\n- `postgres`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "Engine", + "type": "string" + }, + "EngineLifecycleSupport": { + "markdownDescription": "The life cycle type for this DB cluster.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB cluster will fail if the DB major version is past its end of standard support date. \n\nYou can use this setting to enroll your DB cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB cluster past the end of standard support for that engine version. For more information, see the following sections:\n\n- Amazon Aurora - [Amazon RDS Extended Support with Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide*\n- Amazon RDS - [Amazon RDS Extended Support with Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide*\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", + "title": "EngineLifecycleSupport", + "type": "string" + }, + "EngineMode": { + "markdownDescription": "The DB engine mode of the DB cluster, either `provisioned` or `serverless` .\n\nThe `serverless` engine mode only applies for Aurora Serverless v1 DB clusters. Aurora Serverless v2 DB clusters use the `provisioned` engine mode.\n\nFor information about limitations and requirements for Serverless DB clusters, see the following sections in the *Amazon Aurora User Guide* :\n\n- [Limitations of Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)\n- [Requirements for Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html)\n\nValid for Cluster Type: Aurora DB clusters only", + "title": "EngineMode", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The version number of the database engine to use.\n\nTo list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible) and version 3 (8.0-compatible), use the following command:\n\n`aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"`\n\nYou can supply either `5.7` or `8.0` to use the default engine version for Aurora MySQL version 2 or version 3, respectively.\n\nTo list all of the available engine versions for Aurora PostgreSQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"`\n\nTo list all of the available engine versions for RDS for MySQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine mysql --query \"DBEngineVersions[].EngineVersion\"`\n\nTo list all of the available engine versions for RDS for PostgreSQL, use the following command:\n\n`aws rds describe-db-engine-versions --engine postgres --query \"DBEngineVersions[].EngineVersion\"`\n\n*Aurora MySQL*\n\nFor information, see [Database engine updates for Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html) in the *Amazon Aurora User Guide* .\n\n*Aurora PostgreSQL*\n\nFor information, see [Amazon Aurora PostgreSQL releases and engine versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) in the *Amazon Aurora User Guide* .\n\n*MySQL*\n\nFor information, see [Amazon RDS for MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide* .\n\n*PostgreSQL*\n\nFor information, see [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) in the *Amazon RDS User Guide* .\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "EngineVersion", + "type": "string" + }, + "GlobalClusterIdentifier": { + "markdownDescription": "If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. To define the primary database cluster of the global cluster, use the [AWS::RDS::GlobalCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html) resource.\n\nIf you aren't configuring a global database cluster, don't specify this property.\n\n> To remove the DB cluster from a global database cluster, specify an empty value for the `GlobalClusterIdentifier` property. \n\nFor information about Aurora global databases, see [Working with Amazon Aurora Global Databases](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) in the *Amazon Aurora User Guide* .\n\nValid for: Aurora DB clusters only", + "title": "GlobalClusterIdentifier", + "type": "string" + }, + "Iops": { + "markdownDescription": "The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.\n\nFor information about valid IOPS values, see [Provisioned IOPS storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nConstraints:\n\n- Must be a multiple between .5 and 50 of the storage amount for the DB cluster.", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . If you enable the `StorageEncrypted` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the `StorageEncrypted` property to `true` .\n\nIf you specify the `SnapshotIdentifier` property, the `StorageEncrypted` property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used.\n\nIf you create a read replica of an encrypted DB cluster in another AWS Region, make sure to set `KmsKeyId` to a KMS key identifier that is valid in the destination AWS Region. This KMS key is used to encrypt the read replica in that AWS Region.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "KmsKeyId", + "type": "string" + }, + "ManageMasterUserPassword": { + "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nConstraints:\n\n- Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified.", + "title": "ManageMasterUserPassword", + "type": "boolean" + }, + "MasterUserAuthenticationType": { + "markdownDescription": "Specifies the authentication type for the master user. With IAM master user authentication, you can configure the master DB user with IAM database authentication when you create a DB cluster.\n\nYou can specify one of the following values:\n\n- `password` - Use standard database authentication with a password.\n- `iam-db-auth` - Use IAM database authentication for the master user.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nThis option is only valid for RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, Aurora MySQL, and Aurora PostgreSQL engines.", + "title": "MasterUserAuthenticationType", + "type": "string" + }, + "MasterUserPassword": { + "markdownDescription": "The master password for the DB instance.\n\n> If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "MasterUserPassword", + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/AWS::RDS::DBCluster.MasterUserSecret", + "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n\n> When you restore a DB cluster from a snapshot, Amazon RDS generates a new secret instead of reusing the secret specified in the `SecretArn` property. This ensures that the restored DB cluster is securely managed with a dedicated secret. To maintain consistent integration with your application, you might need to update resource configurations to reference the newly created secret. \n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide* and [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html) in the *Amazon Aurora User Guide.*", + "title": "MasterUserSecret" + }, + "MasterUsername": { + "markdownDescription": "The name of the master user for the DB cluster.\n\n> If you specify the `SourceDBClusterIdentifier` , `SnapshotIdentifier` , or `GlobalClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "MasterUsername", + "type": "string" + }, + "MonitoringInterval": { + "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify `0` .\n\nIf `MonitoringRoleArn` is specified, also set `MonitoringInterval` to a value other than `0` .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`\n\nDefault: `0`", + "title": "MonitoringInterval", + "type": "number" + }, + "MonitoringRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* .\n\nIf `MonitoringInterval` is set to a value other than `0` , supply a `MonitoringRoleArn` value.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", + "title": "MonitoringRoleArn", + "type": "string" + }, + "NetworkType": { + "markdownDescription": "The network type of the DB cluster.\n\nValid values:\n\n- `IPV4`\n- `DUAL`\n\nThe network type is determined by the `DBSubnetGroup` specified for the DB cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ).\n\nFor more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon Aurora User Guide.*\n\nValid for: Aurora DB clusters only", + "title": "NetworkType", + "type": "string" + }, + "PerformanceInsightsEnabled": { + "markdownDescription": "Specifies whether to turn on Performance Insights for the DB cluster.\n\nFor more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", + "title": "PerformanceInsightsEnabled", + "type": "boolean" + }, + "PerformanceInsightsKmsKeyId": { + "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n\nThe AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n\nIf you don't specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account . Your AWS account has a different default KMS key for each AWS Region .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", + "title": "PerformanceInsightsKmsKeyId", + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "markdownDescription": "The number of days to retain Performance Insights data. When creating a DB cluster without enabling Performance Insights, you can't specify the parameter `PerformanceInsightsRetentionPeriod` .\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values:\n\n- `7`\n- *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31)\n- `731`\n\nDefault: `7` days\n\nIf you specify a retention period that isn't valid, such as `94` , Amazon RDS issues an error.", + "title": "PerformanceInsightsRetentionPeriod", + "type": "number" + }, + "Port": { + "markdownDescription": "The port number on which the DB instances in the DB cluster accept connections.\n\nDefault:\n\n- When `EngineMode` is `provisioned` , `3306` (for both Aurora MySQL and Aurora PostgreSQL)\n- When `EngineMode` is `serverless` :\n\n- `3306` when `Engine` is `aurora` or `aurora-mysql`\n- `5432` when `Engine` is `aurora-postgresql`\n\n> The `No interruption` on update behavior only applies to DB clusters. If you are updating a DB instance, see [Port](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port) for the AWS::RDS::DBInstance resource. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "Port", + "type": "number" + }, + "PreferredBackupWindow": { + "markdownDescription": "The daily time range during which automated backups are created. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow) in the *Amazon Aurora User Guide.*\n\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.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "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. To see the time blocks available, see [Maintaining an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora) in the *Amazon Aurora User Guide.*\n\nValid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.\n\nConstraints: Minimum 30-minute window.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "PubliclyAccessible": { + "markdownDescription": "Specifies whether the DB cluster is publicly accessible.\n\nValid for Cluster Type: Multi-AZ DB clusters only\n\nWhen the DB cluster is publicly accessible and you connect from outside of the DB cluster's virtual private cloud (VPC), its domain name system (DNS) endpoint resolves to the public IP address. When you connect from within the same VPC as the DB cluster, the endpoint resolves to the private IP address. Access to the DB cluster is controlled by its security group settings.\n\nWhen the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.\n\nThe default behavior when `PubliclyAccessible` is not specified depends on whether a `DBSubnetGroup` is specified.\n\nIf `DBSubnetGroup` isn't specified, `PubliclyAccessible` defaults to `true` .\n\nIf `DBSubnetGroup` is specified, `PubliclyAccessible` defaults to `false` unless the value of `DBSubnetGroup` is `default` , in which case `PubliclyAccessible` defaults to `true` .\n\nIf `PubliclyAccessible` is true and the VPC that the `DBSubnetGroup` is in doesn't have an internet gateway attached to it, Amazon RDS returns an error.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "ReplicationSourceIdentifier": { + "markdownDescription": "The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.\n\nValid for: Aurora DB clusters only", + "title": "ReplicationSourceIdentifier", + "type": "string" + }, + "RestoreToTime": { + "markdownDescription": "The date and time to restore the DB cluster to.\n\nValid Values: Value must be a time in Universal Coordinated Time (UTC) format\n\nConstraints:\n\n- Must be before the latest restorable time for the DB instance\n- Must be specified if `UseLatestRestorableTime` parameter isn't provided\n- Can't be specified if the `UseLatestRestorableTime` parameter is enabled\n- Can't be specified if the `RestoreType` parameter is `copy-on-write`\n\nThis property must be used with `SourceDBClusterIdentifier` property. The resulting cluster will have the identifier that matches the value of the `DBclusterIdentifier` property.\n\nExample: `2015-03-07T23:45:00Z`\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "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\nIf you don't specify a `RestoreType` value, then the new DB cluster is restored as a full copy of the source DB cluster.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "RestoreType", + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration", + "markdownDescription": "The scaling configuration of an Aurora Serverless v1 DB cluster.\n\nThis property is only supported for Aurora Serverless v1. For Aurora Serverless v2, Use the `ServerlessV2ScalingConfiguration` property.\n\nValid for: Aurora Serverless v1 DB clusters only", + "title": "ScalingConfiguration" + }, + "ServerlessV2ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ServerlessV2ScalingConfiguration", + "markdownDescription": "The scaling configuration of an Aurora Serverless V2 DB cluster.\n\nThis property is only supported for Aurora Serverless v2. For Aurora Serverless v1, Use the `ScalingConfiguration` property.\n\nValid for: Aurora Serverless v2 DB clusters only", + "title": "ServerlessV2ScalingConfiguration" + }, + "SnapshotIdentifier": { + "markdownDescription": "The identifier for the DB snapshot or DB cluster snapshot to restore from.\n\nYou can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.\n\nAfter you restore a DB cluster with a `SnapshotIdentifier` property, you must specify the same `SnapshotIdentifier` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed. However, if you don't specify the `SnapshotIdentifier` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified `SnapshotIdentifier` property, and the original DB cluster is deleted.\n\nIf you specify the `SnapshotIdentifier` property to restore a DB cluster (as opposed to specifying it for DB cluster updates), then don't specify the following properties:\n\n- `GlobalClusterIdentifier`\n- `MasterUsername`\n- `MasterUserPassword`\n- `ReplicationSourceIdentifier`\n- `RestoreType`\n- `SourceDBClusterIdentifier`\n- `SourceRegion`\n- `StorageEncrypted` (for an encrypted snapshot)\n- `UseLatestRestorableTime`\n\nConstraints:\n\n- Must match the identifier of an existing Snapshot.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "SnapshotIdentifier", "type": "string" }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Filters": { - "$ref": "#/definitions/AWS::ResourceExplorer2::View.SearchFilter", - "markdownDescription": "An array of strings that include search keywords, prefixes, and operators that filter the results that are returned for queries made using this view. When you use this view in a [Search](https://docs.aws.amazon.com/resource-explorer/latest/apireference/API_Search.html) operation, the filter string is combined with the search's `QueryString` parameter using a logical `AND` operator.\n\nFor information about the supported syntax, see [Search query reference for Resource Explorer](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html) in the *AWS Resource Explorer User Guide* .\n\n> This query string in the context of this operation supports only [filter prefixes](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-filters) with optional [operators](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-operators) . It doesn't support free-form text. For example, the string `region:us* service:ec2 -tag:stage=prod` includes all Amazon EC2 resources in any AWS Region that begin with the letters `us` and are *not* tagged with a key `Stage` that has the value `prod` .", - "title": "Filters" + "SourceDBClusterIdentifier": { + "markdownDescription": "When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore.\n\nConstraints:\n\n- Must match the identifier of an existing DBCluster.\n- Cannot be specified if `SourceDbClusterResourceId` is specified. You must specify either `SourceDBClusterIdentifier` or `SourceDbClusterResourceId` , but not both.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "SourceDBClusterIdentifier", + "type": "string" }, - "IncludedProperties": { - "items": { - "$ref": "#/definitions/AWS::ResourceExplorer2::View.IncludedProperty" - }, - "markdownDescription": "A list of fields that provide additional information about the view.", - "title": "IncludedProperties", - "type": "array" + "SourceDbClusterResourceId": { + "markdownDescription": "The resource ID of the source DB cluster from which to restore.", + "title": "SourceDbClusterResourceId", + "type": "string" }, - "Scope": { - "markdownDescription": "The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the default is account.", - "title": "Scope", + "SourceRegion": { + "markdownDescription": "The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, `us-east-1` .\n\nValid for: Aurora DB clusters only", + "title": "SourceRegion", + "type": "string" + }, + "StorageEncrypted": { + "markdownDescription": "Indicates whether the DB cluster is encrypted.\n\nIf you specify the `KmsKeyId` property, then you must enable encryption.\n\nIf you specify the `SourceDBClusterIdentifier` property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified `KmsKeyId` property is used.\n\nIf you specify the `SnapshotIdentifier` and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified `KmsKeyId` property is used.\n\nIf you specify the `SnapshotIdentifier` and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the `KmsKeyId` property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to `false` .\n\n> If you specify both the `StorageEncrypted` and `SnapshotIdentifier` properties without specifying the `KmsKeyId` property, then the restored DB cluster inherits the encryption settings from the DB snapshot that provide. \n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "StorageEncrypted", + "type": "boolean" + }, + "StorageType": { + "markdownDescription": "The storage type to associate with the DB cluster.\n\nFor information on storage types for Aurora DB clusters, see [Storage configurations for Amazon Aurora DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type) . For information on storage types for Multi-AZ DB clusters, see [Settings for creating Multi-AZ DB clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings) .\n\nThis setting is required to create a Multi-AZ DB cluster.\n\nWhen specified for a Multi-AZ DB cluster, a value for the `Iops` parameter is required.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters\n\nValid Values:\n\n- Aurora DB clusters - `aurora | aurora-iopt1`\n- Multi-AZ DB clusters - `io1 | io2 | gp3`\n\nDefault:\n\n- Aurora DB clusters - `aurora`\n- Multi-AZ DB clusters - `io1`\n\n> When you create an Aurora DB cluster with the storage type set to `aurora-iopt1` , the storage type is returned in the response. The storage type isn't returned when you set it to `aurora` .", + "title": "StorageType", "type": "string" }, "Tags": { - "additionalProperties": true, - "markdownDescription": "Tag key and value pairs that are attached to the view.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Tags to assign to the DB cluster.\n\nValid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters", "title": "Tags", - "type": "object" + "type": "array" }, - "ViewName": { - "markdownDescription": "The name of the new view.", - "title": "ViewName", - "type": "string" + "UseLatestRestorableTime": { + "markdownDescription": "A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster is not restored to the latest restorable backup time.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "UseLatestRestorableTime", + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of EC2 VPC security groups to associate with this DB cluster.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.\n\nValid for: Aurora DB clusters and Multi-AZ DB clusters", + "title": "VpcSecurityGroupIds", + "type": "array" } }, - "required": [ - "ViewName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceExplorer2::View" + "AWS::RDS::DBCluster" ], "type": "string" }, @@ -335019,241 +301770,130 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::ResourceExplorer2::View.IncludedProperty": { + "AWS::RDS::DBCluster.DBClusterRole": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the property that is included in this view.", - "title": "Name", + "FeatureName": { + "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* .", + "title": "FeatureName", "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::ResourceExplorer2::View.SearchFilter": { - "additionalProperties": false, - "properties": { - "FilterString": { - "markdownDescription": "The string that contains the search keywords, prefixes, and operators to control the results that can be returned by a Search operation.\n\nFor information about the supported syntax, see [Search query reference](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html) in the *AWS Resource Explorer User Guide* .\n\n> This query string in the context of this operation supports only [filter prefixes](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-filters) with optional [operators](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-operators) . It doesn't support free-form text. For example, the string `region:us* service:ec2 -tag:stage=prod` includes all Amazon EC2 resources in any AWS Region that begin with the letters `us` and are *not* tagged with a key `Stage` that has the value `prod` .", - "title": "FilterString", + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.", + "title": "RoleArn", "type": "string" } }, "required": [ - "FilterString" + "RoleArn" ], "type": "object" }, - "AWS::ResourceGroups::Group": { + "AWS::RDS::DBCluster.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": { - "Configuration": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" - }, - "markdownDescription": "The service configuration currently associated with the resource group and in effect for the members of the resource group. A `Configuration` consists of one or more `ConfigurationItem` entries. For information about service configurations for resource groups and how to construct them, see [Service configurations for resource groups](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html) in the *Resource Groups User Guide* .\n\n> You can include either a `Configuration` or a `ResourceQuery` , but not both.", - "title": "Configuration", - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the resource group.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of a resource group. The name must be unique within the AWS Region in which you create the resource. To create multiple resource groups based on the same CloudFormation stack, you must generate unique names for each.", - "title": "Name", - "type": "string" - }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery", - "markdownDescription": "The resource query structure that is used to dynamically determine which AWS resources are members of the associated resource group. For more information about queries and how to construct them, see [Build queries and groups in Resource Groups](https://docs.aws.amazon.com//ARG/latest/userguide/gettingstarted-query.html) in the *Resource Groups User Guide*\n\n> - You can include either a `ResourceQuery` or a `Configuration` , but not both.\n> - You can specify the group's membership either by using a `ResourceQuery` or by using a list of `Resources` , but not both.", - "title": "ResourceQuery" - }, - "Resources": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the Amazon Resource Names (ARNs) of AWS resources that you want to add to the specified group.\n\n> - You can specify the group membership either by using a list of `Resources` or by using a `ResourceQuery` , but not both.\n> - You can include a `Resources` property only if you also specify a `Configuration` property.", - "title": "Resources", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tag key and value pairs that are attached to the resource group.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResourceGroups::Group" - ], + "Address": { + "markdownDescription": "Specifies the connection endpoint for the primary instance of the DB cluster.", + "title": "Address", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Port": { + "markdownDescription": "Specifies the port that the database engine is listening on.", + "title": "Port", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::ResourceGroups::Group.ConfigurationItem": { + "AWS::RDS::DBCluster.MasterUserSecret": { "additionalProperties": false, "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" - }, - "markdownDescription": "A collection of parameters for this configuration item. For the list of parameters that you can use with each configuration item `Type` , see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", - "title": "Parameters", - "type": "array" + "KmsKeyId": { + "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.", + "title": "KmsKeyId", + "type": "string" }, - "Type": { - "markdownDescription": "Specifies the type of configuration item. Each item must have a unique value for type. For the list of the types that you can specify for a configuration item, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", - "title": "Type", + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#aws-resource-rds-dbcluster-return-values) .", + "title": "SecretArn", "type": "string" } }, "type": "object" }, - "AWS::ResourceGroups::Group.ConfigurationParameter": { + "AWS::RDS::DBCluster.ReadEndpoint": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the group configuration parameter. For the list of parameters that you can use with each configuration item type, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", - "title": "Name", + "Address": { + "markdownDescription": "The host address of the reader endpoint.", + "title": "Address", "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The value or values to be used for the specified parameter. For the list of values you can use with each parameter, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) .", - "title": "Values", - "type": "array" } }, "type": "object" }, - "AWS::ResourceGroups::Group.Query": { + "AWS::RDS::DBCluster.ScalingConfiguration": { "additionalProperties": false, "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies limits to the types of resources that can be included in the resource group. For example, if `ResourceTypeFilters` is `[\"AWS::EC2::Instance\", \"AWS::DynamoDB::Table\"]` , only EC2 instances or DynamoDB tables can be members of this resource group. The default value is `[\"AWS::AllSupported\"]` .", - "title": "ResourceTypeFilters", - "type": "array" + "AutoPause": { + "markdownDescription": "Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in `serverless` DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).\n\n> If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.", + "title": "AutoPause", + "type": "boolean" }, - "StackIdentifier": { - "markdownDescription": "Specifies the ARN of a CloudFormation stack. All supported resources of the CloudFormation stack are members of the resource group. If you don't specify an ARN, this parameter defaults to the current stack that you are defining, which means that all the resources of the current stack are grouped.\n\nYou can specify a value for `StackIdentifier` only when the `ResourceQuery.Type` property is `CLOUDFORMATION_STACK_1_0.`", - "title": "StackIdentifier", - "type": "string" + "MaxCapacity": { + "markdownDescription": "The maximum capacity for an Aurora DB cluster in `serverless` DB engine mode.\n\nFor Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` .\n\nFor Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` .\n\nThe maximum capacity must be greater than or equal to the minimum capacity.", + "title": "MaxCapacity", + "type": "number" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "markdownDescription": "A list of key-value pair objects that limit which resources can be members of the resource group. This property is required when the `ResourceQuery.Type` property is `TAG_FILTERS_1_0` .\n\nA resource must have a tag that matches every filter that is provided in the `TagFilters` list.", - "title": "TagFilters", - "type": "array" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.ResourceQuery": { - "additionalProperties": false, - "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query", - "markdownDescription": "The query that defines the membership of the group. This is a structure with properties that depend on the `Type` .\n\nThe `Query` structure must be included in the following scenarios:\n\n- When the `Type` is `TAG_FILTERS_1_0` , you must specify a `Query` structure that contains a `TagFilters` list of tags. Resources with tags that match those in the `TagFilter` list become members of the resource group.\n- When the `Type` is `CLOUDFORMATION_STACK_1_0` then this field is required only when you must specify a CloudFormation stack other than the one you are defining. To do this, the `Query` structure must contain the `StackIdentifier` property. If you don't specify either a `Query` structure or a `StackIdentifier` within that `Query` , then it defaults to the CloudFormation stack that you're currently constructing.", - "title": "Query" + "MinCapacity": { + "markdownDescription": "The minimum capacity for an Aurora DB cluster in `serverless` DB engine mode.\n\nFor Aurora MySQL, valid capacity values are `1` , `2` , `4` , `8` , `16` , `32` , `64` , `128` , and `256` .\n\nFor Aurora PostgreSQL, valid capacity values are `2` , `4` , `8` , `16` , `32` , `64` , `192` , and `384` .\n\nThe minimum capacity must be less than or equal to the maximum capacity.", + "title": "MinCapacity", + "type": "number" }, - "Type": { - "markdownDescription": "Specifies the type of resource query that determines this group's membership. There are two valid query types:\n\n- `TAG_FILTERS_1_0` indicates that the group is a tag-based group. To complete the group membership, you must include the `TagFilters` property to specify the tag filters to use in the query.\n- `CLOUDFORMATION_STACK_1_0` , the default, indicates that the group is a CloudFormation stack-based group. Group membership is based on the CloudFormation stack. You must specify the `StackIdentifier` property in the query to define which stack to associate the group with, or leave it empty to default to the stack where the group is defined.", - "title": "Type", + "SecondsBeforeTimeout": { + "markdownDescription": "The amount of time, in seconds, that Aurora Serverless v1 tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.\n\nSpecify a value between 60 and 600 seconds.", + "title": "SecondsBeforeTimeout", + "type": "number" + }, + "SecondsUntilAutoPause": { + "markdownDescription": "The time, in seconds, before an Aurora DB cluster in `serverless` mode is paused.\n\nSpecify a value between 300 and 86,400 seconds.", + "title": "SecondsUntilAutoPause", + "type": "number" + }, + "TimeoutAction": { + "markdownDescription": "The action to take when the timeout is reached, either `ForceApplyCapacityChange` or `RollbackCapacityChange` .\n\n`ForceApplyCapacityChange` sets the capacity to the specified value as soon as possible.\n\n`RollbackCapacityChange` , the default, ignores the capacity change if a scaling point isn't found in the timeout period.\n\n> If you specify `ForceApplyCapacityChange` , connections that prevent Aurora Serverless v1 from finding a scaling point might be dropped. \n\nFor more information, see [Autoscaling for Aurora Serverless v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling) in the *Amazon Aurora User Guide* .", + "title": "TimeoutAction", "type": "string" } }, "type": "object" }, - "AWS::ResourceGroups::Group.TagFilter": { + "AWS::RDS::DBCluster.ServerlessV2ScalingConfiguration": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "A string that defines a tag key. Only resources in the account that are tagged with a specified tag key are members of the tag-based resource group.\n\nThis field is required when the `ResourceQuery` structure's `Type` property is `TAG_FILTERS_1_0` . You must specify at least one tag key.", - "title": "Key", - "type": "string" + "MaxCapacity": { + "markdownDescription": "The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 128.\n\nThe maximum capacity must be higher than 0.5 ACUs. For more information, see [Choosing the maximum Aurora Serverless v2 capacity setting for a cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2.max_capacity_considerations) in the *Amazon Aurora User Guide* .\n\nAurora automatically sets certain parameters for Aurora Serverless V2 DB instances to values that depend on the maximum ACU value in the capacity range. When you update the maximum capacity value, the `ParameterApplyStatus` value for the DB instance changes to `pending-reboot` . You can update the parameter values by rebooting the DB instance after changing the capacity range.", + "title": "MaxCapacity", + "type": "number" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of tag values that can be included in the tag-based resource group. This is optional. If you don't specify a value or values for a key, then an AWS resource with any value for that key is a member.", - "title": "Values", - "type": "array" + "MinCapacity": { + "markdownDescription": "The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5.", + "title": "MinCapacity", + "type": "number" + }, + "SecondsUntilAutoPause": { + "markdownDescription": "Specifies the number of seconds an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it.\n\nSpecify a value between 300 seconds (five minutes) and 86,400 seconds (one day). The default is 300 seconds.", + "title": "SecondsUntilAutoPause", + "type": "number" } }, "type": "object" }, - "AWS::ResourceGroups::TagSyncTask": { + "AWS::RDS::DBClusterParameterGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -335288,38 +301928,45 @@ "Properties": { "additionalProperties": false, "properties": { - "Group": { - "markdownDescription": "The Amazon resource name (ARN) or name of the application group for which you want to create a tag-sync task.", - "title": "Group", + "DBClusterParameterGroupName": { + "markdownDescription": "The name of the DB cluster parameter group.\n\nConstraints:\n\n- Must not match the name of an existing DB cluster parameter group.\n\n> This value is stored as a lowercase string.", + "title": "DBClusterParameterGroupName", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon resource name (ARN) of the role assumed by the service to tag and untag resources on your behalf.", - "title": "RoleArn", + "Description": { + "markdownDescription": "The description for the DB cluster parameter group.", + "title": "Description", "type": "string" }, - "TagKey": { - "markdownDescription": "The tag key.", - "title": "TagKey", + "Family": { + "markdownDescription": "The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.\n\n*Aurora MySQL*\n\nExample: `aurora-mysql5.7` , `aurora-mysql8.0`\n\n*Aurora PostgreSQL*\n\nExample: `aurora-postgresql14`\n\n*RDS for MySQL*\n\nExample: `mysql8.0`\n\n*RDS for PostgreSQL*\n\nExample: `postgres13`\n\nTo list all of the available parameter group families for a DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine `\n\nFor example, to list all of the available parameter group families for the Aurora PostgreSQL DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine aurora-postgresql`\n\n> The output contains duplicates. \n\nThe following are the valid DB engine values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `mysql`\n- `postgres`", + "title": "Family", "type": "string" }, - "TagValue": { - "markdownDescription": "The tag value.", - "title": "TagValue", - "type": "string" + "Parameters": { + "markdownDescription": "Provides a list of parameters for the DB cluster parameter group.", + "title": "Parameters", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the DB cluster parameter group.", + "title": "Tags", + "type": "array" } }, "required": [ - "Group", - "RoleArn", - "TagKey", - "TagValue" + "Description", + "Family", + "Parameters" ], "type": "object" }, "Type": { "enum": [ - "AWS::ResourceGroups::TagSyncTask" + "AWS::RDS::DBClusterParameterGroup" ], "type": "string" }, @@ -335338,7 +301985,7 @@ ], "type": "object" }, - "AWS::RoboMaker::Fleet": { + "AWS::RDS::DBInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -335373,121 +302020,439 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the fleet.", - "title": "Name", + "AdditionalStorageVolumes": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.AdditionalStorageVolume" + }, + "type": "array" + }, + "AllocatedStorage": { + "markdownDescription": "The amount of storage in gibibytes (GiB) to be initially allocated for the database instance.\n\n> If any value is set in the `Iops` parameter, `AllocatedStorage` must be at least 100 GiB, which corresponds to the minimum Iops value of 1,000. If you increase the `Iops` value (in 1,000 IOPS increments), then you must also increase the `AllocatedStorage` value (in 100-GiB increments). \n\n*Amazon Aurora*\n\nNot applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.\n\n*Db2*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp3): Must be an integer from 20 to 64000.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 64000.\n\n*MySQL*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*MariaDB*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*PostgreSQL*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 5 to 3072.\n\n*Oracle*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.\n- Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.\n- Magnetic storage (standard): Must be an integer from 10 to 3072.\n\n*SQL Server*\n\nConstraints to the amount of storage for each storage type are the following:\n\n- General Purpose (SSD) storage (gp2):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 16384.\n- Web and Express editions: Must be an integer from 20 to 16384.\n- Provisioned IOPS storage (io1):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 16384.\n- Web and Express editions: Must be an integer from 20 to 16384.\n- Magnetic storage (standard):\n\n- Enterprise and Standard editions: Must be an integer from 20 to 1024.\n- Web and Express editions: Must be an integer from 20 to 1024.", + "title": "AllocatedStorage", "type": "string" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "The list of all tags added to the fleet.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "AllowMajorVersionUpgrade": { + "markdownDescription": "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.\n\nConstraints: Major version upgrades must be allowed when specifying a value for the `EngineVersion` parameter that is a different major version than the DB instance's current version.", + "title": "AllowMajorVersionUpgrade", + "type": "boolean" + }, + "ApplyImmediately": { + "markdownDescription": "Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the `PreferredMaintenanceWindow` setting. If set to `false` , changes are applied during the next maintenance window. Until RDS applies the changes, the DB instance remains in a drift state. As a result, the configuration doesn't fully reflect the requested modifications and temporarily diverges from the intended state.\n\nIn addition to the settings described in [Modifying a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html) , this property also determines whether the DB instance reboots when a static parameter is modified in the associated DB parameter group.\n\nDefault: `true`", + "title": "ApplyImmediately", + "type": "boolean" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" }, - "title": "Tags", - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RoboMaker::Robot": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", + "markdownDescription": "The AWS Identity and Access Management (IAM) roles associated with the DB instance.\n\n*Amazon Aurora*\n\nNot applicable. The associated roles are managed by the DB cluster.", + "title": "AssociatedRoles", + "type": "array" + }, + "AutoMinorVersionUpgrade": { + "markdownDescription": "A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.", + "title": "AutoMinorVersionUpgrade", + "type": "boolean" + }, + "AutomaticBackupReplicationKmsKeyId": { + "markdownDescription": "The AWS KMS key identifier for encryption of the replicated automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the KMS encryption key in the destination AWS Region , for example, `arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE` .", + "title": "AutomaticBackupReplicationKmsKeyId", "type": "string" }, - { + "AutomaticBackupReplicationRegion": { + "markdownDescription": "The AWS Region associated with the automated backup.", + "title": "AutomaticBackupReplicationRegion", + "type": "string" + }, + "AutomaticBackupReplicationRetentionPeriod": { + "markdownDescription": "The retention period for automated backups in a different AWS Region. Use this parameter to set a unique retention period that only applies to cross-Region automated backups. To enable automated backups in a different Region, specify a positive value for the `AutomaticBackupReplicationRegion` parameter.\n\nIf not specified, this parameter defaults to the value of the `BackupRetentionPeriod` parameter. The maximum allowed value is 35.", + "title": "AutomaticBackupReplicationRetentionPeriod", + "type": "number" + }, + "AvailabilityZone": { + "markdownDescription": "The Availability Zone (AZ) where the database will be created. For information on AWS Regions and Availability Zones, see [Regions and Availability Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html) .\n\nFor Amazon Aurora, each Aurora DB cluster hosts copies of its storage in three separate Availability Zones. Specify one of these Availability Zones. Aurora automatically chooses an appropriate Availability Zone if you don't specify one.\n\nDefault: A random, system-chosen Availability Zone in the endpoint's AWS Region .\n\nConstraints:\n\n- The `AvailabilityZone` parameter can't be specified if the DB instance is a Multi-AZ deployment.\n- The specified Availability Zone must be in the same AWS Region as the current endpoint.\n\nExample: `us-east-1d`", + "title": "AvailabilityZone", + "type": "string" + }, + "BackupRetentionPeriod": { + "markdownDescription": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n\n*Amazon Aurora*\n\nNot applicable. The retention period for automated backups is managed by the DB cluster.\n\nDefault: 1\n\nConstraints:\n\n- Must be a value from 0 to 35\n- Can't be set to 0 if the DB instance is a source to read replicas", + "title": "BackupRetentionPeriod", + "type": "number" + }, + "BackupTarget": { + "markdownDescription": "The location for storing automated backups and manual snapshots.\n\nValid Values:\n\n- `local` (Dedicated Local Zone)\n- `outposts` ( AWS Outposts)\n- `region` ( AWS Region )\n\nDefault: `region`\n\nFor more information, see [Working with Amazon RDS on AWS Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) in the *Amazon RDS User Guide* .", + "title": "BackupTarget", + "type": "string" + }, + "CACertificateIdentifier": { + "markdownDescription": "The identifier of the CA certificate for this DB instance.\n\nFor more information, see [Using SSL/TLS to encrypt a connection to a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a connection to a DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html) in the *Amazon Aurora User Guide* .", + "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, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:\n\n- For more information about rotating your SSL/TLS certificate for RDS DB engines, see [Rotating Your SSL/TLS Certificate.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon RDS User Guide.*\n- For more information about rotating your SSL/TLS certificate for Aurora DB engines, see [Rotating Your SSL/TLS Certificate](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html) in the *Amazon Aurora User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "CertificateRotationRestart", + "type": "boolean" + }, + "CharacterSetName": { + "markdownDescription": "For supported engines, indicates that the DB instance should be associated with the specified character set.\n\n*Amazon Aurora*\n\nNot applicable. The character set is managed by the DB cluster. For more information, see [AWS::RDS::DBCluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html) .", + "title": "CharacterSetName", + "type": "string" + }, + "CopyTagsToSnapshot": { + "markdownDescription": "Specifies whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.\n\nThis setting doesn't apply to Amazon Aurora DB instances. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.", + "title": "CopyTagsToSnapshot", + "type": "boolean" + }, + "CustomIAMInstanceProfile": { + "markdownDescription": "The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.\n\nThis setting is required for RDS Custom.\n\nConstraints:\n\n- The profile must exist in your account.\n- The profile must have an IAM role that Amazon EC2 has permissions to assume.\n- The instance profile name and the associated IAM role name must start with the prefix `AWSRDSCustom` .\n\nFor the list of permissions required for the IAM role, see [Configure IAM and your VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) in the *Amazon RDS User Guide* .", + "title": "CustomIAMInstanceProfile", + "type": "string" + }, + "DBClusterIdentifier": { + "markdownDescription": "The identifier of the DB cluster that this DB instance will belong to.\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBClusterSnapshotIdentifier": { + "markdownDescription": "The identifier for the Multi-AZ DB cluster snapshot to restore from.\n\nFor more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Must match the identifier of an existing Multi-AZ DB cluster snapshot.\n- Can't be specified when `DBSnapshotIdentifier` is specified.\n- Must be specified when `DBSnapshotIdentifier` isn't specified.\n- If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the `DBClusterSnapshotIdentifier` must be the ARN of the shared snapshot.\n- Can't be the identifier of an Aurora DB cluster snapshot.", + "title": "DBClusterSnapshotIdentifier", + "type": "string" + }, + "DBInstanceClass": { + "markdownDescription": "The compute and memory capacity of the DB instance, for example `db.m5.large` . Not all DB instance classes are available in all AWS Regions , or for all database engines. For the full list of DB instance classes, and availability for your engine, see [DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) in the *Amazon RDS User Guide* or [Aurora DB instance classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) in the *Amazon Aurora User Guide* .", + "title": "DBInstanceClass", + "type": "string" + }, + "DBInstanceIdentifier": { + "markdownDescription": "A name for the DB instance. If you specify a name, AWS CloudFormation converts it to lowercase. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the DB instance. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nFor information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* .\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "DBInstanceIdentifier", + "type": "string" + }, + "DBName": { + "markdownDescription": "The meaning of this parameter differs according to the database engine you use.\n\n> If you specify the `[DBSnapshotIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsnapshotidentifier)` property, this property only applies to RDS for Oracle. \n\n*Amazon Aurora*\n\nNot applicable. The database name is managed by the DB cluster.\n\n*Db2*\n\nThe name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n- Can't be a word reserved by the specified database engine.\n\n*MySQL*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Can't be a word reserved by the specified database engine\n\n*MariaDB*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.\n\nConstraints:\n\n- Must contain 1 to 64 letters or numbers.\n- Can't be a word reserved by the specified database engine\n\n*PostgreSQL*\n\nThe name of the database to create when the DB instance is created. If this parameter is not specified, the default `postgres` database is created in the DB instance.\n\nConstraints:\n\n- Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).\n- Must contain 1 to 63 characters.\n- Can't be a word reserved by the specified database engine\n\n*Oracle*\n\nThe Oracle System ID (SID) of the created DB instance. If you specify `null` , the default value `ORCL` is used. You can't specify the string NULL, or any other reserved word, for `DBName` .\n\nDefault: `ORCL`\n\nConstraints:\n\n- Can't be longer than 8 characters\n\n*SQL Server*\n\nNot applicable. Must be null.", + "title": "DBName", + "type": "string" + }, + "DBParameterGroupName": { + "markdownDescription": "The name of an existing DB parameter group or a reference to an [AWS::RDS::DBParameterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html) resource created in the template.\n\nTo list all of the available DB parameter group names, use the following command:\n\n`aws rds describe-db-parameter-groups --query \"DBParameterGroups[].DBParameterGroupName\" --output text`\n\n> If any of the data members of the referenced parameter group are changed during an update, the DB instance might need to be restarted, which causes some interruption. If the parameter group contains static parameters, whether they were changed or not, an update triggers a reboot. \n\nIf you don't specify a value for `DBParameterGroupName` property, the default DB parameter group for the specified engine and engine version is used.", + "title": "DBParameterGroupName", + "type": "string" + }, + "DBSecurityGroups": { "items": { - "pattern": "^[a-zA-Z0-9]+$", "type": "string" }, + "markdownDescription": "A list of the DB security groups to assign to the DB instance. The list can include both the name of existing DB security groups or references to AWS::RDS::DBSecurityGroup resources created in the template.\n\nIf you set DBSecurityGroups, you must not set VPCSecurityGroups, and vice versa. Also, note that the DBSecurityGroups property exists only for backwards compatibility with older regions and is no longer recommended for providing security information to an RDS DB instance. Instead, use VPCSecurityGroups.\n\n> If you specify this property, AWS CloudFormation sends only the following properties (if specified) to Amazon RDS during create operations:\n> \n> - `AllocatedStorage`\n> - `AutoMinorVersionUpgrade`\n> - `AvailabilityZone`\n> - `BackupRetentionPeriod`\n> - `CharacterSetName`\n> - `DBInstanceClass`\n> - `DBName`\n> - `DBParameterGroupName`\n> - `DBSecurityGroups`\n> - `DBSubnetGroupName`\n> - `Engine`\n> - `EngineVersion`\n> - `Iops`\n> - `LicenseModel`\n> - `MasterUsername`\n> - `MasterUserPassword`\n> - `MultiAZ`\n> - `OptionGroupName`\n> - `PreferredBackupWindow`\n> - `PreferredMaintenanceWindow`\n> \n> All other properties are ignored. Specify a virtual private cloud (VPC) security group if you want to submit other properties, such as `StorageType` , `StorageEncrypted` , or `KmsKeyId` . If you're already using the `DBSecurityGroups` property, you can't use these other properties by updating your DB instance to use a VPC security group. You must recreate the DB instance.", + "title": "DBSecurityGroups", "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Architecture": { - "markdownDescription": "The architecture of the robot.", - "title": "Architecture", + }, + "DBSnapshotIdentifier": { + "markdownDescription": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n\nBy specifying this property, you can create a DB instance from the specified DB snapshot. If the `DBSnapshotIdentifier` property is an empty string or the `AWS::RDS::DBInstance` declaration has no `DBSnapshotIdentifier` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n\nSome DB instance properties aren't valid when you restore from a snapshot, such as the `MasterUsername` and `MasterUserPassword` properties, and the point-in-time recovery properties `RestoreTime` and `UseLatestRestorableTime` . For information about the properties that you can specify, see the [`RestoreDBInstanceFromDBSnapshot`](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) action in the *Amazon RDS API Reference* .\n\nAfter you restore a DB instance with a `DBSnapshotIdentifier` property, you must specify the same `DBSnapshotIdentifier` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the `DBSnapshotIdentifier` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified `DBSnapshotIdentifier` property, and the original DB instance is deleted.\n\nIf you specify the `DBSnapshotIdentifier` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n\n- `CharacterSetName`\n- `DBClusterIdentifier`\n- `DBName`\n- `KmsKeyId`\n- `MasterUsername`\n- `MasterUserPassword`\n- `PromotionTier`\n- `SourceDBInstanceIdentifier`\n- `SourceRegion`\n- `StorageEncrypted` (for an unencrypted snapshot)\n- `Timezone`\n\n*Amazon Aurora*\n\nNot applicable. Snapshot restore is managed by the DB cluster.", + "title": "DBSnapshotIdentifier", "type": "string" }, - "Fleet": { - "markdownDescription": "The Amazon Resource Name (ARN) of the fleet to which the robot will be registered.", - "title": "Fleet", + "DBSubnetGroupName": { + "markdownDescription": "A DB subnet group to associate with the DB instance. If you update this value, the new subnet group must be a subnet group in a new VPC.\n\nIf you don't specify a DB subnet group, RDS uses the default DB subnet group if one exists. If a default DB subnet group does not exist, and you don't specify a `DBSubnetGroupName` , the DB instance fails to launch.\n\nFor more information about using Amazon RDS in a VPC, see [Amazon VPC and Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to Amazon Aurora DB instances. The DB subnet group is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", + "title": "DBSubnetGroupName", "type": "string" }, - "GreengrassGroupId": { - "markdownDescription": "The Greengrass group associated with the robot.", - "title": "GreengrassGroupId", + "DBSystemId": { + "markdownDescription": "The Oracle system identifier (SID), which is the name of the Oracle database instance that manages your database files. In this context, the term \"Oracle database instance\" refers exclusively to the system global area (SGA) and Oracle background processes. If you don't specify a SID, the value defaults to `RDSCDB` . The Oracle SID is also the name of your CDB.", + "title": "DBSystemId", "type": "string" }, - "Name": { - "markdownDescription": "The name of the robot.", - "title": "Name", + "DatabaseInsightsMode": { + "markdownDescription": "The mode of Database Insights to enable for the DB instance.\n\n> Aurora DB instances inherit this value from the DB cluster, so you can't change this value.", + "title": "DatabaseInsightsMode", + "type": "string" + }, + "DedicatedLogVolume": { + "markdownDescription": "Indicates whether the DB instance has a dedicated log volume (DLV) enabled.", + "title": "DedicatedLogVolume", + "type": "boolean" + }, + "DeleteAutomatedBackups": { + "markdownDescription": "A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.\n\n*Amazon Aurora*\n\nNot applicable. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the DB cluster are not deleted.", + "title": "DeleteAutomatedBackups", + "type": "boolean" + }, + "DeletionProtection": { + "markdownDescription": "Specifies whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see [Deleting a DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html) .\n\nThis setting doesn't apply to Amazon Aurora DB instances. You can enable or disable deletion protection for the DB cluster. For more information, see `CreateDBCluster` . DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.", + "title": "DeletionProtection", + "type": "boolean" + }, + "Domain": { + "markdownDescription": "The Active Directory directory ID to create the DB instance in. Currently, only Db2, MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.\n\nFor more information, see [Kerberos Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html) in the *Amazon RDS User Guide* .", + "title": "Domain", + "type": "string" + }, + "DomainAuthSecretArn": { + "markdownDescription": "The ARN for the Secrets Manager secret with the credentials for the user joining the domain.\n\nExample: `arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`", + "title": "DomainAuthSecretArn", + "type": "string" + }, + "DomainDnsIps": { + "items": { + "type": "string" + }, + "markdownDescription": "The IPv4 DNS IP addresses of your primary and secondary Active Directory domain controllers.\n\nConstraints:\n\n- Two IP addresses must be provided. If there isn't a secondary domain controller, use the IP address of the primary domain controller for both entries in the list.\n\nExample: `123.124.125.126,234.235.236.237`", + "title": "DomainDnsIps", + "type": "array" + }, + "DomainFqdn": { + "markdownDescription": "The fully qualified domain name (FQDN) of an Active Directory domain.\n\nConstraints:\n\n- Can't be longer than 64 characters.\n\nExample: `mymanagedADtest.mymanagedAD.mydomain`", + "title": "DomainFqdn", + "type": "string" + }, + "DomainIAMRoleName": { + "markdownDescription": "The name of the IAM role to use when making API calls to the Directory Service.\n\nThis setting doesn't apply to the following DB instances:\n\n- Amazon Aurora (The domain is managed by the DB cluster.)\n- RDS Custom", + "title": "DomainIAMRoleName", + "type": "string" + }, + "DomainOu": { + "markdownDescription": "The Active Directory organizational unit for your DB instance to join.\n\nConstraints:\n\n- Must be in the distinguished name format.\n- Can't be longer than 64 characters.\n\nExample: `OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`", + "title": "DomainOu", + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see [Publishing Database Logs to Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch) in the *Amazon Relational Database Service User Guide* .\n\n*Amazon Aurora*\n\nNot applicable. CloudWatch Logs exports are managed by the DB cluster.\n\n*Db2*\n\nValid values: `diag.log` , `notify.log`\n\n*MariaDB*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Microsoft SQL Server*\n\nValid values: `agent` , `error`\n\n*MySQL*\n\nValid values: `audit` , `error` , `general` , `slowquery`\n\n*Oracle*\n\nValid values: `alert` , `audit` , `listener` , `trace` , `oemagent`\n\n*PostgreSQL*\n\nValid values: `postgresql` , `upgrade`", + "title": "EnableCloudwatchLogsExports", + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "markdownDescription": "A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.\n\nThis property is supported for RDS for MariaDB, RDS for MySQL, and RDS for PostgreSQL. For more information, see [IAM Database Authentication for MariaDB, MySQL, and PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html) in the *Amazon RDS User Guide.*\n\n*Amazon Aurora*\n\nNot applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.", + "title": "EnableIAMDatabaseAuthentication", + "type": "boolean" + }, + "EnablePerformanceInsights": { + "markdownDescription": "Specifies whether to enable Performance Insights for the DB instance. For more information, see [Using Amazon Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "EnablePerformanceInsights", + "type": "boolean" + }, + "Engine": { + "markdownDescription": "The name of the database engine to use for this DB instance. Not every database engine is available in every AWS Region.\n\nThis property is required when creating a DB instance.\n\n> You can convert an Oracle database from the non-CDB architecture to the container database (CDB) architecture by updating the `Engine` value in your templates from `oracle-ee` to `oracle-ee-cdb` or from `oracle-se2` to `oracle-se2-cdb` . Converting to the CDB architecture requires an interruption. \n\nValid Values:\n\n- `aurora-mysql` (for Aurora MySQL DB instances)\n- `aurora-postgresql` (for Aurora PostgreSQL DB instances)\n- `custom-oracle-ee` (for RDS Custom for Oracle DB instances)\n- `custom-oracle-ee-cdb` (for RDS Custom for Oracle DB instances)\n- `custom-sqlserver-ee` (for RDS Custom for SQL Server DB instances)\n- `custom-sqlserver-se` (for RDS Custom for SQL Server DB instances)\n- `custom-sqlserver-web` (for RDS Custom for SQL Server DB instances)\n- `db2-ae`\n- `db2-se`\n- `mariadb`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", + "title": "Engine", + "type": "string" + }, + "EngineLifecycleSupport": { + "markdownDescription": "The life cycle type for this DB instance.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your DB instance into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the DB instance will fail if the DB major version is past its end of standard support date. \n\nThis setting applies only to RDS for MySQL and RDS for PostgreSQL. For Amazon Aurora DB instances, the life cycle type is managed by the DB cluster.\n\nYou can use this setting to enroll your DB instance into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your DB instance past the end of standard support for that engine version. For more information, see [Amazon RDS Extended Support with Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html) in the *Amazon RDS User Guide* .\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", + "title": "EngineLifecycleSupport", + "type": "string" + }, + "EngineVersion": { + "markdownDescription": "The version number of the database engine to use.\n\nFor a list of valid engine versions, use the `DescribeDBEngineVersions` action.\n\nThe following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.\n\n*Amazon Aurora*\n\nNot applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.\n\n*Db2*\n\nSee [Amazon RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*MariaDB*\n\nSee [MariaDB on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*Microsoft SQL Server*\n\nSee [Microsoft SQL Server Versions on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) in the *Amazon RDS User Guide.*\n\n*MySQL*\n\nSee [MySQL on Amazon RDS Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt) in the *Amazon RDS User Guide.*\n\n*Oracle*\n\nSee [Oracle Database Engine Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html) in the *Amazon RDS User Guide.*\n\n*PostgreSQL*\n\nSee [Supported PostgreSQL Database Versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions) in the *Amazon RDS User Guide.*", + "title": "EngineVersion", + "type": "string" + }, + "Iops": { + "markdownDescription": "The number of I/O operations per second (IOPS) that the database provisions. The value must be equal to or greater than 1000.\n\nIf you specify this property, you must follow the range of allowed ratios of your requested IOPS rate to the amount of storage that you allocate (IOPS to allocated storage). For example, you can provision an Oracle database instance with 1000 IOPS and 200 GiB of storage (a ratio of 5:1), or specify 2000 IOPS with 200 GiB of storage (a ratio of 10:1). For more information, see [Amazon RDS Provisioned IOPS Storage to Improve Performance](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/CHAP_Storage.html#USER_PIOPS) in the *Amazon RDS User Guide* .\n\n> If you specify `io1` for the `StorageType` property, then you must also specify the `Iops` property. \n\nConstraints:\n\n- For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a multiple between .5 and 50 of the storage amount for the DB instance.\n- For RDS for SQL Server - Must be a multiple between 1 and 50 of the storage amount for the DB instance.", + "title": "Iops", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "The ARN of the AWS KMS key that's used to encrypt the DB instance, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . If you enable the StorageEncrypted property but don't specify this property, AWS CloudFormation uses the default KMS key. If you specify this property, you must set the StorageEncrypted property to true.\n\nIf you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used. However, if the source DB instance is in a different AWS Region, you must specify a KMS key ID.\n\nIf you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup, and if the automated backup is encrypted, the specified `KmsKeyId` property is used.\n\nIf you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the region that they're created in, and you can't use encryption keys from one region in another region.\n\nIf you specify the `DBSnapshotIdentifier` property, don't specify this property. The `StorageEncrypted` property value is inherited from the snapshot. If the DB instance is encrypted, the specified `KmsKeyId` property is also inherited from the snapshot.\n\nIf you specify `DBSecurityGroups` , AWS CloudFormation ignores this property. To specify both a security group and this property, you must use a VPC security group. For more information about Amazon RDS and VPC, see [Using Amazon RDS with Amazon VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) in the *Amazon RDS User Guide* .\n\n*Amazon Aurora*\n\nNot applicable. The KMS key identifier is managed by the DB cluster.", + "title": "KmsKeyId", + "type": "string" + }, + "LicenseModel": { + "markdownDescription": "License model information for this DB instance.\n\nValid Values:\n\n- Aurora MySQL - `general-public-license`\n- Aurora PostgreSQL - `postgresql-license`\n- RDS for Db2 - `bring-your-own-license` . For more information about RDS for Db2 licensing, see [](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) in the *Amazon RDS User Guide.*\n- RDS for MariaDB - `general-public-license`\n- RDS for Microsoft SQL Server - `license-included`\n- RDS for MySQL - `general-public-license`\n- RDS for Oracle - `bring-your-own-license` or `license-included`\n- RDS for PostgreSQL - `postgresql-license`\n\n> If you've specified `DBSecurityGroups` and then you update the license model, AWS CloudFormation replaces the underlying DB instance. This will incur some interruptions to database availability.", + "title": "LicenseModel", + "type": "string" + }, + "ManageMasterUserPassword": { + "markdownDescription": "Specifies whether to manage the master user password with AWS Secrets Manager.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.*\n\nConstraints:\n\n- Can't manage the master user password with AWS Secrets Manager if `MasterUserPassword` is specified.", + "title": "ManageMasterUserPassword", + "type": "boolean" + }, + "MasterUserAuthenticationType": { + "markdownDescription": "Specifies the authentication type for the master user. With IAM master user authentication, you can configure the master DB user with IAM database authentication when you create a DB instance.\n\nYou can specify one of the following values:\n\n- `password` - Use standard database authentication with a password.\n- `iam-db-auth` - Use IAM database authentication for the master user.\n\nThis option is only valid for RDS for MySQL, RDS for MariaDB, RDS for PostgreSQL, Aurora MySQL, and Aurora PostgreSQL engines.", + "title": "MasterUserAuthenticationType", + "type": "string" + }, + "MasterUserPassword": { + "markdownDescription": "The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".\n\n*Amazon Aurora*\n\nNot applicable. The password for the master user is managed by the DB cluster.\n\n*RDS for Db2*\n\nMust contain from 8 to 255 characters.\n\n*RDS for MariaDB*\n\nConstraints: Must contain from 8 to 41 characters.\n\n*RDS for Microsoft SQL Server*\n\nConstraints: Must contain from 8 to 128 characters.\n\n*RDS for MySQL*\n\nConstraints: Must contain from 8 to 41 characters.\n\n*RDS for Oracle*\n\nConstraints: Must contain from 8 to 30 characters.\n\n*RDS for PostgreSQL*\n\nConstraints: Must contain from 8 to 128 characters.", + "title": "MasterUserPassword", + "type": "string" + }, + "MasterUserSecret": { + "$ref": "#/definitions/AWS::RDS::DBInstance.MasterUserSecret", + "markdownDescription": "The secret managed by RDS in AWS Secrets Manager for the master user password.\n\nFor more information, see [Password management with AWS Secrets Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) in the *Amazon RDS User Guide.*", + "title": "MasterUserSecret" + }, + "MasterUsername": { + "markdownDescription": "The master user name for the DB instance.\n\n> If you specify the `SourceDBInstanceIdentifier` or `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the source DB instance or snapshot.\n> \n> When migrating a self-managed Db2 database, we recommend that you use the same master username as your self-managed Db2 instance name. \n\n*Amazon Aurora*\n\nNot applicable. The name for the master user is managed by the DB cluster.\n\n*RDS for Db2*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for MariaDB*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for Microsoft SQL Server*\n\nConstraints:\n\n- Must be 1 to 128 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for MySQL*\n\nConstraints:\n\n- Must be 1 to 16 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for Oracle*\n\nConstraints:\n\n- Must be 1 to 30 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.\n\n*RDS for PostgreSQL*\n\nConstraints:\n\n- Must be 1 to 63 letters or numbers.\n- First character must be a letter.\n- Can't be a reserved word for the chosen database engine.", + "title": "MasterUsername", + "type": "string" + }, + "MaxAllocatedStorage": { + "markdownDescription": "The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.\n\nFor more information about this setting, including limitations that apply to it, see [Managing capacity automatically with Amazon RDS storage autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling) in the *Amazon RDS User Guide* .\n\nThis setting doesn't apply to the following DB instances:\n\n- Amazon Aurora (Storage is managed by the DB cluster.)\n- RDS Custom", + "title": "MaxAllocatedStorage", + "type": "number" + }, + "MonitoringInterval": { + "markdownDescription": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify `0` .\n\nIf `MonitoringRoleArn` is specified, then you must set `MonitoringInterval` to a value other than `0` .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nValid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`\n\nDefault: `0`", + "title": "MonitoringInterval", + "type": "number" + }, + "MonitoringRoleArn": { + "markdownDescription": "The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, `arn:aws:iam:123456789012:role/emaccess` . For information on creating a monitoring role, see [Setting Up and Enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide* .\n\nIf `MonitoringInterval` is set to a value other than `0` , then you must supply a `MonitoringRoleArn` value.\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "MonitoringRoleArn", + "type": "string" + }, + "MultiAZ": { + "markdownDescription": "Specifies whether the DB instance is a Multi-AZ deployment. You can't set the `AvailabilityZone` parameter if the DB instance is a Multi-AZ deployment.\n\nThis setting doesn't apply to Amazon Aurora because the DB instance Availability Zones (AZs) are managed by the DB cluster.", + "title": "MultiAZ", + "type": "boolean" + }, + "NcharCharacterSetName": { + "markdownDescription": "The name of the NCHAR character set for the Oracle DB instance.\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "NcharCharacterSetName", + "type": "string" + }, + "NetworkType": { + "markdownDescription": "The network type of the DB instance.\n\nValid values:\n\n- `IPV4`\n- `DUAL`\n\nThe network type is determined by the `DBSubnetGroup` specified for the DB instance. A `DBSubnetGroup` can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( `DUAL` ).\n\nFor more information, see [Working with a DB instance in a VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) in the *Amazon RDS User Guide.*", + "title": "NetworkType", + "type": "string" + }, + "OptionGroupName": { + "markdownDescription": "Indicates that the DB instance should be associated with the specified option group.\n\nPermanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance.", + "title": "OptionGroupName", + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "markdownDescription": "The AWS KMS key identifier for encryption of Performance Insights data.\n\nThe KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n\nIf you do not specify a value for `PerformanceInsightsKMSKeyId` , then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account. Your AWS account has a different default KMS key for each AWS Region.\n\nFor information about enabling Performance Insights, see [EnablePerformanceInsights](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights) .", + "title": "PerformanceInsightsKMSKeyId", + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "markdownDescription": "The number of days to retain Performance Insights data. When creating a DB instance without enabling Performance Insights, you can't specify the parameter `PerformanceInsightsRetentionPeriod` .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nValid Values:\n\n- `7`\n- *month* * 31, where *month* is a number of months from 1-23. Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19 months * 31)\n- `731`\n\nDefault: `7` days\n\nIf you specify a retention period that isn't valid, such as `94` , Amazon RDS returns an error.", + "title": "PerformanceInsightsRetentionPeriod", + "type": "number" + }, + "Port": { + "markdownDescription": "The port number on which the database accepts connections.\n\nThis setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n\nValid Values: `1150-65535`\n\nDefault:\n\n- RDS for Db2 - `50000`\n- RDS for MariaDB - `3306`\n- RDS for Microsoft SQL Server - `1433`\n- RDS for MySQL - `3306`\n- RDS for Oracle - `1521`\n- RDS for PostgreSQL - `5432`\n\nConstraints:\n\n- For RDS for Microsoft SQL Server, the value can't be `1234` , `1434` , `3260` , `3343` , `3389` , `47001` , or `49152-49156` .", + "title": "Port", + "type": "string" + }, + "PreferredBackupWindow": { + "markdownDescription": "The daily time range during which automated backups are created if automated backups are enabled, using the `BackupRetentionPeriod` parameter. For more information, see [Backup Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) in the *Amazon RDS User Guide.*\n\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.\n\n*Amazon Aurora*\n\nNot applicable. The daily time range for creating automated backups is managed by the DB cluster.", + "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. To see the time blocks available, see [Maintaining a DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) in the *Amazon RDS User Guide.*\n\n> This property applies when AWS CloudFormation initially creates the DB instance. If you use AWS CloudFormation to update the DB instance, those updates are applied immediately. \n\nConstraints: Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" + }, + "markdownDescription": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.\n\nThis setting doesn't apply to Amazon Aurora or RDS Custom DB instances.", + "title": "ProcessorFeatures", + "type": "array" + }, + "PromotionTier": { + "markdownDescription": "The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide* .\n\nThis setting doesn't apply to RDS Custom DB instances.\n\nDefault: `1`\n\nValid Values: `0 - 15`", + "title": "PromotionTier", + "type": "number" + }, + "PubliclyAccessible": { + "markdownDescription": "Indicates whether the DB instance is an internet-facing instance. If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address.\n\nThe default behavior value depends on your VPC setup and the database subnet group. For more information, see the `PubliclyAccessible` parameter in the [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) in the *Amazon RDS API Reference* .", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "ReplicaMode": { + "markdownDescription": "The open mode of an Oracle read replica. For more information, see [Working with Oracle Read Replicas for Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html) in the *Amazon RDS User Guide* .\n\nThis setting is only supported in RDS for Oracle.\n\nDefault: `open-read-only`\n\nValid Values: `open-read-only` or `mounted`", + "title": "ReplicaMode", + "type": "string" + }, + "RestoreTime": { + "markdownDescription": "The date and time to restore from. This parameter applies to point-in-time recovery. For more information, see [Restoring a DB instance to a specified time](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html) in the in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Must be a time in Universal Coordinated Time (UTC) format.\n- Must be before the latest restorable time for the DB instance.\n- Can't be specified if the `UseLatestRestorableTime` parameter is enabled.\n\nExample: `2009-09-07T23:45:00Z`", + "title": "RestoreTime", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "markdownDescription": "The identifier of the Multi-AZ DB cluster that will act as the source for the read replica. Each DB cluster can have up to 15 read replicas.\n\nConstraints:\n\n- Must be the identifier of an existing Multi-AZ DB cluster.\n- Can't be specified if the `SourceDBInstanceIdentifier` parameter is also specified.\n- The specified DB cluster must have automatic backups enabled, that is, its backup retention period must be greater than 0.\n- The source DB cluster must be in the same AWS Region as the read replica. Cross-Region replication isn't supported.", + "title": "SourceDBClusterIdentifier", + "type": "string" + }, + "SourceDBInstanceAutomatedBackupsArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, `arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE` .\n\nThis setting doesn't apply to RDS Custom.", + "title": "SourceDBInstanceAutomatedBackupsArn", + "type": "string" + }, + "SourceDBInstanceIdentifier": { + "markdownDescription": "If you want to create a read replica DB instance, specify the ID of the source DB instance. Each DB instance can have a limited number of read replicas. For more information, see [Working with Read Replicas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/USER_ReadRepl.html) in the *Amazon RDS User Guide* .\n\nFor information about constraints that apply to DB instance identifiers, see [Naming constraints in Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) in the *Amazon RDS User Guide* .\n\nThe `SourceDBInstanceIdentifier` property determines whether a DB instance is a read replica. If you remove the `SourceDBInstanceIdentifier` property from your template and then update your stack, AWS CloudFormation promotes the read replica to a standalone DB instance.\n\nIf you specify the `UseLatestRestorableTime` or `RestoreTime` properties in conjunction with the `SourceDBInstanceIdentifier` property, RDS restores the DB instance to the requested point in time, thereby creating a new DB instance.\n\n> - If you specify a source DB instance that uses VPC security groups, we recommend that you specify the `VPCSecurityGroups` property. If you don't specify the property, the read replica inherits the value of the `VPCSecurityGroups` property from the source DB when you create the replica. However, if you update the stack, AWS CloudFormation reverts the replica's `VPCSecurityGroups` property to the default value because it's not defined in the stack's template. This change might cause unexpected issues.\n> - Read replicas don't support deletion policies. AWS CloudFormation ignores any deletion policy that's associated with a read replica.\n> - If you specify `SourceDBInstanceIdentifier` , don't specify the `DBSnapshotIdentifier` property. You can't create a read replica from a snapshot.\n> - Don't set the `BackupRetentionPeriod` , `DBName` , `MasterUsername` , `MasterUserPassword` , and `PreferredBackupWindow` properties. The database attributes are inherited from the source DB instance, and backups are disabled for read replicas.\n> - If the source DB instance is in a different region than the read replica, specify the source region in `SourceRegion` , and specify an ARN for a valid DB instance in `SourceDBInstanceIdentifier` . For more information, see [Constructing a Amazon RDS Amazon Resource Name (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.ARN) in the *Amazon RDS User Guide* .\n> - For DB instances in Amazon Aurora clusters, don't specify this property. Amazon RDS automatically assigns writer and reader DB instances.", + "title": "SourceDBInstanceIdentifier", + "type": "string" + }, + "SourceDbiResourceId": { + "markdownDescription": "The resource ID of the source DB instance from which to restore.", + "title": "SourceDbiResourceId", + "type": "string" + }, + "SourceRegion": { + "markdownDescription": "The ID of the region that contains the source DB instance for the read replica.", + "title": "SourceRegion", + "type": "string" + }, + "StorageEncrypted": { + "markdownDescription": "A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.\n\nIf you specify the `KmsKeyId` property, then you must enable encryption.\n\nIf you specify the `SourceDBInstanceIdentifier` or `SourceDbiResourceId` property, don't specify this property. The value is inherited from the source DB instance, and if the DB instance is encrypted, the specified `KmsKeyId` property is used.\n\nIf you specify the `SourceDBInstanceAutomatedBackupsArn` property, don't specify this property. The value is inherited from the source DB instance automated backup.\n\nIf you specify `DBSnapshotIdentifier` property, don't specify this property. The value is inherited from the snapshot.\n\n*Amazon Aurora*\n\nNot applicable. The encryption for DB instances is managed by the DB cluster.", + "title": "StorageEncrypted", + "type": "boolean" + }, + "StorageThroughput": { + "markdownDescription": "Specifies the storage throughput value, in mebibyte per second (MiBps), for the DB instance. This setting applies only to the `gp3` storage type.\n\nThis setting doesn't apply to RDS Custom or Amazon Aurora.", + "title": "StorageThroughput", + "type": "number" + }, + "StorageType": { + "markdownDescription": "The storage type to associate with the DB instance.\n\nIf you specify `io1` , `io2` , or `gp3` , you must also include a value for the `Iops` parameter.\n\nThis setting doesn't apply to Amazon Aurora DB instances. Storage is managed by the DB cluster.\n\nValid Values: `gp2 | gp3 | io1 | io2 | standard`\n\nDefault: `io1` , if the `Iops` parameter is specified. Otherwise, `gp3` .", + "title": "StorageType", "type": "string" }, "Tags": { - "additionalProperties": true, - "markdownDescription": "A map that contains tag keys and tag values that are attached to the robot.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Tags to assign to the DB instance.", "title": "Tags", - "type": "object" + "type": "array" + }, + "Timezone": { + "markdownDescription": "The time zone of the DB instance. The time zone parameter is currently supported only by [RDS for Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone) and [RDS for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone) .", + "title": "Timezone", + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "markdownDescription": "Specifies whether the DB instance class of the DB instance uses its default processor features.\n\nThis setting doesn't apply to RDS Custom DB instances.", + "title": "UseDefaultProcessorFeatures", + "type": "boolean" + }, + "UseLatestRestorableTime": { + "markdownDescription": "Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time. This parameter applies to point-in-time recovery. For more information, see [Restoring a DB instance to a specified time](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html) in the in the *Amazon RDS User Guide* .\n\nConstraints:\n\n- Can't be specified if the `RestoreTime` parameter is provided.", + "title": "UseLatestRestorableTime", + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.\n\nIf you set `VPCSecurityGroups` , you must not set [`DBSecurityGroups`](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) , and vice versa.\n\n> You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind:\n> \n> - You can't revert to using an RDS security group after you establish a VPC security group membership.\n> - When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group.\n> - To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [`DBSecurityGroups`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property. \n\nTo avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template.\n\n*Amazon Aurora*\n\nNot applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting.", + "title": "VPCSecurityGroups", + "type": "array" } }, - "required": [ - "Architecture", - "GreengrassGroupId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::Robot" + "AWS::RDS::DBInstance" ], "type": "string" }, @@ -335501,158 +302466,150 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::RoboMaker::RobotApplication": { + "AWS::RDS::DBInstance.AdditionalStorageVolume": { "additionalProperties": false, "properties": { - "Condition": { + "AllocatedStorage": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Iops": { + "type": "number" + }, + "MaxAllocatedStorage": { + "type": "number" + }, + "StorageThroughput": { + "type": "number" + }, + "StorageType": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "VolumeName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBInstance.CertificateDetails": { + "additionalProperties": false, + "properties": { + "CAIdentifier": { + "markdownDescription": "The CA identifier of the CA certificate used for the DB instance's server certificate.", + "title": "CAIdentifier", + "type": "string" }, - "Metadata": { - "type": "object" + "ValidTill": { + "markdownDescription": "The expiration date of the DB instance\u2019s server certificate.", + "title": "ValidTill", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBInstance.DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "markdownDescription": "The name of the feature associated with the AWS Identity and Access Management (IAM) role. IAM roles that are associated with a DB instance grant permission for the DB instance to access other AWS services on your behalf. For the list of supported feature names, see the `SupportedFeatureNames` description in [DBEngineVersion](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBEngineVersion.html) in the *Amazon RDS API Reference* .", + "title": "FeatureName", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "markdownDescription": "The current revision id.", - "title": "CurrentRevisionId", - "type": "string" - }, - "Environment": { - "markdownDescription": "The environment of the robot application.", - "title": "Environment", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the robot application.", - "title": "Name", - "type": "string" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite", - "markdownDescription": "The robot software suite used by the robot application.", - "title": "RobotSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" - }, - "markdownDescription": "The sources of the robot application.", - "title": "Sources", - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "A map that contains tag keys and tag values that are attached to the robot application.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "RobotSoftwareSuite" - ], - "type": "object" + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.", + "title": "RoleArn", + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.DBInstanceStatusInfo": { + "additionalProperties": false, + "properties": { + "Message": { + "markdownDescription": "Details of the error if there is an error for the instance. If the instance isn't in an error state, this value is blank.", + "title": "Message", + "type": "string" }, - "Type": { - "enum": [ - "AWS::RoboMaker::RobotApplication" - ], + "Normal": { + "markdownDescription": "Indicates whether the instance is operating normally (TRUE) or is in an error state (FALSE).", + "title": "Normal", + "type": "boolean" + }, + "Status": { + "markdownDescription": "The status of the DB instance. For a StatusType of read replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.", + "title": "Status", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StatusType": { + "markdownDescription": "This value is currently \"read replication.\"", + "title": "StatusType", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "AWS::RDS::DBInstance.Endpoint": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the robot software suite. `General` is the only supported value.", - "title": "Name", + "Address": { + "markdownDescription": "Specifies the DNS address of the DB instance.", + "title": "Address", "type": "string" }, - "Version": { - "markdownDescription": "The version of the robot software suite. Not applicable for General software suite.", - "title": "Version", + "HostedZoneId": { + "markdownDescription": "Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.", + "title": "HostedZoneId", + "type": "string" + }, + "Port": { + "markdownDescription": "Specifies the port that the database engine is listening on.", + "title": "Port", "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { + "AWS::RDS::DBInstance.MasterUserSecret": { "additionalProperties": false, "properties": { - "Architecture": { - "markdownDescription": "The target processor architecture for the application.", - "title": "Architecture", + "KmsKeyId": { + "markdownDescription": "The AWS KMS key identifier that is used to encrypt the secret.", + "title": "KmsKeyId", "type": "string" }, - "S3Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "S3Bucket", + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the secret. This parameter is a return value that you can retrieve using the `Fn::GetAtt` intrinsic function. For more information, see [Return values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#aws-resource-rds-dbinstance-return-values) .", + "title": "SecretArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the processor feature. Valid names are `coreCount` and `threadsPerCore` .", + "title": "Name", "type": "string" }, - "S3Key": { - "markdownDescription": "The s3 object key.", - "title": "S3Key", + "Value": { + "markdownDescription": "The value of a processor feature.", + "title": "Value", "type": "string" } }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], "type": "object" }, - "AWS::RoboMaker::RobotApplicationVersion": { + "AWS::RDS::DBParameterGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -335687,25 +302644,44 @@ "Properties": { "additionalProperties": false, "properties": { - "Application": { - "markdownDescription": "The application information for the robot application.", - "title": "Application", + "DBParameterGroupName": { + "markdownDescription": "The name of the DB parameter group.\n\nConstraints:\n\n- Must be 1 to 255 letters, numbers, or hyphens.\n- First character must be a letter\n- Can't end with a hyphen or contain two consecutive hyphens\n\nIf you don't specify a value for `DBParameterGroupName` property, a name is automatically created for the DB parameter group.\n\n> This value is stored as a lowercase string.", + "title": "DBParameterGroupName", "type": "string" }, - "CurrentRevisionId": { - "markdownDescription": "The current revision id for the robot application. If you provide a value and it matches the latest revision ID, a new version will be created.", - "title": "CurrentRevisionId", + "Description": { + "markdownDescription": "Provides the customer-specified description for this DB parameter group.", + "title": "Description", + "type": "string" + }, + "Family": { + "markdownDescription": "The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.\n\nTo list all of the available parameter group families for a DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine `\n\nFor example, to list all of the available parameter group families for the MySQL DB engine, use the following command:\n\n`aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\" --engine mysql`\n\n> The output contains duplicates. \n\nThe following are the valid DB engine values:\n\n- `aurora-mysql`\n- `aurora-postgresql`\n- `db2-ae`\n- `db2-se`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", + "title": "Family", "type": "string" + }, + "Parameters": { + "markdownDescription": "A mapping of parameter names and values for the parameter update. You must specify at least one parameter name and value.\n\nFor more information about parameter groups, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide* , or [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide* .\n\n> AWS CloudFormation doesn't support specifying an apply method for each individual parameter. The default apply method for each parameter is used.", + "title": "Parameters", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the DB parameter group.", + "title": "Tags", + "type": "array" } }, "required": [ - "Application" + "Description", + "Family" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" + "AWS::RDS::DBParameterGroup" ], "type": "string" }, @@ -335724,7 +302700,7 @@ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication": { + "AWS::RDS::DBProxy": { "additionalProperties": false, "properties": { "Condition": { @@ -335759,65 +302735,95 @@ "Properties": { "additionalProperties": false, "properties": { - "CurrentRevisionId": { - "markdownDescription": "The current revision id.", - "title": "CurrentRevisionId", + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "markdownDescription": "The authorization mechanism that the proxy uses.", + "title": "Auth", + "type": "array" + }, + "DBProxyName": { + "markdownDescription": "The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region . 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.", + "title": "DBProxyName", "type": "string" }, - "Environment": { - "markdownDescription": "The environment of the simulation application.", - "title": "Environment", + "DebugLogging": { + "markdownDescription": "Specifies whether the proxy logs detailed connection and query information. When you enable `DebugLogging` , the proxy captures connection details and connection pool behavior from your queries. Debug logging increases CloudWatch costs and can impact proxy performance. Enable this option only when you need to troubleshoot connection or performance issues.", + "title": "DebugLogging", + "type": "boolean" + }, + "DefaultAuthScheme": { + "markdownDescription": "The default authentication scheme that the proxy uses for client connections to the proxy and connections from the proxy to the underlying database. Valid values are `NONE` and `IAM_AUTH` . When set to `IAM_AUTH` , the proxy uses end-to-end IAM authentication to connect to the database.", + "title": "DefaultAuthScheme", "type": "string" }, - "Name": { - "markdownDescription": "The name of the simulation application.", - "title": "Name", + "EndpointNetworkType": { + "markdownDescription": "The network type of the DB proxy endpoint. The network type determines the IP version that the proxy endpoint supports.\n\nValid values:\n\n- `IPV4` - The proxy endpoint supports IPv4 only.\n- `IPV6` - The proxy endpoint supports IPv6 only.\n- `DUAL` - The proxy endpoint supports both IPv4 and IPv6.", + "title": "EndpointNetworkType", "type": "string" }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine", - "markdownDescription": "The rendering engine for the simulation application.", - "title": "RenderingEngine" + "EngineFamily": { + "markdownDescription": "The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL` . For Aurora PostgreSQL and RDS for PostgreSQL databases, specify `POSTGRESQL` . For RDS for Microsoft SQL Server, specify `SQLSERVER` .", + "title": "EngineFamily", + "type": "string" }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite", - "markdownDescription": "The robot software suite used by the simulation application.", - "title": "RobotSoftwareSuite" + "IdleClientTimeout": { + "markdownDescription": "The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.", + "title": "IdleClientTimeout", + "type": "number" }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite", - "markdownDescription": "The simulation software suite used by the simulation application.", - "title": "SimulationSoftwareSuite" + "RequireTLS": { + "markdownDescription": "Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.", + "title": "RequireTLS", + "type": "boolean" }, - "Sources": { + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.", + "title": "RoleArn", + "type": "string" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" }, - "markdownDescription": "The sources of the simulation application.", - "title": "Sources", + "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.", + "title": "Tags", "type": "array" }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "A map that contains tag keys and tag values that are attached to the simulation application.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "TargetConnectionNetworkType": { + "markdownDescription": "The network type that the proxy uses to connect to the target database. The network type determines the IP version that the proxy uses for connections to the database.\n\nValid values:\n\n- `IPV4` - The proxy connects to the database using IPv4 only.\n- `IPV6` - The proxy connects to the database using IPv6 only.", + "title": "TargetConnectionNetworkType", + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" }, - "title": "Tags", - "type": "object" + "markdownDescription": "One or more VPC security group IDs to associate with the new proxy.\n\nIf you plan to update the resource, don't specify VPC security groups in a shared VPC.", + "title": "VpcSecurityGroupIds", + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more VPC subnet IDs to associate with the new proxy.", + "title": "VpcSubnetIds", + "type": "array" } }, "required": [ - "RobotSoftwareSuite", - "SimulationSoftwareSuite" + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplication" + "AWS::RDS::DBProxy" ], "type": "string" }, @@ -335836,91 +302842,54 @@ ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "AWS::RDS::DBProxy.AuthFormat": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the rendering engine.", - "title": "Name", + "AuthScheme": { + "markdownDescription": "The type of authentication that the proxy uses for connections from the proxy to the underlying database.", + "title": "AuthScheme", "type": "string" }, - "Version": { - "markdownDescription": "The version of the rendering engine.", - "title": "Version", - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the robot software suite. `General` is the only supported value.", - "title": "Name", + "ClientPasswordAuthType": { + "markdownDescription": "Specifies the details of authentication used by a proxy to log in as a specific database user.", + "title": "ClientPasswordAuthType", "type": "string" }, - "Version": { - "markdownDescription": "The version of the robot software suite. Not applicable for General software suite.", - "title": "Version", + "Description": { + "markdownDescription": "A user-specified description about the authentication used by a proxy to log in as a specific database user.", + "title": "Description", "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the simulation software suite. `SimulationRuntime` is the only supported value.", - "title": "Name", + }, + "IAMAuth": { + "markdownDescription": "A value that indicates whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy. The `ENABLED` value is valid only for proxies with RDS for Microsoft SQL Server.", + "title": "IAMAuth", "type": "string" }, - "Version": { - "markdownDescription": "The version of the simulation software suite. Not applicable for `SimulationRuntime` .", - "title": "Version", + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.", + "title": "SecretArn", "type": "string" } }, - "required": [ - "Name" - ], "type": "object" }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "AWS::RDS::DBProxy.TagFormat": { "additionalProperties": false, "properties": { - "Architecture": { - "markdownDescription": "The target processor architecture for the application.", - "title": "Architecture", - "type": "string" - }, - "S3Bucket": { - "markdownDescription": "The Amazon S3 bucket name.", - "title": "S3Bucket", + "Key": { + "markdownDescription": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "title": "Key", "type": "string" }, - "S3Key": { - "markdownDescription": "The s3 object key.", - "title": "S3Key", + "Value": { + "markdownDescription": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "title": "Value", "type": "string" } }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], "type": "object" }, - "AWS::RoboMaker::SimulationApplicationVersion": { + "AWS::RDS::DBProxyEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -335955,25 +302924,61 @@ "Properties": { "additionalProperties": false, "properties": { - "Application": { - "markdownDescription": "The application information for the simulation application.", - "title": "Application", + "DBProxyEndpointName": { + "markdownDescription": "The name of the DB proxy endpoint to create.", + "title": "DBProxyEndpointName", "type": "string" }, - "CurrentRevisionId": { - "markdownDescription": "The current revision id for the simulation application. If you provide a value and it matches the latest revision ID, a new version will be created.", - "title": "CurrentRevisionId", + "DBProxyName": { + "markdownDescription": "The name of the DB proxy associated with the DB proxy endpoint that you create.", + "title": "DBProxyName", + "type": "string" + }, + "EndpointNetworkType": { + "markdownDescription": "The network type of the DB proxy endpoint. The network type determines the IP version that the proxy endpoint supports.\n\nValid values:\n\n- `IPV4` - The proxy endpoint supports IPv4 only.\n- `IPV6` - The proxy endpoint supports IPv6 only.\n- `DUAL` - The proxy endpoint supports both IPv4 and IPv6.", + "title": "EndpointNetworkType", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" + }, + "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.", + "title": "Tags", + "type": "array" + }, + "TargetRole": { + "markdownDescription": "A value that indicates whether the DB proxy endpoint can be used for read/write or read-only operations.", + "title": "TargetRole", "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security group IDs for the DB proxy endpoint that you create. You can specify a different set of security group IDs than for the original DB proxy. The default is the default security group for the VPC.", + "title": "VpcSecurityGroupIds", + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC subnet IDs for the DB proxy endpoint that you create. You can specify a different set of subnet IDs than for the original DB proxy.", + "title": "VpcSubnetIds", + "type": "array" } }, "required": [ - "Application" + "DBProxyEndpointName", + "DBProxyName", + "VpcSubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" + "AWS::RDS::DBProxyEndpoint" ], "type": "string" }, @@ -335992,7 +302997,23 @@ ], "type": "object" }, - "AWS::RolesAnywhere::CRL": { + "AWS::RDS::DBProxyEndpoint.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with `aws:` or `rds:` . The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\").", + "title": "Value", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -336027,44 +303048,47 @@ "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" + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat", + "markdownDescription": "Displays the settings that control the size and behavior of the connection pool associated with a `DBProxyTarget` .", + "title": "ConnectionPoolConfigurationInfo" }, - "Name": { - "markdownDescription": "The name of the certificate revocation list (CRL).", - "title": "Name", - "type": "string" + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more DB cluster identifiers.", + "title": "DBClusterIdentifiers", + "type": "array" }, - "Tags": { + "DBInstanceIdentifiers": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "A list of tags to attach to the certificate revocation list (CRL).", - "title": "Tags", + "markdownDescription": "One or more DB instance identifiers.", + "title": "DBInstanceIdentifiers", "type": "array" }, - "TrustAnchorArn": { - "markdownDescription": "The ARN of the TrustAnchor the certificate revocation list (CRL) will provide revocation for.", - "title": "TrustAnchorArn", + "DBProxyName": { + "markdownDescription": "The identifier of the `DBProxy` that is associated with the `DBProxyTargetGroup` .", + "title": "DBProxyName", + "type": "string" + }, + "TargetGroupName": { + "markdownDescription": "The identifier for the target group.\n\n> Currently, this property must be set to `default` .", + "title": "TargetGroupName", "type": "string" } }, "required": [ - "CrlData", - "Name" + "DBProxyName", + "TargetGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RolesAnywhere::CRL" + "AWS::RDS::DBProxyTargetGroup" ], "type": "string" }, @@ -336083,7 +303107,41 @@ ], "type": "object" }, - "AWS::RolesAnywhere::Profile": { + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "markdownDescription": "The number of seconds for a proxy to wait for a connection to become available in the connection pool. This setting only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.\n\nDefault: `120`\n\nConstraints:\n\n- Must be between 0 and 300.", + "title": "ConnectionBorrowTimeout", + "type": "number" + }, + "InitQuery": { + "markdownDescription": "Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with `SET` statements to make sure that each connection has identical settings. Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty. For including multiple variables in a single SET statement, use a comma separator.\n\nFor example: `SET variable1=value1, variable2=value2`\n\nDefault: no initialization query\n\n> Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. Anyone with access to view or manage your proxy target group configuration can view the initialization query. You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.", + "title": "InitQuery", + "type": "string" + }, + "MaxConnectionsPercent": { + "markdownDescription": "The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group.\n\nIf you specify `MaxIdleConnectionsPercent` , then you must also include a value for this parameter.\n\nDefault: `10` for RDS for Microsoft SQL Server, and `100` for all other engines\n\nConstraints:\n\n- Must be between 1 and 100.", + "title": "MaxConnectionsPercent", + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "markdownDescription": "A value that controls how actively the proxy closes idle database connections in the connection pool. The value is expressed as a percentage of the `max_connections` setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database.\n\nIf you specify this parameter, then you must also include a value for `MaxConnectionsPercent` .\n\nDefault: The default value is half of the value of `MaxConnectionsPercent` . For example, if `MaxConnectionsPercent` is 80, then the default value of `MaxIdleConnectionsPercent` is 40. If the value of `MaxConnectionsPercent` isn't specified, then for SQL Server, `MaxIdleConnectionsPercent` is `5` , and for all other engines, the default is `50` .\n\nConstraints:\n\n- Must be between 0 and the value of `MaxConnectionsPercent` .", + "title": "MaxIdleConnectionsPercent", + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "markdownDescription": "Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior.\n\nDefault: no session pinning filters", + "title": "SessionPinningFilters", + "type": "array" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -336118,78 +303176,42 @@ "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": { + "DBSecurityGroupIngress": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" }, - "markdownDescription": "A list of managed policy ARNs. Managed policies identified by this list will be applied to the vended session credentials.", - "title": "ManagedPolicyArns", + "markdownDescription": "Ingress rules to be applied to the DB security group.", + "title": "DBSecurityGroupIngress", "type": "array" }, - "Name": { - "markdownDescription": "The customer specified name of the resource.", - "title": "Name", + "EC2VpcId": { + "markdownDescription": "The identifier of an Amazon virtual private cloud (VPC). This property indicates the VPC that this DB security group belongs to.\n\n> This property is included for backwards compatibility and is no longer recommended for providing security information to an RDS DB instance.", + "title": "EC2VpcId", "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", + "GroupDescription": { + "markdownDescription": "Provides the description of the DB security group.", + "title": "GroupDescription", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of Tags.", + "markdownDescription": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .", "title": "Tags", "type": "array" } }, "required": [ - "Name", - "RoleArns" + "DBSecurityGroupIngress", + "GroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::RolesAnywhere::Profile" + "AWS::RDS::DBSecurityGroup" ], "type": "string" }, @@ -336208,44 +303230,33 @@ ], "type": "object" }, - "AWS::RolesAnywhere::Profile.AttributeMapping": { + "AWS::RDS::DBSecurityGroup.Ingress": { "additionalProperties": false, "properties": { - "CertificateField": { - "markdownDescription": "Fields (x509Subject, x509Issuer and x509SAN) within X.509 certificates.", - "title": "CertificateField", + "CIDRIP": { + "markdownDescription": "The IP range to authorize.", + "title": "CIDRIP", "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", + "EC2SecurityGroupId": { + "markdownDescription": "Id of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupId", + "type": "string" + }, + "EC2SecurityGroupName": { + "markdownDescription": "Name of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupName", + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "markdownDescription": "AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupOwnerId", "type": "string" } }, - "required": [ - "Specifier" - ], "type": "object" }, - "AWS::RolesAnywhere::TrustAnchor": { + "AWS::RDS::DBSecurityGroupIngress": { "additionalProperties": false, "properties": { "Condition": { @@ -336280,47 +303291,40 @@ "Properties": { "additionalProperties": false, "properties": { - "Enabled": { - "markdownDescription": "Indicates whether the trust anchor is enabled.", - "title": "Enabled", - "type": "boolean" + "CIDRIP": { + "markdownDescription": "The IP range to authorize.", + "title": "CIDRIP", + "type": "string" }, - "Name": { - "markdownDescription": "The name of the trust anchor.", - "title": "Name", + "DBSecurityGroupName": { + "markdownDescription": "The name of the DB security group to add authorization to.", + "title": "DBSecurityGroupName", "type": "string" }, - "NotificationSettings": { - "items": { - "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.NotificationSetting" - }, - "markdownDescription": "A list of notification settings to be associated to the trust anchor.", - "title": "NotificationSettings", - "type": "array" + "EC2SecurityGroupId": { + "markdownDescription": "Id of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupId", + "type": "string" }, - "Source": { - "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.Source", - "markdownDescription": "The trust anchor type and its related certificate data.", - "title": "Source" + "EC2SecurityGroupName": { + "markdownDescription": "Name of the EC2 security group to authorize. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupName", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to attach to the trust anchor.", - "title": "Tags", - "type": "array" + "EC2SecurityGroupOwnerId": { + "markdownDescription": "AWS account number of the owner of the EC2 security group specified in the `EC2SecurityGroupName` parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.", + "title": "EC2SecurityGroupOwnerId", + "type": "string" } }, "required": [ - "Name", - "Source" + "DBSecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::RolesAnywhere::TrustAnchor" + "AWS::RDS::DBSecurityGroupIngress" ], "type": "string" }, @@ -336339,73 +303343,7 @@ ], "type": "object" }, - "AWS::RolesAnywhere::TrustAnchor.NotificationSetting": { - "additionalProperties": false, - "properties": { - "Channel": { - "markdownDescription": "The specified channel of notification. IAM Roles Anywhere uses CloudWatch metrics, EventBridge, and Health Dashboard to notify for an event.\n\n> In the absence of a specific channel, IAM Roles Anywhere applies this setting to 'ALL' channels.", - "title": "Channel", - "type": "string" - }, - "Enabled": { - "markdownDescription": "Indicates whether the notification setting is enabled.", - "title": "Enabled", - "type": "boolean" - }, - "Event": { - "markdownDescription": "The event to which this notification setting is applied.", - "title": "Event", - "type": "string" - }, - "Threshold": { - "markdownDescription": "The number of days before a notification event. This value is required for a notification setting that is enabled.", - "title": "Threshold", - "type": "number" - } - }, - "required": [ - "Enabled", - "Event" - ], - "type": "object" - }, - "AWS::RolesAnywhere::TrustAnchor.Source": { - "additionalProperties": false, - "properties": { - "SourceData": { - "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.SourceData", - "markdownDescription": "A union object representing the data field of the TrustAnchor depending on its type", - "title": "SourceData" - }, - "SourceType": { - "markdownDescription": "The type of the TrustAnchor.", - "title": "SourceType", - "type": "string" - } - }, - "required": [ - "SourceData", - "SourceType" - ], - "type": "object" - }, - "AWS::RolesAnywhere::TrustAnchor.SourceData": { - "additionalProperties": false, - "properties": { - "AcmPcaArn": { - "markdownDescription": "The root certificate of the Private Certificate Authority specified by this ARN is used in trust validation for temporary credential requests. Included for trust anchors of type `AWS_ACM_PCA` .\n\n> This field is not supported in your region.", - "title": "AcmPcaArn", - "type": "string" - }, - "X509CertificateData": { - "markdownDescription": "The PEM-encoded data for the certificate anchor. Included for trust anchors of type `CERTIFICATE_BUNDLE` .", - "title": "X509CertificateData", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::CidrCollection": { + "AWS::RDS::DBShardGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -336440,28 +303378,54 @@ "Properties": { "additionalProperties": false, "properties": { - "Locations": { + "ComputeRedundancy": { + "markdownDescription": "Specifies whether to create standby standby DB data access shard for the DB shard group. Valid values are the following:\n\n- 0 - Creates a DB shard group without a standby DB data access shard. This is the default value.\n- 1 - Creates a DB shard group with a standby DB data access shard in a different Availability Zone (AZ).\n- 2 - Creates a DB shard group with two standby DB data access shard in two different AZs.", + "title": "ComputeRedundancy", + "type": "number" + }, + "DBClusterIdentifier": { + "markdownDescription": "The name of the primary DB cluster for the DB shard group.", + "title": "DBClusterIdentifier", + "type": "string" + }, + "DBShardGroupIdentifier": { + "markdownDescription": "The name of the DB shard group.", + "title": "DBShardGroupIdentifier", + "type": "string" + }, + "MaxACU": { + "markdownDescription": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs).", + "title": "MaxACU", + "type": "number" + }, + "MinACU": { + "markdownDescription": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs).", + "title": "MinACU", + "type": "number" + }, + "PubliclyAccessible": { + "markdownDescription": "Specifies whether the DB shard group is publicly accessible.\n\nWhen the DB shard group is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB shard group's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB shard group's VPC. Access to the DB shard group is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB shard group doesn't permit it.\n\nWhen the DB shard group isn't publicly accessible, it is an internal DB shard group with a DNS name that resolves to a private IP address.\n\nDefault: The default behavior varies depending on whether `DBSubnetGroupName` is specified.\n\nIf `DBSubnetGroupName` isn't specified, and `PubliclyAccessible` isn't specified, the following applies:\n\n- If the default VPC in the target Region doesn\u2019t have an internet gateway attached to it, the DB shard group is private.\n- If the default VPC in the target Region has an internet gateway attached to it, the DB shard group is public.\n\nIf `DBSubnetGroupName` is specified, and `PubliclyAccessible` isn't specified, the following applies:\n\n- If the subnets are part of a VPC that doesn\u2019t have an internet gateway attached to it, the DB shard group is private.\n- If the subnets are part of a VPC that has an internet gateway attached to it, the DB shard group is public.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::CidrCollection.Location" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A complex type that contains information about the list of CIDR locations.", - "title": "Locations", + "markdownDescription": "An optional set of key-value pairs to associate arbitrary data of your choosing with the DB shard group.", + "title": "Tags", "type": "array" - }, - "Name": { - "markdownDescription": "The name of a CIDR collection.", - "title": "Name", - "type": "string" } }, "required": [ - "Name" + "DBClusterIdentifier", + "MaxACU" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::CidrCollection" + "AWS::RDS::DBShardGroup" ], "type": "string" }, @@ -336480,30 +303444,7 @@ ], "type": "object" }, - "AWS::Route53::CidrCollection.Location": { - "additionalProperties": false, - "properties": { - "CidrList": { - "items": { - "type": "string" - }, - "markdownDescription": "List of CIDR blocks.", - "title": "CidrList", - "type": "array" - }, - "LocationName": { - "markdownDescription": "The CIDR collection location name.", - "title": "LocationName", - "type": "string" - } - }, - "required": [ - "CidrList", - "LocationName" - ], - "type": "object" - }, - "AWS::Route53::DNSSEC": { + "AWS::RDS::DBSubnetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -336538,20 +303479,42 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneId": { - "markdownDescription": "A unique string (ID) that is used to identify a hosted zone. For example: `Z00001111A1ABCaaABC11` .", - "title": "HostedZoneId", + "DBSubnetGroupDescription": { + "markdownDescription": "The description for the DB subnet group.", + "title": "DBSubnetGroupDescription", + "type": "string" + }, + "DBSubnetGroupName": { + "markdownDescription": "The name for the DB subnet group. This value is stored as a lowercase string.\n\nConstraints:\n\n- Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens.\n- Must not be default.\n- First character must be a letter.\n\nExample: `mydbsubnetgroup`", + "title": "DBSubnetGroupName", "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The EC2 Subnet IDs for the DB subnet group.", + "title": "SubnetIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the DB subnet group.", + "title": "Tags", + "type": "array" } }, "required": [ - "HostedZoneId" + "DBSubnetGroupDescription", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::DNSSEC" + "AWS::RDS::DBSubnetGroup" ], "type": "string" }, @@ -336570,7 +303533,7 @@ ], "type": "object" }, - "AWS::Route53::HealthCheck": { + "AWS::RDS::EventSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -336605,28 +303568,59 @@ "Properties": { "additionalProperties": false, "properties": { - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckConfig", - "markdownDescription": "A complex type that contains detailed information about one health check.\n\nFor the values to enter for `HealthCheckConfig` , see [HealthCheckConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html)", - "title": "HealthCheckConfig" + "Enabled": { + "markdownDescription": "Specifies whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.", + "title": "Enabled", + "type": "boolean" }, - "HealthCheckTags": { + "EventCategories": { "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + "type": "string" }, - "markdownDescription": "The `HealthCheckTags` property describes key-value pairs that are associated with an `AWS::Route53::HealthCheck` resource.", - "title": "HealthCheckTags", + "markdownDescription": "A list of event categories for a particular source type ( `SourceType` ) that you want to subscribe to. You can see a list of the categories for a given source type in the \"Amazon RDS event categories and event messages\" section of the [*Amazon RDS User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) or the [*Amazon Aurora User Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html) . You can also see this list by using the `DescribeEventCategories` operation.", + "title": "EventCategories", + "type": "array" + }, + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. SNS automatically creates the ARN when you create a topic and subscribe to it.\n\n> RDS doesn't support FIFO (first in, first out) topics. For more information, see [Message ordering and deduplication (FIFO topics)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html) in the *Amazon Simple Notification Service Developer Guide* .", + "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 supplied, `SourceType` must also be provided.\n- If the source type is a DB instance, a `DBInstanceIdentifier` value must be supplied.\n- If the source type is a DB cluster, a `DBClusterIdentifier` value must be supplied.\n- If the source type is a DB parameter group, a `DBParameterGroupName` value must be supplied.\n- If the source type is a DB security group, a `DBSecurityGroupName` value must be supplied.\n- If the source type is a DB snapshot, a `DBSnapshotIdentifier` value must be supplied.\n- If the source type is a DB cluster snapshot, a `DBClusterSnapshotIdentifier` value must be supplied.\n- If the source type is an RDS Proxy, a `DBProxyName` value must be supplied.", + "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 a DB instance, you set this parameter to `db-instance` . For RDS Proxy events, specify `db-proxy` . If this value isn't specified, all events are returned.\n\nValid Values: `db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy | zero-etl | custom-engine-version | blue-green-deployment`", + "title": "SourceType", + "type": "string" + }, + "SubscriptionName": { + "markdownDescription": "The name of the subscription.\n\nConstraints: The name must be less than 255 characters.", + "title": "SubscriptionName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional array of key-value pairs to apply to this subscription.", + "title": "Tags", "type": "array" } }, "required": [ - "HealthCheckConfig" + "SnsTopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::HealthCheck" + "AWS::RDS::EventSubscription" ], "type": "string" }, @@ -336645,147 +303639,7 @@ ], "type": "object" }, - "AWS::Route53::HealthCheck.AlarmIdentifier": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.\n\n> Route 53 supports CloudWatch alarms with the following features:\n> \n> - Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see [High-Resolution Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) in the *Amazon CloudWatch User Guide* .\n> - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.", - "title": "Name", - "type": "string" - }, - "Region": { - "markdownDescription": "For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, the region that the alarm was created in.\n\nFor the current list of CloudWatch regions, see [Amazon CloudWatch endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/cw_region.html) in the *Amazon Web Services General Reference* .", - "title": "Region", - "type": "string" - } - }, - "required": [ - "Name", - "Region" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "AlarmIdentifier": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.AlarmIdentifier", - "markdownDescription": "A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.", - "title": "AlarmIdentifier" - }, - "ChildHealthChecks": { - "items": { - "type": "string" - }, - "markdownDescription": "(CALCULATED Health Checks Only) A complex type that contains one `ChildHealthCheck` element for each health check that you want to associate with a `CALCULATED` health check.", - "title": "ChildHealthChecks", - "type": "array" - }, - "EnableSNI": { - "markdownDescription": "Specify whether you want Amazon Route 53 to send the value of `FullyQualifiedDomainName` to the endpoint in the `client_hello` message during TLS negotiation. This allows the endpoint to respond to `HTTPS` health check requests with the applicable SSL/TLS certificate.\n\nSome endpoints require that `HTTPS` requests include the host name in the `client_hello` message. If you don't enable SNI, the status of the health check will be `SSL alert handshake_failure` . A health check can also have that status for other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.\n\nThe SSL/TLS certificate on your endpoint includes a domain name in the `Common Name` field and possibly several more in the `Subject Alternative Names` field. One of the domain names in the certificate should match the value that you specify for `FullyQualifiedDomainName` . If the endpoint responds to the `client_hello` message with a certificate that does not include the domain name that you specified in `FullyQualifiedDomainName` , a health checker will retry the handshake. In the second attempt, the health checker will omit `FullyQualifiedDomainName` from the `client_hello` message.", - "title": "EnableSNI", - "type": "boolean" - }, - "FailureThreshold": { - "markdownDescription": "The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .\n\n`FailureThreshold` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\nOtherwise, if you don't specify a value for `FailureThreshold` , the default value is three health checks.", - "title": "FailureThreshold", - "type": "number" - }, - "FullyQualifiedDomainName": { - "markdownDescription": "Amazon Route 53 behavior depends on whether you specify a value for `IPAddress` .\n\n*If you specify a value for* `IPAddress` :\n\nAmazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of `FullyQualifiedDomainName` in the `Host` header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks.\n\nWhen Route 53 checks the health of an endpoint, here is how it constructs the `Host` header:\n\n- If you specify a value of `80` for `Port` and `HTTP` or `HTTP_STR_MATCH` for `Type` , Route 53 passes the value of `FullyQualifiedDomainName` to the endpoint in the Host header.\n- If you specify a value of `443` for `Port` and `HTTPS` or `HTTPS_STR_MATCH` for `Type` , Route 53 passes the value of `FullyQualifiedDomainName` to the endpoint in the `Host` header.\n- If you specify another value for `Port` and any value except `TCP` for `Type` , Route 53 passes `FullyQualifiedDomainName:Port` to the endpoint in the `Host` header.\n\nIf you don't specify a value for `FullyQualifiedDomainName` , Route 53 substitutes the value of `IPAddress` in the `Host` header in each of the preceding cases.\n\n*If you don't specify a value for `IPAddress`* :\n\nRoute 53 sends a DNS request to the domain that you specify for `FullyQualifiedDomainName` at the interval that you specify for `RequestInterval` . Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.\n\n> If you don't specify a value for `IPAddress` , Route 53 uses only IPv4 to send health checks to the endpoint. If there's no record with a type of A for the name that you specify for `FullyQualifiedDomainName` , the health check fails with a \"DNS resolution failed\" error. \n\nIf you want to check the health of multiple records that have the same name and type, such as multiple weighted records, and if you choose to specify the endpoint only by `FullyQualifiedDomainName` , we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as us-east-2-www.example.com), not the name of the records (www.example.com).\n\n> In this configuration, if you create a health check for which the value of `FullyQualifiedDomainName` matches the name of the records and you then associate the health check with those records, health check results will be unpredictable. \n\nIn addition, if the value that you specify for `Type` is `HTTP` , `HTTPS` , `HTTP_STR_MATCH` , or `HTTPS_STR_MATCH` , Route 53 passes the value of `FullyQualifiedDomainName` in the `Host` header, as it does when you specify a value for `IPAddress` . If the value of `Type` is `TCP` , Route 53 doesn't pass a `Host` header.", - "title": "FullyQualifiedDomainName", - "type": "string" - }, - "HealthThreshold": { - "markdownDescription": "The number of child health checks that are associated with a `CALCULATED` health check that Amazon Route 53 must consider healthy for the `CALCULATED` health check to be considered healthy. To specify the child health checks that you want to associate with a `CALCULATED` health check, use the [ChildHealthChecks](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-ChildHealthChecks) element.\n\nNote the following:\n\n- If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.\n- If you specify `0` , Route 53 always considers this health check to be healthy.", - "title": "HealthThreshold", - "type": "number" - }, - "IPAddress": { - "markdownDescription": "The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for `IPAddress` , Route 53 sends a DNS request to resolve the domain name that you specify in `FullyQualifiedDomainName` at the interval that you specify in `RequestInterval` . Using an IP address returned by DNS, Route 53 then checks the health of the endpoint.\n\nUse one of the following formats for the value of `IPAddress` :\n\n- *IPv4 address* : four values between 0 and 255, separated by periods (.), for example, `192.0.2.44` .\n- *IPv6 address* : eight groups of four hexadecimal values, separated by colons (:), for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345` . You can also shorten IPv6 addresses as described in RFC 5952, for example, `2001:db8:85a3::abcd:1:2345` .\n\nIf the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for `IPAddress` . This ensures that the IP address of your instance will never change.\n\nFor more information, see [FullyQualifiedDomainName](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName) .\n\nConstraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:\n\n- [RFC 5735, Special Use IPv4 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5735)\n- [RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6598)\n- [RFC 5156, Special-Use IPv6 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5156)\n\nWhen the value of `Type` is `CALCULATED` or `CLOUDWATCH_METRIC` , omit `IPAddress` .", - "title": "IPAddress", - "type": "string" - }, - "InsufficientDataHealthStatus": { - "markdownDescription": "When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:\n\n- `Healthy` : Route 53 considers the health check to be healthy.\n- `Unhealthy` : Route 53 considers the health check to be unhealthy.\n- `LastKnownStatus` : Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.", - "title": "InsufficientDataHealthStatus", - "type": "string" - }, - "Inverted": { - "markdownDescription": "Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.", - "title": "Inverted", - "type": "boolean" - }, - "MeasureLatency": { - "markdownDescription": "Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the *Health Checks* page in the Route 53 console.\n\n`MeasureLatency` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\n> You can't change the value of `MeasureLatency` after you create a health check.", - "title": "MeasureLatency", - "type": "boolean" - }, - "Port": { - "markdownDescription": "The port on the endpoint that you want Amazon Route 53 to perform health checks on.\n\n> Don't specify a value for `Port` when you specify a value for [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type) of `CLOUDWATCH_METRIC` or `CALCULATED` .", - "title": "Port", - "type": "number" - }, - "Regions": { - "items": { - "type": "string" - }, - "markdownDescription": "A complex type that contains one `Region` element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.\n\nIf you don't specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under *Valid Values* .\n\nIf you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with four different regions).", - "title": "Regions", - "type": "array" - }, - "RequestInterval": { - "markdownDescription": "The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Route 53 health checker makes requests at this interval.\n\n`RequestInterval` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\n> You can't change the value of `RequestInterval` after you create a health check. \n\nIf you don't specify a value for `RequestInterval` , the default value is `30` seconds.", - "title": "RequestInterval", - "type": "number" - }, - "ResourcePath": { - "markdownDescription": "The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. You can also include query string parameters, for example, `/welcome.html?language=jp&login=y` .", - "title": "ResourcePath", - "type": "string" - }, - "RoutingControlArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control.\n\nFor more information about Route 53 Application Recovery Controller, see [Route 53 Application Recovery Controller Developer Guide.](https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route-53-recovery.html) .", - "title": "RoutingControlArn", - "type": "string" - }, - "SearchString": { - "markdownDescription": "If the value of Type is `HTTP_STR_MATCH` or `HTTPS_STR_MATCH` , the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy.\n\nRoute 53 considers case when searching for `SearchString` in the response body.", - "title": "SearchString", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.\n\n> You can't change the value of `Type` after you create a health check. \n\nYou can create the following types of health checks:\n\n- *HTTP* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.\n- *HTTPS* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.\n\n> If you specify `HTTPS` for the value of `Type` , the endpoint must support TLS v1.0 or later.\n- *HTTP_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in `SearchString` .\n- *HTTPS_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an `HTTPS` request and searches the first 5,120 bytes of the response body for the string that you specify in `SearchString` .\n- *TCP* : Route 53 tries to establish a TCP connection.\n- *CLOUDWATCH_METRIC* : The health check is associated with a CloudWatch alarm. If the state of the alarm is `OK` , the health check is considered healthy. If the state is `ALARM` , the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is `OK` or `ALARM` , the health check status depends on the setting for `InsufficientDataHealthStatus` : `Healthy` , `Unhealthy` , or `LastKnownStatus` .\n\n> Route 53 supports CloudWatch alarms with the following features:\n> \n> - Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see [High-Resolution Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) in the *Amazon CloudWatch User Guide* .\n> - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.\n- *CALCULATED* : For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of `HealthThreshold` .\n- *RECOVERY_CONTROL* : The health check is assocated with a Route53 Application Recovery Controller routing control. If the routing control state is `ON` , the health check is considered healthy. If the state is `OFF` , the health check is considered unhealthy.\n\nFor more information, see [How Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck.HealthCheckTag": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The value of `Key` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Key` is the name that you want to give the new tag.\n- *Edit a tag* : `Key` is the name of the tag that you want to change the `Value` for.\n- *Delete a key* : `Key` is the name of the tag you want to remove.\n- *Give a name to a health check* : Edit the default `Name` tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of `Value` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Value` is the value that you want to give the new tag.\n- *Edit a tag* : `Value` is the new value that you want to assign the tag.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone": { + "AWS::RDS::GlobalCluster": { "additionalProperties": false, "properties": { "Condition": { @@ -336820,40 +303674,47 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig", - "markdownDescription": "A complex type that contains an optional comment.\n\nIf you don't want to specify a comment, omit the `HostedZoneConfig` and `Comment` elements.", - "title": "HostedZoneConfig" + "DeletionProtection": { + "markdownDescription": "Specifies whether to enable deletion protection for the new global database cluster. The global database can't be deleted when deletion protection is enabled.", + "title": "DeletionProtection", + "type": "boolean" }, - "HostedZoneFeatures": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneFeatures", - "markdownDescription": "The features configuration for the hosted zone, including accelerated recovery settings and status information.", - "title": "HostedZoneFeatures" + "Engine": { + "markdownDescription": "The database engine to use for this global database cluster.\n\nValid Values: `aurora-mysql | aurora-postgresql`\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine of the source DB cluster.", + "title": "Engine", + "type": "string" }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "markdownDescription": "Adds, edits, or deletes tags for a health check or a hosted zone.\n\nFor information about using tags for cost allocation, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the *Billing and Cost Management User Guide* .", - "title": "HostedZoneTags", - "type": "array" + "EngineLifecycleSupport": { + "markdownDescription": "The life cycle type for this global database cluster.\n\n> By default, this value is set to `open-source-rds-extended-support` , which enrolls your global cluster into Amazon RDS Extended Support. At the end of standard support, you can avoid charges for Extended Support by setting the value to `open-source-rds-extended-support-disabled` . In this case, creating the global cluster will fail if the DB major version is past its end of standard support date. \n\nThis setting only applies to Aurora PostgreSQL-based global databases.\n\nYou can use this setting to enroll your global cluster into Amazon RDS Extended Support. With RDS Extended Support, you can run the selected major engine version on your global cluster past the end of standard support for that engine version. For more information, see [Amazon RDS Extended Support with Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html) in the *Amazon Aurora User Guide* .\n\nValid Values: `open-source-rds-extended-support | open-source-rds-extended-support-disabled`\n\nDefault: `open-source-rds-extended-support`", + "title": "EngineLifecycleSupport", + "type": "string" }, - "Name": { - "markdownDescription": "The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical.\n\nIf you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of `NameServers` that are returned by the `Fn::GetAtt` intrinsic function.", - "title": "Name", + "EngineVersion": { + "markdownDescription": "The engine version to use for this global database cluster.\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the engine version of the source DB cluster.", + "title": "EngineVersion", + "type": "string" + }, + "GlobalClusterIdentifier": { + "markdownDescription": "The cluster identifier for this global database cluster. This parameter is stored as a lowercase string.", + "title": "GlobalClusterIdentifier", + "type": "string" + }, + "SourceDBClusterIdentifier": { + "markdownDescription": "The Amazon Resource Name (ARN) to use as the primary cluster of the global database.\n\nIf you provide a value for this parameter, don't specify values for the following settings because Amazon Aurora uses the values from the specified source DB cluster:\n\n- `DatabaseName`\n- `Engine`\n- `EngineVersion`\n- `StorageEncrypted`", + "title": "SourceDBClusterIdentifier", "type": "string" }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig", - "markdownDescription": "Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.\n\nDNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:\n\n- Route 53 edge location that responded to the DNS query\n- Domain or subdomain that was requested\n- DNS record type, such as A or AAAA\n- DNS response code, such as `NoError` or `ServFail`\n\n- **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations.\n\n> If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. \n\n- Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:\n\n- You must create the log group in the us-east-1 region.\n- You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for.\n- When you create log groups for query logging, we recommend that you use a consistent prefix, for example:\n\n`/aws/route53/ *hosted zone name*`\n\nIn the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.\n- Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of `Resource` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with `*` , for example:\n\n`arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`\n\nTo avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values:\n\n- For `aws:SourceArn` , supply the hosted zone ARN used in creating the query logging configuration. For example, `aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID` .\n- For `aws:SourceAccount` , supply the account ID for the account that creates the query logging configuration. For example, `aws:SourceAccount:111111111111` .\n\nFor more information, see [The confused deputy problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) in the *AWS IAM User Guide* .\n\n> You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI .\n- **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following:\n\n- Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location.\n- Begins to send query logs to the applicable log stream.\n\nThe name of each log stream is in the following format:\n\n`*hosted zone ID* / *edge location code*`\n\nThe edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the [Route 53 Product Details](https://docs.aws.amazon.com/route53/details/) page.\n- **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see [Routing Internet Traffic to Your Website or Web Application](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html) in the *Amazon Route 53 Developer Guide* .\n- **Log File Format** - For a list of the values in each query log and the format of each value, see [Logging DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) in the *Amazon Route 53 Developer Guide* .\n- **Pricing** - For information about charges for query logs, see [Amazon CloudWatch Pricing](https://docs.aws.amazon.com/cloudwatch/pricing/) .\n- **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see [DeleteQueryLoggingConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html) .", - "title": "QueryLoggingConfig" + "StorageEncrypted": { + "markdownDescription": "Specifies whether to enable storage encryption for the new global database cluster.\n\nConstraints:\n\n- Can't be specified if `SourceDBClusterIdentifier` is specified. In this case, Amazon Aurora uses the setting from the source DB cluster.", + "title": "StorageEncrypted", + "type": "boolean" }, - "VPCs": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "*Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", - "title": "VPCs", + "markdownDescription": "Metadata assigned to an Amazon RDS resource consisting of a key-value pair.\n\nFor more information, see [Tagging Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html) in the *Amazon RDS User Guide* or [Tagging Amazon Aurora and Amazon RDS resources](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html) in the *Amazon Aurora User Guide* .", + "title": "Tags", "type": "array" } }, @@ -336861,7 +303722,7 @@ }, "Type": { "enum": [ - "AWS::Route53::HostedZone" + "AWS::RDS::GlobalCluster" ], "type": "string" }, @@ -336879,83 +303740,18 @@ ], "type": "object" }, - "AWS::Route53::HostedZone.HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "markdownDescription": "Any comments that you want to include about the hosted zone.", - "title": "Comment", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneFeatures": { - "additionalProperties": false, - "properties": { - "EnableAcceleratedRecovery": { - "markdownDescription": "", - "title": "EnableAcceleratedRecovery", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The value of `Key` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Key` is the name that you want to give the new tag.\n- *Edit a tag* : `Key` is the name of the tag that you want to change the `Value` for.\n- *Delete a key* : `Key` is the name of the tag you want to remove.\n- *Give a name to a health check* : Edit the default `Name` tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of `Value` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Value` is the value that you want to give the new tag.\n- *Edit a tag* : `Value` is the new value that you want to assign the tag.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.", - "title": "CloudWatchLogsLogGroupArn", - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.VPC": { + "AWS::RDS::GlobalCluster.GlobalEndpoint": { "additionalProperties": false, "properties": { - "VPCId": { - "markdownDescription": "*Private hosted zones only:* The ID of an Amazon VPC.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", - "title": "VPCId", - "type": "string" - }, - "VPCRegion": { - "markdownDescription": "*Private hosted zones only:* The region that an Amazon VPC was created in.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", - "title": "VPCRegion", + "Address": { + "markdownDescription": "The writer endpoint for the new global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.", + "title": "Address", "type": "string" } }, - "required": [ - "VPCId", - "VPCRegion" - ], "type": "object" }, - "AWS::Route53::KeySigningKey": { + "AWS::RDS::Integration": { "additionalProperties": false, "properties": { "Condition": { @@ -336990,38 +303786,65 @@ "Properties": { "additionalProperties": false, "properties": { - "HostedZoneId": { - "markdownDescription": "The unique string (ID) that is used to identify a hosted zone. For example: `Z00001111A1ABCaaABC11` .", - "title": "HostedZoneId", + "AdditionalEncryptionContext": { + "additionalProperties": true, + "markdownDescription": "An optional set of non-secret key\u2013value pairs that contains additional contextual information about the data. For more information, see [Encryption context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) in the *AWS Key Management Service Developer Guide* .\n\nYou can only include this parameter if you specify the `KMSKeyId` parameter.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "AdditionalEncryptionContext", + "type": "object" + }, + "DataFilter": { + "markdownDescription": "Data filters for the integration. These filters determine which tables from the source database are sent to the target Amazon Redshift data warehouse.", + "title": "DataFilter", "type": "string" }, - "KeyManagementServiceArn": { - "markdownDescription": "The Amazon resource name (ARN) for a customer managed customer master key (CMK) in AWS Key Management Service ( AWS ). The `KeyManagementServiceArn` must be unique for each key-signing key (KSK) in a single hosted zone. For example: `arn:aws:kms:us-east-1:111122223333:key/111a2222-a11b-1ab1-2ab2-1ab21a2b3a111` .", - "title": "KeyManagementServiceArn", + "Description": { + "markdownDescription": "A description of the integration.", + "title": "Description", "type": "string" }, - "Name": { - "markdownDescription": "A string used to identify a key-signing key (KSK). `Name` can include numbers, letters, and underscores (_). `Name` must be unique for each key-signing key in the same hosted zone.", - "title": "Name", + "IntegrationName": { + "markdownDescription": "The name of the integration.", + "title": "IntegrationName", "type": "string" }, - "Status": { - "markdownDescription": "A string that represents the current key-signing key (KSK) status.\n\nStatus can have one of the following values:\n\n- **ACTIVE** - The KSK is being used for signing.\n- **INACTIVE** - The KSK is not being used for signing.\n- **DELETING** - The KSK is in the process of being deleted.\n- **ACTION_NEEDED** - There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed key might have been deleted, or the permissions for the customer managed key might have been changed.\n- **INTERNAL_FAILURE** - There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.", - "title": "Status", + "KMSKeyId": { + "markdownDescription": "The AWS Key Management System ( AWS KMS) key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, RDS uses a default AWS owned key.", + "title": "KMSKeyId", + "type": "string" + }, + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the database to use as the source for replication.", + "title": "SourceArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An optional array of key-value pairs to apply to this integration.", + "title": "Tags", + "type": "array" + }, + "TargetArn": { + "markdownDescription": "The ARN of the Redshift data warehouse to use as the target for replication.", + "title": "TargetArn", "type": "string" } }, "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" + "SourceArn", + "TargetArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::KeySigningKey" + "AWS::RDS::Integration" ], "type": "string" }, @@ -337040,7 +303863,7 @@ ], "type": "object" }, - "AWS::Route53::RecordSet": { + "AWS::RDS::OptionGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -337075,99 +303898,53 @@ "Properties": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget", - "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", - "title": "AliasTarget" - }, - "CidrRoutingConfig": { - "$ref": "#/definitions/AWS::Route53::RecordSet.CidrRoutingConfig", - "markdownDescription": "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.\n\nA `LocationName` with an asterisk \u201c*\u201d can be used to create a default CIDR record. `CollectionId` is still required for default record.", - "title": "CidrRoutingConfig" - }, - "Comment": { - "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", - "title": "Comment", - "type": "string" - }, - "Failover": { - "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", - "title": "Failover", - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation", - "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", - "title": "GeoLocation" - }, - "HealthCheckId": { - "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", - "title": "HealthCheckId", - "type": "string" - }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneId", - "type": "string" - }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an AWS::Route53::RecordSet that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", - "type": "string" - }, - "MultiValueAnswer": { - "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", - "title": "MultiValueAnswer", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", - "title": "Name", + "EngineName": { + "markdownDescription": "Specifies the name of the engine that this option group should be associated with.\n\nValid Values:\n\n- `mariadb`\n- `mysql`\n- `oracle-ee`\n- `oracle-ee-cdb`\n- `oracle-se2`\n- `oracle-se2-cdb`\n- `postgres`\n- `sqlserver-ee`\n- `sqlserver-se`\n- `sqlserver-ex`\n- `sqlserver-web`", + "title": "EngineName", "type": "string" }, - "Region": { - "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", - "title": "Region", + "MajorEngineVersion": { + "markdownDescription": "Specifies the major version of the engine that this option group should be associated with.", + "title": "MajorEngineVersion", "type": "string" }, - "ResourceRecords": { + "OptionConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" }, - "markdownDescription": "One or more values that correspond with the value that you specified for the `Type` property. For example, if you specified `A` for `Type` , you specify one or more IP addresses in IPv4 format for `ResourceRecords` . For information about the format of values for each record type, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nNote the following:\n\n- You can specify more than one value for all record types except CNAME and SOA.\n- The maximum length of a value is 4000 characters.\n- If you're creating an alias record, omit `ResourceRecords` .", - "title": "ResourceRecords", + "markdownDescription": "A list of all available options for an option group.", + "title": "OptionConfigurations", "type": "array" }, - "SetIdentifier": { - "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", - "title": "SetIdentifier", - "type": "string" - }, - "TTL": { - "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", - "title": "TTL", + "OptionGroupDescription": { + "markdownDescription": "The description of the option group.", + "title": "OptionGroupDescription", "type": "string" }, - "Type": { - "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "Type", + "OptionGroupName": { + "markdownDescription": "The name of the option group to be created.\n\nConstraints:\n\n- Must be 1 to 255 letters, numbers, or hyphens\n- First character must be a letter\n- Can't end with a hyphen or contain two consecutive hyphens\n\nExample: `myoptiongroup`\n\nIf you don't specify a value for `OptionGroupName` property, a name is automatically created for the option group.\n\n> This value is stored as a lowercase string.", + "title": "OptionGroupName", "type": "string" }, - "Weight": { - "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", - "title": "Weight", - "type": "number" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to assign to the option group.", + "title": "Tags", + "type": "array" } }, "required": [ - "Name", - "Type" + "EngineName", + "MajorEngineVersion", + "OptionGroupDescription" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSet" + "AWS::RDS::OptionGroup" ], "type": "string" }, @@ -337186,73 +303963,71 @@ ], "type": "object" }, - "AWS::Route53::RecordSet.AliasTarget": { + "AWS::RDS::OptionGroup.OptionConfiguration": { "additionalProperties": false, "properties": { - "DNSName": { - "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "DNSName", + "DBSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of DB security groups used for this option.", + "title": "DBSecurityGroupMemberships", + "type": "array" + }, + "OptionName": { + "markdownDescription": "The configuration of options to include in a group.", + "title": "OptionName", "type": "string" }, - "EvaluateTargetHealth": { - "markdownDescription": "*Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets:* When `EvaluateTargetHealth` is `true` , an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **API Gateway APIs** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an API Gateway API. However, because API Gateway is highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket. However, because S3 buckets are highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **VPC interface endpoints** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is a VPC interface endpoint. However, because VPC interface endpoints are highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\n> While `EvaluateTargetHealth` can be set to `true` for highly available AWS services (such as S3 buckets, VPC interface endpoints, and API Gateway), these services are designed for high availability and rarely experience outages that would be detected by this feature. For failover scenarios with these services, consider using [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) that monitor your application's ability to access the service instead. \n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", - "title": "EvaluateTargetHealth", - "type": "boolean" + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" + }, + "markdownDescription": "The option settings to include in an option group.", + "title": "OptionSettings", + "type": "array" }, - "HostedZoneId": { - "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing Endpoints and Quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", - "title": "HostedZoneId", - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.CidrRoutingConfig": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "markdownDescription": "The CIDR collection ID.", - "title": "CollectionId", + "OptionVersion": { + "markdownDescription": "The version for the option.", + "title": "OptionVersion", "type": "string" }, - "LocationName": { - "markdownDescription": "The CIDR collection location name.", - "title": "LocationName", - "type": "string" + "Port": { + "markdownDescription": "The optional port for the option.", + "title": "Port", + "type": "number" + }, + "VpcSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of VPC security group names used for this option.", + "title": "VpcSecurityGroupMemberships", + "type": "array" } }, "required": [ - "CollectionId", - "LocationName" + "OptionName" ], "type": "object" }, - "AWS::Route53::RecordSet.GeoLocation": { + "AWS::RDS::OptionGroup.OptionSetting": { "additionalProperties": false, "properties": { - "ContinentCode": { - "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", - "title": "ContinentCode", - "type": "string" - }, - "CountryCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", - "title": "CountryCode", + "Name": { + "markdownDescription": "The name of the option that has settings that you can set.", + "title": "Name", "type": "string" }, - "SubdivisionCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", - "title": "SubdivisionCode", + "Value": { + "markdownDescription": "The current value of the option setting.", + "title": "Value", "type": "string" } }, "type": "object" }, - "AWS::Route53::RecordSetGroup": { + "AWS::RTBFabric::InboundExternalLink": { "additionalProperties": false, "properties": { "Condition": { @@ -337287,35 +304062,39 @@ "Properties": { "additionalProperties": false, "properties": { - "Comment": { - "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", - "title": "Comment", + "GatewayId": { + "markdownDescription": "", + "title": "GatewayId", "type": "string" }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneId", - "type": "string" + "LinkAttributes": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkAttributes", + "markdownDescription": "", + "title": "LinkAttributes" }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", - "type": "string" + "LinkLogSettings": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkLogSettings", + "markdownDescription": "", + "title": "LinkLogSettings" }, - "RecordSets": { + "Tags": { "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A complex type that contains one `RecordSet` element for each record that you want to create.", - "title": "RecordSets", + "markdownDescription": "", + "title": "Tags", "type": "array" } }, + "required": [ + "GatewayId", + "LinkLogSettings" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::RTBFabric::InboundExternalLink" ], "type": "string" }, @@ -337329,216 +304108,113 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "DNSName", - "type": "string" - }, - "EvaluateTargetHealth": { - "markdownDescription": "*Applies only to alias records with any routing policy:* When `EvaluateTargetHealth` is `true` , an alias record inherits the health of the referenced AWS resource, such as an ELB load balancer or another record in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", - "title": "EvaluateTargetHealth", - "type": "boolean" - }, - "HostedZoneId": { - "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing endpoints and quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", - "title": "HostedZoneId", - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.CidrRoutingConfig": { + "AWS::RTBFabric::InboundExternalLink.ApplicationLogs": { "additionalProperties": false, "properties": { - "CollectionId": { - "markdownDescription": "The CIDR collection ID.", - "title": "CollectionId", - "type": "string" - }, - "LocationName": { - "markdownDescription": "The CIDR collection location name.", - "title": "LocationName", - "type": "string" + "LinkApplicationLogSampling": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.LinkApplicationLogSampling", + "markdownDescription": "", + "title": "LinkApplicationLogSampling" } }, "required": [ - "CollectionId", - "LocationName" + "LinkApplicationLogSampling" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.Coordinates": { + "AWS::RTBFabric::InboundExternalLink.LinkApplicationLogSampling": { "additionalProperties": false, "properties": { - "Latitude": { - "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", - "title": "Latitude", - "type": "string" + "ErrorLog": { + "markdownDescription": "", + "title": "ErrorLog", + "type": "number" }, - "Longitude": { - "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", - "title": "Longitude", - "type": "string" + "FilterLog": { + "markdownDescription": "", + "title": "FilterLog", + "type": "number" } }, "required": [ - "Latitude", - "Longitude" + "ErrorLog", + "FilterLog" ], "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoLocation": { + "AWS::RTBFabric::InboundExternalLink.LinkAttributes": { "additionalProperties": false, "properties": { - "ContinentCode": { - "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", - "title": "ContinentCode", - "type": "string" - }, - "CountryCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", - "title": "CountryCode", + "CustomerProvidedId": { + "markdownDescription": "", + "title": "CustomerProvidedId", "type": "string" }, - "SubdivisionCode": { - "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", - "title": "SubdivisionCode", - "type": "string" + "ResponderErrorMasking": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.ResponderErrorMaskingForHttpCode" + }, + "markdownDescription": "", + "title": "ResponderErrorMasking", + "type": "array" } }, "type": "object" }, - "AWS::Route53::RecordSetGroup.GeoProximityLocation": { + "AWS::RTBFabric::InboundExternalLink.LinkLogSettings": { "additionalProperties": false, "properties": { - "AWSRegion": { - "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", - "title": "AWSRegion", - "type": "string" - }, - "Bias": { - "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", - "title": "Bias", - "type": "number" - }, - "Coordinates": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.Coordinates", - "markdownDescription": "Contains the longitude and latitude for a geographic region.", - "title": "Coordinates" - }, - "LocalZoneGroup": { - "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", - "title": "LocalZoneGroup", - "type": "string" + "ApplicationLogs": { + "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink.ApplicationLogs", + "markdownDescription": "", + "title": "ApplicationLogs" } }, + "required": [ + "ApplicationLogs" + ], "type": "object" }, - "AWS::Route53::RecordSetGroup.RecordSet": { + "AWS::RTBFabric::InboundExternalLink.ResponderErrorMaskingForHttpCode": { "additionalProperties": false, "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget", - "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", - "title": "AliasTarget" - }, - "CidrRoutingConfig": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.CidrRoutingConfig", + "Action": { "markdownDescription": "", - "title": "CidrRoutingConfig" - }, - "Failover": { - "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", - "title": "Failover", - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation", - "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", - "title": "GeoLocation" - }, - "GeoProximityLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoProximityLocation", - "markdownDescription": "A complex type that contains information about a geographic location.", - "title": "GeoProximityLocation" - }, - "HealthCheckId": { - "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", - "title": "HealthCheckId", - "type": "string" - }, - "HostedZoneId": { - "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .\n\nDo not provide the `HostedZoneId` if it is already defined in `AWS::Route53::RecordSetGroup` . The creation fails if `HostedZoneId` is defined in both.", - "title": "HostedZoneId", - "type": "string" - }, - "HostedZoneName": { - "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", - "title": "HostedZoneName", - "type": "string" - }, - "MultiValueAnswer": { - "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", - "title": "MultiValueAnswer", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", - "title": "Name", + "title": "Action", "type": "string" }, - "Region": { - "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", - "title": "Region", + "HttpCode": { + "markdownDescription": "", + "title": "HttpCode", "type": "string" }, - "ResourceRecords": { + "LoggingTypes": { "items": { "type": "string" }, - "markdownDescription": "Information about the records that you want to create. Each record should be in the format appropriate for the record type specified by the `Type` property. For information about different record types and their record formats, see [Values That You Specify When You Create or Edit Amazon Route 53 Records](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html) in the *Amazon Route 53 Developer Guide* .", - "title": "ResourceRecords", + "markdownDescription": "", + "title": "LoggingTypes", "type": "array" }, - "SetIdentifier": { - "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", - "title": "SetIdentifier", - "type": "string" - }, - "TTL": { - "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", - "title": "TTL", - "type": "string" - }, - "Type": { - "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", - "title": "Type", - "type": "string" - }, - "Weight": { - "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", - "title": "Weight", + "ResponseLoggingPercentage": { + "markdownDescription": "", + "title": "ResponseLoggingPercentage", "type": "number" } }, "required": [ - "Name", - "Type" + "Action", + "HttpCode", + "LoggingTypes" ], "type": "object" }, - "AWS::Route53GlobalResolver::AccessSource": { + "AWS::RTBFabric::Link": { "additionalProperties": false, "properties": { "Condition": { @@ -337573,41 +304249,58 @@ "Properties": { "additionalProperties": false, "properties": { - "Cidr": { + "GatewayId": { + "markdownDescription": "The unique identifier of the gateway.", + "title": "GatewayId", "type": "string" }, - "ClientToken": { - "type": "string" + "HttpResponderAllowed": { + "markdownDescription": "Boolean to specify if an HTTP responder is allowed.", + "title": "HttpResponderAllowed", + "type": "boolean" }, - "DnsViewId": { - "type": "string" + "LinkAttributes": { + "$ref": "#/definitions/AWS::RTBFabric::Link.LinkAttributes", + "markdownDescription": "Attributes of the link.", + "title": "LinkAttributes" }, - "IpAddressType": { - "type": "string" + "LinkLogSettings": { + "$ref": "#/definitions/AWS::RTBFabric::Link.LinkLogSettings", + "markdownDescription": "Settings for the application logs.", + "title": "LinkLogSettings" }, - "Name": { - "type": "string" + "ModuleConfigurationList": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::Link.ModuleConfiguration" + }, + "markdownDescription": "", + "title": "ModuleConfigurationList", + "type": "array" }, - "Protocol": { + "PeerGatewayId": { + "markdownDescription": "The unique identifier of the peer gateway.", + "title": "PeerGatewayId", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", + "title": "Tags", "type": "array" } }, "required": [ - "Cidr", - "DnsViewId", - "Protocol" + "GatewayId", + "LinkLogSettings", + "PeerGatewayId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::AccessSource" + "AWS::RTBFabric::Link" ], "type": "string" }, @@ -337626,7 +304319,299 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::AccessToken": { + "AWS::RTBFabric::Link.Action": { + "additionalProperties": false, + "properties": { + "HeaderTag": { + "$ref": "#/definitions/AWS::RTBFabric::Link.HeaderTagAction", + "markdownDescription": "Describes the header tag for a bid action.", + "title": "HeaderTag" + }, + "NoBid": { + "$ref": "#/definitions/AWS::RTBFabric::Link.NoBidAction", + "markdownDescription": "Describes the parameters of a no bid module.", + "title": "NoBid" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.ApplicationLogs": { + "additionalProperties": false, + "properties": { + "LinkApplicationLogSampling": { + "$ref": "#/definitions/AWS::RTBFabric::Link.LinkApplicationLogSampling", + "markdownDescription": "Describes a link application log sample.", + "title": "LinkApplicationLogSampling" + } + }, + "required": [ + "LinkApplicationLogSampling" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.Filter": { + "additionalProperties": false, + "properties": { + "Criteria": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::Link.FilterCriterion" + }, + "markdownDescription": "Describes the criteria for a filter.", + "title": "Criteria", + "type": "array" + } + }, + "required": [ + "Criteria" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.FilterCriterion": { + "additionalProperties": false, + "properties": { + "Path": { + "markdownDescription": "The path to filter.", + "title": "Path", + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value to filter.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "Path", + "Values" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.HeaderTagAction": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the bid action.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the bid action.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.LinkApplicationLogSampling": { + "additionalProperties": false, + "properties": { + "ErrorLog": { + "markdownDescription": "An error log entry.", + "title": "ErrorLog", + "type": "number" + }, + "FilterLog": { + "markdownDescription": "A filter log entry.", + "title": "FilterLog", + "type": "number" + } + }, + "required": [ + "ErrorLog", + "FilterLog" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.LinkAttributes": { + "additionalProperties": false, + "properties": { + "CustomerProvidedId": { + "markdownDescription": "The customer-provided unique identifier of the link.", + "title": "CustomerProvidedId", + "type": "string" + }, + "ResponderErrorMasking": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::Link.ResponderErrorMaskingForHttpCode" + }, + "markdownDescription": "Describes the masking for HTTP error codes.", + "title": "ResponderErrorMasking", + "type": "array" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.LinkLogSettings": { + "additionalProperties": false, + "properties": { + "ApplicationLogs": { + "$ref": "#/definitions/AWS::RTBFabric::Link.ApplicationLogs", + "markdownDescription": "Describes the configuration of a link application log.", + "title": "ApplicationLogs" + } + }, + "required": [ + "ApplicationLogs" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.ModuleConfiguration": { + "additionalProperties": false, + "properties": { + "DependsOn": { + "items": { + "type": "string" + }, + "markdownDescription": "The dependencies of the module.", + "title": "DependsOn", + "type": "array" + }, + "ModuleParameters": { + "$ref": "#/definitions/AWS::RTBFabric::Link.ModuleParameters", + "markdownDescription": "Describes the parameters of a module.", + "title": "ModuleParameters" + }, + "Name": { + "markdownDescription": "The name of the module.", + "title": "Name", + "type": "string" + }, + "Version": { + "markdownDescription": "The version of the module.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.ModuleParameters": { + "additionalProperties": false, + "properties": { + "NoBid": { + "$ref": "#/definitions/AWS::RTBFabric::Link.NoBidModuleParameters", + "markdownDescription": "Describes the parameters of a no bid module.", + "title": "NoBid" + }, + "OpenRtbAttribute": { + "$ref": "#/definitions/AWS::RTBFabric::Link.OpenRtbAttributeModuleParameters", + "markdownDescription": "Describes the parameters of an open RTB attribute module.", + "title": "OpenRtbAttribute" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.NoBidAction": { + "additionalProperties": false, + "properties": { + "NoBidReasonCode": { + "markdownDescription": "The reason code for the no bid action.", + "title": "NoBidReasonCode", + "type": "number" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.NoBidModuleParameters": { + "additionalProperties": false, + "properties": { + "PassThroughPercentage": { + "markdownDescription": "The pass through percentage.", + "title": "PassThroughPercentage", + "type": "number" + }, + "Reason": { + "markdownDescription": "The reason description.", + "title": "Reason", + "type": "string" + }, + "ReasonCode": { + "markdownDescription": "The reason code.", + "title": "ReasonCode", + "type": "number" + } + }, + "type": "object" + }, + "AWS::RTBFabric::Link.OpenRtbAttributeModuleParameters": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::RTBFabric::Link.Action", + "markdownDescription": "Describes a bid action.", + "title": "Action" + }, + "FilterConfiguration": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::Link.Filter" + }, + "markdownDescription": "Describes the configuration of a filter.", + "title": "FilterConfiguration", + "type": "array" + }, + "FilterType": { + "markdownDescription": "The filter type.", + "title": "FilterType", + "type": "string" + }, + "HoldbackPercentage": { + "markdownDescription": "The hold back percentage.", + "title": "HoldbackPercentage", + "type": "number" + } + }, + "required": [ + "Action", + "FilterConfiguration", + "FilterType", + "HoldbackPercentage" + ], + "type": "object" + }, + "AWS::RTBFabric::Link.ResponderErrorMaskingForHttpCode": { + "additionalProperties": false, + "properties": { + "Action": { + "markdownDescription": "The action for the error..", + "title": "Action", + "type": "string" + }, + "HttpCode": { + "markdownDescription": "The HTTP error code.", + "title": "HttpCode", + "type": "string" + }, + "LoggingTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The error log type.", + "title": "LoggingTypes", + "type": "array" + }, + "ResponseLoggingPercentage": { + "markdownDescription": "The percentage of response logging.", + "title": "ResponseLoggingPercentage", + "type": "number" + } + }, + "required": [ + "Action", + "HttpCode", + "LoggingTypes" + ], + "type": "object" + }, + "AWS::RTBFabric::LinkRoutingRule": { "additionalProperties": false, "properties": { "Condition": { @@ -337661,17 +304646,17 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "type": "string" + "Conditions": { + "$ref": "#/definitions/AWS::RTBFabric::LinkRoutingRule.RuleCondition" }, - "DnsViewId": { + "GatewayId": { "type": "string" }, - "ExpiresAt": { + "LinkId": { "type": "string" }, - "Name": { - "type": "string" + "Priority": { + "type": "number" }, "Tags": { "items": { @@ -337681,13 +304666,16 @@ } }, "required": [ - "DnsViewId" + "Conditions", + "GatewayId", + "LinkId", + "Priority" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::AccessToken" + "AWS::RTBFabric::LinkRoutingRule" ], "type": "string" }, @@ -337706,7 +304694,47 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::DnsView": { + "AWS::RTBFabric::LinkRoutingRule.QueryStringKeyValuePair": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::RTBFabric::LinkRoutingRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "HostHeader": { + "type": "string" + }, + "HostHeaderWildcard": { + "type": "string" + }, + "PathExact": { + "type": "string" + }, + "PathPrefix": { + "type": "string" + }, + "QueryStringEquals": { + "$ref": "#/definitions/AWS::RTBFabric::LinkRoutingRule.QueryStringKeyValuePair" + }, + "QueryStringExists": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink": { "additionalProperties": false, "properties": { "Condition": { @@ -337741,43 +304769,45 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DnssecValidation": { - "type": "string" - }, - "EdnsClientSubnet": { + "GatewayId": { + "markdownDescription": "", + "title": "GatewayId", "type": "string" }, - "FirewallRulesFailOpen": { - "type": "string" + "LinkAttributes": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkAttributes", + "markdownDescription": "", + "title": "LinkAttributes" }, - "GlobalResolverId": { - "type": "string" + "LinkLogSettings": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkLogSettings", + "markdownDescription": "", + "title": "LinkLogSettings" }, - "Name": { + "PublicEndpoint": { + "markdownDescription": "", + "title": "PublicEndpoint", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "", + "title": "Tags", "type": "array" } }, "required": [ - "GlobalResolverId", - "Name" + "GatewayId", + "LinkLogSettings", + "PublicEndpoint" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::DnsView" + "AWS::RTBFabric::OutboundExternalLink" ], "type": "string" }, @@ -337796,7 +304826,108 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::FirewallDomainList": { + "AWS::RTBFabric::OutboundExternalLink.ApplicationLogs": { + "additionalProperties": false, + "properties": { + "LinkApplicationLogSampling": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.LinkApplicationLogSampling", + "markdownDescription": "", + "title": "LinkApplicationLogSampling" + } + }, + "required": [ + "LinkApplicationLogSampling" + ], + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink.LinkApplicationLogSampling": { + "additionalProperties": false, + "properties": { + "ErrorLog": { + "markdownDescription": "", + "title": "ErrorLog", + "type": "number" + }, + "FilterLog": { + "markdownDescription": "", + "title": "FilterLog", + "type": "number" + } + }, + "required": [ + "ErrorLog", + "FilterLog" + ], + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink.LinkAttributes": { + "additionalProperties": false, + "properties": { + "CustomerProvidedId": { + "markdownDescription": "", + "title": "CustomerProvidedId", + "type": "string" + }, + "ResponderErrorMasking": { + "items": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.ResponderErrorMaskingForHttpCode" + }, + "markdownDescription": "", + "title": "ResponderErrorMasking", + "type": "array" + } + }, + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink.LinkLogSettings": { + "additionalProperties": false, + "properties": { + "ApplicationLogs": { + "$ref": "#/definitions/AWS::RTBFabric::OutboundExternalLink.ApplicationLogs", + "markdownDescription": "", + "title": "ApplicationLogs" + } + }, + "required": [ + "ApplicationLogs" + ], + "type": "object" + }, + "AWS::RTBFabric::OutboundExternalLink.ResponderErrorMaskingForHttpCode": { + "additionalProperties": false, + "properties": { + "Action": { + "markdownDescription": "", + "title": "Action", + "type": "string" + }, + "HttpCode": { + "markdownDescription": "", + "title": "HttpCode", + "type": "string" + }, + "LoggingTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "LoggingTypes", + "type": "array" + }, + "ResponseLoggingPercentage": { + "markdownDescription": "", + "title": "ResponseLoggingPercentage", + "type": "number" + } + }, + "required": [ + "Action", + "HttpCode", + "LoggingTypes" + ], + "type": "object" + }, + "AWS::RTBFabric::RequesterGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -337831,43 +304962,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "type": "string" - }, "Description": { + "markdownDescription": "An optional description for the requester gateway.", + "title": "Description", "type": "string" }, - "DomainFileUrl": { - "type": "string" - }, - "Domains": { + "SecurityGroupIds": { "items": { "type": "string" }, + "markdownDescription": "The unique identifiers of the security groups.", + "title": "SecurityGroupIds", "type": "array" }, - "GlobalResolverId": { - "type": "string" - }, - "Name": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The unique identifiers of the subnets.", + "title": "SubnetIds", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", + "title": "Tags", "type": "array" + }, + "VpcId": { + "markdownDescription": "The unique identifier of the Virtual Private Cloud (VPC).", + "title": "VpcId", + "type": "string" } }, "required": [ - "GlobalResolverId", - "Name" + "SecurityGroupIds", + "SubnetIds", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::FirewallDomainList" + "AWS::RTBFabric::RequesterGateway" ], "type": "string" }, @@ -337886,7 +305025,7 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::FirewallRule": { + "AWS::RTBFabric::ResponderGateway": { "additionalProperties": false, "properties": { "Condition": { @@ -337921,59 +305060,87 @@ "Properties": { "additionalProperties": false, "properties": { - "Action": { + "AcmCertificateArn": { "type": "string" }, - "BlockOverrideDnsType": { + "Description": { + "markdownDescription": "An optional description for the responder gateway.", + "title": "Description", "type": "string" }, - "BlockOverrideDomain": { + "DomainName": { + "markdownDescription": "The domain name for the responder gateway.", + "title": "DomainName", "type": "string" }, - "BlockOverrideTtl": { - "type": "number" - }, - "BlockResponse": { + "GatewayType": { "type": "string" }, - "ClientToken": { - "type": "string" + "ListenerConfig": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.ListenerConfig" }, - "ConfidenceThreshold": { - "type": "string" + "ManagedEndpointConfiguration": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.ManagedEndpointConfiguration", + "markdownDescription": "The configuration for the managed endpoint.", + "title": "ManagedEndpointConfiguration" }, - "Description": { - "type": "string" + "Port": { + "markdownDescription": "The networking port to use.", + "title": "Port", + "type": "number" }, - "DnsAdvancedProtection": { + "Protocol": { + "markdownDescription": "The networking protocol to use.", + "title": "Protocol", "type": "string" }, - "DnsViewId": { - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The unique identifiers of the security groups.", + "title": "SecurityGroupIds", + "type": "array" }, - "FirewallDomainListId": { - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The unique identifiers of the subnets.", + "title": "SubnetIds", + "type": "array" }, - "Name": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A map of the key-value pairs of the tag or tags to assign to the resource.", + "title": "Tags", + "type": "array" }, - "Priority": { - "type": "number" + "TrustStoreConfiguration": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.TrustStoreConfiguration", + "markdownDescription": "The configuration of the trust store.", + "title": "TrustStoreConfiguration" }, - "QType": { + "VpcId": { + "markdownDescription": "The unique identifier of the Virtual Private Cloud (VPC).", + "title": "VpcId", "type": "string" } }, "required": [ - "Action", - "DnsViewId", - "Name" + "Port", + "Protocol", + "SecurityGroupIds", + "SubnetIds", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::FirewallRule" + "AWS::RTBFabric::ResponderGateway" ], "type": "string" }, @@ -337992,7 +305159,159 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::GlobalResolver": { + "AWS::RTBFabric::ResponderGateway.AutoScalingGroupsConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupNameList": { + "items": { + "type": "string" + }, + "markdownDescription": "The names of the auto scaling group.", + "title": "AutoScalingGroupNameList", + "type": "array" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.HealthCheckConfig" + }, + "RoleArn": { + "markdownDescription": "The role ARN of the auto scaling group.", + "title": "RoleArn", + "type": "string" + } + }, + "required": [ + "AutoScalingGroupNameList", + "RoleArn" + ], + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.EksEndpointsConfiguration": { + "additionalProperties": false, + "properties": { + "ClusterApiServerCaCertificateChain": { + "markdownDescription": "The CA certificate chain of the cluster API server.", + "title": "ClusterApiServerCaCertificateChain", + "type": "string" + }, + "ClusterApiServerEndpointUri": { + "markdownDescription": "The URI of the cluster API server endpoint.", + "title": "ClusterApiServerEndpointUri", + "type": "string" + }, + "ClusterName": { + "markdownDescription": "The name of the cluster.", + "title": "ClusterName", + "type": "string" + }, + "EndpointsResourceName": { + "markdownDescription": "The name of the endpoint resource.", + "title": "EndpointsResourceName", + "type": "string" + }, + "EndpointsResourceNamespace": { + "markdownDescription": "The namespace of the endpoint resource.", + "title": "EndpointsResourceNamespace", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The role ARN for the cluster.", + "title": "RoleArn", + "type": "string" + } + }, + "required": [ + "ClusterApiServerCaCertificateChain", + "ClusterApiServerEndpointUri", + "ClusterName", + "EndpointsResourceName", + "EndpointsResourceNamespace", + "RoleArn" + ], + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "HealthyThresholdCount": { + "type": "number" + }, + "IntervalSeconds": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "StatusCodeMatcher": { + "type": "string" + }, + "TimeoutMs": { + "type": "number" + }, + "UnhealthyThresholdCount": { + "type": "number" + } + }, + "required": [ + "Path", + "Port" + ], + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.ListenerConfig": { + "additionalProperties": false, + "properties": { + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Protocols" + ], + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.ManagedEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupsConfiguration": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.AutoScalingGroupsConfiguration", + "markdownDescription": "Describes the configuration of an auto scaling group.", + "title": "AutoScalingGroupsConfiguration" + }, + "EksEndpointsConfiguration": { + "$ref": "#/definitions/AWS::RTBFabric::ResponderGateway.EksEndpointsConfiguration", + "markdownDescription": "Describes the configuration of an Amazon Elastic Kubernetes Service endpoint.", + "title": "EksEndpointsConfiguration" + } + }, + "type": "object" + }, + "AWS::RTBFabric::ResponderGateway.TrustStoreConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityCertificates": { + "items": { + "type": "string" + }, + "markdownDescription": "The certificate authority certificate.", + "title": "CertificateAuthorityCertificates", + "type": "array" + } + }, + "required": [ + "CertificateAuthorityCertificates" + ], + "type": "object" + }, + "AWS::RUM::AppMonitor": { "additionalProperties": false, "properties": { "Condition": { @@ -338027,43 +305346,71 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { - "type": "string" + "AppMonitorConfiguration": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.AppMonitorConfiguration", + "markdownDescription": "A structure that contains much of the configuration data for the app monitor. If you are using Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the Amazon Cognito identity pool to use for authorization. If you don't include `AppMonitorConfiguration` , you must set up your own authorization method. For more information, see [Authorize your application to send data to AWS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-get-started-authorization.html) .\n\nIf you omit this argument, the sample rate used for CloudWatch RUM is set to 10% of the user sessions.", + "title": "AppMonitorConfiguration" }, - "Description": { - "type": "string" + "CustomEvents": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.CustomEvents", + "markdownDescription": "Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED` .", + "title": "CustomEvents" }, - "IpAddressType": { - "type": "string" + "CwLogEnabled": { + "markdownDescription": "Data collected by CloudWatch RUM is kept by RUM for 30 days and then deleted. This parameter specifies whether CloudWatch RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges.\n\nIf you omit this parameter, the default is `false` .", + "title": "CwLogEnabled", + "type": "boolean" }, - "Name": { - "type": "string" + "DeobfuscationConfiguration": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.DeobfuscationConfiguration", + "markdownDescription": "A structure that contains the configuration for how an app monitor can deobfuscate stack traces.", + "title": "DeobfuscationConfiguration" }, - "ObservabilityRegion": { + "Domain": { + "markdownDescription": "The top-level internet domain name for which your application has administrative authority. This parameter or the `DomainList` parameter is required.", + "title": "Domain", "type": "string" }, - "Regions": { + "DomainList": { "items": { "type": "string" }, + "markdownDescription": "List the domain names for which your application has administrative authority. This parameter or the `Domain` parameter is required.\n\nYou can have a minimum of 1 and a maximum of 5 `Domain` under `DomainList` . Each `Domain` must be a minimum length of 1 and a maximum of 253 characters.", + "title": "DomainList", "type": "array" }, + "Name": { + "markdownDescription": "A name for the app monitor. This parameter is required.", + "title": "Name", + "type": "string" + }, + "Platform": { + "markdownDescription": "", + "title": "Platform", + "type": "string" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.ResourcePolicy", + "markdownDescription": "Use this structure to assign a resource-based policy to a CloudWatch RUM app monitor to control access to it. Each app monitor can have one resource-based policy. The maximum size of the policy is 4 KB. To learn more about using resource policies with RUM, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .", + "title": "ResourcePolicy" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Assigns one or more tags (key-value pairs) to the app monitor.\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 an app monitor.\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", - "Regions" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53GlobalResolver::GlobalResolver" + "AWS::RUM::AppMonitor" ], "type": "string" }, @@ -338082,80 +305429,215 @@ ], "type": "object" }, - "AWS::Route53GlobalResolver::HostedZoneAssociation": { + "AWS::RUM::AppMonitor.AppMonitorConfiguration": { "additionalProperties": false, "properties": { - "Condition": { + "AllowCookies": { + "markdownDescription": "If you set this to `true` , the CloudWatch RUM web client sets two cookies, a session cookie and a user cookie. The cookies allow the CloudWatch RUM web client to collect data relating to the number of users an application has and the behavior of the application across a sequence of events. Cookies are stored in the top-level domain of the current page.", + "title": "AllowCookies", + "type": "boolean" + }, + "EnableXRay": { + "markdownDescription": "If you set this to `true` , CloudWatch RUM sends client-side traces to X-Ray for each sampled session. You can then see traces and segments from these user sessions in the RUM dashboard and the CloudWatch ServiceLens console. For more information, see [What is AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)", + "title": "EnableXRay", + "type": "boolean" + }, + "ExcludedPages": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of URLs in your website or application to exclude from RUM data collection.\n\nYou can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.", + "title": "ExcludedPages", + "type": "array" + }, + "FavoritePages": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of pages in your application that are to be displayed with a \"favorite\" icon in the CloudWatch RUM console.", + "title": "FavoritePages", + "type": "array" + }, + "GuestRoleArn": { + "markdownDescription": "The ARN of the guest IAM role that is attached to the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.", + "title": "GuestRoleArn", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "IdentityPoolId": { + "markdownDescription": "The ID of the Amazon Cognito identity pool that is used to authorize the sending of data to CloudWatch RUM.", + "title": "IdentityPoolId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "IncludedPages": { + "items": { + "type": "string" + }, + "markdownDescription": "If this app monitor is to collect data from only certain pages in your application, this structure lists those pages.\n\nYou can't include both `ExcludedPages` and `IncludedPages` in the same app monitor.", + "title": "IncludedPages", + "type": "array" }, - "Metadata": { - "type": "object" + "MetricDestinations": { + "items": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.MetricDestination" + }, + "markdownDescription": "An array of structures that each define a destination that this app monitor will send extended metrics to.", + "title": "MetricDestinations", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceArn": { + "SessionSampleRate": { + "markdownDescription": "Specifies the portion of user sessions to use for CloudWatch RUM data collection. Choosing a higher portion gives you more data but also incurs more costs.\n\nThe range for this value is 0 to 1 inclusive. Setting this to 1 means that 100% of user sessions are sampled, and setting it to 0.1 means that 10% of user sessions are sampled.\n\nIf you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.", + "title": "SessionSampleRate", + "type": "number" + }, + "Telemetries": { + "items": { + "type": "string" + }, + "markdownDescription": "An array that lists the types of telemetry data that this app monitor is to collect.\n\n- `errors` indicates that RUM collects data about unhandled JavaScript errors raised by your application.\n- `performance` indicates that RUM collects performance data about how your application and its resources are loaded and rendered. This includes Core Web Vitals.\n- `http` indicates that RUM collects data about HTTP errors thrown by your application.", + "title": "Telemetries", + "type": "array" + } + }, + "type": "object" + }, + "AWS::RUM::AppMonitor.CustomEvents": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "Set this to `ENABLED` to allow the web client to send custom events for this app monitor.\n\nValid values are `ENABLED` and `DISABLED` .", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RUM::AppMonitor.DeobfuscationConfiguration": { + "additionalProperties": false, + "properties": { + "JavaScriptSourceMaps": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.JavaScriptSourceMaps", + "markdownDescription": "A structure that contains the configuration for how an app monitor can unminify JavaScript error stack traces using source maps.", + "title": "JavaScriptSourceMaps" + } + }, + "type": "object" + }, + "AWS::RUM::AppMonitor.JavaScriptSourceMaps": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "markdownDescription": "The S3Uri of the bucket or folder that stores the source map files. It is required if status is ENABLED.", + "title": "S3Uri", + "type": "string" + }, + "Status": { + "markdownDescription": "Specifies whether JavaScript error stack traces should be unminified for this app monitor. The default is for JavaScript error stack trace unminification to be `DISABLED` .", + "title": "Status", + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::RUM::AppMonitor.MetricDefinition": { + "additionalProperties": false, + "properties": { + "DimensionKeys": { + "additionalProperties": true, + "markdownDescription": "This field is a map of field paths to dimension names. It defines the dimensions to associate with this metric in CloudWatch . The value of this field is used only if the metric destination is `CloudWatch` . If the metric destination is `Evidently` , the value of `DimensionKeys` is ignored.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" } }, - "required": [ - "HostedZoneId", - "Name", - "ResourceArn" - ], + "title": "DimensionKeys", "type": "object" }, - "Type": { - "enum": [ - "AWS::Route53GlobalResolver::HostedZoneAssociation" - ], + "EventPattern": { + "markdownDescription": "The pattern that defines the metric. RUM checks events that happen in a user's session against the pattern, and events that match the pattern are sent to the metric destination.\n\nIf the metrics destination is `CloudWatch` and the event also matches a value in `DimensionKeys` , then the metric is published with the specified dimensions.", + "title": "EventPattern", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Name": { + "markdownDescription": "The name of the metric that is defined in this structure.", + "title": "Name", + "type": "string" + }, + "Namespace": { + "markdownDescription": "If you are creating a custom metric instead of an extended metrics, use this parameter to define the metric namespace for that custom metric. Do not specify this parameter if you are creating an extended metric.\n\nYou can't use any string that starts with `AWS/` for your namespace.", + "title": "Namespace", + "type": "string" + }, + "UnitLabel": { + "markdownDescription": "Use this field only if you are sending this metric to CloudWatch . It defines the CloudWatch metric unit that this metric is measured in.", + "title": "UnitLabel", + "type": "string" + }, + "ValueKey": { + "markdownDescription": "The field within the event object that the metric value is sourced from.", + "title": "ValueKey", "type": "string" } }, "required": [ - "Type", - "Properties" + "Name" ], "type": "object" }, - "AWS::Route53Profiles::Profile": { + "AWS::RUM::AppMonitor.MetricDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "markdownDescription": "Defines the destination to send the metrics to. Valid values are `CloudWatch` and `Evidently` . If you specify `Evidently` , you must also specify the ARN of the CloudWatch Evidently experiment that is to be the destination and an IAM role that has permission to write to the experiment.", + "title": "Destination", + "type": "string" + }, + "DestinationArn": { + "markdownDescription": "Use this parameter only if `Destination` is `Evidently` . This parameter specifies the ARN of the Evidently experiment that will receive the extended metrics.", + "title": "DestinationArn", + "type": "string" + }, + "IamRoleArn": { + "markdownDescription": "This parameter is required if `Destination` is `Evidently` . If `Destination` is `CloudWatch` , do not use this parameter.\n\nThis parameter specifies the ARN of an IAM role that RUM will assume to write to the Evidently experiment that you are sending metrics to. This role must have permission to write to that experiment.", + "title": "IamRoleArn", + "type": "string" + }, + "MetricDefinitions": { + "items": { + "$ref": "#/definitions/AWS::RUM::AppMonitor.MetricDefinition" + }, + "markdownDescription": "An array of structures which define the metrics that you want to send.", + "title": "MetricDefinitions", + "type": "array" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::RUM::AppMonitor.ResourcePolicy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "markdownDescription": "The JSON to use as the resource policy. The document can be up to 4 KB in size. For more information about the contents and syntax for this policy, see [Using resource-based policies with CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM-resource-policies.html) .", + "title": "PolicyDocument", + "type": "string" + }, + "PolicyRevisionId": { + "markdownDescription": "A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy.\n\nWhen you assign a policy revision ID, then later requests about that policy will be rejected with an `InvalidPolicyRevisionIdException` error if they don't provide the correct current revision ID.", + "title": "PolicyRevisionId", + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "AWS::Rbin::Rule": { "additionalProperties": false, "properties": { "Condition": { @@ -338190,28 +305672,65 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of the Profile.", - "title": "Name", + "Description": { + "markdownDescription": "The retention rule description.", + "title": "Description", + "type": "string" + }, + "ExcludeResourceTags": { + "items": { + "$ref": "#/definitions/AWS::Rbin::Rule.ResourceTag" + }, + "markdownDescription": "[Region-level retention rules only] Specifies the exclusion tags to use to identify resources that are to be excluded, or ignored, by a Region-level retention rule. Resources that have any of these tags are not retained by the retention rule upon deletion.\n\nYou can't specify exclusion tags for tag-level retention rules.", + "title": "ExcludeResourceTags", + "type": "array" + }, + "LockConfiguration": { + "$ref": "#/definitions/AWS::Rbin::Rule.UnlockDelay", + "markdownDescription": "Information about the retention rule lock configuration.", + "title": "LockConfiguration" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::Rbin::Rule.ResourceTag" + }, + "markdownDescription": "[Tag-level retention rules only] Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. For tag-level retention rules, only deleted resources, of the specified resource type, that have one or more of the specified tag key and value pairs are retained. If a resource is deleted, but it does not have any of the specified tag key and value pairs, it is immediately deleted without being retained by the retention rule.\n\nYou can add the same tag key and value pair to a maximum or five retention rules.\n\nTo create a Region-level retention rule, omit this parameter. A Region-level retention rule does not have any resource tags specified. It retains all deleted resources of the specified resource type in the Region in which the rule is created, even if the resources are not tagged.", + "title": "ResourceTags", + "type": "array" + }, + "ResourceType": { + "markdownDescription": "The resource type to be retained by the retention rule. Currently, only EBS volumes, EBS snapshots, and EBS-backed AMIs are supported.\n\n- To retain EBS volumes, specify `EBS_VOLUME` .\n- To retain EBS snapshots, specify `EBS_SNAPSHOT`\n- To retain EBS-backed AMIs, specify `EC2_IMAGE` .", + "title": "ResourceType", + "type": "string" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::Rbin::Rule.RetentionPeriod", + "markdownDescription": "Information about the retention period for which the retention rule is to retain resources.", + "title": "RetentionPeriod" + }, + "Status": { + "markdownDescription": "The state of the retention rule. Only retention rules that are in the `available` state retain resources.", + "title": "Status", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tag keys and values that you want to associate with the profile.", + "markdownDescription": "Information about the tags to assign to the retention rule.", "title": "Tags", "type": "array" } }, "required": [ - "Name" + "ResourceType", + "RetentionPeriod" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Profiles::Profile" + "AWS::Rbin::Rule" ], "type": "string" }, @@ -338230,7 +305749,63 @@ ], "type": "object" }, - "AWS::Route53Profiles::ProfileAssociation": { + "AWS::Rbin::Rule.ResourceTag": { + "additionalProperties": false, + "properties": { + "ResourceTagKey": { + "markdownDescription": "The tag key.", + "title": "ResourceTagKey", + "type": "string" + }, + "ResourceTagValue": { + "markdownDescription": "The tag value.", + "title": "ResourceTagValue", + "type": "string" + } + }, + "required": [ + "ResourceTagKey", + "ResourceTagValue" + ], + "type": "object" + }, + "AWS::Rbin::Rule.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "RetentionPeriodUnit": { + "markdownDescription": "The unit of time in which the retention period is measured. Currently, only `DAYS` is supported.", + "title": "RetentionPeriodUnit", + "type": "string" + }, + "RetentionPeriodValue": { + "markdownDescription": "The period value for which the retention rule is to retain resources, measured in days. The supported retention periods are:\n\n- EBS volumes: 1 - 7 days\n- EBS snapshots and EBS-backed AMIs: 1 - 365 days", + "title": "RetentionPeriodValue", + "type": "number" + } + }, + "required": [ + "RetentionPeriodUnit", + "RetentionPeriodValue" + ], + "type": "object" + }, + "AWS::Rbin::Rule.UnlockDelay": { + "additionalProperties": false, + "properties": { + "UnlockDelayUnit": { + "markdownDescription": "The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measured only in days.", + "title": "UnlockDelayUnit", + "type": "string" + }, + "UnlockDelayValue": { + "markdownDescription": "The unlock delay period, measured in the unit specified for *UnlockDelayUnit* .", + "title": "UnlockDelayValue", + "type": "number" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -338265,45 +305840,290 @@ "Properties": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the profile association to a VPC.", - "title": "Arn", + "AllowVersionUpgrade": { + "markdownDescription": "If `true` , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.\n\nWhen a new major version of the Amazon Redshift engine is released, you can request that the service automatically apply upgrades during the maintenance window to the Amazon Redshift engine that is running on your cluster.\n\nDefault: `true`", + "title": "AllowVersionUpgrade", + "type": "boolean" + }, + "AquaConfigurationStatus": { + "markdownDescription": "This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically determines whether to use AQUA (Advanced Query Accelerator).", + "title": "AquaConfigurationStatus", + "type": "string" + }, + "AutomatedSnapshotRetentionPeriod": { + "markdownDescription": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with [CreateClusterSnapshot](https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSnapshot.html) in the *Amazon Redshift API Reference* .\n\nDefault: `1`\n\nConstraints: Must be a value from 0 to 35.", + "title": "AutomatedSnapshotRetentionPeriod", + "type": "number" + }, + "AvailabilityZone": { + "markdownDescription": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.\n\nDefault: A random, system-chosen Availability Zone in the region that is specified by the endpoint.\n\nExample: `us-east-2d`\n\nConstraint: The specified Availability Zone must be in the same region as the current endpoint.", + "title": "AvailabilityZone", + "type": "string" + }, + "AvailabilityZoneRelocation": { + "markdownDescription": "The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is created.", + "title": "AvailabilityZoneRelocation", + "type": "boolean" + }, + "AvailabilityZoneRelocationStatus": { + "markdownDescription": "Describes the status of the Availability Zone relocation operation.", + "title": "AvailabilityZoneRelocationStatus", + "type": "string" + }, + "Classic": { + "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to `false` , the resize type is elastic.", + "title": "Classic", + "type": "boolean" + }, + "ClusterIdentifier": { + "markdownDescription": "A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. The identifier also appears in the Amazon Redshift console.\n\nConstraints:\n\n- Must contain from 1 to 63 alphanumeric characters or hyphens.\n- Alphabetic characters must be lowercase.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.\n- Must be unique for all clusters within an AWS account .\n\nExample: `myexamplecluster`", + "title": "ClusterIdentifier", + "type": "string" + }, + "ClusterParameterGroupName": { + "markdownDescription": "The name of the parameter group to be associated with this cluster.\n\nDefault: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to [Working with Amazon Redshift Parameter Groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)\n\nConstraints:\n\n- Must be 1 to 255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", + "title": "ClusterParameterGroupName", + "type": "string" + }, + "ClusterSecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of security groups to be associated with this cluster.\n\nDefault: The default cluster security group for Amazon Redshift.", + "title": "ClusterSecurityGroups", + "type": "array" + }, + "ClusterSubnetGroupName": { + "markdownDescription": "The name of a cluster subnet group to be associated with this cluster.\n\nIf this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).", + "title": "ClusterSubnetGroupName", + "type": "string" + }, + "ClusterType": { + "markdownDescription": "The type of the cluster. When cluster type is specified as\n\n- `single-node` , the *NumberOfNodes* parameter is not required.\n- `multi-node` , the *NumberOfNodes* parameter is required.\n\nValid Values: `multi-node` | `single-node`\n\nDefault: `multi-node`", + "title": "ClusterType", + "type": "string" + }, + "ClusterVersion": { + "markdownDescription": "The version of the Amazon Redshift engine software that you want to deploy on the cluster.\n\nThe version selected runs on all the nodes in the cluster.\n\nConstraints: Only version 1.0 is currently available.\n\nExample: `1.0`", + "title": "ClusterVersion", + "type": "string" + }, + "DBName": { + "markdownDescription": "The name of the first database to be created when the cluster is created.\n\nTo create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to [Create a Database](https://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html) in the Amazon Redshift Database Developer Guide.\n\nDefault: `dev`\n\nConstraints:\n\n- Must contain 1 to 64 alphanumeric characters.\n- Must contain only lowercase letters.\n- Cannot be a word that is reserved by the service. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", + "title": "DBName", + "type": "string" + }, + "DeferMaintenance": { + "markdownDescription": "A Boolean indicating whether to enable the deferred maintenance window.", + "title": "DeferMaintenance", + "type": "boolean" + }, + "DeferMaintenanceDuration": { + "markdownDescription": "An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.", + "title": "DeferMaintenanceDuration", + "type": "number" + }, + "DeferMaintenanceEndTime": { + "markdownDescription": "A timestamp for the end of the time period when we defer maintenance.", + "title": "DeferMaintenanceEndTime", + "type": "string" + }, + "DeferMaintenanceStartTime": { + "markdownDescription": "A timestamp indicating the start time for the deferred maintenance window.", + "title": "DeferMaintenanceStartTime", + "type": "string" + }, + "DestinationRegion": { + "markdownDescription": "The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled.", + "title": "DestinationRegion", + "type": "string" + }, + "ElasticIp": { + "markdownDescription": "The Elastic IP (EIP) address for the cluster.\n\nConstraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned on. For more information about provisioning clusters in EC2-VPC, go to [Supported Platforms to Launch Your Cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms) in the Amazon Redshift Cluster Management Guide.", + "title": "ElasticIp", + "type": "string" + }, + "Encrypted": { + "markdownDescription": "If `true` , the data in the cluster is encrypted at rest. If you set the value on this parameter to `false` , the request will fail.\n\nDefault: true", + "title": "Encrypted", + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint", + "markdownDescription": "The connection endpoint.", + "title": "Endpoint" + }, + "EnhancedVpcRouting": { + "markdownDescription": "An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see [Enhanced VPC Routing](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) in the Amazon Redshift Cluster Management Guide.\n\nIf this option is `true` , enhanced VPC routing is enabled.\n\nDefault: false", + "title": "EnhancedVpcRouting", + "type": "boolean" + }, + "HsmClientCertificateIdentifier": { + "markdownDescription": "Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.", + "title": "HsmClientCertificateIdentifier", + "type": "string" + }, + "HsmConfigurationIdentifier": { + "markdownDescription": "Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.", + "title": "HsmConfigurationIdentifier", + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.\n\nThe maximum number of IAM roles that you can associate is subject to a quota. For more information, go to [Quotas and limits](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) in the *Amazon Redshift Cluster Management Guide* .", + "title": "IamRoles", + "type": "array" + }, + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.", + "title": "KmsKeyId", + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties", + "markdownDescription": "Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.", + "title": "LoggingProperties" + }, + "MaintenanceTrackName": { + "markdownDescription": "An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance track name, the cluster is assigned to the `current` track.", + "title": "MaintenanceTrackName", + "type": "string" + }, + "ManageMasterPassword": { + "markdownDescription": "If `true` , Amazon Redshift uses AWS Secrets Manager to manage this cluster's admin credentials. You can't use `MasterUserPassword` if `ManageMasterPassword` is true. If `ManageMasterPassword` is false or not set, Amazon Redshift uses `MasterUserPassword` for the admin user account's password.", + "title": "ManageMasterPassword", + "type": "boolean" + }, + "ManualSnapshotRetentionPeriod": { + "markdownDescription": "The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.\n\nThe value must be either -1 or an integer between 1 and 3,653.", + "title": "ManualSnapshotRetentionPeriod", + "type": "number" + }, + "MasterPasswordSecretKmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the cluster's admin credentials secret. You can only use this parameter if `ManageMasterPassword` is true.", + "title": "MasterPasswordSecretKmsKeyId", + "type": "string" + }, + "MasterUserPassword": { + "markdownDescription": "The password associated with the admin user account for the cluster that is being created.\n\nYou can't use `MasterUserPassword` if `ManageMasterPassword` is `true` .\n\nConstraints:\n\n- Must be between 8 and 64 characters in length.\n- Must contain at least one uppercase letter.\n- Must contain at least one lowercase letter.\n- Must contain one number.\n- Can be any printable ASCII character (ASCII code 33-126) except `'` (single quote), `\"` (double quote), `\\` , `/` , or `@` .", + "title": "MasterUserPassword", + "type": "string" + }, + "MasterUsername": { + "markdownDescription": "The user name associated with the admin user account for the cluster that is being created.\n\nConstraints:\n\n- Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be `PUBLIC` .\n- Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.\n- The first character must be a letter.\n- Must not contain a colon (:) or a slash (/).\n- Cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", + "title": "MasterUsername", + "type": "string" + }, + "MultiAZ": { + "markdownDescription": "A boolean indicating whether Amazon Redshift should deploy the cluster in two Availability Zones. The default is false.", + "title": "MultiAZ", + "type": "boolean" + }, + "NamespaceResourcePolicy": { + "markdownDescription": "The policy that is attached to a resource.", + "title": "NamespaceResourcePolicy", + "type": "object" + }, + "NodeType": { + "markdownDescription": "The node type to be provisioned for the cluster. For information about node types, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .\n\nValid Values: `dc2.large` | `dc2.8xlarge` | `ra3.large` | `ra3.xlplus` | `ra3.4xlarge` | `ra3.16xlarge`", + "title": "NodeType", + "type": "string" + }, + "NumberOfNodes": { + "markdownDescription": "The number of compute nodes in the cluster. This parameter is required when the *ClusterType* parameter is specified as `multi-node` .\n\nFor information about determining how many nodes you need, go to [Working with Clusters](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) in the *Amazon Redshift Cluster Management Guide* .\n\nIf you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.\n\nDefault: `1`\n\nConstraints: Value must be at least 1 and no more than 100.", + "title": "NumberOfNodes", + "type": "number" + }, + "OwnerAccount": { + "markdownDescription": "The AWS account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.", + "title": "OwnerAccount", + "type": "string" + }, + "Port": { + "markdownDescription": "The port number on which the cluster accepts incoming connections.\n\nThe cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections.\n\nDefault: `5439`\n\nValid Values:\n\n- For clusters with ra3 nodes - Select a port within the ranges `5431-5455` or `8191-8215` . (If you have an existing cluster with ra3 nodes, it isn't required that you change the port to these ranges.)\n- For clusters with dc2 nodes - Select a port within the range `1150-65535` .", + "title": "Port", + "type": "number" + }, + "PreferredMaintenanceWindow": { + "markdownDescription": "The weekly time range (in UTC) during which automated cluster maintenance can occur.\n\nFormat: `ddd:hh24:mi-ddd:hh24:mi`\n\nDefault: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see [Maintenance Windows](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows) in Amazon Redshift Cluster Management Guide.\n\nValid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun\n\nConstraints: Minimum 30-minute window.", + "title": "PreferredMaintenanceWindow", + "type": "string" + }, + "PubliclyAccessible": { + "markdownDescription": "If `true` , the cluster can be accessed from a public network.\n\nDefault: false", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "ResourceAction": { + "markdownDescription": "The Amazon Redshift operation to be performed. Supported operations are `pause-cluster` , `resume-cluster` , and `failover-primary-compute` .", + "title": "ResourceAction", + "type": "string" + }, + "RevisionTarget": { + "markdownDescription": "Describes a `RevisionTarget` object.", + "title": "RevisionTarget", + "type": "string" + }, + "RotateEncryptionKey": { + "markdownDescription": "Rotates the encryption keys for a cluster.", + "title": "RotateEncryptionKey", + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "markdownDescription": "The name of the cluster the source snapshot was created from. This parameter is required if your user or role has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.", + "title": "SnapshotClusterIdentifier", "type": "string" }, - "Name": { - "markdownDescription": "Name of the Profile association.", - "title": "Name", + "SnapshotCopyGrantName": { + "markdownDescription": "The name of the snapshot copy grant.", + "title": "SnapshotCopyGrantName", "type": "string" }, - "ProfileId": { - "markdownDescription": "ID of the Profile.\n\nUpdate to this property requires update to the `ResourceId` property as well, because you can only associate one Profile per VPC. For more information, see [Route 53 Profiles](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/profiles.html) .", - "title": "ProfileId", - "type": "string" + "SnapshotCopyManual": { + "markdownDescription": "Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.", + "title": "SnapshotCopyManual", + "type": "boolean" }, - "ResourceId": { - "markdownDescription": "The ID of the VPC.", - "title": "ResourceId", + "SnapshotCopyRetentionPeriod": { + "markdownDescription": "The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region .\n\nBy default, this only changes the retention period of copied automated snapshots.\n\nIf you decrease the retention period for automated snapshots that are copied to a destination AWS Region , Amazon Redshift deletes any existing automated snapshots that were copied to the destination AWS Region and that fall outside of the new retention period.\n\nConstraints: Must be at least 1 and no more than 35 for automated snapshots.\n\nIf you specify the `manual` option, only newly copied manual snapshots will have the new retention period.\n\nIf you specify the value of -1 newly copied manual snapshots are retained indefinitely.\n\nConstraints: The number of days must be either -1 or an integer between 1 and 3,653 for manual snapshots.", + "title": "SnapshotCopyRetentionPeriod", + "type": "number" + }, + "SnapshotIdentifier": { + "markdownDescription": "The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive. You must specify this parameter or `snapshotArn` , but not both.\n\nExample: `my-snapshot-id`", + "title": "SnapshotIdentifier", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "A list of tag instances.", "title": "Tags", "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.\n\nDefault: The default VPC security group is associated with the cluster.", + "title": "VpcSecurityGroupIds", + "type": "array" } }, "required": [ - "Name", - "ProfileId", - "ResourceId" + "ClusterType", + "DBName", + "MasterUsername", + "NodeType" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Profiles::ProfileAssociation" + "AWS::Redshift::Cluster" ], "type": "string" }, @@ -338322,7 +306142,52 @@ ], "type": "object" }, - "AWS::Route53Profiles::ProfileResourceAssociation": { + "AWS::Redshift::Cluster.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "markdownDescription": "The DNS address of the cluster. This property is read only.", + "title": "Address", + "type": "string" + }, + "Port": { + "markdownDescription": "The port that the database engine is listening on. This property is read only.", + "title": "Port", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster.LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The name of an existing S3 bucket where the log files are to be stored.\n\nConstraints:\n\n- Must be in the same region as the cluster\n- The cluster must have read bucket and put object permissions", + "title": "BucketName", + "type": "string" + }, + "LogDestinationType": { + "markdownDescription": "The log destination type. An enum with possible values of `s3` and `cloudwatch` .", + "title": "LogDestinationType", + "type": "string" + }, + "LogExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The collection of exported log types. Possible values are `connectionlog` , `useractivitylog` , and `userlog` .", + "title": "LogExports", + "type": "array" + }, + "S3KeyPrefix": { + "markdownDescription": "The prefix applied to the log file names.\n\nValid characters are any letter from any language, any whitespace character, any numeric character, and the following characters: underscore ( `_` ), period ( `.` ), colon ( `:` ), slash ( `/` ), equal ( `=` ), plus ( `+` ), backslash ( `\\` ), hyphen ( `-` ), at symbol ( `@` ).", + "title": "S3KeyPrefix", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -338357,37 +306222,47 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of the Profile resource association.", - "title": "Name", + "Description": { + "markdownDescription": "The description of the parameter group.", + "title": "Description", "type": "string" }, - "ProfileId": { - "markdownDescription": "Profile ID of the Profile that the resources are associated with.", - "title": "ProfileId", + "ParameterGroupFamily": { + "markdownDescription": "The name of the cluster parameter group family that this cluster parameter group is compatible with. You can create a custom parameter group and then associate your cluster with it. For more information, see [Amazon Redshift parameter groups](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) .", + "title": "ParameterGroupFamily", "type": "string" }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource association.", - "title": "ResourceArn", + "ParameterGroupName": { + "markdownDescription": "The name of the cluster parameter group.", + "title": "ParameterGroupName", "type": "string" }, - "ResourceProperties": { - "markdownDescription": "If the DNS resource is a DNS Firewall rule group, this indicates the priority.", - "title": "ResourceProperties", - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + }, + "markdownDescription": "An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.\n\nFor each parameter to be modified, you must supply at least the parameter name and parameter value; other name-value pairs of the parameter are optional.\n\nFor the workload management (WLM) configuration, you must supply all the name-value pairs in the wlm_json_configuration parameter.", + "title": "Parameters", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The list of tags for the cluster parameter group.", + "title": "Tags", + "type": "array" } }, "required": [ - "Name", - "ProfileId", - "ResourceArn" + "Description", + "ParameterGroupFamily" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Profiles::ProfileResourceAssociation" + "AWS::Redshift::ClusterParameterGroup" ], "type": "string" }, @@ -338406,7 +306281,27 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::Cluster": { + "AWS::Redshift::ClusterParameterGroup.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "markdownDescription": "The name of the parameter.", + "title": "ParameterName", + "type": "string" + }, + "ParameterValue": { + "markdownDescription": "The value of the parameter. If `ParameterName` is `wlm_json_configuration` , then the maximum size of `ParameterValue` is 8000 characters.", + "title": "ParameterValue", + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -338441,33 +306336,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "Name of the cluster. You can use any non-white space character in the name except the following: & > < ' (single quote) \" (double quote) ; (semicolon).", - "title": "Name", - "type": "string" - }, - "NetworkType": { - "markdownDescription": "The network-type can either be IPV4 or DUALSTACK.", - "title": "NetworkType", + "Description": { + "markdownDescription": "A description for the security group.", + "title": "Description", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags associated with the cluster.", + "markdownDescription": "Specifies an arbitrary set of tags (key\u2013value pairs) to associate with this security group. Use tags to manage your resources.", "title": "Tags", "type": "array" } }, "required": [ - "Name" + "Description" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryControl::Cluster" + "AWS::Redshift::ClusterSecurityGroup" ], "type": "string" }, @@ -338486,23 +306376,7 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "markdownDescription": "A cluster endpoint URL for one of the five redundant clusters that you specify to set or retrieve a routing control state.", - "title": "Endpoint", - "type": "string" - }, - "Region": { - "markdownDescription": "The AWS Region for a cluster endpoint.", - "title": "Region", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryControl::ControlPanel": { + "AWS::Redshift::ClusterSecurityGroupIngress": { "additionalProperties": false, "properties": { "Condition": { @@ -338537,33 +306411,35 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the cluster for the control panel.", - "title": "ClusterArn", + "CIDRIP": { + "markdownDescription": "The IP range to be added the Amazon Redshift security group.", + "title": "CIDRIP", "type": "string" }, - "Name": { - "markdownDescription": "The name of the control panel. You can use any non-white space character in the name.", - "title": "Name", + "ClusterSecurityGroupName": { + "markdownDescription": "The name of the security group to which the ingress rule is added.", + "title": "ClusterSecurityGroupName", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags associated with the control panel.", - "title": "Tags", - "type": "array" + "EC2SecurityGroupName": { + "markdownDescription": "The EC2 security group to be added the Amazon Redshift security group.", + "title": "EC2SecurityGroupName", + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "markdownDescription": "The AWS account number of the owner of the security group specified by the *EC2SecurityGroupName* parameter. The AWS Access Key ID is not an acceptable value.\n\nExample: `111122223333`\n\nConditional. If you specify the `EC2SecurityGroupName` property, you must specify this property.", + "title": "EC2SecurityGroupOwnerId", + "type": "string" } }, "required": [ - "Name" + "ClusterSecurityGroupName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryControl::ControlPanel" + "AWS::Redshift::ClusterSecurityGroupIngress" ], "type": "string" }, @@ -338582,7 +306458,7 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::RoutingControl": { + "AWS::Redshift::ClusterSubnetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -338617,30 +306493,37 @@ "Properties": { "additionalProperties": false, "properties": { - "ClusterArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the cluster that hosts the routing control.", - "title": "ClusterArn", + "Description": { + "markdownDescription": "A description for the subnet group.", + "title": "Description", "type": "string" }, - "ControlPanelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the control panel that includes the routing control.", - "title": "ControlPanelArn", - "type": "string" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.", + "title": "SubnetIds", + "type": "array" }, - "Name": { - "markdownDescription": "The name of the routing control. You can use any non-white space character in the name.", - "title": "Name", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies an arbitrary set of tags (key\u2013value pairs) to associate with this subnet group. Use tags to manage your resources.", + "title": "Tags", + "type": "array" } }, "required": [ - "Name" + "Description", + "SubnetIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryControl::RoutingControl" + "AWS::Redshift::ClusterSubnetGroup" ], "type": "string" }, @@ -338659,7 +306542,7 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::SafetyRule": { + "AWS::Redshift::EndpointAccess": { "additionalProperties": false, "properties": { "Condition": { @@ -338694,50 +306577,46 @@ "Properties": { "additionalProperties": false, "properties": { - "AssertionRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule", - "markdownDescription": "An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. For example, the criteria might be that at least one routing control state is `On` after the transaction so that traffic continues to flow to at least one cell for the application. This ensures that you avoid a fail-open scenario.", - "title": "AssertionRule" - }, - "ControlPanelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the control panel.", - "title": "ControlPanelArn", + "ClusterIdentifier": { + "markdownDescription": "The cluster identifier of the cluster associated with the endpoint.", + "title": "ClusterIdentifier", "type": "string" }, - "GatingRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule", - "markdownDescription": "A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.\n\nFor example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR` , that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control switch to be On. When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.", - "title": "GatingRule" + "EndpointName": { + "markdownDescription": "The name of the endpoint.", + "title": "EndpointName", + "type": "string" }, - "Name": { - "markdownDescription": "The name of the assertion rule. The name must be unique within a control panel. You can use any non-white space character in the name except the following: & > < ' (single quote) \" (double quote) ; (semicolon)", - "title": "Name", + "ResourceOwner": { + "markdownDescription": "The AWS account ID of the owner of the cluster.", + "title": "ResourceOwner", "type": "string" }, - "RuleConfig": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig", - "markdownDescription": "The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be `ON` as the result of a transaction. For example, if you have three assertion controls, you might specify `ATLEAST 2` for your rule configuration. This means that at least two assertion controls must be `ON` , so that at least two AWS Regions have traffic flowing to them.", - "title": "RuleConfig" + "SubnetGroupName": { + "markdownDescription": "The subnet group name where Amazon Redshift chooses to deploy the endpoint.", + "title": "SubnetGroupName", + "type": "string" }, - "Tags": { + "VpcSecurityGroupIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags associated with the safety rule.", - "title": "Tags", + "markdownDescription": "The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.", + "title": "VpcSecurityGroupIds", "type": "array" } }, "required": [ - "ControlPanelArn", - "Name", - "RuleConfig" + "ClusterIdentifier", + "EndpointName", + "SubnetGroupName", + "VpcSecurityGroupIds" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryControl::SafetyRule" + "AWS::Redshift::EndpointAccess" ], "type": "string" }, @@ -338756,88 +306635,73 @@ ], "type": "object" }, - "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "AWS::Redshift::EndpointAccess.NetworkInterface": { "additionalProperties": false, "properties": { - "AssertedControls": { - "items": { - "type": "string" - }, - "markdownDescription": "The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three AWS Regions.", - "title": "AssertedControls", - "type": "array" + "AvailabilityZone": { + "markdownDescription": "The Availability Zone.", + "title": "AvailabilityZone", + "type": "string" }, - "WaitPeriodMs": { - "markdownDescription": "An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent flapping of state. The wait period is 5000 ms by default, but you can choose a custom value.", - "title": "WaitPeriodMs", - "type": "number" + "NetworkInterfaceId": { + "markdownDescription": "The network interface identifier.", + "title": "NetworkInterfaceId", + "type": "string" + }, + "PrivateIpAddress": { + "markdownDescription": "The IPv4 address of the network interface within the subnet.", + "title": "PrivateIpAddress", + "type": "string" + }, + "SubnetId": { + "markdownDescription": "The subnet identifier.", + "title": "SubnetId", + "type": "string" } }, - "required": [ - "AssertedControls", - "WaitPeriodMs" - ], "type": "object" }, - "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "AWS::Redshift::EndpointAccess.VpcEndpoint": { "additionalProperties": false, "properties": { - "GatingControls": { + "NetworkInterfaces": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::Redshift::EndpointAccess.NetworkInterface" }, - "markdownDescription": "An array of gating routing control Amazon Resource Names (ARNs). For a simple on-off switch, specify the ARN for one routing control. The gating routing controls are evaluated by the rule configuration that you specify to determine if the target routing control states can be changed.", - "title": "GatingControls", + "markdownDescription": "One or more network interfaces of the endpoint. Also known as an interface endpoint.", + "title": "NetworkInterfaces", "type": "array" }, - "TargetControls": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control. As a simple example, if you have a single gating control, it acts as an overall on-off switch for a set of target routing controls. You can use this to manually override automated failover, for example.", - "title": "TargetControls", - "type": "array" + "VpcEndpointId": { + "markdownDescription": "The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.", + "title": "VpcEndpointId", + "type": "string" }, - "WaitPeriodMs": { - "markdownDescription": "An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent flapping of state. The wait period is 5000 ms by default, but you can choose a custom value.", - "title": "WaitPeriodMs", - "type": "number" + "VpcId": { + "markdownDescription": "The VPC identifier that the endpoint is associated.", + "title": "VpcId", + "type": "string" } }, - "required": [ - "GatingControls", - "TargetControls", - "WaitPeriodMs" - ], "type": "object" }, - "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "AWS::Redshift::EndpointAccess.VpcSecurityGroup": { "additionalProperties": false, "properties": { - "Inverted": { - "markdownDescription": "Logical negation of the rule. If the rule would usually evaluate true, it's evaluated as false, and vice versa.", - "title": "Inverted", - "type": "boolean" - }, - "Threshold": { - "markdownDescription": "The value of N, when you specify an `ATLEAST` rule type. That is, `Threshold` is the number of controls that must be set when you specify an `ATLEAST` type.", - "title": "Threshold", - "type": "number" + "Status": { + "markdownDescription": "The status of the endpoint.", + "title": "Status", + "type": "string" }, - "Type": { - "markdownDescription": "A rule can be one of the following: `ATLEAST` , `AND` , or `OR` .", - "title": "Type", + "VpcSecurityGroupId": { + "markdownDescription": "The identifier of the VPC security group.", + "title": "VpcSecurityGroupId", "type": "string" } }, - "required": [ - "Inverted", - "Threshold", - "Type" - ], "type": "object" }, - "AWS::Route53RecoveryReadiness::Cell": { + "AWS::Redshift::EndpointAuthorization": { "additionalProperties": false, "properties": { "Condition": { @@ -338872,33 +306736,39 @@ "Properties": { "additionalProperties": false, "properties": { - "CellName": { - "markdownDescription": "The name of the cell to create.", - "title": "CellName", + "Account": { + "markdownDescription": "The AWS account ID of either the cluster owner (grantor) or grantee. If `Grantee` parameter is true, then the `Account` value is of the grantor.", + "title": "Account", "type": "string" }, - "Cells": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of cell Amazon Resource Names (ARNs) contained within this cell, for use in nested cells. For example, Availability Zones within specific AWS Regions .", - "title": "Cells", - "type": "array" + "ClusterIdentifier": { + "markdownDescription": "The cluster identifier.", + "title": "ClusterIdentifier", + "type": "string" }, - "Tags": { + "Force": { + "markdownDescription": "Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.", + "title": "Force", + "type": "boolean" + }, + "VpcIds": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "A collection of tags associated with a resource.", - "title": "Tags", + "markdownDescription": "The virtual private cloud (VPC) identifiers to grant access to.", + "title": "VpcIds", "type": "array" } }, + "required": [ + "Account", + "ClusterIdentifier" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryReadiness::Cell" + "AWS::Redshift::EndpointAuthorization" ], "type": "string" }, @@ -338912,11 +306782,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "AWS::Redshift::EventSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -338951,30 +306822,64 @@ "Properties": { "additionalProperties": false, "properties": { - "ReadinessCheckName": { - "markdownDescription": "The name of the readiness check to create.", - "title": "ReadinessCheckName", + "Enabled": { + "markdownDescription": "A boolean value; set to `true` to activate the subscription, and set to `false` to create the subscription but not activate it.", + "title": "Enabled", + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the Amazon Redshift event categories to be published by the event notification subscription.\n\nValues: configuration, management, monitoring, security, pending", + "title": "EventCategories", + "type": "array" + }, + "Severity": { + "markdownDescription": "Specifies the Amazon Redshift event severity to be published by the event notification subscription.\n\nValues: ERROR, INFO", + "title": "Severity", "type": "string" }, - "ResourceSetName": { - "markdownDescription": "The name of the resource set to check.", - "title": "ResourceSetName", + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to it.", + "title": "SnsTopicArn", + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of one or more identifiers of Amazon Redshift source objects. All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified.\n\nExample: my-cluster-1, my-cluster-2\n\nExample: my-snapshot-20131010", + "title": "SourceIds", + "type": "array" + }, + "SourceType": { + "markdownDescription": "The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account . You must specify a source type in order to specify source IDs.\n\nValid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.", + "title": "SourceType", + "type": "string" + }, + "SubscriptionName": { + "markdownDescription": "The name of the event subscription to be created.\n\nConstraints:\n\n- Cannot be null, empty, or blank.\n- Must contain from 1 to 255 alphanumeric characters or hyphens.\n- First character must be a letter.\n- Cannot end with a hyphen or contain two consecutive hyphens.", + "title": "SubscriptionName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A collection of tags associated with a resource.", + "markdownDescription": "A list of tag instances.", "title": "Tags", "type": "array" } }, + "required": [ + "SubscriptionName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryReadiness::ReadinessCheck" + "AWS::Redshift::EventSubscription" ], "type": "string" }, @@ -338988,11 +306893,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "AWS::Redshift::Integration": { "additionalProperties": false, "properties": { "Condition": { @@ -339027,33 +306933,55 @@ "Properties": { "additionalProperties": false, "properties": { - "Cells": { - "items": { - "type": "string" + "AdditionalEncryptionContext": { + "additionalProperties": true, + "markdownDescription": "The encryption context for the integration. For more information, see [Encryption context](https://docs.aws.amazon.com/) in the *AWS Key Management Service Developer Guide* .", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A list of the cell Amazon Resource Names (ARNs) in the recovery group.", - "title": "Cells", - "type": "array" + "title": "AdditionalEncryptionContext", + "type": "object" }, - "RecoveryGroupName": { - "markdownDescription": "The name of the recovery group to create.", - "title": "RecoveryGroupName", + "IntegrationName": { + "markdownDescription": "The name of the integration.", + "title": "IntegrationName", + "type": "string" + }, + "KMSKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key identifier for the key used to encrypt the integration.", + "title": "KMSKeyId", + "type": "string" + }, + "SourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the database used as the source for replication.", + "title": "SourceArn", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A collection of tags associated with a resource.", + "markdownDescription": "The list of tags associated with the integration.", "title": "Tags", "type": "array" + }, + "TargetArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon Redshift data warehouse to use as the target for replication.", + "title": "TargetArn", + "type": "string" } }, + "required": [ + "SourceArn", + "TargetArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryReadiness::RecoveryGroup" + "AWS::Redshift::Integration" ], "type": "string" }, @@ -339067,11 +306995,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet": { + "AWS::Redshift::ScheduledAction": { "additionalProperties": false, "properties": { "Condition": { @@ -339106,42 +307035,55 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceSetName": { - "markdownDescription": "The name of the resource set to create.", - "title": "ResourceSetName", + "Enable": { + "markdownDescription": "If true, the schedule is enabled. If false, the scheduled action does not trigger. For more information about `state` of the scheduled action, see `ScheduledAction` .", + "title": "Enable", + "type": "boolean" + }, + "EndTime": { + "markdownDescription": "The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.", + "title": "EndTime", "type": "string" }, - "ResourceSetType": { - "markdownDescription": "The resource type of the resources in the resource set. Enter one of the following values for resource type:\n\nAWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage, AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm, AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume, AWS::ElasticLoadBalancing::LoadBalancer, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function, AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck, AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::Route53RecoveryReadiness::DNSTargetResource.\n\nNote that AWS::Route53RecoveryReadiness::DNSTargetResource is only used for this setting. It isn't an actual AWS CloudFormation resource type.", - "title": "ResourceSetType", + "IamRole": { + "markdownDescription": "The IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see [Using Identity-Based Policies for Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) in the *Amazon Redshift Cluster Management Guide* .", + "title": "IamRole", "type": "string" }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" - }, - "markdownDescription": "A list of resource objects in the resource set.", - "title": "Resources", - "type": "array" + "Schedule": { + "markdownDescription": "The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.\n\nFormat of at expressions is \" `at(yyyy-mm-ddThh:mm:ss)` \". For example, \" `at(2016-03-04T17:27:00)` \".\n\nFormat of cron expressions is \" `cron(Minutes Hours Day-of-month Month Day-of-week Year)` \". For example, \" `cron(0 10 ? * MON *)` \". For more information, see [Cron Expressions](https://docs.aws.amazon.com//AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) in the *Amazon CloudWatch Events User Guide* .", + "title": "Schedule", + "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A tag to associate with the parameters for a resource set.", - "title": "Tags", - "type": "array" + "ScheduledActionDescription": { + "markdownDescription": "The description of the scheduled action.", + "title": "ScheduledActionDescription", + "type": "string" + }, + "ScheduledActionName": { + "markdownDescription": "The name of the scheduled action.", + "title": "ScheduledActionName", + "type": "string" + }, + "StartTime": { + "markdownDescription": "The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.", + "title": "StartTime", + "type": "string" + }, + "TargetAction": { + "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ScheduledActionType", + "markdownDescription": "A JSON format string of the Amazon Redshift API operation with input parameters.\n\n\" `{\\\"ResizeCluster\\\":{\\\"NodeType\\\":\\\"ra3.4xlarge\\\",\\\"ClusterIdentifier\\\":\\\"my-test-cluster\\\",\\\"NumberOfNodes\\\":3}}` \".", + "title": "TargetAction" } }, "required": [ - "ResourceSetType", - "Resources" + "ScheduledActionName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53RecoveryReadiness::ResourceSet" + "AWS::Redshift::ScheduledAction" ], "type": "string" }, @@ -339160,110 +307102,90 @@ ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { + "AWS::Redshift::ScheduledAction.PauseClusterMessage": { "additionalProperties": false, "properties": { - "DomainName": { - "markdownDescription": "The domain name that acts as an ingress point to a portion of the customer application.", - "title": "DomainName", - "type": "string" - }, - "HostedZoneArn": { - "markdownDescription": "The hosted zone Amazon Resource Name (ARN) that contains the DNS record with the provided name of the target resource.", - "title": "HostedZoneArn", - "type": "string" - }, - "RecordSetId": { - "markdownDescription": "The Amazon Route 53 record set ID that uniquely identifies a DNS record, given a name and a type.", - "title": "RecordSetId", - "type": "string" - }, - "RecordType": { - "markdownDescription": "The type of DNS record of the target resource.", - "title": "RecordType", + "ClusterIdentifier": { + "markdownDescription": "The identifier of the cluster to be paused.", + "title": "ClusterIdentifier", "type": "string" - }, - "TargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource", - "markdownDescription": "The target resource that the Route 53 record points to.", - "title": "TargetResource" } }, + "required": [ + "ClusterIdentifier" + ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { + "AWS::Redshift::ScheduledAction.ResizeClusterMessage": { "additionalProperties": false, "properties": { - "Arn": { - "markdownDescription": "The Network Load Balancer resource Amazon Resource Name (ARN).", - "title": "Arn", + "Classic": { + "markdownDescription": "A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to `false` , the resize type is elastic.", + "title": "Classic", + "type": "boolean" + }, + "ClusterIdentifier": { + "markdownDescription": "The unique identifier for the cluster to resize.", + "title": "ClusterIdentifier", "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { - "additionalProperties": false, - "properties": { - "DomainName": { - "markdownDescription": "The DNS target domain name.", - "title": "DomainName", + }, + "ClusterType": { + "markdownDescription": "The new cluster type for the specified cluster.", + "title": "ClusterType", "type": "string" }, - "RecordSetId": { - "markdownDescription": "The Amazon Route 53 Resource Record Set ID.", - "title": "RecordSetId", + "NodeType": { + "markdownDescription": "The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.", + "title": "NodeType", "type": "string" + }, + "NumberOfNodes": { + "markdownDescription": "The new number of nodes for the cluster. If not specified, the cluster's current number of nodes is used.", + "title": "NumberOfNodes", + "type": "number" } }, + "required": [ + "ClusterIdentifier" + ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { + "AWS::Redshift::ScheduledAction.ResumeClusterMessage": { "additionalProperties": false, "properties": { - "ComponentId": { - "markdownDescription": "The component identifier of the resource, generated when DNS target resource is used.", - "title": "ComponentId", - "type": "string" - }, - "DnsTargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource", - "markdownDescription": "A component for DNS/routing control readiness checks. This is a required setting when `ResourceSet` `ResourceSetType` is set to `AWS::Route53RecoveryReadiness::DNSTargetResource` . Do not set it for any other `ResourceSetType` setting.", - "title": "DnsTargetResource" - }, - "ReadinessScopes": { - "items": { - "type": "string" - }, - "markdownDescription": "The recovery group Amazon Resource Name (ARN) or the cell ARN that the readiness checks for this resource set are scoped to.", - "title": "ReadinessScopes", - "type": "array" - }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS resource. This is a required setting for all `ResourceSet` `ResourceSetType` settings except `AWS::Route53RecoveryReadiness::DNSTargetResource` . Do not set this when `ResourceSetType` is set to `AWS::Route53RecoveryReadiness::DNSTargetResource` .", - "title": "ResourceArn", + "ClusterIdentifier": { + "markdownDescription": "The identifier of the cluster to be resumed.", + "title": "ClusterIdentifier", "type": "string" } }, + "required": [ + "ClusterIdentifier" + ], "type": "object" }, - "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "AWS::Redshift::ScheduledAction.ScheduledActionType": { "additionalProperties": false, "properties": { - "NLBResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource", - "markdownDescription": "The Network Load Balancer resource that a DNS target resource points to.", - "title": "NLBResource" + "PauseCluster": { + "$ref": "#/definitions/AWS::Redshift::ScheduledAction.PauseClusterMessage", + "markdownDescription": "An action that runs a `PauseCluster` API operation.", + "title": "PauseCluster" }, - "R53Resource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord", - "markdownDescription": "The Route 53 resource that a DNS target resource record points to.", - "title": "R53Resource" + "ResizeCluster": { + "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ResizeClusterMessage", + "markdownDescription": "An action that runs a `ResizeCluster` API operation.", + "title": "ResizeCluster" + }, + "ResumeCluster": { + "$ref": "#/definitions/AWS::Redshift::ScheduledAction.ResumeClusterMessage", + "markdownDescription": "An action that runs a `ResumeCluster` API operation.", + "title": "ResumeCluster" } }, "type": "object" }, - "AWS::Route53Resolver::FirewallConfig": { + "AWS::RedshiftServerless::Namespace": { "additionalProperties": false, "properties": { "Condition": { @@ -339298,18 +307220,107 @@ "Properties": { "additionalProperties": false, "properties": { - "FirewallFailOpen": { + "AdminPasswordSecretKmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if `ManageAdminPassword` is `true` .", + "title": "AdminPasswordSecretKmsKeyId", "type": "string" }, - "ResourceId": { + "AdminUserPassword": { + "markdownDescription": "The password of the administrator for the primary database created in the namespace.", + "title": "AdminUserPassword", + "type": "string" + }, + "AdminUsername": { + "markdownDescription": "The username of the administrator for the primary database created in the namespace.", + "title": "AdminUsername", + "type": "string" + }, + "DbName": { + "markdownDescription": "The name of the primary database created in the namespace.", + "title": "DbName", + "type": "string" + }, + "DefaultIamRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.", + "title": "DefaultIamRoleArn", + "type": "string" + }, + "FinalSnapshotName": { + "markdownDescription": "The name of the snapshot to be created before the namespace is deleted.", + "title": "FinalSnapshotName", + "type": "string" + }, + "FinalSnapshotRetentionPeriod": { + "markdownDescription": "How long to retain the final snapshot.", + "title": "FinalSnapshotRetentionPeriod", + "type": "number" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IAM roles to associate with the namespace.", + "title": "IamRoles", + "type": "array" + }, + "KmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service key used to encrypt your data.", + "title": "KmsKeyId", + "type": "string" + }, + "LogExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The types of logs the namespace can export. Available export types are `userlog` , `connectionlog` , and `useractivitylog` .", + "title": "LogExports", + "type": "array" + }, + "ManageAdminPassword": { + "markdownDescription": "If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. You can't use `AdminUserPassword` if `ManageAdminPassword` is true. If `ManageAdminPassword` is `false` or not set, Amazon Redshift uses `AdminUserPassword` for the admin user account's password.", + "title": "ManageAdminPassword", + "type": "boolean" + }, + "NamespaceName": { + "markdownDescription": "The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", + "title": "NamespaceName", + "type": "string" + }, + "NamespaceResourcePolicy": { + "markdownDescription": "The resource policy that will be attached to the namespace.", + "title": "NamespaceResourcePolicy", + "type": "object" + }, + "RedshiftIdcApplicationArn": { + "markdownDescription": "The ARN for the Redshift application that integrates with IAM Identity Center.", + "title": "RedshiftIdcApplicationArn", "type": "string" + }, + "SnapshotCopyConfigurations": { + "items": { + "$ref": "#/definitions/AWS::RedshiftServerless::Namespace.SnapshotCopyConfiguration" + }, + "markdownDescription": "", + "title": "SnapshotCopyConfigurations", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The map of the key-value pairs used to tag the namespace.", + "title": "Tags", + "type": "array" } }, + "required": [ + "NamespaceName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::FirewallConfig" + "AWS::RedshiftServerless::Namespace" ], "type": "string" }, @@ -339323,11 +307334,113 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::FirewallDomainList": { + "AWS::RedshiftServerless::Namespace.Namespace": { + "additionalProperties": false, + "properties": { + "AdminPasswordSecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the namespace's admin user credentials secret.", + "title": "AdminPasswordSecretArn", + "type": "string" + }, + "AdminPasswordSecretKmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.", + "title": "AdminPasswordSecretKmsKeyId", + "type": "string" + }, + "AdminUsername": { + "markdownDescription": "The username of the administrator for the first database created in the namespace.", + "title": "AdminUsername", + "type": "string" + }, + "CreationDate": { + "markdownDescription": "The date of when the namespace was created.", + "title": "CreationDate", + "type": "string" + }, + "DbName": { + "markdownDescription": "The name of the first database created in the namespace.", + "title": "DbName", + "type": "string" + }, + "DefaultIamRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.", + "title": "DefaultIamRoleArn", + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of IAM roles to associate with the namespace.", + "title": "IamRoles", + "type": "array" + }, + "KmsKeyId": { + "markdownDescription": "The ID of the AWS Key Management Service key used to encrypt your data.", + "title": "KmsKeyId", + "type": "string" + }, + "LogExports": { + "items": { + "type": "string" + }, + "markdownDescription": "The types of logs the namespace can export. Available export types are User log, Connection log, and User activity log.", + "title": "LogExports", + "type": "array" + }, + "NamespaceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) associated with a namespace.", + "title": "NamespaceArn", + "type": "string" + }, + "NamespaceId": { + "markdownDescription": "The unique identifier of a namespace.", + "title": "NamespaceId", + "type": "string" + }, + "NamespaceName": { + "markdownDescription": "The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in [Reserved Words](https://docs.aws.amazon.com//redshift/latest/dg/r_pg_keywords.html) in the Amazon Redshift Database Developer Guide.", + "title": "NamespaceName", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the namespace.", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RedshiftServerless::Namespace.SnapshotCopyConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationKmsKeyId": { + "markdownDescription": "The ID of the KMS key to use to encrypt your snapshots in the destination AWS Region .", + "title": "DestinationKmsKeyId", + "type": "string" + }, + "DestinationRegion": { + "markdownDescription": "The destination AWS Region to copy snapshots to.", + "title": "DestinationRegion", + "type": "string" + }, + "SnapshotRetentionPeriod": { + "markdownDescription": "The retention period of snapshots that are copied to the destination AWS Region .", + "title": "SnapshotRetentionPeriod", + "type": "number" + } + }, + "required": [ + "DestinationRegion" + ], + "type": "object" + }, + "AWS::RedshiftServerless::Snapshot": { "additionalProperties": false, "properties": { "Condition": { @@ -339362,38 +307475,38 @@ "Properties": { "additionalProperties": false, "properties": { - "DomainFileUrl": { - "markdownDescription": "The fully qualified URL or URI of the file stored in Amazon Simple Storage Service (Amazon S3) that contains the list of domains to import.\n\nThe file must be in an S3 bucket that's in the same Region as your DNS Firewall. The file must be a text file and must contain a single domain per line.", - "title": "DomainFileUrl", + "NamespaceName": { + "markdownDescription": "The name of the namepsace.", + "title": "NamespaceName", "type": "string" }, - "Domains": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the domain lists that you have defined.", - "title": "Domains", - "type": "array" + "RetentionPeriod": { + "markdownDescription": "The retention period of the snapshot created by the scheduled action.", + "title": "RetentionPeriod", + "type": "number" }, - "Name": { - "markdownDescription": "The name of the domain list.", - "title": "Name", + "SnapshotName": { + "markdownDescription": "The name of the snapshot.", + "title": "SnapshotName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tag keys and values that you want to associate with the domain list.", + "markdownDescription": "An array of [Tag objects](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_Tag.html) to associate with the snapshot.", "title": "Tags", "type": "array" } }, + "required": [ + "SnapshotName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::FirewallDomainList" + "AWS::RedshiftServerless::Snapshot" ], "type": "string" }, @@ -339406,12 +307519,69 @@ "type": "string" } }, - "required": [ - "Type" - ], + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RedshiftServerless::Snapshot.Snapshot": { + "additionalProperties": false, + "properties": { + "AdminUsername": { + "markdownDescription": "The username of the database within a snapshot.", + "title": "AdminUsername", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The unique identifier of the KMS key used to encrypt the snapshot.", + "title": "KmsKeyId", + "type": "string" + }, + "NamespaceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the namespace the snapshot was created from.", + "title": "NamespaceArn", + "type": "string" + }, + "NamespaceName": { + "markdownDescription": "The name of the namepsace.", + "title": "NamespaceName", + "type": "string" + }, + "OwnerAccount": { + "markdownDescription": "The owner AWS ; account of the snapshot.", + "title": "OwnerAccount", + "type": "string" + }, + "RetentionPeriod": { + "markdownDescription": "", + "title": "RetentionPeriod", + "type": "number" + }, + "SnapshotArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the snapshot.", + "title": "SnapshotArn", + "type": "string" + }, + "SnapshotCreateTime": { + "markdownDescription": "The timestamp of when the snapshot was created.", + "title": "SnapshotCreateTime", + "type": "string" + }, + "SnapshotName": { + "markdownDescription": "The name of the snapshot.", + "title": "SnapshotName", + "type": "string" + }, + "Status": { + "markdownDescription": "The status of the snapshot.", + "title": "Status", + "type": "string" + } + }, "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroup": { + "AWS::RedshiftServerless::Workgroup": { "additionalProperties": false, "properties": { "Condition": { @@ -339446,33 +307616,117 @@ "Properties": { "additionalProperties": false, "properties": { - "FirewallRules": { + "BaseCapacity": { + "markdownDescription": "The base compute capacity of the workgroup in Redshift Processing Units (RPUs).", + "title": "BaseCapacity", + "type": "number" + }, + "ConfigParameters": { "items": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.ConfigParameter" }, - "markdownDescription": "A list of the rules that you have defined.", - "title": "FirewallRules", + "markdownDescription": "The key of the parameter. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", + "title": "ConfigParameters", "type": "array" }, - "Name": { - "markdownDescription": "The name of the rule group.", - "title": "Name", + "EnhancedVpcRouting": { + "markdownDescription": "The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.", + "title": "EnhancedVpcRouting", + "type": "boolean" + }, + "MaxCapacity": { + "markdownDescription": "The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.", + "title": "MaxCapacity", + "type": "number" + }, + "NamespaceName": { + "markdownDescription": "The namespace the workgroup is associated with.", + "title": "NamespaceName", + "type": "string" + }, + "Port": { + "markdownDescription": "The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.", + "title": "Port", + "type": "number" + }, + "PricePerformanceTarget": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.PerformanceTarget", + "markdownDescription": "An object that represents the price performance target settings for the workgroup.", + "title": "PricePerformanceTarget" + }, + "PubliclyAccessible": { + "markdownDescription": "A value that specifies whether the workgroup can be accessible from a public network.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "RecoveryPointId": { + "markdownDescription": "The recovery point id to restore from.", + "title": "RecoveryPointId", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of security group IDs to associate with the workgroup.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SnapshotArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the snapshot to restore from.", + "title": "SnapshotArn", + "type": "string" + }, + "SnapshotName": { + "markdownDescription": "The snapshot name to restore from.", + "title": "SnapshotName", + "type": "string" + }, + "SnapshotOwnerAccount": { + "markdownDescription": "The Amazon Web Services account that owns the snapshot.", + "title": "SnapshotOwnerAccount", "type": "string" }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of subnet IDs the workgroup is associated with.", + "title": "SubnetIds", + "type": "array" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tag keys and values that you want to associate with the rule group.", + "markdownDescription": "The map of the key-value pairs used to tag the workgroup.", "title": "Tags", "type": "array" + }, + "TrackName": { + "markdownDescription": "An optional parameter for the name of the track for the workgroup. If you don't provide a track name, the workgroup is assigned to the current track.", + "title": "TrackName", + "type": "string" + }, + "Workgroup": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.Workgroup", + "markdownDescription": "The collection of computing resources from which an endpoint is created.", + "title": "Workgroup" + }, + "WorkgroupName": { + "markdownDescription": "The name of the workgroup.", + "title": "WorkgroupName", + "type": "string" } }, + "required": [ + "WorkgroupName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::FirewallRuleGroup" + "AWS::RedshiftServerless::Workgroup" ], "type": "string" }, @@ -339486,138 +307740,213 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedContentCategoryConfig": { + "AWS::RedshiftServerless::Workgroup.ConfigParameter": { "additionalProperties": false, "properties": { - "Category": { + "ParameterKey": { + "markdownDescription": "The key of the parameter. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", + "title": "ParameterKey", + "type": "string" + }, + "ParameterValue": { + "markdownDescription": "The value of the parameter to set.", + "title": "ParameterValue", "type": "string" } }, - "required": [ - "Category" - ], "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedThreatCategoryConfig": { + "AWS::RedshiftServerless::Workgroup.Endpoint": { "additionalProperties": false, "properties": { - "Category": { + "Address": { + "markdownDescription": "The DNS address of the VPC endpoint.", + "title": "Address", "type": "string" + }, + "Port": { + "markdownDescription": "The port that Amazon Redshift Serverless listens on.", + "title": "Port", + "type": "number" + }, + "VpcEndpoints": { + "items": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.VpcEndpoint" + }, + "markdownDescription": "An array of `VpcEndpoint` objects.", + "title": "VpcEndpoints", + "type": "array" } }, - "required": [ - "Category" - ], "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { + "AWS::RedshiftServerless::Workgroup.NetworkInterface": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advvanced rule:\n\n- `ALLOW` - Permit the request to go through. Not available for DNS Firewall Advanced rules.\n- `ALERT` - Permit the request to go through but send an alert to the logs.\n- `BLOCK` - Disallow the request. If this is specified,then `BlockResponse` must also be specified.\n\nif `BlockResponse` is `OVERRIDE` , then all of the following `OVERRIDE` attributes must be specified:\n\n- `BlockOverrideDnsType`\n- `BlockOverrideDomain`\n- `BlockOverrideTtl`", - "title": "Action", + "AvailabilityZone": { + "markdownDescription": "The availability Zone.", + "title": "AvailabilityZone", "type": "string" }, - "BlockOverrideDnsType": { - "markdownDescription": "The DNS record's type. This determines the format of the record value that you provided in `BlockOverrideDomain` . Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", - "title": "BlockOverrideDnsType", + "NetworkInterfaceId": { + "markdownDescription": "The unique identifier of the network interface.", + "title": "NetworkInterfaceId", "type": "string" }, - "BlockOverrideDomain": { - "markdownDescription": "The custom DNS record to send back in response to the query. Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", - "title": "BlockOverrideDomain", + "PrivateIpAddress": { + "markdownDescription": "The IPv4 address of the network interface within the subnet.", + "title": "PrivateIpAddress", "type": "string" }, - "BlockOverrideTtl": { - "markdownDescription": "The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", - "title": "BlockOverrideTtl", + "SubnetId": { + "markdownDescription": "The unique identifier of the subnet.", + "title": "SubnetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RedshiftServerless::Workgroup.PerformanceTarget": { + "additionalProperties": false, + "properties": { + "Level": { + "markdownDescription": "The target price performance level for the workgroup. Valid values include 1, 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, ECONOMICAL, BALANCED, RESOURCEFUL, and HIGH_PERFORMANCE.", + "title": "Level", "type": "number" }, - "BlockResponse": { - "markdownDescription": "The way that you want DNS Firewall to block the request. Used for the rule action setting `BLOCK` .\n\n- `NODATA` - Respond indicating that the query was successful, but no response is available for it.\n- `NXDOMAIN` - Respond indicating that the domain name that's in the query doesn't exist.\n- `OVERRIDE` - Provide a custom override in the response. This option requires custom handling details in the rule's `BlockOverride*` settings.", - "title": "BlockResponse", + "Status": { + "markdownDescription": "Whether the price performance target is enabled for the workgroup.", + "title": "Status", "type": "string" + } + }, + "type": "object" + }, + "AWS::RedshiftServerless::Workgroup.VpcEndpoint": { + "additionalProperties": false, + "properties": { + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.NetworkInterface" + }, + "markdownDescription": "One or more network interfaces of the endpoint. Also known as an interface endpoint.", + "title": "NetworkInterfaces", + "type": "array" }, - "ConfidenceThreshold": { - "markdownDescription": "The confidence threshold for DNS Firewall Advanced. You must provide this value when you create a DNS Firewall Advanced rule. The confidence level values mean:\n\n- `LOW` : Provides the highest detection rate for threats, but also increases false positives.\n- `MEDIUM` : Provides a balance between detecting threats and false positives.\n- `HIGH` : Detects only the most well corroborated threats with a low rate of false positives.", - "title": "ConfidenceThreshold", + "VpcEndpointId": { + "markdownDescription": "The connection endpoint ID for connecting to Amazon Redshift Serverless.", + "title": "VpcEndpointId", "type": "string" }, - "DnsThreatProtection": { - "markdownDescription": "The type of the DNS Firewall Advanced rule. Valid values are:\n\n- `DGA` : Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains to to launch malware attacks.\n- `DNS_TUNNELING` : DNS tunneling detection. DNS tunneling is used by attackers to exfiltrate data from the client by using the DNS tunnel without making a network connection to the client.", - "title": "DnsThreatProtection", + "VpcId": { + "markdownDescription": "The VPC identifier that the endpoint is associated with.", + "title": "VpcId", "type": "string" + } + }, + "type": "object" + }, + "AWS::RedshiftServerless::Workgroup.Workgroup": { + "additionalProperties": false, + "properties": { + "BaseCapacity": { + "markdownDescription": "The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).", + "title": "BaseCapacity", + "type": "number" }, - "FirewallDomainListId": { - "markdownDescription": "The ID of the domain list that's used in the rule.", - "title": "FirewallDomainListId", - "type": "string" + "ConfigParameters": { + "items": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.ConfigParameter" + }, + "markdownDescription": "An array of parameters to set for advanced control over a database. The options are `auto_mv` , `datestyle` , `enable_case_sensitive_identifier` , `enable_user_activity_logging` , `query_group` , `search_path` , `require_ssl` , `use_fips_ssl` , and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see [Query monitoring metrics for Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless) .", + "title": "ConfigParameters", + "type": "array" }, - "FirewallDomainRedirectionAction": { - "markdownDescription": "How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME, or DNAME.\n\n`Inspect_Redirection_Domain` (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.\n\n`Trust_Redirection_Domain` inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.", - "title": "FirewallDomainRedirectionAction", + "CreationDate": { + "markdownDescription": "The creation date of the workgroup.", + "title": "CreationDate", "type": "string" }, - "FirewallRuleType": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRuleType" + "Endpoint": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.Endpoint", + "markdownDescription": "The endpoint that is created from the workgroup.", + "title": "Endpoint" }, - "FirewallThreatProtectionId": { - "markdownDescription": "ID of the DNS Firewall Advanced rule.", - "title": "FirewallThreatProtectionId", - "type": "string" + "EnhancedVpcRouting": { + "markdownDescription": "The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.", + "title": "EnhancedVpcRouting", + "type": "boolean" }, - "Priority": { - "markdownDescription": "The priority of the rule in the rule group. This value must be unique within the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.", - "title": "Priority", + "MaxCapacity": { + "markdownDescription": "The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.", + "title": "MaxCapacity", "type": "number" }, - "Qtype": { - "markdownDescription": "The DNS query type you want the rule to evaluate. Allowed values are;\n\n- A: Returns an IPv4 address.\n- AAAA: Returns an Ipv6 address.\n- CAA: Restricts CAs that can create SSL/TLS certifications for the domain.\n- CNAME: Returns another domain name.\n- DS: Record that identifies the DNSSEC signing key of a delegated zone.\n- MX: Specifies mail servers.\n- NAPTR: Regular-expression-based rewriting of domain names.\n- NS: Authoritative name servers.\n- PTR: Maps an IP address to a domain name.\n- SOA: Start of authority record for the zone.\n- SPF: Lists the servers authorized to send emails from a domain.\n- SRV: Application specific values that identify servers.\n- TXT: Verifies email senders and application-specific values.\n- A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPE NUMBER , where the NUMBER can be 1-65334, for example, TYPE28. For more information, see [List of DNS record types](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/List_of_DNS_record_types) .", - "title": "Qtype", + "NamespaceName": { + "markdownDescription": "The namespace the workgroup is associated with.", + "title": "NamespaceName", "type": "string" }, + "PricePerformanceTarget": { + "$ref": "#/definitions/AWS::RedshiftServerless::Workgroup.PerformanceTarget", + "markdownDescription": "An object that represents the price performance target settings for the workgroup.", + "title": "PricePerformanceTarget" + }, + "PubliclyAccessible": { + "markdownDescription": "A value that specifies whether the workgroup can be accessible from a public network.", + "title": "PubliclyAccessible", + "type": "boolean" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of security group IDs to associate with the workgroup.", + "title": "SecurityGroupIds", + "type": "array" + }, "Status": { + "markdownDescription": "The status of the workgroup.", + "title": "Status", "type": "string" - } - }, - "required": [ - "Action", - "Priority" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallRuleType": { - "additionalProperties": false, - "properties": { - "FirewallAdvancedContentCategory": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedContentCategoryConfig" }, - "FirewallAdvancedThreatCategory": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedThreatCategoryConfig" + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of subnet IDs the workgroup is associated with.", + "title": "SubnetIds", + "type": "array" }, - "PartnerThreatProtection": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.PartnerThreatProtectionConfig" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup.PartnerThreatProtectionConfig": { - "additionalProperties": false, - "properties": { - "Partner": { + "TrackName": { + "markdownDescription": "The name of the track for the workgroup.", + "title": "TrackName", + "type": "string" + }, + "WorkgroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) that links to the workgroup.", + "title": "WorkgroupArn", + "type": "string" + }, + "WorkgroupId": { + "markdownDescription": "The unique identifier of the workgroup.", + "title": "WorkgroupId", + "type": "string" + }, + "WorkgroupName": { + "markdownDescription": "The name of the workgroup.", + "title": "WorkgroupName", "type": "string" } }, - "required": [ - "Partner" - ], "type": "object" }, - "AWS::Route53Resolver::FirewallRuleGroupAssociation": { + "AWS::RefactorSpaces::Application": { "additionalProperties": false, "properties": { "Condition": { @@ -339652,50 +307981,51 @@ "Properties": { "additionalProperties": false, "properties": { - "FirewallRuleGroupId": { - "markdownDescription": "The unique identifier of the firewall rule group.", - "title": "FirewallRuleGroupId", - "type": "string" + "ApiGatewayProxy": { + "$ref": "#/definitions/AWS::RefactorSpaces::Application.ApiGatewayProxyInput", + "markdownDescription": "The endpoint URL of the Amazon API Gateway proxy.", + "title": "ApiGatewayProxy" }, - "MutationProtection": { - "markdownDescription": "If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.", - "title": "MutationProtection", + "EnvironmentIdentifier": { + "markdownDescription": "The unique identifier of the environment.", + "title": "EnvironmentIdentifier", "type": "string" }, "Name": { - "markdownDescription": "The name of the association.", + "markdownDescription": "The name of the application.", "title": "Name", "type": "string" }, - "Priority": { - "markdownDescription": "The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC. DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.\n\nYou must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 101, 200, and so on. You can change the priority setting for a rule group association after you create it.\n\nThe allowed values for `Priority` are between 100 and 9900 (excluding 100 and 9900).", - "title": "Priority", - "type": "number" + "ProxyType": { + "markdownDescription": "The proxy type of the proxy created within the application.", + "title": "ProxyType", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tag keys and values that you want to associate with the rule group.", + "markdownDescription": "The tags assigned to the application.", "title": "Tags", "type": "array" }, "VpcId": { - "markdownDescription": "The unique identifier of the VPC that is associated with the rule group.", + "markdownDescription": "The ID of the virtual private cloud (VPC).", "title": "VpcId", "type": "string" } }, "required": [ - "FirewallRuleGroupId", - "Priority", + "EnvironmentIdentifier", + "Name", + "ProxyType", "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::FirewallRuleGroupAssociation" + "AWS::RefactorSpaces::Application" ], "type": "string" }, @@ -339714,7 +308044,23 @@ ], "type": "object" }, - "AWS::Route53Resolver::OutpostResolver": { + "AWS::RefactorSpaces::Application.ApiGatewayProxyInput": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "markdownDescription": "The type of endpoint to use for the API Gateway proxy. If no value is specified in the request, the value is set to `REGIONAL` by default.\n\nIf the value is set to `PRIVATE` in the request, this creates a private API endpoint that is isolated from the public internet. The private endpoint can only be accessed by using Amazon Virtual Private Cloud (Amazon VPC) interface endpoints for the Amazon API Gateway that has been granted access. For more information about creating a private connection with Refactor Spaces and interface endpoint ( AWS PrivateLink ) availability, see [Access Refactor Spaces using an interface endpoint ( AWS PrivateLink )](https://docs.aws.amazon.com/migrationhub-refactor-spaces/latest/userguide/vpc-interface-endpoints.html) .", + "title": "EndpointType", + "type": "string" + }, + "StageName": { + "markdownDescription": "The name of the API Gateway stage. The name defaults to `prod` .", + "title": "StageName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::RefactorSpaces::Environment": { "additionalProperties": false, "properties": { "Condition": { @@ -339749,45 +308095,35 @@ "Properties": { "additionalProperties": false, "properties": { - "InstanceCount": { - "markdownDescription": "Amazon EC2 instance count for the Resolver on the Outpost.", - "title": "InstanceCount", - "type": "number" + "Description": { + "markdownDescription": "A description of the environment.", + "title": "Description", + "type": "string" }, "Name": { - "markdownDescription": "Name of the Resolver.", + "markdownDescription": "The name of the environment.", "title": "Name", "type": "string" }, - "OutpostArn": { - "markdownDescription": "The ARN (Amazon Resource Name) for the Outpost.", - "title": "OutpostArn", - "type": "string" - }, - "PreferredInstanceType": { - "markdownDescription": "The Amazon EC2 instance type. If you specify this, you must also specify a value for the `OutpostArn` .", - "title": "PreferredInstanceType", + "NetworkFabricType": { + "markdownDescription": "The network fabric type of the environment.", + "title": "NetworkFabricType", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A key value pair that helps you identify a Route\u00a053 Resolver .", + "markdownDescription": "The tags assigned to the environment.", "title": "Tags", "type": "array" } }, - "required": [ - "Name", - "OutpostArn", - "PreferredInstanceType" - ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::RefactorSpaces::Environment" ], "type": "string" }, @@ -339801,12 +308137,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::Route53Resolver::ResolverConfig": { + "AWS::RefactorSpaces::Route": { "additionalProperties": false, "properties": { "Condition": { @@ -339841,26 +308176,56 @@ "Properties": { "additionalProperties": false, "properties": { - "AutodefinedReverseFlag": { - "markdownDescription": "Represents the desired status of `AutodefinedReverse` . The only supported value on creation is `DISABLE` . Deletion of this resource will return `AutodefinedReverse` to its default value of `ENABLED` .", - "title": "AutodefinedReverseFlag", + "ApplicationIdentifier": { + "markdownDescription": "The unique identifier of the application.", + "title": "ApplicationIdentifier", "type": "string" }, - "ResourceId": { - "markdownDescription": "The ID of the Amazon Virtual Private Cloud VPC or a Route 53 Profile that you're configuring Resolver for.", - "title": "ResourceId", + "DefaultRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.DefaultRouteInput", + "markdownDescription": "Configuration for the default route type.", + "title": "DefaultRoute" + }, + "EnvironmentIdentifier": { + "markdownDescription": "The unique identifier of the environment.", + "title": "EnvironmentIdentifier", + "type": "string" + }, + "RouteType": { + "markdownDescription": "The route type of the route.", + "title": "RouteType", + "type": "string" + }, + "ServiceIdentifier": { + "markdownDescription": "The unique identifier of the service.", + "title": "ServiceIdentifier", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags assigned to the route.", + "title": "Tags", + "type": "array" + }, + "UriPathRoute": { + "$ref": "#/definitions/AWS::RefactorSpaces::Route.UriPathRouteInput", + "markdownDescription": "The configuration for the URI path route type.", + "title": "UriPathRoute" } }, "required": [ - "AutodefinedReverseFlag", - "ResourceId" + "ApplicationIdentifier", + "EnvironmentIdentifier", + "RouteType", + "ServiceIdentifier" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverConfig" + "AWS::RefactorSpaces::Route" ], "type": "string" }, @@ -339879,70 +308244,58 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { + "AWS::RefactorSpaces::Route.DefaultRouteInput": { "additionalProperties": false, "properties": { - "Condition": { + "ActivationState": { + "markdownDescription": "If set to `ACTIVE` , traffic is forwarded to this route\u2019s service after the route is created.", + "title": "ActivationState", "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "required": [ + "ActivationState" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Route.UriPathRouteInput": { + "additionalProperties": false, + "properties": { + "ActivationState": { + "markdownDescription": "If set to `ACTIVE` , traffic is forwarded to this route\u2019s service after the route is created.", + "title": "ActivationState", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "AppendSourcePath": { + "markdownDescription": "If set to `true` , this option appends the source path to the service URL endpoint.", + "title": "AppendSourcePath", + "type": "boolean" }, - "Metadata": { - "type": "object" + "IncludeChildPaths": { + "markdownDescription": "Indicates whether to match all subpaths of the given source path. If this value is `false` , requests must match the source path exactly before they are forwarded to this route's service.", + "title": "IncludeChildPaths", + "type": "boolean" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "markdownDescription": "The ID of the virtual private cloud (VPC) that you're configuring the DNSSEC validation status for.", - "title": "ResourceId", - "type": "string" - } + "Methods": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" - ], - "type": "string" + "markdownDescription": "A list of HTTP methods to match. An empty list matches all values. If a method is present, only HTTP requests using that method are forwarded to this route\u2019s service.", + "title": "Methods", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SourcePath": { + "markdownDescription": "This is the path that Refactor Spaces uses to match traffic. Paths must start with `/` and are relative to the base of the application. To use path parameters in the source path, add a variable in curly braces. For example, the resource path {user} represents a path parameter called 'user'.", + "title": "SourcePath", "type": "string" } }, "required": [ - "Type" + "ActivationState" ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint": { + "AWS::RefactorSpaces::Service": { "additionalProperties": false, "properties": { "Condition": { @@ -339977,90 +308330,66 @@ "Properties": { "additionalProperties": false, "properties": { - "Direction": { - "markdownDescription": "Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:\n\n- `INBOUND` : allows DNS queries to your VPC from your network\n- `OUTBOUND` : allows DNS queries from your VPC to your network\n- `INBOUND_DELEGATION` : Resolver delegates queries to Route 53 private hosted zones from your network.", - "title": "Direction", + "ApplicationIdentifier": { + "markdownDescription": "The unique identifier of the application.", + "title": "ApplicationIdentifier", "type": "string" }, - "Dns64Enabled": { - "type": "boolean" - }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "markdownDescription": "The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.\n\n> Even though the minimum is 1, Route\u00a053 requires that you create at least two.", - "title": "IpAddresses", - "type": "array" - }, - "Ipv6InternetAccessEnabled": { - "type": "boolean" - }, - "Name": { - "markdownDescription": "A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.", - "title": "Name", + "Description": { + "markdownDescription": "A description of the service.", + "title": "Description", "type": "string" }, - "OutpostArn": { - "markdownDescription": "The ARN (Amazon Resource Name) for the Outpost.", - "title": "OutpostArn", + "EndpointType": { + "markdownDescription": "The endpoint type of the service.", + "title": "EndpointType", "type": "string" }, - "PreferredInstanceType": { - "markdownDescription": "The Amazon EC2 instance type.", - "title": "PreferredInstanceType", + "EnvironmentIdentifier": { + "markdownDescription": "The unique identifier of the environment.", + "title": "EnvironmentIdentifier", "type": "string" }, - "Protocols": { - "items": { - "type": "string" - }, - "markdownDescription": "Protocols used for the endpoint. DoH-FIPS is applicable for a default inbound endpoints only.\n\nFor an inbound endpoint you can apply the protocols as follows:\n\n- Do53 and DoH in combination.\n- Do53 and DoH-FIPS in combination.\n- Do53 alone.\n- DoH alone.\n- DoH-FIPS alone.\n- None, which is treated as Do53.\n\nFor a delegation inbound endpoint you can use Do53 only.\n\nFor an outbound endpoint you can apply the protocols as follows:\n\n- Do53 and DoH in combination.\n- Do53 alone.\n- DoH alone.\n- None, which is treated as Do53.", - "title": "Protocols", - "type": "array" + "LambdaEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.LambdaEndpointInput", + "markdownDescription": "A summary of the configuration for the AWS Lambda endpoint type.", + "title": "LambdaEndpoint" }, - "ResolverEndpointType": { - "markdownDescription": "The Resolver endpoint IP address type.", - "title": "ResolverEndpointType", + "Name": { + "markdownDescription": "The name of the service.", + "title": "Name", "type": "string" }, - "RniEnhancedMetricsEnabled": { - "markdownDescription": "Indicates whether RNI enhanced metrics are enabled for the Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When disabled, these metrics are not published.", - "title": "RniEnhancedMetricsEnabled", - "type": "boolean" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.", - "title": "SecurityGroupIds", - "type": "array" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Route 53 Resolver doesn't support updating tags through CloudFormation.", + "markdownDescription": "The tags assigned to the service.", "title": "Tags", "type": "array" }, - "TargetNameServerMetricsEnabled": { - "markdownDescription": "Indicates whether target name server metrics are enabled for the outbound Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When disabled, these metrics are not published. This feature is not supported for inbound Resolver endpoint.", - "title": "TargetNameServerMetricsEnabled", - "type": "boolean" + "UrlEndpoint": { + "$ref": "#/definitions/AWS::RefactorSpaces::Service.UrlEndpointInput", + "markdownDescription": "The summary of the configuration for the URL endpoint type.", + "title": "UrlEndpoint" + }, + "VpcId": { + "markdownDescription": "The ID of the virtual private cloud (VPC).", + "title": "VpcId", + "type": "string" } }, "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" + "ApplicationIdentifier", + "EndpointType", + "EnvironmentIdentifier", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::RefactorSpaces::Service" ], "type": "string" }, @@ -340079,31 +308408,40 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "AWS::RefactorSpaces::Service.LambdaEndpointInput": { "additionalProperties": false, "properties": { - "Ip": { - "markdownDescription": "The IPv4 address that you want to use for DNS queries.", - "title": "Ip", + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Lambda function or alias.", + "title": "Arn", "type": "string" - }, - "Ipv6": { - "markdownDescription": "The IPv6 address that you want to use for DNS queries.", - "title": "Ipv6", + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::RefactorSpaces::Service.UrlEndpointInput": { + "additionalProperties": false, + "properties": { + "HealthUrl": { + "markdownDescription": "The health check URL of the URL endpoint type. If the URL is a public endpoint, the `HealthUrl` must also be a public endpoint. If the URL is a private endpoint inside a virtual private cloud (VPC), the health URL must also be a private endpoint, and the host must be the same as the URL.", + "title": "HealthUrl", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet that contains the IP address.", - "title": "SubnetId", + "Url": { + "markdownDescription": "The URL to route traffic to. The URL must be an [rfc3986-formatted URL](https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc3986) . If the host is a domain name, the name must be resolvable over the public internet. If the scheme is `https` , the top level domain of the host must be listed in the [IANA root zone database](https://docs.aws.amazon.com/https://www.iana.org/domains/root/db) .", + "title": "Url", "type": "string" } }, "required": [ - "SubnetId" + "Url" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "AWS::Rekognition::Collection": { "additionalProperties": false, "properties": { "Condition": { @@ -340138,30 +308476,28 @@ "Properties": { "additionalProperties": false, "properties": { - "DestinationArn": { - "markdownDescription": "The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.", - "title": "DestinationArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the query logging configuration.", - "title": "Name", + "CollectionId": { + "markdownDescription": "ID for the collection that you are creating.", + "title": "CollectionId", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "A set of tags (key-value pairs) that you want to attach to the collection.", "title": "Tags", "type": "array" } }, + "required": [ + "CollectionId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::Rekognition::Collection" ], "type": "string" }, @@ -340175,11 +308511,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "AWS::Rekognition::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -340214,22 +308551,28 @@ "Properties": { "additionalProperties": false, "properties": { - "ResolverQueryLogConfigId": { - "markdownDescription": "The ID of the query logging configuration that a VPC is associated with.", - "title": "ResolverQueryLogConfigId", + "ProjectName": { + "markdownDescription": "The name of the project to create.", + "title": "ProjectName", "type": "string" }, - "ResourceId": { - "markdownDescription": "The ID of the Amazon VPC that is associated with the query logging configuration.", - "title": "ResourceId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" } }, + "required": [ + "ProjectName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::Rekognition::Project" ], "type": "string" }, @@ -340243,11 +308586,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule": { + "AWS::Rekognition::StreamProcessor": { "additionalProperties": false, "properties": { "Condition": { @@ -340282,56 +308626,87 @@ "Properties": { "additionalProperties": false, "properties": { - "DelegationRecord": { - "markdownDescription": "DNS queries with delegation records that point to this domain name are forwarded to resolvers on your network.", - "title": "DelegationRecord", - "type": "string" + "BoundingBoxRegionsOfInterest": { + "items": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.BoundingBox" + }, + "markdownDescription": "List of BoundingBox objects, each of which denotes a region of interest on screen. For more information, see the BoundingBox field of [RegionOfInterest](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RegionOfInterest) .", + "title": "BoundingBoxRegionsOfInterest", + "type": "array" }, - "DomainName": { - "markdownDescription": "DNS queries for this domain name are forwarded to the IP addresses that are specified in `TargetIps` . If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).", - "title": "DomainName", + "ConnectedHomeSettings": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.ConnectedHomeSettings", + "markdownDescription": "Connected home settings to use on a streaming video. You can use a stream processor for connected home features and select what you want the stream processor to detect, such as people or pets. When the stream processor has started, one notification is sent for each object class specified. For more information, see the ConnectedHome section of [StreamProcessorSettings](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorSettings) .", + "title": "ConnectedHomeSettings" + }, + "DataSharingPreference": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.DataSharingPreference", + "markdownDescription": "Allows you to opt in or opt out to share data with Rekognition to improve model performance. You can choose this option at the account level or on a per-stream basis. Note that if you opt out at the account level this setting is ignored on individual streams. For more information, see [StreamProcessorDataSharingPreference](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorDataSharingPreference) .", + "title": "DataSharingPreference" + }, + "FaceSearchSettings": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.FaceSearchSettings", + "markdownDescription": "The input parameters used to recognize faces in a streaming video analyzed by an Amazon Rekognition stream processor. For more information regarding the contents of the parameters, see [FaceSearchSettings](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_FaceSearchSettings) .", + "title": "FaceSearchSettings" + }, + "KinesisDataStream": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.KinesisDataStream", + "markdownDescription": "Amazon Rekognition's Video Stream Processor takes a Kinesis video stream as input. This is the Amazon Kinesis Data Streams instance to which the Amazon Rekognition stream processor streams the analysis results. This must be created within the constraints specified at [KinesisDataStream](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_KinesisDataStream) .", + "title": "KinesisDataStream" + }, + "KinesisVideoStream": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.KinesisVideoStream", + "markdownDescription": "The Kinesis video stream that provides the source of the streaming video for an Amazon Rekognition Video stream processor. For more information, see [KinesisVideoStream](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_KinesisVideoStream) .", + "title": "KinesisVideoStream" + }, + "KmsKeyId": { + "markdownDescription": "The identifier for your Amazon Key Management Service key (Amazon KMS key). Optional parameter for connected home stream processors used to encrypt results and data published to your Amazon S3 bucket. For more information, see the KMSKeyId section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", + "title": "KmsKeyId", "type": "string" }, "Name": { - "markdownDescription": "The name for the Resolver rule, which you specified when you created the Resolver rule.\n\nThe name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.", + "markdownDescription": "The Name attribute specifies the name of the stream processor and it must be within the constraints described in the Name section of [StreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessor) . If you don't specify a name, Amazon CloudFormation generates a unique ID and uses that ID for the stream processor name.", "title": "Name", "type": "string" }, - "ResolverEndpointId": { - "markdownDescription": "The ID of the endpoint that the rule is associated with.", - "title": "ResolverEndpointId", - "type": "string" + "NotificationChannel": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.NotificationChannel", + "markdownDescription": "The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the object detection results and completion status of a video analysis operation. Amazon Rekognition publishes a notification the first time an object of interest or a person is detected in the video stream. Amazon Rekognition also publishes an end-of-session notification with a summary when the stream processing session is complete. For more information, see [StreamProcessorNotificationChannel](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorNotificationChannel) .", + "title": "NotificationChannel" }, - "RuleType": { - "markdownDescription": "When you want to forward DNS queries for specified domain name to resolvers on your network, specify `FORWARD` or `DELEGATE` . If a query matches multiple Resolver rules (example.com and www.example.com), outbound DNS queries are routed using the Resolver rule that contains the most specific domain name (www.example.com).\n\nWhen you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify `SYSTEM` .\n\nFor example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify `FORWARD` for `RuleType` . To then have Resolver process queries for apex.example.com, you create a rule and specify `SYSTEM` for `RuleType` .\n\nCurrently, only Resolver can create rules that have a value of `RECURSIVE` for `RuleType` .", - "title": "RuleType", + "PolygonRegionsOfInterest": { + "markdownDescription": "A set of ordered lists of [Point](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_Point) objects. Each entry of the set contains a polygon denoting a region of interest on the screen. Each polygon is an ordered list of [Point](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_Point) objects. For more information, see the Polygon field of [RegionOfInterest](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RegionOfInterest) .", + "title": "PolygonRegionsOfInterest", + "type": "object" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role that allows access to the stream processor. The IAM role provides Rekognition read permissions to the Kinesis stream. It also provides write permissions to an Amazon S3 bucket and Amazon Simple Notification Service topic for a connected home stream processor. This is required for both face search and connected home stream processors. For information about constraints, see the RoleArn section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", + "title": "RoleArn", "type": "string" }, + "S3Destination": { + "$ref": "#/definitions/AWS::Rekognition::StreamProcessor.S3Destination", + "markdownDescription": "The Amazon S3 bucket location to which Amazon Rekognition publishes the detailed inference results of a video analysis operation. For more information, see the S3Destination section of [StreamProcessorOutput](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StreamProcessorOutput) .", + "title": "S3Destination" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags help organize and categorize your Resolver rules. Each tag consists of a key and an optional value, both of which you define.", + "markdownDescription": "A set of tags (key-value pairs) that you want to attach to the stream processor. For more information, see the Tags section of [CreateStreamProcessor](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor) .", "title": "Tags", "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "markdownDescription": "An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network.", - "title": "TargetIps", - "type": "array" } }, "required": [ - "RuleType" + "KinesisVideoStream", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::Rekognition::StreamProcessor" ], "type": "string" }, @@ -340350,116 +308725,155 @@ ], "type": "object" }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "AWS::Rekognition::StreamProcessor.BoundingBox": { "additionalProperties": false, "properties": { - "Ip": { - "markdownDescription": "One IPv4 address that you want to forward DNS queries to.", - "title": "Ip", - "type": "string" + "Height": { + "markdownDescription": "Height of the bounding box as a ratio of the overall image height.", + "title": "Height", + "type": "number" }, - "Ipv6": { - "markdownDescription": "One IPv6 address that you want to forward DNS queries to.", - "title": "Ipv6", - "type": "string" + "Left": { + "markdownDescription": "Left coordinate of the bounding box as a ratio of overall image width.", + "title": "Left", + "type": "number" }, - "Port": { - "markdownDescription": "The port at `Ip` that you want to forward DNS queries to.", - "title": "Port", - "type": "string" + "Top": { + "markdownDescription": "Top coordinate of the bounding box as a ratio of overall image height.", + "title": "Top", + "type": "number" }, - "Protocol": { - "markdownDescription": "The protocols for the target address. The protocol you choose needs to be supported by the outbound endpoint of the Resolver rule.", - "title": "Protocol", + "Width": { + "markdownDescription": "Width of the bounding box as a ratio of the overall image width.", + "title": "Width", + "type": "number" + } + }, + "required": [ + "Height", + "Left", + "Top", + "Width" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.ConnectedHomeSettings": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies what you want to detect in the video, such as people, packages, or pets. The current valid labels you can include in this list are: \"PERSON\", \"PET\", \"PACKAGE\", and \"ALL\".", + "title": "Labels", + "type": "array" + }, + "MinConfidence": { + "markdownDescription": "The minimum confidence required to label an object in the video.", + "title": "MinConfidence", + "type": "number" + } + }, + "required": [ + "Labels" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.DataSharingPreference": { + "additionalProperties": false, + "properties": { + "OptIn": { + "markdownDescription": "Describes the opt-in status applied to a stream processor's data sharing policy.", + "title": "OptIn", + "type": "boolean" + } + }, + "required": [ + "OptIn" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.FaceSearchSettings": { + "additionalProperties": false, + "properties": { + "CollectionId": { + "markdownDescription": "The ID of a collection that contains faces that you want to search for.", + "title": "CollectionId", "type": "string" }, - "ServerNameIndication": { - "markdownDescription": "The Server Name Indication of the DoH server that you want to forward queries to. This is only used if the Protocol of the `TargetAddress` is `DoH` .", - "title": "ServerNameIndication", + "FaceMatchThreshold": { + "markdownDescription": "Minimum face match confidence score that must be met to return a result for a recognized face. The default is 80. 0 is the lowest confidence. 100 is the highest confidence. Values between 0 and 100 are accepted, and values lower than 80 are set to 80.", + "title": "FaceMatchThreshold", + "type": "number" + } + }, + "required": [ + "CollectionId" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.KinesisDataStream": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "ARN of the output Amazon Kinesis Data Streams stream.", + "title": "Arn", "type": "string" } }, + "required": [ + "Arn" + ], "type": "object" }, - "AWS::Route53Resolver::ResolverRuleAssociation": { + "AWS::Rekognition::StreamProcessor.KinesisVideoStream": { "additionalProperties": false, "properties": { - "Condition": { + "Arn": { + "markdownDescription": "ARN of the Kinesis video stream stream that streams the source video.", + "title": "Arn", "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.NotificationChannel": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "The ARN of the SNS topic that receives notifications.", + "title": "Arn", "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "markdownDescription": "The name of an association between a Resolver rule and a VPC.\n\nThe name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.", - "title": "Name", - "type": "string" - }, - "ResolverRuleId": { - "markdownDescription": "The ID of the Resolver rule that you associated with the VPC that is specified by `VPCId` .", - "title": "ResolverRuleId", - "type": "string" - }, - "VPCId": { - "markdownDescription": "The ID of the VPC that you associated the Resolver rule with.", - "title": "VPCId", - "type": "string" - } - }, - "required": [ - "ResolverRuleId", - "VPCId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" - ], + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::Rekognition::StreamProcessor.S3Destination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "Describes the destination Amazon Simple Storage Service (Amazon S3) bucket name of a stream processor's exports.", + "title": "BucketName", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ObjectKeyPrefix": { + "markdownDescription": "Describes the destination Amazon Simple Storage Service (Amazon S3) object keys of a stream processor's exports.", + "title": "ObjectKeyPrefix", "type": "string" } }, "required": [ - "Type", - "Properties" + "BucketName" ], "type": "object" }, - "AWS::S3::AccessGrant": { + "AWS::ResilienceHub::App": { "additionalProperties": false, "properties": { "Condition": { @@ -340494,55 +308908,74 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessGrantsLocationConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration", - "markdownDescription": "The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access. It contains the `S3SubPrefix` field. The grant scope is the result of appending the subprefix to the location scope of the registered location.", - "title": "AccessGrantsLocationConfiguration" + "AppAssessmentSchedule": { + "markdownDescription": "Assessment execution schedule with 'Daily' or 'Disabled' values.", + "title": "AppAssessmentSchedule", + "type": "string" }, - "AccessGrantsLocationId": { - "markdownDescription": "The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID `default` to the default location `s3://` and assigns an auto-generated ID to other locations that you register.", - "title": "AccessGrantsLocationId", + "AppTemplateBody": { + "markdownDescription": "A JSON string that provides information about your application structure. To learn more about the `appTemplateBody` template, see the sample template in [Sample appTemplateBody template](https://docs.aws.amazon.com//resilience-hub/latest/APIReference/API_PutDraftAppVersionTemplate.html#API_PutDraftAppVersionTemplate_Examples) .\n\nThe `appTemplateBody` JSON string has the following structure:\n\n- *`resources`*\n\nThe list of logical resources that needs to be included in the AWS Resilience Hub application.\n\nType: Array\n\n> Don't add the resources that you want to exclude. \n\nEach `resources` array item includes the following fields:\n\n- *`logicalResourceId`*\n\nThe logical identifier of the resource.\n\nType: Object\n\nEach `logicalResourceId` object includes the following fields:\n\n- `identifier`\n\nIdentifier of the resource.\n\nType: String\n- `logicalStackName`\n\nName of the AWS CloudFormation stack this resource belongs to.\n\nType: String\n- `resourceGroupName`\n\nName of the resource group this resource belongs to.\n\nType: String\n- `terraformSourceName`\n\nName of the Terraform S3 state file this resource belongs to.\n\nType: String\n- `eksSourceName`\n\nName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.\n\n> This parameter accepts values in \"eks-cluster/namespace\" format. \n\nType: String\n- *`type`*\n\nThe type of resource.\n\nType: string\n- *`name`*\n\nName of the resource.\n\nType: String\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`\n- *`appComponents`*\n\nThe list of Application Components (AppComponent) that this resource belongs to. If an AppComponent is not part of the AWS Resilience Hub application, it will be added.\n\nType: Array\n\nEach `appComponents` array item includes the following fields:\n\n- `name`\n\nName of the AppComponent.\n\nType: String\n- `type`\n\nThe type of AppComponent. For more information about the types of AppComponent, see [Grouping resources in an AppComponent](https://docs.aws.amazon.com/resilience-hub/latest/userguide/AppComponent.grouping.html) .\n\nType: String\n- `resourceNames`\n\nThe list of included resources that are assigned to the AppComponent.\n\nType: Array of strings\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`\n- *`excludedResources`*\n\nThe list of logical resource identifiers to be excluded from the application.\n\nType: Array\n\n> Don't add the resources that you want to include. \n\nEach `excludedResources` array item includes the following fields:\n\n- *`logicalResourceIds`*\n\nThe logical identifier of the resource.\n\nType: Object\n\n> You can configure only one of the following fields:\n> \n> - `logicalStackName`\n> - `resourceGroupName`\n> - `terraformSourceName`\n> - `eksSourceName` \n\nEach `logicalResourceIds` object includes the following fields:\n\n- `identifier`\n\nThe identifier of the resource.\n\nType: String\n- `logicalStackName`\n\nName of the AWS CloudFormation stack this resource belongs to.\n\nType: String\n- `resourceGroupName`\n\nName of the resource group this resource belongs to.\n\nType: String\n- `terraformSourceName`\n\nName of the Terraform S3 state file this resource belongs to.\n\nType: String\n- `eksSourceName`\n\nName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.\n\n> This parameter accepts values in \"eks-cluster/namespace\" format. \n\nType: String\n- *`version`*\n\nThe AWS Resilience Hub application version.\n- `additionalInfo`\n\nAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement `additionalInfo` through the AWS Resilience Hub console rather than using an API call, see [Configure the application configuration parameters](https://docs.aws.amazon.com//resilience-hub/latest/userguide/app-config-param.html) .\n\n> Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.\n> \n> Key: `\"failover-regions\"`\n> \n> Value: `\"[{\"region\":\"\", \"accounts\":[{\"id\":\"\"}]}]\"`", + "title": "AppTemplateBody", "type": "string" }, - "ApplicationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.", - "title": "ApplicationArn", + "Description": { + "markdownDescription": "Optional description for an application.", + "title": "Description", "type": "string" }, - "Grantee": { - "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee", - "markdownDescription": "The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to AWS IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.", - "title": "Grantee" + "EventSubscriptions": { + "items": { + "$ref": "#/definitions/AWS::ResilienceHub::App.EventSubscription" + }, + "markdownDescription": "The list of events you would like to subscribe and get notification for. Currently, AWS Resilience Hub supports notifications only for *Drift detected* and *Scheduled assessment failure* events.", + "title": "EventSubscriptions", + "type": "array" }, - "Permission": { - "markdownDescription": "The type of access that you are granting to your S3 data, which can be set to one of the following values:\n\n- `READ` \u2013 Grant read-only access to the S3 data.\n- `WRITE` \u2013 Grant write-only access to the S3 data.\n- `READWRITE` \u2013 Grant both read and write access to the S3 data.", - "title": "Permission", + "Name": { + "markdownDescription": "Name for the application.", + "title": "Name", "type": "string" }, - "S3PrefixType": { - "markdownDescription": "The type of `S3SubPrefix` . The only possible value is `Object` . Pass this value if the access grant scope is an object. Do not pass this value if the access grant scope is a bucket or a bucket and a prefix.", - "title": "S3PrefixType", + "PermissionModel": { + "$ref": "#/definitions/AWS::ResilienceHub::App.PermissionModel", + "markdownDescription": "Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment.", + "title": "PermissionModel" + }, + "ResiliencyPolicyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resiliency policy.", + "title": "ResiliencyPolicyArn", "type": "string" }, - "Tags": { + "ResourceMappings": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::ResilienceHub::App.ResourceMapping" }, - "markdownDescription": "The AWS resource tags that you are adding to the access grant. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", - "title": "Tags", + "markdownDescription": "An array of `ResourceMapping` objects.", + "title": "ResourceMappings", "type": "array" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" } }, "required": [ - "AccessGrantsLocationId", - "Grantee", - "Permission" + "AppTemplateBody", + "Name", + "ResourceMappings" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessGrant" + "AWS::ResilienceHub::App" ], "type": "string" }, @@ -340561,112 +308994,129 @@ ], "type": "object" }, - "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "AWS::ResilienceHub::App.EventSubscription": { "additionalProperties": false, "properties": { - "S3SubPrefix": { - "markdownDescription": "The `S3SubPrefix` is appended to the location scope creating the grant scope. Use this field to narrow the scope of the grant to a subset of the location scope. This field is required if the location scope is the default location `s3://` because you cannot create a grant for all of your S3 data in the Region and must narrow the scope. For example, if the location scope is the default location `s3://` , the `S3SubPrefx` can be a `/*` , so the full grant scope path would be `s3:///*` . Or the `S3SubPrefx` can be `/*` , so the full grant scope path would be `s3:///*` .\n\nIf the `S3SubPrefix` includes a prefix, append the wildcard character `*` after the prefix to indicate that you want to include all object key names in the bucket that start with that prefix.", - "title": "S3SubPrefix", + "EventType": { + "markdownDescription": "The type of event you would like to subscribe and get notification for. Currently, AWS Resilience Hub supports notifications only for *Drift detected* ( `DriftDetected` ) and *Scheduled assessment failure* ( `ScheduledAssessmentFailure` ) events.", + "title": "EventType", + "type": "string" + }, + "Name": { + "markdownDescription": "Unique name to identify an event subscription.", + "title": "Name", + "type": "string" + }, + "SnsTopicArn": { + "markdownDescription": "Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: `arn:partition:sns:region:account:topic-name` . For more information about ARNs, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *AWS General Reference* guide.", + "title": "SnsTopicArn", "type": "string" } }, "required": [ - "S3SubPrefix" + "EventType", + "Name" ], "type": "object" }, - "AWS::S3::AccessGrant.Grantee": { + "AWS::ResilienceHub::App.PermissionModel": { "additionalProperties": false, "properties": { - "GranteeIdentifier": { - "markdownDescription": "The unique identifier of the `Grantee` . If the grantee type is `IAM` , the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` . You can obtain this UUID from your AWS IAM Identity Center instance.", - "title": "GranteeIdentifier", + "CrossAccountRoleArns": { + "items": { + "type": "string" + }, + "markdownDescription": "Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application.\n\n> - These ARNs are required only when your resources are in other accounts and you have different role name in these accounts. Else, the invoker role name will be used in the other accounts.\n> - These roles must have a trust policy with `iam:AssumeRole` permission to the invoker role in the primary account.", + "title": "CrossAccountRoleArns", + "type": "array" + }, + "InvokerRoleName": { + "markdownDescription": "Existing AWS IAM role name in the primary AWS account that will be assumed by AWS Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.\n\nIf your IAM role includes a path, you must include the path in the `invokerRoleName` parameter. For example, if your IAM role's ARN is `arn:aws:iam:123456789012:role/my-path/role-name` , you should pass `my-path/role-name` .\n\n> - You must have `iam:passRole` permission for this role while creating or updating the application.\n> - Currently, `invokerRoleName` accepts only `[A-Za-z0-9_+=,.@-]` characters.", + "title": "InvokerRoleName", "type": "string" }, - "GranteeType": { - "markdownDescription": "The type of the grantee to which access has been granted. It can be one of the following values:\n\n- `IAM` - An IAM user or role.\n- `DIRECTORY_USER` - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.\n- `DIRECTORY_GROUP` - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.", - "title": "GranteeType", + "Type": { + "markdownDescription": "Defines how AWS Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your AWS account, or by using the credentials of the current IAM user.", + "title": "Type", "type": "string" } }, "required": [ - "GranteeIdentifier", - "GranteeType" + "Type" ], "type": "object" }, - "AWS::S3::AccessGrantsInstance": { + "AWS::ResilienceHub::App.PhysicalResourceId": { "additionalProperties": false, "properties": { - "Condition": { + "AwsAccountId": { + "markdownDescription": "The AWS account that owns the physical resource.", + "title": "AwsAccountId", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AwsRegion": { + "markdownDescription": "The AWS Region that the physical resource is located in.", + "title": "AwsRegion", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Identifier": { + "markdownDescription": "Identifier of the physical resource.", + "title": "Identifier", + "type": "string" }, - "Metadata": { - "type": "object" + "Type": { + "markdownDescription": "Specifies the type of physical resource identifier.\n\n- **Arn** - The resource identifier is an Amazon Resource Name (ARN) and it can identify the following list of resources:\n\n- `AWS::ECS::Service`\n- `AWS::EFS::FileSystem`\n- `AWS::ElasticLoadBalancingV2::LoadBalancer`\n- `AWS::Lambda::Function`\n- `AWS::SNS::Topic`\n- **Native** - The resource identifier is an AWS Resilience Hub -native identifier and it can identify the following list of resources:\n\n- `AWS::ApiGateway::RestApi`\n- `AWS::ApiGatewayV2::Api`\n- `AWS::AutoScaling::AutoScalingGroup`\n- `AWS::DocDB::DBCluster`\n- `AWS::DocDB::DBGlobalCluster`\n- `AWS::DocDB::DBInstance`\n- `AWS::DynamoDB::GlobalTable`\n- `AWS::DynamoDB::Table`\n- `AWS::EC2::EC2Fleet`\n- `AWS::EC2::Instance`\n- `AWS::EC2::NatGateway`\n- `AWS::EC2::Volume`\n- `AWS::ElasticLoadBalancing::LoadBalancer`\n- `AWS::RDS::DBCluster`\n- `AWS::RDS::DBInstance`\n- `AWS::RDS::GlobalCluster`\n- `AWS::Route53::RecordSet`\n- `AWS::S3::Bucket`\n- `AWS::SQS::Queue`", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Identifier", + "Type" + ], + "type": "object" + }, + "AWS::ResilienceHub::App.ResourceMapping": { + "additionalProperties": false, + "properties": { + "EksSourceName": { + "markdownDescription": "Name of the Amazon Elastic Kubernetes Service cluster and namespace that this resource is mapped to when the `mappingType` is `EKS` .\n\n> This parameter accepts values in \"eks-cluster/namespace\" format.", + "title": "EksSourceName", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityCenterArn": { - "markdownDescription": "If you would like to associate your S3 Access Grants instance with an AWS IAM Identity Center instance, use this field to pass the Amazon Resource Name (ARN) of the AWS IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center.", - "title": "IdentityCenterArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The AWS resource tags that you are adding to the S3 Access Grants instance. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", - "title": "Tags", - "type": "array" - } - }, - "type": "object" + "LogicalStackName": { + "markdownDescription": "Name of the CloudFormation stack this resource is mapped to when the `mappingType` is `CfnStack` .", + "title": "LogicalStackName", + "type": "string" }, - "Type": { - "enum": [ - "AWS::S3::AccessGrantsInstance" - ], + "MappingType": { + "markdownDescription": "Specifies the type of resource mapping.", + "title": "MappingType", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "PhysicalResourceId": { + "$ref": "#/definitions/AWS::ResilienceHub::App.PhysicalResourceId", + "markdownDescription": "Identifier of the physical resource.", + "title": "PhysicalResourceId" + }, + "ResourceName": { + "markdownDescription": "Name of the resource that this resource is mapped to when the `mappingType` is `Resource` .", + "title": "ResourceName", + "type": "string" + }, + "TerraformSourceName": { + "markdownDescription": "Name of the Terraform source that this resource is mapped to when the `mappingType` is `Terraform` .", + "title": "TerraformSourceName", "type": "string" } }, "required": [ - "Type" + "MappingType", + "PhysicalResourceId" ], "type": "object" }, - "AWS::S3::AccessGrantsLocation": { + "AWS::ResilienceHub::ResiliencyPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -340701,34 +309151,53 @@ "Properties": { "additionalProperties": false, "properties": { - "IamRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.", - "title": "IamRoleArn", + "DataLocationConstraint": { + "markdownDescription": "Specifies a high-level geographical location constraint for where your resilience policy data can be stored.", + "title": "DataLocationConstraint", "type": "string" }, - "LocationScope": { - "markdownDescription": "The S3 URI path to the location that you are registering. The location scope can be the default S3 location `s3://` , the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the `engineering/` prefix or object key names that start with the `marketing/campaigns/` prefix.", - "title": "LocationScope", + "Policy": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.PolicyMap", + "markdownDescription": "The resiliency policy.", + "title": "Policy" + }, + "PolicyDescription": { + "markdownDescription": "Description of the resiliency policy.", + "title": "PolicyDescription", + "type": "string" + }, + "PolicyName": { + "markdownDescription": "The name of the policy", + "title": "PolicyName", "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "The AWS resource tags that you are adding to the S3 Access Grants location. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", "title": "Tags", - "type": "array" + "type": "object" + }, + "Tier": { + "markdownDescription": "The tier for this resiliency policy, ranging from the highest severity ( `MissionCritical` ) to lowest ( `NonCritical` ).", + "title": "Tier", + "type": "string" } }, "required": [ - "IamRoleArn", - "LocationScope" + "Policy", + "PolicyName", + "Tier" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessGrantsLocation" + "AWS::ResilienceHub::ResiliencyPolicy" ], "type": "string" }, @@ -340747,7 +309216,58 @@ ], "type": "object" }, - "AWS::S3::AccessPoint": { + "AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy": { + "additionalProperties": false, + "properties": { + "RpoInSecs": { + "markdownDescription": "Recovery Point Objective (RPO) in seconds.", + "title": "RpoInSecs", + "type": "number" + }, + "RtoInSecs": { + "markdownDescription": "Recovery Time Objective (RTO) in seconds.", + "title": "RtoInSecs", + "type": "number" + } + }, + "required": [ + "RpoInSecs", + "RtoInSecs" + ], + "type": "object" + }, + "AWS::ResilienceHub::ResiliencyPolicy.PolicyMap": { + "additionalProperties": false, + "properties": { + "AZ": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", + "markdownDescription": "Defines the RTO and RPO targets for Availability Zone disruption.", + "title": "AZ" + }, + "Hardware": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", + "markdownDescription": "Defines the RTO and RPO targets for hardware disruption.", + "title": "Hardware" + }, + "Region": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", + "markdownDescription": "Defines the RTO and RPO targets for Regional disruption.", + "title": "Region" + }, + "Software": { + "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy.FailurePolicy", + "markdownDescription": "Defines the RTO and RPO targets for software disruption.", + "title": "Software" + } + }, + "required": [ + "AZ", + "Hardware", + "Software" + ], + "type": "object" + }, + "AWS::ResilienceHubV2::Policy": { "additionalProperties": false, "properties": { "Condition": { @@ -340782,53 +309302,42 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the bucket associated with this access point.", - "title": "Bucket", - "type": "string" + "AvailabilitySlo": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.AvailabilitySlo" }, - "BucketAccountId": { - "markdownDescription": "The AWS account ID associated with the S3 bucket associated with this access point.", - "title": "BucketAccountId", + "DataRecovery": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.DataRecoveryTargets" + }, + "Description": { "type": "string" }, - "Name": { - "markdownDescription": "The name of this access point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.", - "title": "Name", + "KmsKeyId": { "type": "string" }, - "Policy": { - "markdownDescription": "The access point policy associated with this access point.", - "title": "Policy", - "type": "object" + "MultiAz": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.MultiAzTargets" }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration", - "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", - "title": "PublicAccessBlockConfiguration" + "MultiRegion": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Policy.MultiRegionTargets" + }, + "Name": { + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see [Using tags for attribute-based access control (ABAC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac) .", - "title": "Tags", "type": "array" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration", - "markdownDescription": "The Virtual Private Cloud (VPC) configuration for this access point, if one exists.", - "title": "VpcConfiguration" } }, "required": [ - "Bucket" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::AccessPoint" + "AWS::ResilienceHubV2::Policy" ], "type": "string" }, @@ -340847,44 +309356,55 @@ ], "type": "object" }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "AWS::ResilienceHubV2::Policy.AvailabilitySlo": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", - "title": "BlockPublicAcls", - "type": "boolean" - }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", - "title": "BlockPublicPolicy", - "type": "boolean" + "Target": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ResilienceHubV2::Policy.DataRecoveryTargets": { + "additionalProperties": false, + "properties": { + "TimeBetweenBackupsInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ResilienceHubV2::Policy.MultiAzTargets": { + "additionalProperties": false, + "properties": { + "DisasterRecoveryApproach": { + "type": "string" }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "title": "IgnorePublicAcls", - "type": "boolean" + "RpoInMinutes": { + "type": "number" }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "title": "RestrictPublicBuckets", - "type": "boolean" + "RtoInMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::S3::AccessPoint.VpcConfiguration": { + "AWS::ResilienceHubV2::Policy.MultiRegionTargets": { "additionalProperties": false, "properties": { - "VpcId": { - "markdownDescription": "If this field is specified, the access point will only allow connections from the specified VPC ID.", - "title": "VpcId", + "DisasterRecoveryApproach": { "type": "string" + }, + "RpoInMinutes": { + "type": "number" + }, + "RtoInMinutes": { + "type": "number" } }, "type": "object" }, - "AWS::S3::Bucket": { + "AWS::ResilienceHubV2::Service": { "additionalProperties": false, "properties": { "Condition": { @@ -340919,1742 +309439,1857 @@ "Properties": { "additionalProperties": false, "properties": { - "AbacStatus": { - "markdownDescription": "The ABAC status of the general purpose bucket. When ABAC is enabled for the general purpose bucket, you can use tags to manage access to the general purpose buckets as well as for cost tracking purposes. When ABAC is disabled for the general purpose buckets, you can only use tags for cost tracking purposes. For more information, see [Using tags with S3 general purpose buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html) .", - "title": "AbacStatus", - "type": "string" - }, - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration", - "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .", - "title": "AccelerateConfiguration" - }, - "AccessControl": { - "markdownDescription": "> This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide* . \n\nA canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* .\n\nS3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n\nThe majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html) . For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide* .", - "title": "AccessControl", - "type": "string" - }, - "AnalyticsConfigurations": { + "Assertions": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.AssertionDefinition" }, - "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "title": "AnalyticsConfigurations", "type": "array" }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption", - "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .", - "title": "BucketEncryption" - }, - "BucketName": { - "markdownDescription": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) . For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) in the *Amazon S3 User Guide* .\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": "BucketName", - "type": "string" + "AssociatedSystems": { + "items": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.AssociatedSystem" + }, + "type": "array" }, - "BucketNamePrefix": { + "DependencyDiscovery": { "type": "string" }, - "BucketNamespace": { + "Description": { "type": "string" }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration", - "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .", - "title": "CorsConfiguration" - }, - "IntelligentTieringConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" - }, - "markdownDescription": "Defines how Amazon S3 handles Intelligent-Tiering storage.", - "title": "IntelligentTieringConfigurations", - "type": "array" - }, - "InventoryConfigurations": { + "InputSources": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.InputSourceDefinition" }, - "markdownDescription": "Specifies the S3 Inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .", - "title": "InventoryConfigurations", "type": "array" }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration", - "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .", - "title": "LifecycleConfiguration" + "KmsKeyId": { + "type": "string" }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration", - "markdownDescription": "Settings that define where logs are stored.", - "title": "LoggingConfiguration" + "Name": { + "type": "string" }, - "MetadataConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataConfiguration", - "markdownDescription": "The S3 Metadata configuration for a general purpose bucket.", - "title": "MetadataConfiguration" + "PermissionModel": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.PermissionModel" }, - "MetadataTableConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableConfiguration", - "markdownDescription": "The metadata table configuration of an Amazon S3 general purpose bucket.", - "title": "MetadataTableConfiguration" + "PolicyArn": { + "type": "string" }, - "MetricsConfigurations": { + "Regions": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + "type": "string" }, - "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) .", - "title": "MetricsConfigurations", "type": "array" }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration", - "markdownDescription": "Configuration that defines how Amazon S3 handles bucket notifications.", - "title": "NotificationConfiguration" - }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration", - "markdownDescription": "> This operation is not supported for directory buckets. \n\nPlaces an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .\n\n> - The `DefaultRetention` settings require both a mode and a period.\n> - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.\n> - You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html) . > You must URL encode any signed header values that contain spaces. For example, if your header value is `my file.txt` , containing two spaces after `my` , you must URL encode this value to `my%20%20file.txt` .", - "title": "ObjectLockConfiguration" - }, - "ObjectLockEnabled": { - "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", - "title": "ObjectLockEnabled", - "type": "boolean" - }, - "OwnershipControls": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls", - "markdownDescription": "Configuration that defines how Amazon S3 handles Object Ownership rules.", - "title": "OwnershipControls" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration", - "markdownDescription": "Configuration that defines how Amazon S3 handles public access.", - "title": "PublicAccessBlockConfiguration" - }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration", - "markdownDescription": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the `VersioningConfiguration` property.\n\nAmazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", - "title": "ReplicationConfiguration" + "ReportConfiguration": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ServiceReportConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An arbitrary set of tags (key-value pairs) for this S3 bucket.", - "title": "Tags", "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration", - "markdownDescription": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n\n> When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations ( `PUT` or `DELETE` ) on objects in the bucket.", - "title": "VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration", - "markdownDescription": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) .", - "title": "WebsiteConfiguration" } }, + "required": [ + "Name", + "Regions" + ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" + "AWS::ResilienceHubV2::Service" ], "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "markdownDescription": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.", - "title": "DaysAfterInitiation", - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "markdownDescription": "Specifies the transfer acceleration status of the bucket.", - "title": "AccelerationStatus", - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "markdownDescription": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference* .", - "title": "Owner", - "type": "string" - } - }, - "required": [ - "Owner" - ], - "type": "object" - }, - "AWS::S3::Bucket.AnalyticsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "markdownDescription": "The ID that identifies the analytics configuration.", - "title": "Id", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The prefix that an object must have to be included in the analytics results.", - "title": "Prefix", - "type": "string" - }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis", - "markdownDescription": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.", - "title": "StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "markdownDescription": "The tags to use when evaluating an analytics filter.\n\nThe analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.", - "title": "TagFilters", - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.AnnotationTableConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationState": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration" - }, - "Role": { - "type": "string" - }, - "TableArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ConfigurationState" - ], - "type": "object" - }, - "AWS::S3::Bucket.BlockedEncryptionTypes": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "items": { - "type": "string" - }, - "markdownDescription": "The object encryption type that you want to block or unblock for an Amazon S3 general purpose bucket.\n\n> Currently, this parameter only supports blocking or unblocking server side encryption with customer-provided keys (SSE-C). For more information about SSE-C, see [Using server-side encryption with customer-provided keys (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html) .", - "title": "EncryptionType", - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "markdownDescription": "Specifies the default server-side-encryption configuration.", - "title": "ServerSideEncryptionConfiguration", - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "markdownDescription": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", - "title": "CorsRules", - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "Headers that are specified in the `Access-Control-Request-Headers` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", - "title": "AllowedHeaders", - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "markdownDescription": "An HTTP method that you allow the origin to run.\n\n*Allowed values* : `GET` | `PUT` | `HEAD` | `POST` | `DELETE`", - "title": "AllowedMethods", - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more origins you want customers to be able to access the bucket from.", - "title": "AllowedOrigins", - "type": "array" - }, - "ExposedHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).", - "title": "ExposedHeaders", - "type": "array" - }, - "Id": { - "markdownDescription": "A unique identifier for this rule. The value must be no more than 255 characters.", - "title": "Id", - "type": "string" - }, - "MaxAge": { - "markdownDescription": "The time in seconds that your browser is to cache the preflight response for the specified resource.", - "title": "MaxAge", - "type": "number" - } - }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "type": "object" - }, - "AWS::S3::Bucket.DataExport": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination", - "markdownDescription": "The place to store the data for an analysis.", - "title": "Destination" - }, - "OutputSchemaVersion": { - "markdownDescription": "The version of the output schema to use when exporting data. Must be `V_1` .", - "title": "OutputSchemaVersion", - "type": "string" - } - }, - "required": [ - "Destination", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::Bucket.DefaultRetention": { - "additionalProperties": false, - "properties": { - "Days": { - "markdownDescription": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", - "title": "Days", - "type": "number" - }, - "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", - "type": "string" - }, - "Years": { - "markdownDescription": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", - "title": "Years", - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "Indicates whether to replicate delete markers.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "markdownDescription": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n\n> Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.", - "title": "BucketAccountId", - "type": "string" - }, - "BucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the bucket to which data is exported.", - "title": "BucketArn", - "type": "string" - }, - "Format": { - "markdownDescription": "Specifies the file format used when exporting data to Amazon S3.\n\n*Allowed values* : `CSV` | `ORC` | `Parquet`", - "title": "Format", - "type": "string" - }, - "Prefix": { - "markdownDescription": "The prefix to use when exporting data. The prefix is prepended to all results.", - "title": "Prefix", - "type": "string" - } - }, - "required": [ - "BucketArn", - "Format" - ], - "type": "object" - }, - "AWS::S3::Bucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicaKmsKeyID": { - "markdownDescription": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", - "title": "ReplicaKmsKeyID", - "type": "string" - } - }, - "required": [ - "ReplicaKmsKeyID" - ], - "type": "object" - }, - "AWS::S3::Bucket.EventBridgeConfiguration": { - "additionalProperties": false, - "properties": { - "EventBridgeEnabled": { - "markdownDescription": "Enables delivery of events to Amazon EventBridge.", - "title": "EventBridgeEnabled", - "type": "boolean" - } - }, - "required": [ - "EventBridgeEnabled" - ], - "type": "object" - }, - "AWS::S3::Bucket.FilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "markdownDescription": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", - "title": "Name", - "type": "string" - }, - "Value": { - "markdownDescription": "The value that the filter searches for in object key names.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.IntelligentTieringConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "markdownDescription": "The ID used to identify the S3 Intelligent-Tiering configuration.", - "title": "Id", - "type": "string" - }, - "Prefix": { - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.", - "title": "Prefix", - "type": "string" - }, - "Status": { - "markdownDescription": "Specifies the status of the configuration.", - "title": "Status", - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "markdownDescription": "A container for a key-value pair.", - "title": "TagFilters", - "type": "array" - }, - "Tierings": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Tiering" - }, - "markdownDescription": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` .\n\n> You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.", - "title": "Tierings", - "type": "array" - } - }, - "required": [ - "Id", - "Status", - "Tierings" - ], - "type": "object" - }, - "AWS::S3::Bucket.InventoryConfiguration": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination", - "markdownDescription": "Contains information about where to publish the inventory results.", - "title": "Destination" - }, - "Enabled": { - "markdownDescription": "Specifies whether the inventory is enabled or disabled. If set to `True` , an inventory list is generated. If set to `False` , no inventory list is generated.", - "title": "Enabled", - "type": "boolean" - }, - "Id": { - "markdownDescription": "The ID used to identify the inventory configuration.", - "title": "Id", - "type": "string" - }, - "IncludedObjectVersions": { - "markdownDescription": "Object versions to include in the inventory list. If set to `All` , the list includes all the object versions, which adds the version-related fields `VersionId` , `IsLatest` , and `DeleteMarker` to the list. If set to `Current` , the list does not contain these version-related fields.", - "title": "IncludedObjectVersions", - "type": "string" - }, - "OptionalFields": { - "items": { - "type": "string" - }, - "markdownDescription": "Contains the optional fields that are included in the inventory results.", - "title": "OptionalFields", - "type": "array" - }, - "Prefix": { - "markdownDescription": "Specifies the inventory filter prefix.", - "title": "Prefix", - "type": "string" - }, - "ScheduleFrequency": { - "markdownDescription": "Specifies the schedule for generating inventory results.", - "title": "ScheduleFrequency", - "type": "string" - } - }, - "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" - ], - "type": "object" - }, - "AWS::S3::Bucket.InventoryTableConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationState": { - "markdownDescription": "The configuration state of the inventory table, indicating whether the inventory table is enabled or disabled.", - "title": "ConfigurationState", - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration", - "markdownDescription": "The encryption configuration for the inventory table.", - "title": "EncryptionConfiguration" - }, - "TableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the inventory table.", - "title": "TableArn", - "type": "string" }, - "TableName": { - "markdownDescription": "The name of the inventory table.", - "title": "TableName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ConfigurationState" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.JournalTableConfiguration": { + "AWS::ResilienceHubV2::Service.AssertionDefinition": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration", - "markdownDescription": "The encryption configuration for the journal table.", - "title": "EncryptionConfiguration" - }, - "RecordExpiration": { - "$ref": "#/definitions/AWS::S3::Bucket.RecordExpiration", - "markdownDescription": "The journal table record expiration settings for the journal table.", - "title": "RecordExpiration" - }, - "TableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the journal table.", - "title": "TableArn", - "type": "string" - }, - "TableName": { - "markdownDescription": "The name of the journal table.", - "title": "TableName", + "Text": { "type": "string" } }, "required": [ - "RecordExpiration" + "Text" ], "type": "object" }, - "AWS::S3::Bucket.LambdaConfiguration": { + "AWS::ResilienceHubV2::Service.AssociatedSystem": { "additionalProperties": false, "properties": { - "Event": { - "markdownDescription": "The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", - "title": "Event", + "SystemArn": { "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", - "markdownDescription": "The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a `.jpg` extension invoke the function when they are added to the Amazon S3 bucket.", - "title": "Filter" - }, - "Function": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.", - "title": "Function", - "type": "string" + "UserJourneyIds": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "Event", - "Function" + "SystemArn" ], "type": "object" }, - "AWS::S3::Bucket.LifecycleConfiguration": { + "AWS::ResilienceHubV2::Service.CrossAccountRoleConfiguration": { "additionalProperties": false, "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" - }, - "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 bucket.", - "title": "Rules", - "type": "array" + "CrossAccountRoleArn": { + "type": "string" }, - "TransitionDefaultMinimumObjectSize": { - "markdownDescription": "Indicates which default minimum object size behavior is applied to the lifecycle configuration.\n\n> This parameter applies to general purpose buckets only. It isn't supported for directory bucket lifecycle configurations. \n\n- `all_storage_classes_128K` - Objects smaller than 128 KB will not transition to any storage class by default.\n- `varies_by_storage_class` - Objects smaller than 128 KB will transition to Glacier Flexible Retrieval or Glacier Deep Archive storage classes. By default, all other storage classes will prevent transitions smaller than 128 KB.\n\nTo customize the minimum object size for any transition you can add a filter that specifies a custom `ObjectSizeGreaterThan` or `ObjectSizeLessThan` in the body of your transition rule. Custom filters always take precedence over the default transition behavior.", - "title": "TransitionDefaultMinimumObjectSize", + "ExternalId": { "type": "string" } }, "required": [ - "Rules" + "CrossAccountRoleArn" ], "type": "object" }, - "AWS::S3::Bucket.LoggingConfiguration": { + "AWS::ResilienceHubV2::Service.DisasterRecoverySource": { "additionalProperties": false, "properties": { - "DestinationBucketName": { - "markdownDescription": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the `LoggingConfiguration` property is defined.", - "title": "DestinationBucketName", + "PolicyName": { "type": "string" }, - "LogFilePrefix": { - "markdownDescription": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.", - "title": "LogFilePrefix", + "Value": { "type": "string" - }, - "TargetObjectKeyFormat": { - "$ref": "#/definitions/AWS::S3::Bucket.TargetObjectKeyFormat", - "markdownDescription": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.", - "title": "TargetObjectKeyFormat" } }, "type": "object" }, - "AWS::S3::Bucket.MetadataConfiguration": { + "AWS::ResilienceHubV2::Service.EffectivePolicyValues": { "additionalProperties": false, "properties": { - "AnnotationTableConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AnnotationTableConfiguration" + "AvailabilitySlo": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.SloSource" }, - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.MetadataDestination", - "markdownDescription": "The destination information for the S3 Metadata configuration.", - "title": "Destination" + "MultiAzDrApproach": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.DisasterRecoverySource" }, - "InventoryTableConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryTableConfiguration", - "markdownDescription": "The inventory table configuration for a metadata configuration.", - "title": "InventoryTableConfiguration" + "MultiAzRpo": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" }, - "JournalTableConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.JournalTableConfiguration", - "markdownDescription": "The journal table configuration for a metadata configuration.", - "title": "JournalTableConfiguration" + "MultiAzRto": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + }, + "MultiRegionDrApproach": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.DisasterRecoverySource" + }, + "MultiRegionRpo": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" + }, + "MultiRegionRto": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.TargetSource" } }, - "required": [ - "JournalTableConfiguration" - ], "type": "object" }, - "AWS::S3::Bucket.MetadataDestination": { + "AWS::ResilienceHubV2::Service.EksSource": { "additionalProperties": false, "properties": { - "TableBucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.", - "title": "TableBucketArn", - "type": "string" - }, - "TableBucketType": { - "markdownDescription": "The type of the table bucket where the metadata configuration is stored. The `aws` value indicates an AWS managed table bucket, and the `customer` value indicates a customer-managed table bucket. V2 metadata configurations are stored in AWS managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.", - "title": "TableBucketType", + "ClusterArn": { "type": "string" }, - "TableNamespace": { - "markdownDescription": "The namespace in the table bucket where the metadata tables for a metadata configuration are stored.", - "title": "TableNamespace", - "type": "string" + "Namespaces": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "TableBucketType" + "ClusterArn", + "Namespaces" ], "type": "object" }, - "AWS::S3::Bucket.MetadataTableConfiguration": { + "AWS::ResilienceHubV2::Service.InputSourceDefinition": { "additionalProperties": false, "properties": { - "S3TablesDestination": { - "$ref": "#/definitions/AWS::S3::Bucket.S3TablesDestination", - "markdownDescription": "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", - "title": "S3TablesDestination" + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ResourceConfiguration" } }, "required": [ - "S3TablesDestination" + "ResourceConfiguration" ], "type": "object" }, - "AWS::S3::Bucket.MetadataTableEncryptionConfiguration": { + "AWS::ResilienceHubV2::Service.PermissionModel": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "If server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN). You must specify a customer-managed KMS key that's located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.", - "title": "KmsKeyArn", - "type": "string" + "CrossAccountRoleArns": { + "items": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.CrossAccountRoleConfiguration" + }, + "type": "array" }, - "SseAlgorithm": { - "markdownDescription": "The encryption type specified for a metadata table. To specify server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS), use the `aws:kms` value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the `AES256` value.", - "title": "SseAlgorithm", + "InvokerRoleName": { "type": "string" } }, "required": [ - "SseAlgorithm" + "InvokerRoleName" ], "type": "object" }, - "AWS::S3::Bucket.Metrics": { + "AWS::ResilienceHubV2::Service.ReportOutputConfiguration": { "additionalProperties": false, "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue", - "markdownDescription": "A container specifying the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event.", - "title": "EventThreshold" - }, - "Status": { - "markdownDescription": "Specifies whether the replication metrics are enabled.", - "title": "Status", - "type": "string" + "S3": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.S3ReportOutputConfiguration" } }, "required": [ - "Status" + "S3" ], "type": "object" }, - "AWS::S3::Bucket.MetricsConfiguration": { + "AWS::ResilienceHubV2::Service.ResourceConfiguration": { "additionalProperties": false, "properties": { - "AccessPointArn": { - "markdownDescription": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.", - "title": "AccessPointArn", + "CfnStackArn": { "type": "string" }, - "Id": { - "markdownDescription": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.", - "title": "Id", + "DesignFileS3Url": { "type": "string" }, - "Prefix": { - "markdownDescription": "The prefix that an object must have to be included in the metrics results.", - "title": "Prefix", - "type": "string" + "Eks": { + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.EksSource" }, - "TagFilters": { + "ResourceTags": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ResourceTag" }, - "markdownDescription": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.", - "title": "TagFilters", "type": "array" + }, + "TfStateFileUrl": { + "type": "string" } }, - "required": [ - "Id" - ], "type": "object" }, - "AWS::S3::Bucket.NoncurrentVersionExpiration": { + "AWS::ResilienceHubV2::Service.ResourceTag": { "additionalProperties": false, "properties": { - "NewerNoncurrentVersions": { - "markdownDescription": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", - "title": "NewerNoncurrentVersions", - "type": "number" + "Key": { + "type": "string" }, - "NoncurrentDays": { - "markdownDescription": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", - "title": "NoncurrentDays", - "type": "number" + "Values": { + "items": { + "type": "string" + }, + "type": "array" } }, "required": [ - "NoncurrentDays" + "Key", + "Values" ], "type": "object" }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { + "AWS::ResilienceHubV2::Service.S3ReportOutputConfiguration": { "additionalProperties": false, "properties": { - "NewerNoncurrentVersions": { - "markdownDescription": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", - "title": "NewerNoncurrentVersions", - "type": "number" - }, - "StorageClass": { - "markdownDescription": "The class of storage used to store the object.", - "title": "StorageClass", + "BucketOwner": { "type": "string" }, - "TransitionInDays": { - "markdownDescription": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates How Long an Object Has Been Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", - "title": "TransitionInDays", - "type": "number" + "BucketPath": { + "type": "string" } }, "required": [ - "StorageClass", - "TransitionInDays" + "BucketOwner", + "BucketPath" ], "type": "object" }, - "AWS::S3::Bucket.NotificationConfiguration": { + "AWS::ResilienceHubV2::Service.ServiceReportConfiguration": { "additionalProperties": false, "properties": { - "EventBridgeConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EventBridgeConfiguration", - "markdownDescription": "Enables delivery of events to Amazon EventBridge.", - "title": "EventBridgeConfiguration" - }, - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "markdownDescription": "Describes the AWS Lambda functions to invoke and the events for which to invoke them.", - "title": "LambdaConfigurations", - "type": "array" - }, - "QueueConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" - }, - "markdownDescription": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", - "title": "QueueConfigurations", - "type": "array" - }, - "TopicConfigurations": { + "ReportOutput": { "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + "$ref": "#/definitions/AWS::ResilienceHubV2::Service.ReportOutputConfiguration" }, - "markdownDescription": "The topic to which notifications are sent and the events for which notifications are generated.", - "title": "TopicConfigurations", "type": "array" } }, - "type": "object" - }, - "AWS::S3::Bucket.NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter", - "markdownDescription": "A container for object key name prefix and suffix filtering rules.", - "title": "S3Key" - } - }, "required": [ - "S3Key" + "ReportOutput" ], "type": "object" }, - "AWS::S3::Bucket.ObjectLockConfiguration": { + "AWS::ResilienceHubV2::Service.SloSource": { "additionalProperties": false, "properties": { - "ObjectLockEnabled": { - "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", - "title": "ObjectLockEnabled", + "PolicyName": { "type": "string" }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule", - "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply `ObjectLockConfiguration` to a bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", - "title": "Rule" + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::S3::Bucket.ObjectLockRule": { + "AWS::ResilienceHubV2::Service.TargetSource": { "additionalProperties": false, "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention", - "markdownDescription": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", - "title": "DefaultRetention" + "PolicyName": { + "type": "string" + }, + "Value": { + "type": "number" } }, "type": "object" }, - "AWS::S3::Bucket.OwnershipControls": { + "AWS::ResilienceHubV2::ServiceFunction": { "additionalProperties": false, "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Criticality": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ServiceArn": { + "type": "string" + } }, - "markdownDescription": "Specifies the container element for Object Ownership rules.", - "title": "Rules", - "type": "array" + "required": [ + "Criticality", + "Name", + "ServiceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResilienceHubV2::ServiceFunction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Rules" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.OwnershipControlsRule": { + "AWS::ResilienceHubV2::System": { "additionalProperties": false, "properties": { - "ObjectOwnership": { - "markdownDescription": "Specifies an object ownership rule.", - "title": "ObjectOwnership", + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.PartitionedPrefix": { - "additionalProperties": false, - "properties": { - "PartitionDateSource": { - "markdownDescription": "Specifies the partition date source for the partitioned prefix. `PartitionDateSource` can be `EventTime` or `DeliveryTime` .\n\nFor `DeliveryTime` , the time in the log file names corresponds to the delivery time for the log files.\n\nFor `EventTime` , The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.", - "title": "PartitionDateSource", + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", - "title": "BlockPublicAcls", - "type": "boolean" }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", - "title": "BlockPublicPolicy", - "type": "boolean" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "title": "IgnorePublicAcls", - "type": "boolean" + "Metadata": { + "type": "object" }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "title": "RestrictPublicBuckets", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.QueueConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "markdownDescription": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", - "title": "Event", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", - "markdownDescription": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .", - "title": "Filter" + "Type": { + "enum": [ + "AWS::ResilienceHubV2::System" + ], + "type": "string" }, - "Queue": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.", - "title": "Queue", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Event", - "Queue" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.RecordExpiration": { + "AWS::ResilienceHubV2::UserJourney": { "additionalProperties": false, "properties": { - "Days": { - "markdownDescription": "If you enable journal table record expiration, you can set the number of days to retain your journal table records. Journal table records must be retained for a minimum of 7 days. To set this value, specify any whole number from `7` to `2147483647` . For example, to retain your journal table records for one year, set this value to `365` .", - "title": "Days", - "type": "number" + "Condition": { + "type": "string" }, - "Expiration": { - "markdownDescription": "Specifies whether journal table record expiration is enabled or disabled.", - "title": "Expiration", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "PolicyArn": { + "type": "string" + }, + "SystemIdentifier": { + "type": "string" + } + }, + "required": [ + "Name", + "SystemIdentifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResilienceHubV2::UserJourney" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Expiration" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { + "AWS::ResourceExplorer2::DefaultViewAssociation": { "additionalProperties": false, "properties": { - "HostName": { - "markdownDescription": "Name of the host where requests are redirected.", - "title": "HostName", + "Condition": { "type": "string" }, - "Protocol": { - "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", - "title": "Protocol", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ViewArn": { + "markdownDescription": "The ARN of the view to set as the default for the AWS Region and AWS account in which you call this operation. The specified view must already exist in the specified Region.", + "title": "ViewArn", + "type": "string" + } + }, + "required": [ + "ViewArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceExplorer2::DefaultViewAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "HostName" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.RedirectRule": { + "AWS::ResourceExplorer2::Index": { "additionalProperties": false, "properties": { - "HostName": { - "markdownDescription": "The host name to use in the redirect request.", - "title": "HostName", + "Condition": { "type": "string" }, - "HttpRedirectCode": { - "markdownDescription": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", - "title": "HttpRedirectCode", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Protocol": { - "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", - "title": "Protocol", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ReplaceKeyPrefixWith": { - "markdownDescription": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix `docs/` (objects in the `docs/` folder) to `documents/` , you can set a condition block with `KeyPrefixEquals` set to `docs/` and in the Redirect set `ReplaceKeyPrefixWith` to `/documents` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "ReplaceKeyPrefixWith", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "additionalProperties": true, + "markdownDescription": "The specified tags are attached to only the index created in this AWS Region . The tags don't attach to any of the resources listed in the index.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + }, + "Type": { + "markdownDescription": "Specifies the type of the index in this Region. For information about the aggregator index and how it differs from a local index, see [Turning on cross-Region search by creating an aggregator index](https://docs.aws.amazon.com/resource-explorer/latest/userguide/manage-aggregator-region.html) in the *AWS Resource Explorer User Guide.* .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceExplorer2::Index" + ], "type": "string" }, - "ReplaceKeyWith": { - "markdownDescription": "The specific object key to use in the redirect request. For example, redirect request to `error.html` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyPrefixWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "ReplaceKeyWith", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::S3::Bucket.ReplicaModifications": { + "AWS::ResourceExplorer2::View": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "Specifies whether Amazon S3 replicates modifications on replicas.\n\n*Allowed values* : `Enabled` | `Disabled`", - "title": "Status", + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Filters": { + "$ref": "#/definitions/AWS::ResourceExplorer2::View.SearchFilter", + "markdownDescription": "An array of strings that include search keywords, prefixes, and operators that filter the results that are returned for queries made using this view. When you use this view in a [Search](https://docs.aws.amazon.com/resource-explorer/latest/apireference/API_Search.html) operation, the filter string is combined with the search's `QueryString` parameter using a logical `AND` operator.\n\nFor information about the supported syntax, see [Search query reference for Resource Explorer](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html) in the *AWS Resource Explorer User Guide* .\n\n> This query string in the context of this operation supports only [filter prefixes](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-filters) with optional [operators](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-operators) . It doesn't support free-form text. For example, the string `region:us* service:ec2 -tag:stage=prod` includes all Amazon EC2 resources in any AWS Region that begin with the letters `us` and are *not* tagged with a key `Stage` that has the value `prod` .", + "title": "Filters" + }, + "IncludedProperties": { + "items": { + "$ref": "#/definitions/AWS::ResourceExplorer2::View.IncludedProperty" + }, + "markdownDescription": "A list of fields that provide additional information about the view.", + "title": "IncludedProperties", + "type": "array" + }, + "Scope": { + "markdownDescription": "The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the default is account.", + "title": "Scope", + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "Tag key and value pairs that are attached to the view.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + }, + "ViewName": { + "markdownDescription": "The name of the new view.", + "title": "ViewName", + "type": "string" + } + }, + "required": [ + "ViewName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceExplorer2::View" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationConfiguration": { + "AWS::ResourceExplorer2::View.IncludedProperty": { "additionalProperties": false, "properties": { - "Role": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide* .", - "title": "Role", + "Name": { + "markdownDescription": "The name of the property that is included in this view.", + "title": "Name", "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "markdownDescription": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.", - "title": "Rules", - "type": "array" } }, "required": [ - "Role", - "Rules" + "Name" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationDestination": { + "AWS::ResourceExplorer2::View.SearchFilter": { "additionalProperties": false, "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation", - "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", - "title": "AccessControlTranslation" - }, - "Account": { - "markdownDescription": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS account that owns the destination bucket by specifying the `AccessControlTranslation` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide* .\n\nIf you specify the `AccessControlTranslation` property, the `Account` property is required.", - "title": "Account", - "type": "string" - }, - "Bucket": { - "markdownDescription": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.", - "title": "Bucket", - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration", - "markdownDescription": "Specifies encryption-related information.", - "title": "EncryptionConfiguration" - }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics", - "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.", - "title": "Metrics" - }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime", - "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a `Metrics` block.", - "title": "ReplicationTime" - }, - "StorageClass": { - "markdownDescription": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.\n\nFor valid values, see the `StorageClass` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference* .\n\n`FSX_OPENZFS` is not an accepted value when replicating objects.", - "title": "StorageClass", + "FilterString": { + "markdownDescription": "The string that contains the search keywords, prefixes, and operators to control the results that can be returned by a Search operation.\n\nFor information about the supported syntax, see [Search query reference](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html) in the *AWS Resource Explorer User Guide* .\n\n> This query string in the context of this operation supports only [filter prefixes](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-filters) with optional [operators](https://docs.aws.amazon.com/resource-explorer/latest/userguide/using-search-query-syntax.html#query-syntax-operators) . It doesn't support free-form text. For example, the string `region:us* service:ec2 -tag:stage=prod` includes all Amazon EC2 resources in any AWS Region that begin with the letters `us` and are *not* tagged with a key `Stage` that has the value `prod` .", + "title": "FilterString", "type": "string" } }, "required": [ - "Bucket" + "FilterString" ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRule": { + "AWS::ResourceGroups::Group": { "additionalProperties": false, "properties": { - "DeleteMarkerReplication": { - "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication", - "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a `Filter` in your replication configuration, you must also include a `DeleteMarkerReplication` element. If your `Filter` includes a `Tag` element, the `DeleteMarkerReplication` `Status` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) .\n\nFor more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) .\n\n> If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) .", - "title": "DeleteMarkerReplication" - }, - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination", - "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", - "title": "Destination" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter", - "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A `Filter` must specify exactly one `Prefix` , `TagFilter` , or an `And` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n\n> V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.", - "title": "Filter" - }, - "Id": { - "markdownDescription": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".", - "title": "Id", + "Condition": { "type": "string" }, - "Prefix": { - "markdownDescription": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "Prefix", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Priority": { - "markdownDescription": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.\n\nFor more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide* .", - "title": "Priority", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SourceSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria", - "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", - "title": "SourceSelectionCriteria" + "Metadata": { + "type": "object" }, - "Status": { - "markdownDescription": "Specifies whether the rule is enabled.", - "title": "Status", - "type": "string" - } - }, - "required": [ - "Destination", - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { - "additionalProperties": false, - "properties": { - "Prefix": { - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.", - "title": "Prefix", + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" + }, + "markdownDescription": "The service configuration currently associated with the resource group and in effect for the members of the resource group. A `Configuration` consists of one or more `ConfigurationItem` entries. For information about service configurations for resource groups and how to construct them, see [Service configurations for resource groups](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html) in the *Resource Groups User Guide* .\n\n> You can include either a `Configuration` or a `ResourceQuery` , but not both.", + "title": "Configuration", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the resource group.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of a resource group. The name must be unique within the AWS Region in which you create the resource. To create multiple resource groups based on the same CloudFormation stack, you must generate unique names for each.", + "title": "Name", + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery", + "markdownDescription": "The resource query structure that is used to dynamically determine which AWS resources are members of the associated resource group. For more information about queries and how to construct them, see [Build queries and groups in Resource Groups](https://docs.aws.amazon.com//ARG/latest/userguide/gettingstarted-query.html) in the *Resource Groups User Guide*\n\n> - You can include either a `ResourceQuery` or a `Configuration` , but not both.\n> - You can specify the group's membership either by using a `ResourceQuery` or by using a list of `Resources` , but not both.", + "title": "ResourceQuery" + }, + "Resources": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the Amazon Resource Names (ARNs) of AWS resources that you want to add to the specified group.\n\n> - You can specify the group membership either by using a list of `Resources` or by using a `ResourceQuery` , but not both.\n> - You can include a `Resources` property only if you also specify a `Configuration` property.", + "title": "Resources", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tag key and value pairs that are attached to the resource group.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceGroups::Group" + ], "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "markdownDescription": "An array of tags containing key and value pairs.", - "title": "TagFilters", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::S3::Bucket.ReplicationRuleFilter": { + "AWS::ResourceGroups::Group.ConfigurationItem": { "additionalProperties": false, "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator", - "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:\n\n- If you specify both a `Prefix` and a `TagFilter` , wrap these filters in an `And` tag.\n- If you specify a filter based on multiple tags, wrap the `TagFilter` elements in an `And` tag.", - "title": "And" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" + }, + "markdownDescription": "A collection of parameters for this configuration item. For the list of parameters that you can use with each configuration item `Type` , see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", + "title": "Parameters", + "type": "array" }, - "Prefix": { - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "Prefix", + "Type": { + "markdownDescription": "Specifies the type of configuration item. Each item must have a unique value for type. For the list of the types that you can specify for a configuration item, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", + "title": "Type", "type": "string" - }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter", - "markdownDescription": "A container for specifying a tag key and value.\n\nThe rule applies only to objects that have the tag in their tag set.", - "title": "TagFilter" } }, "type": "object" }, - "AWS::S3::Bucket.ReplicationTime": { + "AWS::ResourceGroups::Group.ConfigurationParameter": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "Specifies whether the replication time is enabled.", - "title": "Status", + "Name": { + "markdownDescription": "The name of the group configuration parameter. For the list of parameters that you can use with each configuration item type, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) in the *Resource Groups User Guide* .", + "title": "Name", "type": "string" }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue", - "markdownDescription": "A container specifying the time by which replication should be complete for all objects and operations on objects.", - "title": "Time" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value or values to be used for the specified parameter. For the list of values you can use with each parameter, see [Supported resource types and parameters](https://docs.aws.amazon.com//ARG/latest/APIReference/about-slg.html#about-slg-types) .", + "title": "Values", + "type": "array" } }, - "required": [ - "Status", - "Time" - ], "type": "object" }, - "AWS::S3::Bucket.ReplicationTimeValue": { + "AWS::ResourceGroups::Group.Query": { "additionalProperties": false, "properties": { - "Minutes": { - "markdownDescription": "Contains an integer specifying time in minutes.\n\nValid value: 15", - "title": "Minutes", - "type": "number" + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies limits to the types of resources that can be included in the resource group. For example, if `ResourceTypeFilters` is `[\"AWS::EC2::Instance\", \"AWS::DynamoDB::Table\"]` , only EC2 instances or DynamoDB tables can be members of this resource group. The default value is `[\"AWS::AllSupported\"]` .", + "title": "ResourceTypeFilters", + "type": "array" + }, + "StackIdentifier": { + "markdownDescription": "Specifies the ARN of a CloudFormation stack. All supported resources of the CloudFormation stack are members of the resource group. If you don't specify an ARN, this parameter defaults to the current stack that you are defining, which means that all the resources of the current stack are grouped.\n\nYou can specify a value for `StackIdentifier` only when the `ResourceQuery.Type` property is `CLOUDFORMATION_STACK_1_0.`", + "title": "StackIdentifier", + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" + }, + "markdownDescription": "A list of key-value pair objects that limit which resources can be members of the resource group. This property is required when the `ResourceQuery.Type` property is `TAG_FILTERS_1_0` .\n\nA resource must have a tag that matches every filter that is provided in the `TagFilters` list.", + "title": "TagFilters", + "type": "array" } }, - "required": [ - "Minutes" - ], "type": "object" }, - "AWS::S3::Bucket.RoutingRule": { + "AWS::ResourceGroups::Group.ResourceQuery": { "additionalProperties": false, "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule", - "markdownDescription": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", - "title": "RedirectRule" + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query", + "markdownDescription": "The query that defines the membership of the group. This is a structure with properties that depend on the `Type` .\n\nThe `Query` structure must be included in the following scenarios:\n\n- When the `Type` is `TAG_FILTERS_1_0` , you must specify a `Query` structure that contains a `TagFilters` list of tags. Resources with tags that match those in the `TagFilter` list become members of the resource group.\n- When the `Type` is `CLOUDFORMATION_STACK_1_0` then this field is required only when you must specify a CloudFormation stack other than the one you are defining. To do this, the `Query` structure must contain the `StackIdentifier` property. If you don't specify either a `Query` structure or a `StackIdentifier` within that `Query` , then it defaults to the CloudFormation stack that you're currently constructing.", + "title": "Query" }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition", - "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the `/docs` folder, redirect to the `/documents` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", - "title": "RoutingRuleCondition" + "Type": { + "markdownDescription": "Specifies the type of resource query that determines this group's membership. There are two valid query types:\n\n- `TAG_FILTERS_1_0` indicates that the group is a tag-based group. To complete the group membership, you must include the `TagFilters` property to specify the tag filters to use in the query.\n- `CLOUDFORMATION_STACK_1_0` , the default, indicates that the group is a CloudFormation stack-based group. Group membership is based on the CloudFormation stack. You must specify the `StackIdentifier` property in the query to define which stack to associate the group with, or leave it empty to default to the stack where the group is defined.", + "title": "Type", + "type": "string" } }, - "required": [ - "RedirectRule" - ], "type": "object" }, - "AWS::S3::Bucket.RoutingRuleCondition": { + "AWS::ResourceGroups::Group.TagFilter": { "additionalProperties": false, "properties": { - "HttpErrorCodeReturnedEquals": { - "markdownDescription": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n\nRequired when parent element `Condition` is specified and sibling `KeyPrefixEquals` is not specified. If both are specified, then both must be true for the redirect to be applied.", - "title": "HttpErrorCodeReturnedEquals", + "Key": { + "markdownDescription": "A string that defines a tag key. Only resources in the account that are tagged with a specified tag key are members of the tag-based resource group.\n\nThis field is required when the `ResourceQuery` structure's `Type` property is `TAG_FILTERS_1_0` . You must specify at least one tag key.", + "title": "Key", "type": "string" }, - "KeyPrefixEquals": { - "markdownDescription": "The object key name prefix when the redirect is applied. For example, to redirect requests for `ExamplePage.html` , the key prefix will be `ExamplePage.html` . To redirect request for all pages with the prefix `docs/` , the key prefix will be `docs/` , which identifies all objects in the docs/ folder.\n\nRequired when the parent element `Condition` is specified and sibling `HttpErrorCodeReturnedEquals` is not specified. If both conditions are specified, both must be true for the redirect to be applied.", - "title": "KeyPrefixEquals", - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of tag values that can be included in the tag-based resource group. This is optional. If you don't specify a value or values for a key, then an AWS resource with any value for that key is a member.", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::S3::Bucket.Rule": { + "AWS::ResourceGroups::TagSyncTask": { "additionalProperties": false, "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload", - "markdownDescription": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.", - "title": "AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "markdownDescription": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "title": "ExpirationDate", + "Condition": { "type": "string" }, - "ExpirationInDays": { - "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "title": "ExpirationInDays", - "type": "number" - }, - "ExpiredObjectDeleteMarker": { - "markdownDescription": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with `ExpirationInDays` , `ExpirationDate` , or `TagFilters` .", - "title": "ExpiredObjectDeleteMarker", - "type": "boolean" - }, - "Id": { - "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.", - "title": "Id", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NoncurrentVersionExpiration": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionExpiration", - "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.", - "title": "NoncurrentVersionExpiration" - }, - "NoncurrentVersionExpirationInDays": { - "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.", - "title": "NoncurrentVersionExpirationInDays", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition", - "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransitions` property.", - "title": "NoncurrentVersionTransition" + "Metadata": { + "type": "object" }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + "Properties": { + "additionalProperties": false, + "properties": { + "Group": { + "markdownDescription": "The Amazon resource name (ARN) or name of the application group for which you want to create a tag-sync task.", + "title": "Group", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon resource name (ARN) of the role assumed by the service to tag and untag resources on your behalf.", + "title": "RoleArn", + "type": "string" + }, + "TagKey": { + "markdownDescription": "The tag key.", + "title": "TagKey", + "type": "string" + }, + "TagValue": { + "markdownDescription": "The tag value.", + "title": "TagValue", + "type": "string" + } }, - "markdownDescription": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransition` property.", - "title": "NoncurrentVersionTransitions", - "type": "array" + "required": [ + "Group", + "RoleArn", + "TagKey", + "TagValue" + ], + "type": "object" }, - "ObjectSizeGreaterThan": { - "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", - "title": "ObjectSizeGreaterThan", + "Type": { + "enum": [ + "AWS::ResourceGroups::TagSyncTask" + ], "type": "string" }, - "ObjectSizeLessThan": { - "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", - "title": "ObjectSizeLessThan", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Prefix": { - "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "Prefix", + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::Fleet": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "Status": { - "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", - "title": "Status", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "markdownDescription": "Tags to use to identify a subset of objects to which the lifecycle rule applies.", - "title": "TagFilters", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition", - "markdownDescription": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transitions` property.", - "title": "Transition" + "Metadata": { + "type": "object" }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the fleet.", + "title": "Name", + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "The list of all tags added to the fleet.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } }, - "markdownDescription": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transition` property.", - "title": "Transitions", - "type": "array" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Status" + "Type" ], "type": "object" }, - "AWS::S3::Bucket.S3KeyFilter": { + "AWS::RoboMaker::Robot": { "additionalProperties": false, "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Architecture": { + "markdownDescription": "The architecture of the robot.", + "title": "Architecture", + "type": "string" + }, + "Fleet": { + "markdownDescription": "The Amazon Resource Name (ARN) of the fleet to which the robot will be registered.", + "title": "Fleet", + "type": "string" + }, + "GreengrassGroupId": { + "markdownDescription": "The Greengrass group associated with the robot.", + "title": "GreengrassGroupId", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the robot.", + "title": "Name", + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "A map that contains tag keys and tag values that are attached to the robot.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } }, - "markdownDescription": "A list of containers for the key-value pair that defines the criteria for the filter rule.", - "title": "Rules", - "type": "array" + "required": [ + "Architecture", + "GreengrassGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Robot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Rules" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.S3TablesDestination": { + "AWS::RoboMaker::RobotApplication": { "additionalProperties": false, "properties": { - "TableArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", - "title": "TableArn", + "Condition": { "type": "string" }, - "TableBucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket.", - "title": "TableBucketArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "TableName": { - "markdownDescription": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", - "title": "TableName", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "markdownDescription": "The current revision id.", + "title": "CurrentRevisionId", + "type": "string" + }, + "Environment": { + "markdownDescription": "The environment of the robot application.", + "title": "Environment", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the robot application.", + "title": "Name", + "type": "string" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite", + "markdownDescription": "The robot software suite used by the robot application.", + "title": "RobotSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "markdownDescription": "The sources of the robot application.", + "title": "Sources", + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "A map that contains tag keys and tag values that are attached to the robot application.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplication" + ], "type": "string" }, - "TableNamespace": { - "markdownDescription": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always `aws_s3_metadata` .", - "title": "TableNamespace", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "TableBucketArn", - "TableName" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { "additionalProperties": false, "properties": { - "KMSMasterKeyID": { - "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption.\n\n> - *General purpose buckets* - This parameter is allowed if and only if `SSEAlgorithm` is set to `aws:kms` or `aws:kms:dsse` .\n> - *Directory buckets* - This parameter is allowed if and only if `SSEAlgorithm` is set to `aws:kms` . \n\nYou can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key Alias: `alias/alias-name`\n\nIf you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy) .\n\n> - *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then AWS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.\n> - *Directory buckets* - When you specify an [AWS customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported. > Amazon S3 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": "KMSMasterKeyID", + "Name": { + "markdownDescription": "The name of the robot software suite. `General` is the only supported value.", + "title": "Name", "type": "string" }, - "SSEAlgorithm": { - "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n> For directory buckets, there are only two supported values for server-side encryption: `AES256` and `aws:kms` .", - "title": "SSEAlgorithm", + "Version": { + "markdownDescription": "The version of the robot software suite. Not applicable for General software suite.", + "title": "Version", "type": "string" } }, "required": [ - "SSEAlgorithm" + "Name" ], "type": "object" }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { + "AWS::RoboMaker::RobotApplication.SourceConfig": { "additionalProperties": false, "properties": { - "BlockedEncryptionTypes": { - "$ref": "#/definitions/AWS::S3::Bucket.BlockedEncryptionTypes", - "markdownDescription": "A bucket-level setting for Amazon S3 general purpose buckets used to prevent the upload of new objects encrypted with the specified server-side encryption type. For example, blocking an encryption type will block `PutObject` , `CopyObject` , `PostObject` , multipart upload, and replication requests to the bucket for objects with the specified encryption type. However, you can continue to read and list any pre-existing objects already encrypted with the specified encryption type. For more information, see [Blocking or unblocking SSE-C for a general purpose bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html) .\n\n> Currently, this parameter only supports blocking or unblocking server-side encryption with customer-provided keys (SSE-C). For more information about SSE-C, see [Using server-side encryption with customer-provided keys (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html) .", - "title": "BlockedEncryptionTypes" + "Architecture": { + "markdownDescription": "The target processor architecture for the application.", + "title": "Architecture", + "type": "string" }, - "BucketKeyEnabled": { - "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the `BucketKeyEnabled` element to `true` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n\nFor more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide* .", - "title": "BucketKeyEnabled", - "type": "boolean" + "S3Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "S3Bucket", + "type": "string" }, - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault", - "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", - "title": "ServerSideEncryptionByDefault" + "S3Key": { + "markdownDescription": "The s3 object key.", + "title": "S3Key", + "type": "string" } }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], "type": "object" }, - "AWS::S3::Bucket.SourceSelectionCriteria": { + "AWS::RoboMaker::RobotApplicationVersion": { "additionalProperties": false, "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications", - "markdownDescription": "A filter that you can specify for selection for modifications on replicas.", - "title": "ReplicaModifications" + "Condition": { + "type": "string" }, - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects", - "markdownDescription": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", - "title": "SseKmsEncryptedObjects" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service.", - "title": "Status", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "markdownDescription": "The application information for the robot application.", + "title": "Application", + "type": "string" + }, + "CurrentRevisionId": { + "markdownDescription": "The current revision id for the robot application. If you provide a value and it matches the latest revision ID, a new version will be created.", + "title": "CurrentRevisionId", + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.StorageClassAnalysis": { - "additionalProperties": false, - "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport", - "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", - "title": "DataExport" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.TagFilter": { + "AWS::RoboMaker::SimulationApplication": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The tag key.", - "title": "Key", + "Condition": { "type": "string" }, - "Value": { - "markdownDescription": "The tag 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": { + "CurrentRevisionId": { + "markdownDescription": "The current revision id.", + "title": "CurrentRevisionId", + "type": "string" + }, + "Environment": { + "markdownDescription": "The environment of the simulation application.", + "title": "Environment", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the simulation application.", + "title": "Name", + "type": "string" + }, + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine", + "markdownDescription": "The rendering engine for the simulation application.", + "title": "RenderingEngine" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite", + "markdownDescription": "The robot software suite used by the simulation application.", + "title": "RobotSoftwareSuite" + }, + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite", + "markdownDescription": "The simulation software suite used by the simulation application.", + "title": "SimulationSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "markdownDescription": "The sources of the simulation application.", + "title": "Sources", + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "A map that contains tag keys and tag values that are attached to the simulation application.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite", + "SimulationSoftwareSuite" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Key", - "Value" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.TargetObjectKeyFormat": { + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { "additionalProperties": false, "properties": { - "PartitionedPrefix": { - "$ref": "#/definitions/AWS::S3::Bucket.PartitionedPrefix", - "markdownDescription": "Partitioned S3 key for log objects.", - "title": "PartitionedPrefix" + "Name": { + "markdownDescription": "The name of the rendering engine.", + "title": "Name", + "type": "string" }, - "SimplePrefix": { - "markdownDescription": "To use the simple format for S3 keys for log objects. To specify SimplePrefix format, set SimplePrefix to {}.", - "title": "SimplePrefix", - "type": "object" + "Version": { + "markdownDescription": "The version of the rendering engine.", + "title": "Version", + "type": "string" } }, + "required": [ + "Name", + "Version" + ], "type": "object" }, - "AWS::S3::Bucket.Tiering": { + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { "additionalProperties": false, "properties": { - "AccessTier": { - "markdownDescription": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.", - "title": "AccessTier", + "Name": { + "markdownDescription": "The name of the robot software suite. `General` is the only supported value.", + "title": "Name", "type": "string" }, - "Days": { - "markdownDescription": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", - "title": "Days", - "type": "number" + "Version": { + "markdownDescription": "The version of the robot software suite. Not applicable for General software suite.", + "title": "Version", + "type": "string" } }, "required": [ - "AccessTier", - "Days" + "Name" ], "type": "object" }, - "AWS::S3::Bucket.TopicConfiguration": { + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { "additionalProperties": false, "properties": { - "Event": { - "markdownDescription": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", - "title": "Event", + "Name": { + "markdownDescription": "The name of the simulation software suite. `SimulationRuntime` is the only supported value.", + "title": "Name", "type": "string" }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", - "markdownDescription": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket.", - "title": "Filter" - }, - "Topic": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", - "title": "Topic", + "Version": { + "markdownDescription": "The version of the simulation software suite. Not applicable for `SimulationRuntime` .", + "title": "Version", "type": "string" } }, "required": [ - "Event", - "Topic" + "Name" ], "type": "object" }, - "AWS::S3::Bucket.Transition": { + "AWS::RoboMaker::SimulationApplication.SourceConfig": { "additionalProperties": false, "properties": { - "StorageClass": { - "markdownDescription": "The storage class to which you want the object to transition.", - "title": "StorageClass", + "Architecture": { + "markdownDescription": "The target processor architecture for the application.", + "title": "Architecture", "type": "string" }, - "TransitionDate": { - "markdownDescription": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.", - "title": "TransitionDate", + "S3Bucket": { + "markdownDescription": "The Amazon S3 bucket name.", + "title": "S3Bucket", "type": "string" }, - "TransitionInDays": { - "markdownDescription": "Indicates the number of days after creation when objects are transitioned to the specified storage class. If the specified storage class is `INTELLIGENT_TIERING` , `GLACIER_IR` , `GLACIER` , or `DEEP_ARCHIVE` , valid values are `0` or positive integers. If the specified storage class is `STANDARD_IA` or `ONEZONE_IA` , valid values are positive integers greater than `30` . Be aware that some storage classes have a minimum storage duration and that you're charged for transitioning objects before their minimum storage duration. For more information, see [Constraints and considerations for transitions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html#lifecycle-configuration-constraints) in the *Amazon S3 User Guide* .", - "title": "TransitionInDays", - "type": "number" + "S3Key": { + "markdownDescription": "The s3 object key.", + "title": "S3Key", + "type": "string" } }, "required": [ - "StorageClass" + "Architecture", + "S3Bucket", + "S3Key" ], "type": "object" }, - "AWS::S3::Bucket.VersioningConfiguration": { + "AWS::RoboMaker::SimulationApplicationVersion": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "The versioning state of the bucket.", - "title": "Status", + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "markdownDescription": "The application information for the simulation application.", + "title": "Application", + "type": "string" + }, + "CurrentRevisionId": { + "markdownDescription": "The current revision id for the simulation application. If you provide a value and it matches the latest revision ID, a new version will be created.", + "title": "CurrentRevisionId", + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Status" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3::Bucket.WebsiteConfiguration": { + "AWS::RolesAnywhere::CRL": { "additionalProperties": false, "properties": { - "ErrorDocument": { - "markdownDescription": "The name of the error document for the website.", - "title": "ErrorDocument", + "Condition": { "type": "string" }, - "IndexDocument": { - "markdownDescription": "The name of the index document for the website.", - "title": "IndexDocument", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo", - "markdownDescription": "The redirect behavior for every request to this bucket's website endpoint.\n\n> If you specify this property, you can't specify any other property.", - "title": "RedirectAllRequestsTo" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RoutingRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + "Metadata": { + "type": "object" + }, + "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" + } }, - "markdownDescription": "Rules that define when a redirect is applied and the redirect behavior.", - "title": "RoutingRules", - "type": "array" + "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::S3::BucketPolicy": { + "AWS::RolesAnywhere::Profile": { "additionalProperties": false, "properties": { "Condition": { @@ -342689,26 +311324,78 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 bucket to which the policy applies.", - "title": "Bucket", + "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" }, - "PolicyDocument": { - "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", - "title": "PolicyDocument", - "type": "object" + "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": [ - "Bucket", - "PolicyDocument" + "Name", + "RoleArns" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::BucketPolicy" + "AWS::RolesAnywhere::Profile" ], "type": "string" }, @@ -342727,7 +311414,44 @@ ], "type": "object" }, - "AWS::S3::MultiRegionAccessPoint": { + "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::TrustAnchor": { "additionalProperties": false, "properties": { "Condition": { @@ -342762,33 +311486,47 @@ "Properties": { "additionalProperties": false, "properties": { + "Enabled": { + "markdownDescription": "Indicates whether the trust anchor is enabled.", + "title": "Enabled", + "type": "boolean" + }, "Name": { - "markdownDescription": "The name of the Multi-Region Access Point.", + "markdownDescription": "The name of the trust anchor.", "title": "Name", "type": "string" }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration", - "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Multi-Region Access Point. You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", - "title": "PublicAccessBlockConfiguration" + "NotificationSettings": { + "items": { + "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.NotificationSetting" + }, + "markdownDescription": "A list of notification settings to be associated to the trust anchor.", + "title": "NotificationSettings", + "type": "array" }, - "Regions": { + "Source": { + "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.Source", + "markdownDescription": "The trust anchor type and its related certificate data.", + "title": "Source" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.Region" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A collection of the Regions and buckets associated with the Multi-Region Access Point.", - "title": "Regions", + "markdownDescription": "The tags to attach to the trust anchor.", + "title": "Tags", "type": "array" } }, "required": [ - "Regions" + "Name", + "Source" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::MultiRegionAccessPoint" + "AWS::RolesAnywhere::TrustAnchor" ], "type": "string" }, @@ -342807,52 +311545,73 @@ ], "type": "object" }, - "AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration": { + "AWS::RolesAnywhere::TrustAnchor.NotificationSetting": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", - "title": "BlockPublicAcls", - "type": "boolean" + "Channel": { + "markdownDescription": "The specified channel of notification. IAM Roles Anywhere uses CloudWatch metrics, EventBridge, and Health Dashboard to notify for an event.\n\n> In the absence of a specific channel, IAM Roles Anywhere applies this setting to 'ALL' channels.", + "title": "Channel", + "type": "string" }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", - "title": "BlockPublicPolicy", + "Enabled": { + "markdownDescription": "Indicates whether the notification setting is enabled.", + "title": "Enabled", "type": "boolean" }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "title": "IgnorePublicAcls", - "type": "boolean" + "Event": { + "markdownDescription": "The event to which this notification setting is applied.", + "title": "Event", + "type": "string" }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "title": "RestrictPublicBuckets", - "type": "boolean" + "Threshold": { + "markdownDescription": "The number of days before a notification event. This value is required for a notification setting that is enabled.", + "title": "Threshold", + "type": "number" } }, + "required": [ + "Enabled", + "Event" + ], "type": "object" }, - "AWS::S3::MultiRegionAccessPoint.Region": { + "AWS::RolesAnywhere::TrustAnchor.Source": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the associated bucket for the Region.", - "title": "Bucket", - "type": "string" + "SourceData": { + "$ref": "#/definitions/AWS::RolesAnywhere::TrustAnchor.SourceData", + "markdownDescription": "A union object representing the data field of the TrustAnchor depending on its type", + "title": "SourceData" }, - "BucketAccountId": { - "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket that's associated with this Multi-Region Access Point.", - "title": "BucketAccountId", + "SourceType": { + "markdownDescription": "The type of the TrustAnchor.", + "title": "SourceType", "type": "string" } }, "required": [ - "Bucket" + "SourceData", + "SourceType" ], "type": "object" }, - "AWS::S3::MultiRegionAccessPointPolicy": { + "AWS::RolesAnywhere::TrustAnchor.SourceData": { + "additionalProperties": false, + "properties": { + "AcmPcaArn": { + "markdownDescription": "The root certificate of the Private Certificate Authority specified by this ARN is used in trust validation for temporary credential requests. Included for trust anchors of type `AWS_ACM_PCA` .\n\n> This field is not supported in your region.", + "title": "AcmPcaArn", + "type": "string" + }, + "X509CertificateData": { + "markdownDescription": "The PEM-encoded data for the certificate anchor. Included for trust anchors of type `CERTIFICATE_BUNDLE` .", + "title": "X509CertificateData", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::CidrCollection": { "additionalProperties": false, "properties": { "Condition": { @@ -342887,26 +311646,28 @@ "Properties": { "additionalProperties": false, "properties": { - "MrapName": { - "markdownDescription": "The name of the Multi-Region Access Point.", - "title": "MrapName", - "type": "string" + "Locations": { + "items": { + "$ref": "#/definitions/AWS::Route53::CidrCollection.Location" + }, + "markdownDescription": "A complex type that contains information about the list of CIDR locations.", + "title": "Locations", + "type": "array" }, - "Policy": { - "markdownDescription": "The access policy associated with the Multi-Region Access Point.", - "title": "Policy", - "type": "object" + "Name": { + "markdownDescription": "The name of a CIDR collection.", + "title": "Name", + "type": "string" } }, "required": [ - "MrapName", - "Policy" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::MultiRegionAccessPointPolicy" + "AWS::Route53::CidrCollection" ], "type": "string" }, @@ -342925,21 +311686,30 @@ ], "type": "object" }, - "AWS::S3::MultiRegionAccessPointPolicy.PolicyStatus": { + "AWS::Route53::CidrCollection.Location": { "additionalProperties": false, "properties": { - "IsPublic": { - "markdownDescription": "The policy status for this bucket. `TRUE` indicates that this bucket is public. `FALSE` indicates that the bucket is not public.", - "title": "IsPublic", + "CidrList": { + "items": { + "type": "string" + }, + "markdownDescription": "List of CIDR blocks.", + "title": "CidrList", + "type": "array" + }, + "LocationName": { + "markdownDescription": "The CIDR collection location name.", + "title": "LocationName", "type": "string" } }, "required": [ - "IsPublic" + "CidrList", + "LocationName" ], "type": "object" }, - "AWS::S3::StorageLens": { + "AWS::Route53::DNSSEC": { "additionalProperties": false, "properties": { "Condition": { @@ -342974,28 +311744,20 @@ "Properties": { "additionalProperties": false, "properties": { - "StorageLensConfiguration": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration", - "markdownDescription": "This resource contains the details Amazon S3 Storage Lens configuration.", - "title": "StorageLensConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A set of tags (key\u2013value pairs) to associate with the Storage Lens configuration.", - "title": "Tags", - "type": "array" + "HostedZoneId": { + "markdownDescription": "A unique string (ID) that is used to identify a hosted zone. For example: `Z00001111A1ABCaaABC11` .", + "title": "HostedZoneId", + "type": "string" } }, "required": [ - "StorageLensConfiguration" + "HostedZoneId" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::StorageLens" + "AWS::Route53::DNSSEC" ], "type": "string" }, @@ -343014,465 +311776,7 @@ ], "type": "object" }, - "AWS::S3::StorageLens.AccountLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics", - "markdownDescription": "This property contains the details of account-level activity metrics for S3 Storage Lens.", - "title": "ActivityMetrics" - }, - "AdvancedCostOptimizationMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedCostOptimizationMetrics", - "markdownDescription": "This property contains the details of account-level advanced cost optimization metrics for S3 Storage Lens.", - "title": "AdvancedCostOptimizationMetrics" - }, - "AdvancedDataProtectionMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedDataProtectionMetrics", - "markdownDescription": "This property contains the details of account-level advanced data protection metrics for S3 Storage Lens.", - "title": "AdvancedDataProtectionMetrics" - }, - "AdvancedPerformanceMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedPerformanceMetrics", - "markdownDescription": "This property contains the account-level details for S3 Storage Lens advanced performance metrics.", - "title": "AdvancedPerformanceMetrics" - }, - "BucketLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel", - "markdownDescription": "This property contains the details of the account-level bucket-level configurations for Amazon S3 Storage Lens. To enable bucket-level configurations, make sure to also set the same metrics at the account level.", - "title": "BucketLevel" - }, - "DetailedStatusCodesMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.DetailedStatusCodesMetrics", - "markdownDescription": "This property contains the details of account-level detailed status code metrics for S3 Storage Lens.", - "title": "DetailedStatusCodesMetrics" - }, - "StorageLensGroupLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensGroupLevel", - "markdownDescription": "This property determines the scope of Storage Lens group data that is displayed in the Storage Lens dashboard.", - "title": "StorageLensGroupLevel" - } - }, - "required": [ - "BucketLevel" - ], - "type": "object" - }, - "AWS::S3::StorageLens.ActivityMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "A property that indicates whether the activity metrics is enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AdvancedCostOptimizationMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "Indicates whether advanced cost optimization metrics are enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AdvancedDataProtectionMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "Indicates whether advanced data protection metrics are enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AdvancedPerformanceMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "This property indicates whether the advanced performance metrics are enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AwsOrg": { - "additionalProperties": false, - "properties": { - "Arn": { - "markdownDescription": "This resource contains the ARN of the AWS Organization.", - "title": "Arn", - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::S3::StorageLens.BucketLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics", - "markdownDescription": "A property for bucket-level activity metrics for S3 Storage Lens.", - "title": "ActivityMetrics" - }, - "AdvancedCostOptimizationMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedCostOptimizationMetrics", - "markdownDescription": "A property for bucket-level advanced cost optimization metrics for S3 Storage Lens.", - "title": "AdvancedCostOptimizationMetrics" - }, - "AdvancedDataProtectionMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedDataProtectionMetrics", - "markdownDescription": "A property for bucket-level advanced data protection metrics for S3 Storage Lens.", - "title": "AdvancedDataProtectionMetrics" - }, - "AdvancedPerformanceMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedPerformanceMetrics", - "markdownDescription": "A property for bucket-level advanced performance metrics for S3 Storage Lens.", - "title": "AdvancedPerformanceMetrics" - }, - "DetailedStatusCodesMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.DetailedStatusCodesMetrics", - "markdownDescription": "A property for bucket-level detailed status code metrics for S3 Storage Lens.", - "title": "DetailedStatusCodesMetrics" - }, - "PrefixLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel", - "markdownDescription": "A property for bucket-level prefix-level storage metrics for S3 Storage Lens.", - "title": "PrefixLevel" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.BucketsAndRegions": { - "additionalProperties": false, - "properties": { - "Buckets": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains the details of the buckets for the Amazon S3 Storage Lens configuration. This should be the bucket Amazon Resource Name(ARN). For valid values, see [Buckets ARN format here](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_Include.html#API_control_Include_Contents) in the *Amazon S3 API Reference* .", - "title": "Buckets", - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains the details of the Regions for the S3 Storage Lens configuration.", - "title": "Regions", - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.CloudWatchMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "This property identifies whether the CloudWatch publishing option for S3 Storage Lens is enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "required": [ - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3::StorageLens.DataExport": { - "additionalProperties": false, - "properties": { - "CloudWatchMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.CloudWatchMetrics", - "markdownDescription": "This property enables the Amazon CloudWatch publishing option for S3 Storage Lens metrics.", - "title": "CloudWatchMetrics" - }, - "S3BucketDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination", - "markdownDescription": "This property contains the details of the bucket where the S3 Storage Lens metrics export will be placed.", - "title": "S3BucketDestination" - }, - "StorageLensTableDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensTableDestination", - "markdownDescription": "This property contains the details of the S3 table bucket where the S3 Storage Lens default metrics report will be placed. This property enables you to store your Storage Lens metrics in read-only S3 Tables.", - "title": "StorageLensTableDestination" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.DetailedStatusCodesMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "Indicates whether detailed status code metrics are enabled.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.Encryption": { - "additionalProperties": false, - "properties": { - "SSEKMS": { - "$ref": "#/definitions/AWS::S3::StorageLens.SSEKMS", - "markdownDescription": "Specifies the use of AWS Key Management Service keys (SSE-KMS) to encrypt the S3 Storage Lens metrics export file.", - "title": "SSEKMS" - }, - "SSES3": { - "markdownDescription": "Specifies the use of an Amazon S3-managed key (SSE-S3) to encrypt the S3 Storage Lens metrics export file.", - "title": "SSES3", - "type": "object" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevel": { - "additionalProperties": false, - "properties": { - "StorageMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics", - "markdownDescription": "A property for the prefix-level storage metrics for Amazon S3 Storage Lens.", - "title": "StorageMetrics" - } - }, - "required": [ - "StorageMetrics" - ], - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "markdownDescription": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.", - "title": "IsEnabled", - "type": "boolean" - }, - "SelectionCriteria": { - "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria", - "markdownDescription": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.", - "title": "SelectionCriteria" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.S3BucketDestination": { - "additionalProperties": false, - "properties": { - "AccountId": { - "markdownDescription": "This property contains the details of the AWS account ID of the S3 Storage Lens export bucket destination.", - "title": "AccountId", - "type": "string" - }, - "Arn": { - "markdownDescription": "This property contains the details of the ARN of the bucket destination of the S3 Storage Lens export.", - "title": "Arn", - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::S3::StorageLens.Encryption", - "markdownDescription": "This property contains the details of the encryption of the bucket destination of the Amazon S3 Storage Lens metrics export.", - "title": "Encryption" - }, - "Format": { - "markdownDescription": "This property contains the details of the format of the S3 Storage Lens export bucket destination.", - "title": "Format", - "type": "string" - }, - "OutputSchemaVersion": { - "markdownDescription": "This property contains the details of the output schema version of the S3 Storage Lens export bucket destination.", - "title": "OutputSchemaVersion", - "type": "string" - }, - "Prefix": { - "markdownDescription": "This property contains the details of the prefix of the bucket destination of the S3 Storage Lens export .", - "title": "Prefix", - "type": "string" - } - }, - "required": [ - "AccountId", - "Arn", - "Format", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::StorageLens.SSEKMS": { - "additionalProperties": false, - "properties": { - "KeyId": { - "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the customer managed AWS key to use for encrypting the S3 Storage Lens metrics export file. Amazon S3 only supports symmetric encryption keys. For more information, see [Special-purpose keys](https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KeyId", - "type": "string" - } - }, - "required": [ - "KeyId" - ], - "type": "object" - }, - "AWS::S3::StorageLens.SelectionCriteria": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "markdownDescription": "This property contains the details of the S3 Storage Lens delimiter being used.", - "title": "Delimiter", - "type": "string" - }, - "MaxDepth": { - "markdownDescription": "This property contains the details of the max depth that S3 Storage Lens will collect metrics up to.", - "title": "MaxDepth", - "type": "number" - }, - "MinStorageBytesPercentage": { - "markdownDescription": "This property contains the details of the minimum storage bytes percentage threshold that S3 Storage Lens will collect metrics up to.", - "title": "MinStorageBytesPercentage", - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensConfiguration": { - "additionalProperties": false, - "properties": { - "AccountLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel", - "markdownDescription": "This property contains the details of the account-level metrics for Amazon S3 Storage Lens configuration.", - "title": "AccountLevel" - }, - "AwsOrg": { - "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg", - "markdownDescription": "This property contains the details of the AWS Organization for the S3 Storage Lens configuration.", - "title": "AwsOrg" - }, - "DataExport": { - "$ref": "#/definitions/AWS::S3::StorageLens.DataExport", - "markdownDescription": "This property contains the details of this S3 Storage Lens configuration's metrics export.", - "title": "DataExport" - }, - "Exclude": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions", - "markdownDescription": "This property contains the details of the bucket and or Regions excluded for Amazon S3 Storage Lens configuration.", - "title": "Exclude" - }, - "ExpandedPrefixesDataExport": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensExpandedPrefixesDataExport", - "markdownDescription": "This property configures your S3 Storage Lens expanded prefixes metrics report.", - "title": "ExpandedPrefixesDataExport" - }, - "Id": { - "markdownDescription": "This property contains the details of the ID of the S3 Storage Lens configuration.", - "title": "Id", - "type": "string" - }, - "Include": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions", - "markdownDescription": "This property contains the details of the bucket and or Regions included for Amazon S3 Storage Lens configuration.", - "title": "Include" - }, - "IsEnabled": { - "markdownDescription": "This property contains the details of whether the Amazon S3 Storage Lens configuration is enabled.", - "title": "IsEnabled", - "type": "boolean" - }, - "PrefixDelimiter": { - "markdownDescription": "", - "title": "PrefixDelimiter", - "type": "string" - }, - "StorageLensArn": { - "markdownDescription": "This property contains the details of the ARN of the S3 Storage Lens configuration. This property is read-only.", - "title": "StorageLensArn", - "type": "string" - } - }, - "required": [ - "AccountLevel", - "Id", - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensExpandedPrefixesDataExport": { - "additionalProperties": false, - "properties": { - "S3BucketDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination", - "markdownDescription": "This property specifies the general purpose bucket where the S3 Storage Lens Expanded Prefixes metrics export files are located. At least one export destination must be specified.", - "title": "S3BucketDestination" - }, - "StorageLensTableDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensTableDestination", - "markdownDescription": "This property configures S3 Storage Lens Expanded Prefixes metrics report to read-only S3 table buckets.", - "title": "StorageLensTableDestination" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensGroupLevel": { - "additionalProperties": false, - "properties": { - "StorageLensGroupSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensGroupSelectionCriteria", - "markdownDescription": "This property indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group aggregation. If this value is left null, then all Storage Lens groups are selected.", - "title": "StorageLensGroupSelectionCriteria" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensGroupSelectionCriteria": { - "additionalProperties": false, - "properties": { - "Exclude": { - "items": { - "type": "string" - }, - "markdownDescription": "This property indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.", - "title": "Exclude", - "type": "array" - }, - "Include": { - "items": { - "type": "string" - }, - "markdownDescription": "This property indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.", - "title": "Include", - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensTableDestination": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::S3::StorageLens.Encryption", - "markdownDescription": "This resource configures your data encryption settings for Storage Lens metrics in read-only S3 table buckets.", - "title": "Encryption" - }, - "IsEnabled": { - "markdownDescription": "This property indicates whether the export to read-only S3 table buckets is enabled for your S3 Storage Lens configuration. When set to true, Storage Lens reports are automatically exported to tables in addition to other configured destinations.", - "title": "IsEnabled", - "type": "boolean" - } - }, - "required": [ - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3::StorageLensGroup": { + "AWS::Route53::HealthCheck": { "additionalProperties": false, "properties": { "Condition": { @@ -343507,34 +311811,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Filter": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter", - "markdownDescription": "This property contains the criteria for the Storage Lens group data that is displayed", - "title": "Filter" - }, - "Name": { - "markdownDescription": "This property contains the Storage Lens group name.", - "title": "Name", - "type": "string" + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckConfig", + "markdownDescription": "A complex type that contains detailed information about one health check.\n\nFor the values to enter for `HealthCheckConfig` , see [HealthCheckConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html)", + "title": "HealthCheckConfig" }, - "Tags": { + "HealthCheckTags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" }, - "markdownDescription": "This property contains the AWS resource tags that you're adding to your Storage Lens group. This parameter is optional.", - "title": "Tags", + "markdownDescription": "The `HealthCheckTags` property describes key-value pairs that are associated with an `AWS::Route53::HealthCheck` resource.", + "title": "HealthCheckTags", "type": "array" } }, "required": [ - "Filter", - "Name" + "HealthCheckConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3::StorageLensGroup" + "AWS::Route53::HealthCheck" ], "type": "string" }, @@ -343553,169 +311851,147 @@ ], "type": "object" }, - "AWS::S3::StorageLensGroup.And": { + "AWS::Route53::HealthCheck.AlarmIdentifier": { "additionalProperties": false, "properties": { - "MatchAnyPrefix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", - "title": "MatchAnyPrefix", - "type": "array" - }, - "MatchAnySuffix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", - "title": "MatchAnySuffix", - "type": "array" - }, - "MatchAnyTag": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "This property contains the list of object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", - "title": "MatchAnyTag", - "type": "array" - }, - "MatchObjectAge": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", - "markdownDescription": "This property contains `DaysGreaterThan` and `DaysLessThan` properties to define the object age range (minimum and maximum number of days).", - "title": "MatchObjectAge" + "Name": { + "markdownDescription": "The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.\n\n> Route 53 supports CloudWatch alarms with the following features:\n> \n> - Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see [High-Resolution Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) in the *Amazon CloudWatch User Guide* .\n> - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.", + "title": "Name", + "type": "string" }, - "MatchObjectSize": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", - "markdownDescription": "This property contains `BytesGreaterThan` and `BytesLessThan` to define the object size range (minimum and maximum number of Bytes).", - "title": "MatchObjectSize" + "Region": { + "markdownDescription": "For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, the region that the alarm was created in.\n\nFor the current list of CloudWatch regions, see [Amazon CloudWatch endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/cw_region.html) in the *Amazon Web Services General Reference* .", + "title": "Region", + "type": "string" } }, + "required": [ + "Name", + "Region" + ], "type": "object" }, - "AWS::S3::StorageLensGroup.Filter": { + "AWS::Route53::HealthCheck.HealthCheckConfig": { "additionalProperties": false, "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.And", - "markdownDescription": "This property contains the `And` logical operator, which allows multiple filter conditions to be joined for more complex comparisons of Storage Lens group data. Objects must match all of the listed filter conditions that are joined by the `And` logical operator. Only one of each filter condition is allowed.", - "title": "And" + "AlarmIdentifier": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.AlarmIdentifier", + "markdownDescription": "A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.", + "title": "AlarmIdentifier" }, - "MatchAnyPrefix": { + "ChildHealthChecks": { "items": { "type": "string" }, - "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", - "title": "MatchAnyPrefix", + "markdownDescription": "(CALCULATED Health Checks Only) A complex type that contains one `ChildHealthCheck` element for each health check that you want to associate with a `CALCULATED` health check.", + "title": "ChildHealthChecks", "type": "array" }, - "MatchAnySuffix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", - "title": "MatchAnySuffix", - "type": "array" + "EnableSNI": { + "markdownDescription": "Specify whether you want Amazon Route 53 to send the value of `FullyQualifiedDomainName` to the endpoint in the `client_hello` message during TLS negotiation. This allows the endpoint to respond to `HTTPS` health check requests with the applicable SSL/TLS certificate.\n\nSome endpoints require that `HTTPS` requests include the host name in the `client_hello` message. If you don't enable SNI, the status of the health check will be `SSL alert handshake_failure` . A health check can also have that status for other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.\n\nThe SSL/TLS certificate on your endpoint includes a domain name in the `Common Name` field and possibly several more in the `Subject Alternative Names` field. One of the domain names in the certificate should match the value that you specify for `FullyQualifiedDomainName` . If the endpoint responds to the `client_hello` message with a certificate that does not include the domain name that you specified in `FullyQualifiedDomainName` , a health checker will retry the handshake. In the second attempt, the health checker will omit `FullyQualifiedDomainName` from the `client_hello` message.", + "title": "EnableSNI", + "type": "boolean" }, - "MatchAnyTag": { + "FailureThreshold": { + "markdownDescription": "The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .\n\n`FailureThreshold` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\nOtherwise, if you don't specify a value for `FailureThreshold` , the default value is three health checks.", + "title": "FailureThreshold", + "type": "number" + }, + "FullyQualifiedDomainName": { + "markdownDescription": "Amazon Route 53 behavior depends on whether you specify a value for `IPAddress` .\n\n*If you specify a value for* `IPAddress` :\n\nAmazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of `FullyQualifiedDomainName` in the `Host` header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks.\n\nWhen Route 53 checks the health of an endpoint, here is how it constructs the `Host` header:\n\n- If you specify a value of `80` for `Port` and `HTTP` or `HTTP_STR_MATCH` for `Type` , Route 53 passes the value of `FullyQualifiedDomainName` to the endpoint in the Host header.\n- If you specify a value of `443` for `Port` and `HTTPS` or `HTTPS_STR_MATCH` for `Type` , Route 53 passes the value of `FullyQualifiedDomainName` to the endpoint in the `Host` header.\n- If you specify another value for `Port` and any value except `TCP` for `Type` , Route 53 passes `FullyQualifiedDomainName:Port` to the endpoint in the `Host` header.\n\nIf you don't specify a value for `FullyQualifiedDomainName` , Route 53 substitutes the value of `IPAddress` in the `Host` header in each of the preceding cases.\n\n*If you don't specify a value for `IPAddress`* :\n\nRoute 53 sends a DNS request to the domain that you specify for `FullyQualifiedDomainName` at the interval that you specify for `RequestInterval` . Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.\n\n> If you don't specify a value for `IPAddress` , Route 53 uses only IPv4 to send health checks to the endpoint. If there's no record with a type of A for the name that you specify for `FullyQualifiedDomainName` , the health check fails with a \"DNS resolution failed\" error. \n\nIf you want to check the health of multiple records that have the same name and type, such as multiple weighted records, and if you choose to specify the endpoint only by `FullyQualifiedDomainName` , we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as us-east-2-www.example.com), not the name of the records (www.example.com).\n\n> In this configuration, if you create a health check for which the value of `FullyQualifiedDomainName` matches the name of the records and you then associate the health check with those records, health check results will be unpredictable. \n\nIn addition, if the value that you specify for `Type` is `HTTP` , `HTTPS` , `HTTP_STR_MATCH` , or `HTTPS_STR_MATCH` , Route 53 passes the value of `FullyQualifiedDomainName` in the `Host` header, as it does when you specify a value for `IPAddress` . If the value of `Type` is `TCP` , Route 53 doesn't pass a `Host` header.", + "title": "FullyQualifiedDomainName", + "type": "string" + }, + "HealthThreshold": { + "markdownDescription": "The number of child health checks that are associated with a `CALCULATED` health check that Amazon Route 53 must consider healthy for the `CALCULATED` health check to be considered healthy. To specify the child health checks that you want to associate with a `CALCULATED` health check, use the [ChildHealthChecks](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-ChildHealthChecks) element.\n\nNote the following:\n\n- If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.\n- If you specify `0` , Route 53 always considers this health check to be healthy.", + "title": "HealthThreshold", + "type": "number" + }, + "IPAddress": { + "markdownDescription": "The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for `IPAddress` , Route 53 sends a DNS request to resolve the domain name that you specify in `FullyQualifiedDomainName` at the interval that you specify in `RequestInterval` . Using an IP address returned by DNS, Route 53 then checks the health of the endpoint.\n\nUse one of the following formats for the value of `IPAddress` :\n\n- *IPv4 address* : four values between 0 and 255, separated by periods (.), for example, `192.0.2.44` .\n- *IPv6 address* : eight groups of four hexadecimal values, separated by colons (:), for example, `2001:0db8:85a3:0000:0000:abcd:0001:2345` . You can also shorten IPv6 addresses as described in RFC 5952, for example, `2001:db8:85a3::abcd:1:2345` .\n\nIf the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for `IPAddress` . This ensures that the IP address of your instance will never change.\n\nFor more information, see [FullyQualifiedDomainName](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName) .\n\nConstraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:\n\n- [RFC 5735, Special Use IPv4 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5735)\n- [RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6598)\n- [RFC 5156, Special-Use IPv6 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5156)\n\nWhen the value of `Type` is `CALCULATED` or `CLOUDWATCH_METRIC` , omit `IPAddress` .", + "title": "IPAddress", + "type": "string" + }, + "InsufficientDataHealthStatus": { + "markdownDescription": "When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:\n\n- `Healthy` : Route 53 considers the health check to be healthy.\n- `Unhealthy` : Route 53 considers the health check to be unhealthy.\n- `LastKnownStatus` : Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.", + "title": "InsufficientDataHealthStatus", + "type": "string" + }, + "Inverted": { + "markdownDescription": "Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.", + "title": "Inverted", + "type": "boolean" + }, + "MeasureLatency": { + "markdownDescription": "Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the *Health Checks* page in the Route 53 console.\n\n`MeasureLatency` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\n> You can't change the value of `MeasureLatency` after you create a health check.", + "title": "MeasureLatency", + "type": "boolean" + }, + "Port": { + "markdownDescription": "The port on the endpoint that you want Amazon Route 53 to perform health checks on.\n\n> Don't specify a value for `Port` when you specify a value for [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type) of `CLOUDWATCH_METRIC` or `CALCULATED` .", + "title": "Port", + "type": "number" + }, + "Regions": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", - "title": "MatchAnyTag", + "markdownDescription": "A complex type that contains one `Region` element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.\n\nIf you don't specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under *Valid Values* .\n\nIf you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with four different regions).", + "title": "Regions", "type": "array" }, - "MatchObjectAge": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", - "markdownDescription": "This property contains `DaysGreaterThan` and `DaysLessThan` to define the object age range (minimum and maximum number of days).", - "title": "MatchObjectAge" + "RequestInterval": { + "markdownDescription": "The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Route 53 health checker makes requests at this interval.\n\n`RequestInterval` is not supported when you specify a value for `Type` of `RECOVERY_CONTROL` .\n\n> You can't change the value of `RequestInterval` after you create a health check. \n\nIf you don't specify a value for `RequestInterval` , the default value is `30` seconds.", + "title": "RequestInterval", + "type": "number" }, - "MatchObjectSize": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", - "markdownDescription": "This property contains `BytesGreaterThan` and `BytesLessThan` to define the object size range (minimum and maximum number of Bytes).", - "title": "MatchObjectSize" + "ResourcePath": { + "markdownDescription": "The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. You can also include query string parameters, for example, `/welcome.html?language=jp&login=y` .", + "title": "ResourcePath", + "type": "string" }, - "Or": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or", - "markdownDescription": "This property contains the `Or` logical operator, which allows multiple filter conditions to be joined. Objects can match any of the listed filter conditions, which are joined by the `Or` logical operator. Only one of each filter condition is allowed.", - "title": "Or" - } - }, - "type": "object" - }, - "AWS::S3::StorageLensGroup.MatchObjectAge": { - "additionalProperties": false, - "properties": { - "DaysGreaterThan": { - "markdownDescription": "This property indicates the minimum object age in days.", - "title": "DaysGreaterThan", - "type": "number" + "RoutingControlArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control.\n\nFor more information about Route 53 Application Recovery Controller, see [Route 53 Application Recovery Controller Developer Guide.](https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route-53-recovery.html) .", + "title": "RoutingControlArn", + "type": "string" }, - "DaysLessThan": { - "markdownDescription": "This property indicates the maximum object age in days.", - "title": "DaysLessThan", - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::StorageLensGroup.MatchObjectSize": { - "additionalProperties": false, - "properties": { - "BytesGreaterThan": { - "markdownDescription": "This property specifies the minimum object size in bytes. The value must be a positive number, greater than 0 and less than 5 TB.", - "title": "BytesGreaterThan", - "type": "number" + "SearchString": { + "markdownDescription": "If the value of Type is `HTTP_STR_MATCH` or `HTTPS_STR_MATCH` , the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy.\n\nRoute 53 considers case when searching for `SearchString` in the response body.", + "title": "SearchString", + "type": "string" }, - "BytesLessThan": { - "markdownDescription": "This property specifies the maximum object size in bytes. The value must be a positive number, greater than the minimum object size and less than 5 TB.", - "title": "BytesLessThan", - "type": "number" + "Type": { + "markdownDescription": "The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.\n\n> You can't change the value of `Type` after you create a health check. \n\nYou can create the following types of health checks:\n\n- *HTTP* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.\n- *HTTPS* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.\n\n> If you specify `HTTPS` for the value of `Type` , the endpoint must support TLS v1.0 or later.\n- *HTTP_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in `SearchString` .\n- *HTTPS_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an `HTTPS` request and searches the first 5,120 bytes of the response body for the string that you specify in `SearchString` .\n- *TCP* : Route 53 tries to establish a TCP connection.\n- *CLOUDWATCH_METRIC* : The health check is associated with a CloudWatch alarm. If the state of the alarm is `OK` , the health check is considered healthy. If the state is `ALARM` , the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is `OK` or `ALARM` , the health check status depends on the setting for `InsufficientDataHealthStatus` : `Healthy` , `Unhealthy` , or `LastKnownStatus` .\n\n> Route 53 supports CloudWatch alarms with the following features:\n> \n> - Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see [High-Resolution Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) in the *Amazon CloudWatch User Guide* .\n> - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.\n- *CALCULATED* : For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of `HealthThreshold` .\n- *RECOVERY_CONTROL* : The health check is assocated with a Route53 Application Recovery Controller routing control. If the routing control state is `ON` , the health check is considered healthy. If the state is `OFF` , the health check is considered unhealthy.\n\nFor more information, see [How Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .", + "title": "Type", + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::S3::StorageLensGroup.Or": { + "AWS::Route53::HealthCheck.HealthCheckTag": { "additionalProperties": false, "properties": { - "MatchAnyPrefix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", - "title": "MatchAnyPrefix", - "type": "array" - }, - "MatchAnySuffix": { - "items": { - "type": "string" - }, - "markdownDescription": "This property contains the list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", - "title": "MatchAnySuffix", - "type": "array" - }, - "MatchAnyTag": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", - "title": "MatchAnyTag", - "type": "array" - }, - "MatchObjectAge": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", - "markdownDescription": "This property filters objects that match the specified object age range.", - "title": "MatchObjectAge" + "Key": { + "markdownDescription": "The value of `Key` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Key` is the name that you want to give the new tag.\n- *Edit a tag* : `Key` is the name of the tag that you want to change the `Value` for.\n- *Delete a key* : `Key` is the name of the tag you want to remove.\n- *Give a name to a health check* : Edit the default `Name` tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.", + "title": "Key", + "type": "string" }, - "MatchObjectSize": { - "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", - "markdownDescription": "This property contains the `BytesGreaterThan` and `BytesLessThan` values to define the object size range (minimum and maximum number of Bytes).", - "title": "MatchObjectSize" + "Value": { + "markdownDescription": "The value of `Value` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Value` is the value that you want to give the new tag.\n- *Edit a tag* : `Value` is the new value that you want to assign the tag.", + "title": "Value", + "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::S3Express::AccessPoint": { + "AWS::Route53::HostedZone": { "additionalProperties": false, "properties": { "Condition": { @@ -343750,58 +312026,48 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the bucket that you want to associate the access point with.", - "title": "Bucket", - "type": "string" + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig", + "markdownDescription": "A complex type that contains an optional comment.\n\nIf you don't want to specify a comment, omit the `HostedZoneConfig` and `Comment` elements.", + "title": "HostedZoneConfig" }, - "BucketAccountId": { - "markdownDescription": "The AWS account ID that owns the bucket associated with this access point.", - "title": "BucketAccountId", - "type": "string" + "HostedZoneFeatures": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneFeatures", + "markdownDescription": "The features configuration for the hosted zone, including accelerated recovery settings and status information.", + "title": "HostedZoneFeatures" + }, + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "markdownDescription": "Adds, edits, or deletes tags for a health check or a hosted zone.\n\nFor information about using tags for cost allocation, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the *Billing and Cost Management User Guide* .", + "title": "HostedZoneTags", + "type": "array" }, "Name": { - "markdownDescription": "An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix `--xa-s3` . For example, accesspointname--zoneID--xa-s3.", + "markdownDescription": "The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical.\n\nIf you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of `NameServers` that are returned by the `Fn::GetAtt` intrinsic function.", "title": "Name", "type": "string" }, - "Policy": { - "markdownDescription": "The access point policy associated with the specified access point.", - "title": "Policy", - "type": "object" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3Express::AccessPoint.PublicAccessBlockConfiguration", - "markdownDescription": "Public access is blocked by default to access points for directory buckets.", - "title": "PublicAccessBlockConfiguration" - }, - "Scope": { - "$ref": "#/definitions/AWS::S3Express::AccessPoint.Scope", - "markdownDescription": "You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.\n\nFor more information, see [Manage the scope of your access points for directory buckets.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets-manage-scope.html)", - "title": "Scope" + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig", + "markdownDescription": "Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.\n\nDNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:\n\n- Route 53 edge location that responded to the DNS query\n- Domain or subdomain that was requested\n- DNS record type, such as A or AAAA\n- DNS response code, such as `NoError` or `ServFail`\n\n- **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations.\n\n> If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically. \n\n- Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:\n\n- You must create the log group in the us-east-1 region.\n- You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for.\n- When you create log groups for query logging, we recommend that you use a consistent prefix, for example:\n\n`/aws/route53/ *hosted zone name*`\n\nIn the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.\n- Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. You must create the CloudWatch Logs resource policy in the us-east-1 region. For the value of `Resource` , specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with `*` , for example:\n\n`arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*`\n\nTo avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values:\n\n- For `aws:SourceArn` , supply the hosted zone ARN used in creating the query logging configuration. For example, `aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID` .\n- For `aws:SourceAccount` , supply the account ID for the account that creates the query logging configuration. For example, `aws:SourceAccount:111111111111` .\n\nFor more information, see [The confused deputy problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) in the *AWS IAM User Guide* .\n\n> You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI .\n- **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following:\n\n- Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location.\n- Begins to send query logs to the applicable log stream.\n\nThe name of each log stream is in the following format:\n\n`*hosted zone ID* / *edge location code*`\n\nThe edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the [Route 53 Product Details](https://docs.aws.amazon.com/route53/details/) page.\n- **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see [Routing Internet Traffic to Your Website or Web Application](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html) in the *Amazon Route 53 Developer Guide* .\n- **Log File Format** - For a list of the values in each query log and the format of each value, see [Logging DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) in the *Amazon Route 53 Developer Guide* .\n- **Pricing** - For information about charges for query logs, see [Amazon CloudWatch Pricing](https://docs.aws.amazon.com/cloudwatch/pricing/) .\n- **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see [DeleteQueryLoggingConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html) .", + "title": "QueryLoggingConfig" }, - "Tags": { + "VPCs": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" }, - "markdownDescription": "An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see [Using tags for attribute-based access control (ABAC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac) .", - "title": "Tags", + "markdownDescription": "*Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", + "title": "VPCs", "type": "array" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3Express::AccessPoint.VpcConfiguration", - "markdownDescription": "If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).", - "title": "VpcConfiguration" } }, - "required": [ - "Bucket" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Express::AccessPoint" + "AWS::Route53::HostedZone" ], "type": "string" }, @@ -343815,71 +312081,87 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::S3Express::AccessPoint.PublicAccessBlockConfiguration": { + "AWS::Route53::HostedZone.HostedZoneConfig": { "additionalProperties": false, "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", - "title": "BlockPublicAcls", - "type": "boolean" - }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", - "title": "BlockPublicPolicy", - "type": "boolean" - }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "title": "IgnorePublicAcls", - "type": "boolean" - }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "title": "RestrictPublicBuckets", + "Comment": { + "markdownDescription": "Any comments that you want to include about the hosted zone.", + "title": "Comment", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneFeatures": { + "additionalProperties": false, + "properties": { + "EnableAcceleratedRecovery": { + "markdownDescription": "", + "title": "EnableAcceleratedRecovery", "type": "boolean" } }, "type": "object" }, - "AWS::S3Express::AccessPoint.Scope": { + "AWS::Route53::HostedZone.HostedZoneTag": { "additionalProperties": false, "properties": { - "Permissions": { - "items": { - "type": "string" - }, - "markdownDescription": "You can include one or more API operations as permissions.", - "title": "Permissions", - "type": "array" + "Key": { + "markdownDescription": "The value of `Key` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Key` is the name that you want to give the new tag.\n- *Edit a tag* : `Key` is the name of the tag that you want to change the `Value` for.\n- *Delete a key* : `Key` is the name of the tag you want to remove.\n- *Give a name to a health check* : Edit the default `Name` tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.", + "title": "Key", + "type": "string" }, - "Prefixes": { - "items": { - "type": "string" - }, - "markdownDescription": "You can specify any amount of prefixes, but the total length of characters of all prefixes must be less than 256 bytes in size.", - "title": "Prefixes", - "type": "array" + "Value": { + "markdownDescription": "The value of `Value` depends on the operation that you want to perform:\n\n- *Add a tag to a health check or hosted zone* : `Value` is the value that you want to give the new tag.\n- *Edit a tag* : `Value` is the new value that you want to assign the tag.", + "title": "Value", + "type": "string" } }, + "required": [ + "Key", + "Value" + ], "type": "object" }, - "AWS::S3Express::AccessPoint.VpcConfiguration": { + "AWS::Route53::HostedZone.QueryLoggingConfig": { "additionalProperties": false, "properties": { - "VpcId": { - "markdownDescription": "If this field is specified, this access point will only allow connections from the specified VPC ID.", - "title": "VpcId", + "CloudWatchLogsLogGroupArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.", + "title": "CloudWatchLogsLogGroupArn", "type": "string" } }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], "type": "object" }, - "AWS::S3Express::BucketPolicy": { + "AWS::Route53::HostedZone.VPC": { + "additionalProperties": false, + "properties": { + "VPCId": { + "markdownDescription": "*Private hosted zones only:* The ID of an Amazon VPC.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", + "title": "VPCId", + "type": "string" + }, + "VPCRegion": { + "markdownDescription": "*Private hosted zones only:* The region that an Amazon VPC was created in.\n\n> For public hosted zones, omit `VPCs` , `VPCId` , and `VPCRegion` .", + "title": "VPCRegion", + "type": "string" + } + }, + "required": [ + "VPCId", + "VPCRegion" + ], + "type": "object" + }, + "AWS::Route53::KeySigningKey": { "additionalProperties": false, "properties": { "Condition": { @@ -343914,26 +312196,38 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the S3 directory bucket to which the policy applies.", - "title": "Bucket", + "HostedZoneId": { + "markdownDescription": "The unique string (ID) that is used to identify a hosted zone. For example: `Z00001111A1ABCaaABC11` .", + "title": "HostedZoneId", "type": "string" }, - "PolicyDocument": { - "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Policies and Permissions in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", - "title": "PolicyDocument", - "type": "object" + "KeyManagementServiceArn": { + "markdownDescription": "The Amazon resource name (ARN) for a customer managed customer master key (CMK) in AWS Key Management Service ( AWS ). The `KeyManagementServiceArn` must be unique for each key-signing key (KSK) in a single hosted zone. For example: `arn:aws:kms:us-east-1:111122223333:key/111a2222-a11b-1ab1-2ab2-1ab21a2b3a111` .", + "title": "KeyManagementServiceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "A string used to identify a key-signing key (KSK). `Name` can include numbers, letters, and underscores (_). `Name` must be unique for each key-signing key in the same hosted zone.", + "title": "Name", + "type": "string" + }, + "Status": { + "markdownDescription": "A string that represents the current key-signing key (KSK) status.\n\nStatus can have one of the following values:\n\n- **ACTIVE** - The KSK is being used for signing.\n- **INACTIVE** - The KSK is not being used for signing.\n- **DELETING** - The KSK is in the process of being deleted.\n- **ACTION_NEEDED** - There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed key might have been deleted, or the permissions for the customer managed key might have been changed.\n- **INTERNAL_FAILURE** - There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.", + "title": "Status", + "type": "string" } }, "required": [ - "Bucket", - "PolicyDocument" + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Express::BucketPolicy" + "AWS::Route53::KeySigningKey" ], "type": "string" }, @@ -343952,7 +312246,7 @@ ], "type": "object" }, - "AWS::S3Express::DirectoryBucket": { + "AWS::Route53::RecordSet": { "additionalProperties": false, "properties": { "Condition": { @@ -343987,61 +312281,104 @@ "Properties": { "additionalProperties": false, "properties": { - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.BucketEncryption", - "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* .", - "title": "BucketEncryption" + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget", + "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", + "title": "AliasTarget" }, - "BucketName": { - "markdownDescription": "A name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Zone (Availability Zone or Local Zone). The bucket name must also follow the format `*bucket_base_name* -- *zone_id* --x-s3` (for example, `*bucket_base_name* -- *usw2-az1* --x-s3` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see [Directory bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) in the *Amazon S3 User Guide* .\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": "BucketName", + "CidrRoutingConfig": { + "$ref": "#/definitions/AWS::Route53::RecordSet.CidrRoutingConfig", + "markdownDescription": "The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.\n\nA `LocationName` with an asterisk \u201c*\u201d can be used to create a default CIDR record. `CollectionId` is still required for default record.", + "title": "CidrRoutingConfig" + }, + "Comment": { + "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", + "title": "Comment", "type": "string" }, - "DataRedundancy": { - "markdownDescription": "The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.", - "title": "DataRedundancy", + "Failover": { + "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", + "title": "Failover", "type": "string" }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.InventoryConfiguration" - }, - "type": "array" + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation", + "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", + "title": "GeoLocation" }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.LifecycleConfiguration", - "markdownDescription": "Container for lifecycle rules. You can add as many as 1000 rules.\n\nFor more information see, [Creating and managing a lifecycle configuration for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-lifecycle.html ) in the *Amazon S3 User Guide* .", - "title": "LifecycleConfiguration" + "GeoProximityLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoProximityLocation", + "markdownDescription": "*GeoproximityLocation resource record sets only:* A complex type that lets you control how Route\u00a053 responds to DNS queries based on the geographic origin of the query and your resources.", + "title": "GeoProximityLocation" }, - "LocationName": { - "markdownDescription": "The name of the location where the bucket will be created.\n\nFor directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is `usw2-az1` .", - "title": "LocationName", + "HealthCheckId": { + "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", + "title": "HealthCheckId", "type": "string" }, - "MetricsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.MetricsConfiguration" - }, - "type": "array" + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneId", + "type": "string" }, - "Tags": { + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an AWS::Route53::RecordSet that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" + }, + "MultiValueAnswer": { + "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", + "title": "MultiValueAnswer", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", + "title": "Name", + "type": "string" + }, + "Region": { + "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", + "title": "Region", + "type": "string" + }, + "ResourceRecords": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "An array of tags that you can apply to the S3 directory bucket. Tags are key-value pairs of metadata used to categorize and organize your buckets, track costs, and control access. For more information, see [Using tags with directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html) .", - "title": "Tags", + "markdownDescription": "One or more values that correspond with the value that you specified for the `Type` property. For example, if you specified `A` for `Type` , you specify one or more IP addresses in IPv4 format for `ResourceRecords` . For information about the format of values for each record type, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nNote the following:\n\n- You can specify more than one value for all record types except CNAME and SOA.\n- The maximum length of a value is 4000 characters.\n- If you're creating an alias record, omit `ResourceRecords` .", + "title": "ResourceRecords", "type": "array" + }, + "SetIdentifier": { + "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", + "title": "SetIdentifier", + "type": "string" + }, + "TTL": { + "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", + "title": "TTL", + "type": "string" + }, + "Type": { + "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "Type", + "type": "string" + }, + "Weight": { + "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", + "title": "Weight", + "type": "number" } }, "required": [ - "DataRedundancy", - "LocationName" + "Name", + "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Express::DirectoryBucket" + "AWS::Route53::RecordSet" ], "type": "string" }, @@ -344060,211 +312397,119 @@ ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "markdownDescription": "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", - "title": "DaysAfterInitiation", - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3Express::DirectoryBucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.ServerSideEncryptionRule" - }, - "markdownDescription": "Specifies the default server-side-encryption configuration.", - "title": "ServerSideEncryptionConfiguration", - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3Express::DirectoryBucket.Destination": { + "AWS::Route53::RecordSet.AliasTarget": { "additionalProperties": false, "properties": { - "BucketAccountId": { - "type": "string" - }, - "BucketArn": { + "DNSName": { + "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "DNSName", "type": "string" }, - "Format": { - "type": "string" + "EvaluateTargetHealth": { + "markdownDescription": "*Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets:* When `EvaluateTargetHealth` is `true` , an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **API Gateway APIs** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an API Gateway API. However, because API Gateway is highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket. However, because S3 buckets are highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **VPC interface endpoints** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is a VPC interface endpoint. However, because VPC interface endpoints are highly available by design, `EvaluateTargetHealth` provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\n> While `EvaluateTargetHealth` can be set to `true` for highly available AWS services (such as S3 buckets, VPC interface endpoints, and API Gateway), these services are designed for high availability and rarely experience outages that would be detected by this feature. For failover scenarios with these services, consider using [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) that monitor your application's ability to access the service instead. \n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", + "title": "EvaluateTargetHealth", + "type": "boolean" }, - "Prefix": { + "HostedZoneId": { + "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing Endpoints and Quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", + "title": "HostedZoneId", "type": "string" } }, "required": [ - "BucketArn", - "Format" + "DNSName", + "HostedZoneId" ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.InventoryConfiguration": { + "AWS::Route53::RecordSet.CidrRoutingConfig": { "additionalProperties": false, "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "IncludedObjectVersions": { - "type": "string" - }, - "OptionalFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Prefix": { + "CollectionId": { + "markdownDescription": "The CIDR collection ID.", + "title": "CollectionId", "type": "string" }, - "ScheduleFrequency": { + "LocationName": { + "markdownDescription": "The CIDR collection location name.", + "title": "LocationName", "type": "string" } }, "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" - ], - "type": "object" - }, - "AWS::S3Express::DirectoryBucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.Rule" - }, - "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 Express bucket.", - "title": "Rules", - "type": "array" - } - }, - "required": [ - "Rules" + "CollectionId", + "LocationName" ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.MetricsConfiguration": { + "AWS::Route53::RecordSet.Coordinates": { "additionalProperties": false, "properties": { - "AccessPointArn": { - "type": "string" - }, - "Id": { + "Latitude": { + "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", + "title": "Latitude", "type": "string" }, - "Prefix": { + "Longitude": { + "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", + "title": "Longitude", "type": "string" } }, "required": [ - "Id" + "Latitude", + "Longitude" ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.Rule": { + "AWS::Route53::RecordSet.GeoLocation": { "additionalProperties": false, "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.AbortIncompleteMultipartUpload", - "markdownDescription": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", - "title": "AbortIncompleteMultipartUpload" - }, - "ExpirationInDays": { - "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "title": "ExpirationInDays", - "type": "number" - }, - "Id": { - "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.", - "title": "Id", - "type": "string" - }, - "ObjectSizeGreaterThan": { - "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", - "title": "ObjectSizeGreaterThan", - "type": "string" - }, - "ObjectSizeLessThan": { - "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", - "title": "ObjectSizeLessThan", + "ContinentCode": { + "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", + "title": "ContinentCode", "type": "string" }, - "Prefix": { - "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", - "title": "Prefix", + "CountryCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", + "title": "CountryCode", "type": "string" }, - "Status": { - "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", - "title": "Status", + "SubdivisionCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", + "title": "SubdivisionCode", "type": "string" } }, - "required": [ - "Status" - ], "type": "object" }, - "AWS::S3Express::DirectoryBucket.ServerSideEncryptionByDefault": { + "AWS::Route53::RecordSet.GeoProximityLocation": { "additionalProperties": false, "properties": { - "KMSMasterKeyID": { - "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. This parameter is allowed only if `SSEAlgorithm` is set to `aws:kms` .\n\nYou can specify this parameter with the key ID or the Amazon Resource Name (ARN) of the KMS key. You can\u2019t use the key alias of the KMS key.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n\nIf you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html#s3-express-bucket-encryption-update-bucket-policy) .\n\n> Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket for the lifetime of the bucket. [AWS managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) ( `aws/s3` ) isn't supported. Also, after you specify a customer managed key for SSE-KMS and upload objects with this configuration, you can't override the customer managed key for your SSE-KMS configuration. To use a new customer manager key for your data, we recommend copying your existing objects to a new directory bucket with a new customer managed key. > Amazon S3 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": "KMSMasterKeyID", + "AWSRegion": { + "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", + "title": "AWSRegion", "type": "string" }, - "SSEAlgorithm": { - "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n> For directory buckets, there are only two supported values for server-side encryption: `AES256` and `aws:kms` .", - "title": "SSEAlgorithm", - "type": "string" - } - }, - "required": [ - "SSEAlgorithm" - ], - "type": "object" - }, - "AWS::S3Express::DirectoryBucket.ServerSideEncryptionRule": { - "additionalProperties": false, - "properties": { - "BucketKeyEnabled": { - "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. S3 Bucket Keys are always enabled for `GET` and `PUT` operations on a directory bucket and can\u2019t be disabled. It's only allowed to set the `BucketKeyEnabled` element to `true` .\n\nS3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) , [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) , [the Copy operation in Batch Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops) , or [the import jobs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job) . In this case, Amazon S3 makes a call to AWS KMS every time a copy request is made for a KMS-encrypted object.\n\nFor more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-UsingKMSEncryption.html#s3-express-sse-kms-bucket-keys) in the *Amazon S3 User Guide* .", - "title": "BucketKeyEnabled", - "type": "boolean" + "Bias": { + "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", + "title": "Bias", + "type": "number" }, - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.ServerSideEncryptionByDefault", - "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", - "title": "ServerSideEncryptionByDefault" + "Coordinates": { + "$ref": "#/definitions/AWS::Route53::RecordSet.Coordinates", + "markdownDescription": "Contains the longitude and latitude for a geographic region.", + "title": "Coordinates" + }, + "LocalZoneGroup": { + "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", + "title": "LocalZoneGroup", + "type": "string" } }, "type": "object" }, - "AWS::S3Files::AccessPoint": { + "AWS::Route53::RecordSetGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -344299,33 +312544,35 @@ "Properties": { "additionalProperties": false, "properties": { - "ClientToken": { + "Comment": { + "markdownDescription": "*Optional:* Any comments you want to include about a change batch request.", + "title": "Comment", "type": "string" }, - "FileSystemId": { + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneId", "type": "string" }, - "PosixUser": { - "$ref": "#/definitions/AWS::S3Files::AccessPoint.PosixUser" - }, - "RootDirectory": { - "$ref": "#/definitions/AWS::S3Files::AccessPoint.RootDirectory" + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" }, - "Tags": { + "RecordSets": { "items": { - "$ref": "#/definitions/AWS::S3Files::AccessPoint.AccessPointTag" + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" }, + "markdownDescription": "A complex type that contains one `RecordSet` element for each record that you want to create.", + "title": "RecordSets", "type": "array" } }, - "required": [ - "FileSystemId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Files::AccessPoint" + "AWS::Route53::RecordSetGroup" ], "type": "string" }, @@ -344339,78 +312586,216 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::S3Files::AccessPoint.AccessPointTag": { + "AWS::Route53::RecordSetGroup.AliasTarget": { "additionalProperties": false, "properties": { - "Key": { + "DNSName": { + "markdownDescription": "*Alias records only:* The value that you specify depends on where you want to route queries:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalDomainName` .\n- For edge-optimized APIs, specify the value of `distributionDomainName` . This is the name of the associated CloudFront distribution, such as `da1b2c3d4e5.cloudfront.net` .\n\n> The name of the record that you're creating must match a custom domain name for your API, such as `api.example.com` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such as `vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com` . For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of `DnsName` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.\n\nYour CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .\n\nYou can't create a record in a private hosted zone to route traffic to a CloudFront distribution.\n\n> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.\n- **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name `my-environment. *us-west-2* .elasticbeanstalk.com` is a regionalized domain name.\n\n> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment. \n\nFor Elastic Beanstalk environments that have regionalized subdomains, specify the `CNAME` attribute for the environment. You can use the following methods to get the value of the CNAME attribute:\n\n- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* .\n- *Elastic Beanstalk API* : Use the `DescribeEnvironments` action to get the value of the `CNAME` attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* .\n- *AWS CLI* : Use the `describe-environments` command to get the value of the `CNAME` attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* .\n- **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .\n\n- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.\n\nIf you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html)\n- Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of `DNSName` :\n\n- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the value of `DNSName` . For more information, see the applicable guide:\n\n- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html)\n- Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html)\n- **Global Accelerator accelerator** - Specify the DNS name for your accelerator:\n\n- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) .\n- *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) .\n- **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, `s3-website.us-east-2.amazonaws.com` . For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.*\n- **Another Route 53 record** - Specify the value of the `Name` element for a record in the current hosted zone.\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "DNSName", "type": "string" }, - "Value": { + "EvaluateTargetHealth": { + "markdownDescription": "*Applies only to alias records with any routing policy:* When `EvaluateTargetHealth` is `true` , an alias record inherits the health of the referenced AWS resource, such as an ELB load balancer or another record in the hosted zone.\n\nNote the following:\n\n- **CloudFront distributions** - You can't set `EvaluateTargetHealth` to `true` when the alias target is a CloudFront distribution.\n- **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment in `DNSName` and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set `EvaluateTargetHealth` to `true` and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.\n\nIf the environment contains a single Amazon EC2 instance, there are no special requirements.\n- **ELB load balancers** - Health checking behavior depends on the type of load balancer:\n\n- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in `DNSName` , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set `EvaluateTargetHealth` to `true` and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.\n- *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you set `EvaluateTargetHealth` to `true` , Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:\n\n- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.\n- A target group that has no registered targets is considered unhealthy.\n\n> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.\n- **S3 buckets** - There are no special requirements for setting `EvaluateTargetHealth` to `true` when the alias target is an S3 bucket.\n- **Other records in the same hosted zone** - If the AWS resource that you specify in `DNSName` is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .\n\nFor more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .", + "title": "EvaluateTargetHealth", + "type": "boolean" + }, + "HostedZoneId": { + "markdownDescription": "*Alias resource records sets only* : The value used depends on where you want to route traffic:\n\n- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :\n\n- For regional APIs, specify the value of `regionalHostedZoneId` .\n- For edge-optimized APIs, specify the value of `distributionHostedZoneId` .\n- **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value of `HostedZoneId` using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) .\n- **CloudFront distribution** - Specify `Z2FDTNDATAQYW2` . This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.\n\n> Alias records for CloudFront can't be created in a private zone.\n- **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* .\n- **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:\n\n- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the \"Elastic Load Balancing endpoints and quotas\" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.\n- *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab.\n- *Elastic Load Balancing API* : Use `DescribeLoadBalancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value of `CanonicalHostedZoneID` .\n- *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:\n\n- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) .\n- Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) .\n- *AWS CLI* : Use `describe-load-balancers` to get the applicable value. For more information, see the applicable guide:\n\n- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of `CanonicalHostedZoneNameID` .\n- Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value of `CanonicalHostedZoneID` .\n- **Global Accelerator accelerator** - Specify `Z2BJ6XQ5FK7U4H` .\n- **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* .\n- **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)", + "title": "HostedZoneId", "type": "string" } }, + "required": [ + "DNSName", + "HostedZoneId" + ], "type": "object" }, - "AWS::S3Files::AccessPoint.CreationPermissions": { + "AWS::Route53::RecordSetGroup.CidrRoutingConfig": { "additionalProperties": false, "properties": { - "OwnerGid": { + "CollectionId": { + "markdownDescription": "The CIDR collection ID.", + "title": "CollectionId", "type": "string" }, - "OwnerUid": { + "LocationName": { + "markdownDescription": "The CIDR collection location name.", + "title": "LocationName", + "type": "string" + } + }, + "required": [ + "CollectionId", + "LocationName" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "markdownDescription": "Specifies a coordinate of the north\u2013south position of a geographic point on the surface of the Earth (-90 - 90).", + "title": "Latitude", "type": "string" }, - "Permissions": { + "Longitude": { + "markdownDescription": "Specifies a coordinate of the east\u2013west position of a geographic point on the surface of the Earth (-180 - 180).", + "title": "Longitude", "type": "string" } }, "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" + "Latitude", + "Longitude" ], "type": "object" }, - "AWS::S3Files::AccessPoint.PosixUser": { + "AWS::Route53::RecordSetGroup.GeoLocation": { "additionalProperties": false, "properties": { - "Gid": { + "ContinentCode": { + "markdownDescription": "For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:\n\n- *AF* : Africa\n- *AN* : Antarctica\n- *AS* : Asia\n- *EU* : Europe\n- *OC* : Oceania\n- *NA* : North America\n- *SA* : South America\n\nConstraint: Specifying `ContinentCode` with either `CountryCode` or `SubdivisionCode` returns an `InvalidInput` error.", + "title": "ContinentCode", "type": "string" }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" + "CountryCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a country.\n\nRoute 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .", + "title": "CountryCode", + "type": "string" }, - "Uid": { + "SubdivisionCode": { + "markdownDescription": "For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for `SubdivisionCode` . For a list of state abbreviations, see [Appendix B: Two\u2013Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.\n\nIf you specify `subdivisioncode` , you must also specify `US` for `CountryCode` .", + "title": "SubdivisionCode", "type": "string" } }, - "required": [ - "Gid", - "Uid" - ], "type": "object" }, - "AWS::S3Files::AccessPoint.RootDirectory": { + "AWS::Route53::RecordSetGroup.GeoProximityLocation": { "additionalProperties": false, "properties": { - "CreationPermissions": { - "$ref": "#/definitions/AWS::S3Files::AccessPoint.CreationPermissions" + "AWSRegion": { + "markdownDescription": "The AWS Region the resource you are directing DNS traffic to, is in.", + "title": "AWSRegion", + "type": "string" }, - "Path": { + "Bias": { + "markdownDescription": "The bias increases or decreases the size of the geographic region from which Route\u00a053 routes traffic to a resource.\n\nTo use `Bias` to change the size of the geographic region, specify the applicable value for the bias:\n\n- To expand the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route\u00a053 shrinks the size of adjacent regions.\n- To shrink the size of the geographic region from which Route\u00a053 routes traffic to a resource, specify a negative bias of -1 to -99. Route\u00a053 expands the size of adjacent regions.", + "title": "Bias", + "type": "number" + }, + "Coordinates": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.Coordinates", + "markdownDescription": "Contains the longitude and latitude for a geographic region.", + "title": "Coordinates" + }, + "LocalZoneGroup": { + "markdownDescription": "Specifies an AWS Local Zone Group.\n\nA local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is `us-east-1-bue-1a` the Local Zone Group is `us-east-1-bue-1` .\n\nYou can identify the Local Zones Group for a specific Local Zone by using the [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html) CLI command:\n\nThis command returns: `\"GroupName\": \"us-west-2-den-1\"` , specifying that the Local Zone `us-west-2-den-1a` belongs to the Local Zone Group `us-west-2-den-1` .", + "title": "LocalZoneGroup", "type": "string" } }, "type": "object" }, - "AWS::S3Files::FileSystem": { + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget", + "markdownDescription": "*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.\n\nIf you're creating resource records sets for a private hosted zone, note the following:\n\n- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.\n- For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .", + "title": "AliasTarget" + }, + "CidrRoutingConfig": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.CidrRoutingConfig", + "markdownDescription": "", + "title": "CidrRoutingConfig" + }, + "Failover": { + "markdownDescription": "*Failover resource record sets only:* To configure failover, you add the `Failover` element to two resource record sets. For one resource record set, you specify `PRIMARY` as the value for `Failover` ; for the other resource record set, you specify `SECONDARY` . In addition, you include the `HealthCheckId` element and specify the health check that you want Amazon Route 53 to perform for each resource record set.\n\nExcept where noted, the following failover behaviors assume that you have included the `HealthCheckId` element in both resource record sets:\n\n- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.\n- When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.\n- When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.\n- If you omit the `HealthCheckId` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.\n\nYou can't create non-failover resource record sets that have the same values for the `Name` and `Type` elements as failover resource record sets.\n\nFor failover alias resource record sets, you must also include the `EvaluateTargetHealth` element and set the value to true.\n\nFor more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)", + "title": "Failover", + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation", + "markdownDescription": "*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of `192.0.2.111` , create a resource record set with a `Type` of `A` and a `ContinentCode` of `AF` .\n\nIf you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.\n\nYou can't create two geolocation resource record sets that specify the same geographic location.\n\nThe value `*` in the `CountryCode` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the `Name` and `Type` elements.\n\n> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of `CountryCode` is `*` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a `*` resource record set, Route 53 returns a \"no answer\" response for queries from those locations. \n\nYou can't create non-geolocation resource record sets that have the same values for the `Name` and `Type` elements as geolocation resource record sets.", + "title": "GeoLocation" + }, + "GeoProximityLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoProximityLocation", + "markdownDescription": "A complex type that contains information about a geographic location.", + "title": "GeoProximityLocation" + }, + "HealthCheckId": { + "markdownDescription": "If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the `HealthCheckId` element and specify the ID of the applicable health check.\n\nRoute 53 determines whether a resource record set is healthy based on one of the following:\n\n- By periodically sending a request to the endpoint that is specified in the health check\n- By aggregating the status of a specified group of health checks (calculated health checks)\n- By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)\n\n> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the `Value` element. When you add a `HealthCheckId` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. \n\nFor more information, see the following topics in the *Amazon Route 53 Developer Guide* :\n\n- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html)\n- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html)\n- [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)\n\n*When to Specify HealthCheckId*\n\nSpecifying a value for `HealthCheckId` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:\n\n- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.\n\nIf the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.\n\nIf the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.\n\nIf the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.\n- *Alias resource record sets* : You specify the following settings:\n\n- You set `EvaluateTargetHealth` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).\n- You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.\n- You specify a health check ID for the non-alias resource record set.\n\nIf the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.\n\nIf the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.\n\n> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.\n\n*Geolocation Routing*\n\nFor geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has `*` for `CountryCode` is `*` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:\n\n- The United States\n- North America\n- The default resource record set\n\n*Specifying the Health Check Endpoint by Domain Name*\n\nIf your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each `HTTP` server that is serving content for `www.example.com` . For the value of `FullyQualifiedDomainName` , specify the domain name of the server (such as `us-east-2-www.example.com` ), not the name of the resource record sets ( `www.example.com` ).\n\n> Health check results will be unpredictable if you do the following:\n> \n> - Create a health check that has the same value for `FullyQualifiedDomainName` as the name of a resource record set.\n> - Associate that health check with the resource record set.", + "title": "HealthCheckId", + "type": "string" + }, + "HostedZoneId": { + "markdownDescription": "The ID of the hosted zone that you want to create records in.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .\n\nDo not provide the `HostedZoneId` if it is already defined in `AWS::Route53::RecordSetGroup` . The creation fails if `HostedZoneId` is defined in both.", + "title": "HostedZoneId", + "type": "string" + }, + "HostedZoneName": { + "markdownDescription": "The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, `www.example.com.` ) as part of the `HostedZoneName` .\n\nWhen you create a stack using an `AWS::Route53::RecordSet` that specifies `HostedZoneName` , AWS CloudFormation attempts to find a hosted zone whose name matches the `HostedZoneName` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.\n\nSpecify either `HostedZoneName` or `HostedZoneId` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using `HostedZoneId` .", + "title": "HostedZoneName", + "type": "string" + }, + "MultiValueAnswer": { + "markdownDescription": "*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify `true` for `MultiValueAnswer` . Note the following:\n\n- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.\n- If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.\n- Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.\n- If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.\n- When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.\n- If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.\n\nYou can't create multivalue answer alias records.", + "title": "MultiValueAnswer", + "type": "boolean" + }, + "Name": { + "markdownDescription": "The name of the record that you want to create, update, or delete.\n\nEnter a fully qualified domain name, for example, `www.example.com` . You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats `www.example.com` (without a trailing dot) and `www.example.com.` (with a trailing dot) as identical.\n\nFor information about how to specify characters other than `a-z` , `0-9` , and `-` (hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .\n\nYou can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, `*.example.com` . Note the following:\n\n- The * must replace the entire label. For example, you can't specify `*prod.example.com` or `prod*.example.com` .\n- The * can't replace any of the middle labels, for example, marketing.*.example.com.\n- If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.\n\n> You can't use the * wildcard for resource records sets that have a type of NS.", + "title": "Name", + "type": "string" + }, + "Region": { + "markdownDescription": "*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.\n\nWhen Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.\n\nNote the following:\n\n- You can only specify one `ResourceRecord` per latency resource record set.\n- You can only create one latency resource record set for each Amazon EC2 Region.\n- You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.\n- You can't create non-latency resource record sets that have the same values for the `Name` and `Type` elements as latency resource record sets.", + "title": "Region", + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "markdownDescription": "Information about the records that you want to create. Each record should be in the format appropriate for the record type specified by the `Type` property. For information about different record types and their record formats, see [Values That You Specify When You Create or Edit Amazon Route 53 Records](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html) in the *Amazon Route 53 Developer Guide* .", + "title": "ResourceRecords", + "type": "array" + }, + "SetIdentifier": { + "markdownDescription": "*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of `SetIdentifier` must be unique for each resource record set.\n\nFor information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .", + "title": "SetIdentifier", + "type": "string" + }, + "TTL": { + "markdownDescription": "The resource record cache time to live (TTL), in seconds. Note the following:\n\n- If you're creating or updating an alias resource record set, omit `TTL` . Amazon Route 53 uses the value of `TTL` for the alias target.\n- If you're associating this resource record set with a health check (if you're adding a `HealthCheckId` element), we recommend that you specify a `TTL` of 60 seconds or less so clients respond quickly to changes in health status.\n- All of the resource record sets in a group of weighted resource record sets must have the same value for `TTL` .\n- If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a `TTL` of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for `Weight` .", + "title": "TTL", + "type": "string" + }, + "Type": { + "markdownDescription": "The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .\n\nValid values for basic resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `DS` | `MX` | `NAPTR` | `NS` | `PTR` | `SOA` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\nValues for weighted, latency, geolocation, and failover resource record sets: `A` | `AAAA` | `CAA` | `CNAME` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS` . When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.\n\nValid values for multivalue answer resource record sets: `A` | `AAAA` | `MX` | `NAPTR` | `PTR` | `SPF` | `SRV` | `TXT` | `CAA` | `TLSA` | `SSHFP` | `SVCB` | `HTTPS`\n\n> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of `Type` is `SPF` . RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) . \n\nValues for alias resource record sets:\n\n- *Amazon API Gateway custom regional APIs and edge-optimized APIs:* `A`\n- *CloudFront distributions:* `A`\n\nIf IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of `A` and one with a value of `AAAA` .\n- *Amazon API Gateway environment that has a regionalized subdomain* : `A`\n- *ELB load balancers:* `A` | `AAAA`\n- *Amazon S3 buckets:* `A`\n- *Amazon Virtual Private Cloud interface VPC endpoints* `A`\n- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported except `NS` and `SOA` .\n\n> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of `Type` is `CNAME` . This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.", + "title": "Type", + "type": "string" + }, + "Weight": { + "markdownDescription": "*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:\n\n- You must specify a value for the `Weight` element for every weighted resource record set.\n- You can only specify one `ResourceRecord` per weighted resource record set.\n- You can't create latency, failover, or geolocation resource record sets that have the same values for the `Name` and `Type` elements as weighted resource record sets.\n- You can create a maximum of 100 weighted resource record sets that have the same values for the `Name` and `Type` elements.\n- For weighted (but not weighted alias) resource record sets, if you set `Weight` to `0` for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set `Weight` to `0` for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.\n\nThe effect of setting `Weight` to `0` is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .", + "title": "Weight", + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53GlobalResolver::AccessSource": { "additionalProperties": false, "properties": { "Condition": { @@ -344445,26 +312830,23 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceptBucketWarning": { - "type": "boolean" - }, - "Bucket": { + "Cidr": { "type": "string" }, "ClientToken": { "type": "string" }, - "KmsKeyId": { + "DnsViewId": { "type": "string" }, - "Prefix": { + "IpAddressType": { "type": "string" }, - "RoleArn": { + "Name": { "type": "string" }, - "SynchronizationConfiguration": { - "$ref": "#/definitions/AWS::S3Files::FileSystem.SynchronizationConfiguration" + "Protocol": { + "type": "string" }, "Tags": { "items": { @@ -344474,14 +312856,15 @@ } }, "required": [ - "Bucket", - "RoleArn" + "Cidr", + "DnsViewId", + "Protocol" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Files::FileSystem" + "AWS::Route53GlobalResolver::AccessSource" ], "type": "string" }, @@ -344500,64 +312883,7 @@ ], "type": "object" }, - "AWS::S3Files::FileSystem.ExpirationDataRule": { - "additionalProperties": false, - "properties": { - "DaysAfterLastAccess": { - "type": "number" - } - }, - "required": [ - "DaysAfterLastAccess" - ], - "type": "object" - }, - "AWS::S3Files::FileSystem.ImportDataRule": { - "additionalProperties": false, - "properties": { - "Prefix": { - "type": "string" - }, - "SizeLessThan": { - "type": "number" - }, - "Trigger": { - "type": "string" - } - }, - "required": [ - "Prefix", - "SizeLessThan", - "Trigger" - ], - "type": "object" - }, - "AWS::S3Files::FileSystem.SynchronizationConfiguration": { - "additionalProperties": false, - "properties": { - "ExpirationDataRules": { - "items": { - "$ref": "#/definitions/AWS::S3Files::FileSystem.ExpirationDataRule" - }, - "type": "array" - }, - "ImportDataRules": { - "items": { - "$ref": "#/definitions/AWS::S3Files::FileSystem.ImportDataRule" - }, - "type": "array" - }, - "LatestVersionNumber": { - "type": "number" - } - }, - "required": [ - "ExpirationDataRules", - "ImportDataRules" - ], - "type": "object" - }, - "AWS::S3Files::FileSystemPolicy": { + "AWS::Route53GlobalResolver::AccessToken": { "additionalProperties": false, "properties": { "Condition": { @@ -344592,22 +312918,33 @@ "Properties": { "additionalProperties": false, "properties": { - "FileSystemId": { + "ClientToken": { "type": "string" }, - "Policy": { - "type": "object" + "DnsViewId": { + "type": "string" + }, + "ExpiresAt": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "FileSystemId", - "Policy" + "DnsViewId" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Files::FileSystemPolicy" + "AWS::Route53GlobalResolver::AccessToken" ], "type": "string" }, @@ -344626,7 +312963,7 @@ ], "type": "object" }, - "AWS::S3Files::MountTarget": { + "AWS::Route53GlobalResolver::DnsView": { "additionalProperties": false, "properties": { "Condition": { @@ -344661,37 +312998,43 @@ "Properties": { "additionalProperties": false, "properties": { - "FileSystemId": { + "ClientToken": { "type": "string" }, - "IpAddressType": { + "Description": { "type": "string" }, - "Ipv4Address": { + "DnssecValidation": { "type": "string" }, - "Ipv6Address": { + "EdnsClientSubnet": { "type": "string" }, - "SecurityGroups": { + "FirewallRulesFailOpen": { + "type": "string" + }, + "GlobalResolverId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, "type": "array" - }, - "SubnetId": { - "type": "string" } }, "required": [ - "FileSystemId", - "SubnetId" + "GlobalResolverId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Files::MountTarget" + "AWS::Route53GlobalResolver::DnsView" ], "type": "string" }, @@ -344710,7 +313053,7 @@ ], "type": "object" }, - "AWS::S3ObjectLambda::AccessPoint": { + "AWS::Route53GlobalResolver::FirewallDomainList": { "additionalProperties": false, "properties": { "Condition": { @@ -344745,25 +313088,43 @@ "Properties": { "additionalProperties": false, "properties": { + "ClientToken": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DomainFileUrl": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GlobalResolverId": { + "type": "string" + }, "Name": { - "markdownDescription": "The name of this access point.", - "title": "Name", "type": "string" }, - "ObjectLambdaConfiguration": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration", - "markdownDescription": "A configuration used when creating an Object Lambda Access Point.", - "title": "ObjectLambdaConfiguration" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "ObjectLambdaConfiguration" + "GlobalResolverId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3ObjectLambda::AccessPoint" + "AWS::Route53GlobalResolver::FirewallDomainList" ], "type": "string" }, @@ -344782,144 +313143,7 @@ ], "type": "object" }, - "AWS::S3ObjectLambda::AccessPoint.Alias": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "The status of the Object Lambda Access Point alias. If the status is `PROVISIONING` , the Object Lambda Access Point is provisioning the alias and the alias is not ready for use yet. If the status is `READY` , the Object Lambda Access Point alias is successfully provisioned and ready for use.", - "title": "Status", - "type": "string" - }, - "Value": { - "markdownDescription": "The alias value of the Object Lambda Access Point.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.AwsLambda": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "markdownDescription": "", - "title": "FunctionArn", - "type": "string" - }, - "FunctionPayload": { - "markdownDescription": "", - "title": "FunctionPayload", - "type": "string" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.ContentTransformation": { - "additionalProperties": false, - "properties": { - "AwsLambda": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.AwsLambda", - "markdownDescription": "", - "title": "AwsLambda" - } - }, - "required": [ - "AwsLambda" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedFeatures": { - "items": { - "type": "string" - }, - "markdownDescription": "A container for allowed features. Valid inputs are `GetObject-Range` , `GetObject-PartNumber` , `HeadObject-Range` , and `HeadObject-PartNumber` .", - "title": "AllowedFeatures", - "type": "array" - }, - "CloudWatchMetricsEnabled": { - "markdownDescription": "A container for whether the CloudWatch metrics configuration is enabled.", - "title": "CloudWatchMetricsEnabled", - "type": "boolean" - }, - "SupportingAccessPoint": { - "markdownDescription": "Standard access point associated with the Object Lambda Access Point.", - "title": "SupportingAccessPoint", - "type": "string" - }, - "TransformationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" - }, - "markdownDescription": "A container for transformation configurations for an Object Lambda Access Point.", - "title": "TransformationConfigurations", - "type": "array" - } - }, - "required": [ - "SupportingAccessPoint", - "TransformationConfigurations" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to `TRUE` causes the following behavior:\n\n- `PutBucketAcl` and `PutObjectAcl` calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.\n\nThis property is not supported for Amazon S3 on Outposts.", - "title": "BlockPublicAcls", - "type": "boolean" - }, - "BlockPublicPolicy": { - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.\n\nThis property is not supported for Amazon S3 on Outposts.", - "title": "BlockPublicPolicy", - "type": "boolean" - }, - "IgnorePublicAcls": { - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.\n\nThis property is not supported for Amazon S3 on Outposts.", - "title": "IgnorePublicAcls", - "type": "boolean" - }, - "RestrictPublicBuckets": { - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to `TRUE` restricts access to buckets with public policies to only AWS service principals and authorized users within this account.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.\n\nThis property is not supported for Amazon S3 on Outposts.", - "title": "RestrictPublicBuckets", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "markdownDescription": "A container for the action of an Object Lambda Access Point configuration. Valid inputs are `GetObject` , `HeadObject` , `ListObject` , and `ListObjectV2` .", - "title": "Actions", - "type": "array" - }, - "ContentTransformation": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ContentTransformation", - "markdownDescription": "A container for the content transformation of an Object Lambda Access Point configuration. Can include the FunctionArn and FunctionPayload. For more information, see [AwsLambdaTransformation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AwsLambdaTransformation.html) in the *Amazon S3 API Reference* .", - "title": "ContentTransformation" - } - }, - "required": [ - "Actions", - "ContentTransformation" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPointPolicy": { + "AWS::Route53GlobalResolver::FirewallRule": { "additionalProperties": false, "properties": { "Condition": { @@ -344954,26 +313178,59 @@ "Properties": { "additionalProperties": false, "properties": { - "ObjectLambdaAccessPoint": { - "markdownDescription": "An access point with an attached AWS Lambda function used to access transformed data from an Amazon S3 bucket.", - "title": "ObjectLambdaAccessPoint", + "Action": { "type": "string" }, - "PolicyDocument": { - "markdownDescription": "Object Lambda Access Point resource policy document.", - "title": "PolicyDocument", - "type": "object" + "BlockOverrideDnsType": { + "type": "string" + }, + "BlockOverrideDomain": { + "type": "string" + }, + "BlockOverrideTtl": { + "type": "number" + }, + "BlockResponse": { + "type": "string" + }, + "ClientToken": { + "type": "string" + }, + "ConfidenceThreshold": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DnsAdvancedProtection": { + "type": "string" + }, + "DnsViewId": { + "type": "string" + }, + "FirewallDomainListId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "QType": { + "type": "string" } }, "required": [ - "ObjectLambdaAccessPoint", - "PolicyDocument" + "Action", + "DnsViewId", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3ObjectLambda::AccessPointPolicy" + "AWS::Route53GlobalResolver::FirewallRule" ], "type": "string" }, @@ -344992,7 +313249,7 @@ ], "type": "object" }, - "AWS::S3Outposts::AccessPoint": { + "AWS::Route53GlobalResolver::GlobalResolver": { "additionalProperties": false, "properties": { "Condition": { @@ -345027,37 +313284,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The Amazon Resource Name (ARN) of the S3 on Outposts bucket that is associated with this access point.", - "title": "Bucket", + "ClientToken": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IpAddressType": { "type": "string" }, "Name": { - "markdownDescription": "The name of this access point.", - "title": "Name", "type": "string" }, - "Policy": { - "markdownDescription": "The access point policy associated with this access point.", - "title": "Policy", - "type": "object" + "ObservabilityRegion": { + "type": "string" }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration", - "markdownDescription": "The virtual private cloud (VPC) configuration for this access point, if one exists.", - "title": "VpcConfiguration" + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" } }, "required": [ - "Bucket", "Name", - "VpcConfiguration" + "Regions" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Outposts::AccessPoint" + "AWS::Route53GlobalResolver::GlobalResolver" ], "type": "string" }, @@ -345076,18 +313339,7 @@ ], "type": "object" }, - "AWS::S3Outposts::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "markdownDescription": "", - "title": "VpcId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Bucket": { + "AWS::Route53GlobalResolver::HostedZoneAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -345122,39 +313374,26 @@ "Properties": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "A name for the S3 on Outposts bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) . For more information, see [Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules) .\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": "BucketName", + "HostedZoneId": { "type": "string" }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration", - "markdownDescription": "Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an existing lifecycle configuration. Outposts buckets only support lifecycle configurations that delete/expire objects after a certain period of time and abort incomplete multipart uploads.", - "title": "LifecycleConfiguration" - }, - "OutpostId": { - "markdownDescription": "The ID of the Outpost of the specified bucket.", - "title": "OutpostId", + "Name": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Sets the tags for an S3 on Outposts bucket. For more information, see [Using Amazon S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) .\n\nUse tags to organize your AWS bill to reflect your own cost structure. To do this, sign up to get your AWS account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see [Cost allocation and tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) .\n\n> Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites the old value. For more information, see [Using cost allocation and bucket tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html) . \n\nTo use this resource, you must have permissions to perform the `s3-outposts:PutBucketTagging` . The S3 on Outposts bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see [Permissions Related to Bucket Subresource Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) and [Managing access permissions to your Amazon S3 resources](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) .", - "title": "Tags", - "type": "array" + "ResourceArn": { + "type": "string" } }, "required": [ - "BucketName", - "OutpostId" + "HostedZoneId", + "Name", + "ResourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Outposts::Bucket" + "AWS::Route53GlobalResolver::HostedZoneAssociation" ], "type": "string" }, @@ -345173,140 +313412,7 @@ ], "type": "object" }, - "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "markdownDescription": "Specifies the number of days after initiation that Amazon S3 on Outposts aborts an incomplete multipart upload.", - "title": "DaysAfterInitiation", - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.Filter": { - "additionalProperties": false, - "properties": { - "AndOperator": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterAndOperator", - "markdownDescription": "", - "title": "AndOperator" - }, - "Prefix": { - "markdownDescription": "", - "title": "Prefix", - "type": "string" - }, - "Tag": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterTag", - "markdownDescription": "", - "title": "Tag" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Bucket.FilterAndOperator": { - "additionalProperties": false, - "properties": { - "Prefix": { - "markdownDescription": "", - "title": "Prefix", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterTag" - }, - "markdownDescription": "", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Tags" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.FilterTag": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" - }, - "markdownDescription": "The container for the lifecycle configuration rules for the objects stored in the S3 on Outposts bucket.", - "title": "Rules", - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload", - "markdownDescription": "The container for the abort incomplete multipart upload rule.", - "title": "AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "markdownDescription": "Specifies the expiration for the lifecycle of the object by specifying an expiry date.", - "title": "ExpirationDate", - "type": "string" - }, - "ExpirationInDays": { - "markdownDescription": "Specifies the expiration for the lifecycle of the object in the form of days that the object has been in the S3 on Outposts bucket.", - "title": "ExpirationInDays", - "type": "number" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.Filter", - "markdownDescription": "The container for the filter of the lifecycle rule.", - "title": "Filter" - }, - "Id": { - "markdownDescription": "", - "title": "Id", - "type": "string" - }, - "Status": { - "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", - "title": "Status", - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3Outposts::BucketPolicy": { + "AWS::Route53Profiles::Profile": { "additionalProperties": false, "properties": { "Condition": { @@ -345341,26 +313447,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the Amazon S3 Outposts bucket to which the policy applies.", - "title": "Bucket", + "Name": { + "markdownDescription": "Name of the Profile.", + "title": "Name", "type": "string" }, - "PolicyDocument": { - "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html) .", - "title": "PolicyDocument", - "type": "object" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of the tag keys and values that you want to associate with the profile.", + "title": "Tags", + "type": "array" } }, "required": [ - "Bucket", - "PolicyDocument" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Outposts::BucketPolicy" + "AWS::Route53Profiles::Profile" ], "type": "string" }, @@ -345379,7 +313487,7 @@ ], "type": "object" }, - "AWS::S3Outposts::Endpoint": { + "AWS::Route53Profiles::ProfileAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -345414,47 +313522,45 @@ "Properties": { "additionalProperties": false, "properties": { - "AccessType": { - "markdownDescription": "The container for the type of connectivity used to access the Amazon S3 on Outposts endpoint. To use the Amazon VPC , choose `Private` . To use the endpoint with an on-premises network, choose `CustomerOwnedIp` . If you choose `CustomerOwnedIp` , you must also provide the customer-owned IP address pool (CoIP pool).\n\n> `Private` is the default access type value.", - "title": "AccessType", + "Arn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the profile association to a VPC.", + "title": "Arn", "type": "string" }, - "CustomerOwnedIpv4Pool": { - "markdownDescription": "The ID of the customer-owned IPv4 address pool (CoIP pool) for the endpoint. IP addresses are allocated from this pool for the endpoint.", - "title": "CustomerOwnedIpv4Pool", + "Name": { + "markdownDescription": "Name of the Profile association.", + "title": "Name", "type": "string" }, - "FailedReason": { - "$ref": "#/definitions/AWS::S3Outposts::Endpoint.FailedReason", - "markdownDescription": "The failure reason, if any, for a create or delete endpoint operation.", - "title": "FailedReason" - }, - "OutpostId": { - "markdownDescription": "The ID of the Outpost.", - "title": "OutpostId", + "ProfileId": { + "markdownDescription": "ID of the Profile.\n\nUpdate to this property requires update to the `ResourceId` property as well, because you can only associate one Profile per VPC. For more information, see [Route 53 Profiles](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/profiles.html) .", + "title": "ProfileId", "type": "string" }, - "SecurityGroupId": { - "markdownDescription": "The ID of the security group used for the endpoint.", - "title": "SecurityGroupId", + "ResourceId": { + "markdownDescription": "The ID of the VPC.", + "title": "ResourceId", "type": "string" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet used for the endpoint.", - "title": "SubnetId", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" } }, "required": [ - "OutpostId", - "SecurityGroupId", - "SubnetId" + "Name", + "ProfileId", + "ResourceId" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Outposts::Endpoint" + "AWS::Route53Profiles::ProfileAssociation" ], "type": "string" }, @@ -345473,37 +313579,7 @@ ], "type": "object" }, - "AWS::S3Outposts::Endpoint.FailedReason": { - "additionalProperties": false, - "properties": { - "ErrorCode": { - "markdownDescription": "The failure code, if any, for a create or delete endpoint operation.", - "title": "ErrorCode", - "type": "string" - }, - "Message": { - "markdownDescription": "Additional error details describing the endpoint failure and recommended action.", - "title": "Message", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Endpoint.NetworkInterface": { - "additionalProperties": false, - "properties": { - "NetworkInterfaceId": { - "markdownDescription": "The ID for the network interface.", - "title": "NetworkInterfaceId", - "type": "string" - } - }, - "required": [ - "NetworkInterfaceId" - ], - "type": "object" - }, - "AWS::S3Tables::Namespace": { + "AWS::Route53Profiles::ProfileResourceAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -345538,26 +313614,37 @@ "Properties": { "additionalProperties": false, "properties": { - "Namespace": { - "markdownDescription": "The name of the namespace.", - "title": "Namespace", + "Name": { + "markdownDescription": "Name of the Profile resource association.", + "title": "Name", "type": "string" }, - "TableBucketARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket to create the namespace in.", - "title": "TableBucketARN", + "ProfileId": { + "markdownDescription": "Profile ID of the Profile that the resources are associated with.", + "title": "ProfileId", + "type": "string" + }, + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource association.", + "title": "ResourceArn", + "type": "string" + }, + "ResourceProperties": { + "markdownDescription": "If the DNS resource is a DNS Firewall rule group, this indicates the priority.", + "title": "ResourceProperties", "type": "string" } }, "required": [ - "Namespace", - "TableBucketARN" + "Name", + "ProfileId", + "ResourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::Namespace" + "AWS::Route53Profiles::ProfileResourceAssociation" ], "type": "string" }, @@ -345576,7 +313663,7 @@ ], "type": "object" }, - "AWS::S3Tables::Table": { + "AWS::Route53RecoveryControl::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -345611,71 +313698,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Compaction": { - "$ref": "#/definitions/AWS::S3Tables::Table.Compaction", - "markdownDescription": "Contains details about the compaction settings for an Iceberg table.", - "title": "Compaction" - }, - "IcebergMetadata": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergMetadata", - "markdownDescription": "Contains details about the metadata for an Iceberg table.", - "title": "IcebergMetadata" - }, - "Namespace": { - "markdownDescription": "The name of the namespace.", - "title": "Namespace", - "type": "string" - }, - "OpenTableFormat": { - "markdownDescription": "The format of the table.", - "title": "OpenTableFormat", - "type": "string" - }, - "SnapshotManagement": { - "$ref": "#/definitions/AWS::S3Tables::Table.SnapshotManagement", - "markdownDescription": "Contains details about the Iceberg snapshot management settings for the table.", - "title": "SnapshotManagement" - }, - "StorageClassConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::Table.StorageClassConfiguration", - "markdownDescription": "The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.", - "title": "StorageClassConfiguration" - }, - "TableBucketARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket to create the table in.", - "title": "TableBucketARN", + "Name": { + "markdownDescription": "Name of the cluster. You can use any non-white space character in the name except the following: & > < ' (single quote) \" (double quote) ; (semicolon).", + "title": "Name", "type": "string" }, - "TableName": { - "markdownDescription": "The name for the table.", - "title": "TableName", + "NetworkType": { + "markdownDescription": "The network-type can either be IPV4 or DUALSTACK.", + "title": "NetworkType", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "The tags associated with the cluster.", "title": "Tags", "type": "array" - }, - "WithoutMetadata": { - "markdownDescription": "Indicates that you don't want to specify a schema for the table. This property is mutually exclusive to `IcebergMetadata` , and its only possible value is `Yes` .", - "title": "WithoutMetadata", - "type": "string" } }, "required": [ - "Namespace", - "OpenTableFormat", - "TableBucketARN", - "TableName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::Table" + "AWS::Route53RecoveryControl::Cluster" ], "type": "string" }, @@ -345694,267 +313743,180 @@ ], "type": "object" }, - "AWS::S3Tables::Table.Compaction": { + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { "additionalProperties": false, "properties": { - "Status": { - "markdownDescription": "The status of the maintenance configuration.", - "title": "Status", + "Endpoint": { + "markdownDescription": "A cluster endpoint URL for one of the five redundant clusters that you specify to set or retrieve a routing control state.", + "title": "Endpoint", "type": "string" }, - "TargetFileSizeMB": { - "markdownDescription": "The target file size for the table in MB.", - "title": "TargetFileSizeMB", - "type": "number" + "Region": { + "markdownDescription": "The AWS Region for a cluster endpoint.", + "title": "Region", + "type": "string" } }, "type": "object" }, - "AWS::S3Tables::Table.IcebergMetadata": { + "AWS::Route53RecoveryControl::ControlPanel": { "additionalProperties": false, "properties": { - "IcebergPartitionSpec": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergPartitionSpec" + "Condition": { + "type": "string" }, - "IcebergSchema": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSchema", - "markdownDescription": "The schema for an Iceberg table.", - "title": "IcebergSchema" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "IcebergSchemaV2": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSchemaV2" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IcebergSortOrder": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSortOrder" + "Metadata": { + "type": "object" }, - "TableProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the cluster for the control panel.", + "title": "ClusterArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the control panel. You can use any non-white space character in the name.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags associated with the control panel.", + "title": "Tags", + "type": "array" } }, + "required": [ + "Name" + ], "type": "object" - } - }, - "type": "object" - }, - "AWS::S3Tables::Table.IcebergPartitionField": { - "additionalProperties": false, - "properties": { - "FieldId": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SourceId": { - "type": "number" }, - "Transform": { + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::ControlPanel" + ], "type": "string" - } - }, - "required": [ - "Name", - "SourceId", - "Transform" - ], - "type": "object" - }, - "AWS::S3Tables::Table.IcebergPartitionSpec": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergPartitionField" - }, - "type": "array" - }, - "SpecId": { - "type": "number" - } - }, - "required": [ - "Fields" - ], - "type": "object" - }, - "AWS::S3Tables::Table.IcebergSchema": { - "additionalProperties": false, - "properties": { - "SchemaFieldList": { - "items": { - "$ref": "#/definitions/AWS::S3Tables::Table.SchemaField" - }, - "markdownDescription": "The schema fields for the table", - "title": "SchemaFieldList", - "type": "array" - } - }, - "required": [ - "SchemaFieldList" - ], - "type": "object" - }, - "AWS::S3Tables::Table.IcebergSchemaV2": { - "additionalProperties": false, - "properties": { - "IdentifierFieldIds": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SchemaId": { - "type": "number" - }, - "SchemaV2FieldList": { - "items": { - "$ref": "#/definitions/AWS::S3Tables::Table.SchemaV2Field" - }, - "type": "array" }, - "SchemaV2FieldType": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "SchemaV2FieldList", - "SchemaV2FieldType" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3Tables::Table.IcebergSortField": { + "AWS::Route53RecoveryControl::RoutingControl": { "additionalProperties": false, "properties": { - "Direction": { - "type": "string" - }, - "NullOrder": { + "Condition": { "type": "string" }, - "SourceId": { - "type": "number" - }, - "Transform": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "Direction", - "NullOrder", - "SourceId", - "Transform" - ], - "type": "object" - }, - "AWS::S3Tables::Table.IcebergSortOrder": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSortField" - }, - "type": "array" }, - "OrderId": { - "type": "number" - } - }, - "required": [ - "Fields" - ], - "type": "object" - }, - "AWS::S3Tables::Table.SchemaField": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Name": { - "markdownDescription": "The name of the field.", - "title": "Name", - "type": "string" + "Metadata": { + "type": "object" }, - "Required": { - "markdownDescription": "A Boolean value that specifies whether values are required for each row in this field. By default, this is `false` and null values are allowed in the field. If this is `true` the field does not allow null values.", - "title": "Required", - "type": "boolean" + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the cluster that hosts the routing control.", + "title": "ClusterArn", + "type": "string" + }, + "ControlPanelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the control panel that includes the routing control.", + "title": "ControlPanelArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the routing control. You can use any non-white space character in the name.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" }, "Type": { - "markdownDescription": "The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the [Apache Iceberg documentation](https://docs.aws.amazon.com/https://iceberg.apache.org/spec/#primitive-types) .", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::S3Tables::Table.SchemaV2Field": { - "additionalProperties": false, - "properties": { - "Doc": { + "enum": [ + "AWS::Route53RecoveryControl::RoutingControl" + ], "type": "string" }, - "Id": { - "type": "number" - }, - "Name": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "Required": { - "type": "boolean" - }, - "Type": { - "type": "object" } }, "required": [ - "Id", - "Name", - "Required", - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::S3Tables::Table.SnapshotManagement": { - "additionalProperties": false, - "properties": { - "MaxSnapshotAgeHours": { - "markdownDescription": "The maximum age of a snapshot before it can be expired.", - "title": "MaxSnapshotAgeHours", - "type": "number" - }, - "MinSnapshotsToKeep": { - "markdownDescription": "The minimum number of snapshots to keep.", - "title": "MinSnapshotsToKeep", - "type": "number" - }, - "Status": { - "markdownDescription": "The status of the maintenance configuration.", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Tables::Table.StorageClassConfiguration": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "markdownDescription": "The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.", - "title": "StorageClass", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Tables::TableBucket": { + "AWS::Route53RecoveryControl::SafetyRule": { "additionalProperties": false, "properties": { "Condition": { @@ -345989,51 +313951,50 @@ "Properties": { "additionalProperties": false, "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.EncryptionConfiguration", - "markdownDescription": "Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.", - "title": "EncryptionConfiguration" - }, - "MetricsConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.MetricsConfiguration", - "markdownDescription": "", - "title": "MetricsConfiguration" + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule", + "markdownDescription": "An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. For example, the criteria might be that at least one routing control state is `On` after the transaction so that traffic continues to flow to at least one cell for the application. This ensures that you avoid a fail-open scenario.", + "title": "AssertionRule" }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationConfiguration" + "ControlPanelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the control panel.", + "title": "ControlPanelArn", + "type": "string" }, - "StorageClassConfiguration": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.StorageClassConfiguration", - "markdownDescription": "The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.", - "title": "StorageClassConfiguration" + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule", + "markdownDescription": "A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.\n\nFor example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR` , that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control switch to be On. When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.", + "title": "GatingRule" }, - "TableBucketName": { - "markdownDescription": "The name for the table bucket.", - "title": "TableBucketName", + "Name": { + "markdownDescription": "The name of the assertion rule. The name must be unique within a control panel. You can use any non-white space character in the name except the following: & > < ' (single quote) \" (double quote) ; (semicolon)", + "title": "Name", "type": "string" }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig", + "markdownDescription": "The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be `ON` as the result of a transaction. For example, if you have three assertion controls, you might specify `ATLEAST 2` for your rule configuration. This means that at least two assertion controls must be `ON` , so that at least two AWS Regions have traffic flowing to them.", + "title": "RuleConfig" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "The tags associated with the safety rule.", "title": "Tags", "type": "array" - }, - "UnreferencedFileRemoval": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.UnreferencedFileRemoval", - "markdownDescription": "The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the [*Amazon S3 User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html) .", - "title": "UnreferencedFileRemoval" } }, "required": [ - "TableBucketName" + "ControlPanelArn", + "Name", + "RuleConfig" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::TableBucket" + "AWS::Route53RecoveryControl::SafetyRule" ], "type": "string" }, @@ -346052,112 +314013,167 @@ ], "type": "object" }, - "AWS::S3Tables::TableBucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when `sseAlgorithm` is set to `aws:kms` .", - "title": "KMSKeyArn", - "type": "string" - }, - "SSEAlgorithm": { - "markdownDescription": "The server-side encryption algorithm to use. Valid values are `AES256` for S3-managed encryption keys, or `aws:kms` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see [Permissions requirements for S3 Tables SSE-KMS encryption](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html) .", - "title": "SSEAlgorithm", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Tables::TableBucket.MetricsConfiguration": { - "additionalProperties": false, - "properties": { - "Status": { - "markdownDescription": "", - "title": "Status", - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Tables::TableBucket.ReplicationConfiguration": { + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { "additionalProperties": false, "properties": { - "Role": { - "type": "string" - }, - "Rules": { + "AssertedControls": { "items": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationRule" + "type": "string" }, + "markdownDescription": "The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three AWS Regions.", + "title": "AssertedControls", "type": "array" + }, + "WaitPeriodMs": { + "markdownDescription": "An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent flapping of state. The wait period is 5000 ms by default, but you can choose a custom value.", + "title": "WaitPeriodMs", + "type": "number" } }, "required": [ - "Role", - "Rules" - ], - "type": "object" - }, - "AWS::S3Tables::TableBucket.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "DestinationTableBucketARN": { - "type": "string" - } - }, - "required": [ - "DestinationTableBucketARN" + "AssertedControls", + "WaitPeriodMs" ], "type": "object" }, - "AWS::S3Tables::TableBucket.ReplicationRule": { + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { "additionalProperties": false, "properties": { - "Destinations": { + "GatingControls": { "items": { - "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationDestination" + "type": "string" + }, + "markdownDescription": "An array of gating routing control Amazon Resource Names (ARNs). For a simple on-off switch, specify the ARN for one routing control. The gating routing controls are evaluated by the rule configuration that you specify to determine if the target routing control states can be changed.", + "title": "GatingControls", + "type": "array" + }, + "TargetControls": { + "items": { + "type": "string" }, + "markdownDescription": "An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control. As a simple example, if you have a single gating control, it acts as an overall on-off switch for a set of target routing controls. You can use this to manually override automated failover, for example.", + "title": "TargetControls", "type": "array" + }, + "WaitPeriodMs": { + "markdownDescription": "An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent flapping of state. The wait period is 5000 ms by default, but you can choose a custom value.", + "title": "WaitPeriodMs", + "type": "number" } }, "required": [ - "Destinations" + "GatingControls", + "TargetControls", + "WaitPeriodMs" ], "type": "object" }, - "AWS::S3Tables::TableBucket.StorageClassConfiguration": { + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { "additionalProperties": false, "properties": { - "StorageClass": { - "markdownDescription": "The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.", - "title": "StorageClass", + "Inverted": { + "markdownDescription": "Logical negation of the rule. If the rule would usually evaluate true, it's evaluated as false, and vice versa.", + "title": "Inverted", + "type": "boolean" + }, + "Threshold": { + "markdownDescription": "The value of N, when you specify an `ATLEAST` rule type. That is, `Threshold` is the number of controls that must be set when you specify an `ATLEAST` type.", + "title": "Threshold", + "type": "number" + }, + "Type": { + "markdownDescription": "A rule can be one of the following: `ATLEAST` , `AND` , or `OR` .", + "title": "Type", "type": "string" } }, + "required": [ + "Inverted", + "Threshold", + "Type" + ], "type": "object" }, - "AWS::S3Tables::TableBucket.UnreferencedFileRemoval": { + "AWS::Route53RecoveryReadiness::Cell": { "additionalProperties": false, "properties": { - "NoncurrentDays": { - "markdownDescription": "The number of days an object can be noncurrent before Amazon S3 deletes it.", - "title": "NoncurrentDays", - "type": "number" + "Condition": { + "type": "string" }, - "Status": { - "markdownDescription": "The status of the unreferenced file removal configuration for your table bucket.", - "title": "Status", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CellName": { + "markdownDescription": "The name of the cell to create.", + "title": "CellName", + "type": "string" + }, + "Cells": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of cell Amazon Resource Names (ARNs) contained within this cell, for use in nested cells. For example, Availability Zones within specific AWS Regions .", + "title": "Cells", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A collection of tags associated with a resource.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::Cell" + ], "type": "string" }, - "UnreferencedDays": { - "markdownDescription": "The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.", - "title": "UnreferencedDays", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::S3Tables::TableBucketPolicy": { + "AWS::Route53RecoveryReadiness::ReadinessCheck": { "additionalProperties": false, "properties": { "Condition": { @@ -346192,26 +314208,30 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourcePolicy": { - "markdownDescription": "The bucket policy JSON for the table bucket.", - "title": "ResourcePolicy", - "type": "object" + "ReadinessCheckName": { + "markdownDescription": "The name of the readiness check to create.", + "title": "ReadinessCheckName", + "type": "string" }, - "TableBucketARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket.", - "title": "TableBucketARN", + "ResourceSetName": { + "markdownDescription": "The name of the resource set to check.", + "title": "ResourceSetName", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A collection of tags associated with a resource.", + "title": "Tags", + "type": "array" } }, - "required": [ - "ResourcePolicy", - "TableBucketARN" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::TableBucketPolicy" + "AWS::Route53RecoveryReadiness::ReadinessCheck" ], "type": "string" }, @@ -346225,12 +314245,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::S3Tables::TablePolicy": { + "AWS::Route53RecoveryReadiness::RecoveryGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -346265,26 +314284,33 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourcePolicy": { - "markdownDescription": "The `JSON` that defines the policy.", - "title": "ResourcePolicy", - "type": "object" + "Cells": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the cell Amazon Resource Names (ARNs) in the recovery group.", + "title": "Cells", + "type": "array" }, - "TableARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the table.", - "title": "TableARN", + "RecoveryGroupName": { + "markdownDescription": "The name of the recovery group to create.", + "title": "RecoveryGroupName", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A collection of tags associated with a resource.", + "title": "Tags", + "type": "array" } }, - "required": [ - "ResourcePolicy", - "TableARN" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Tables::TablePolicy" + "AWS::Route53RecoveryReadiness::RecoveryGroup" ], "type": "string" }, @@ -346298,12 +314324,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::S3Vectors::Index": { + "AWS::Route53RecoveryReadiness::ResourceSet": { "additionalProperties": false, "properties": { "Condition": { @@ -346338,63 +314363,42 @@ "Properties": { "additionalProperties": false, "properties": { - "DataType": { - "markdownDescription": "The data type of the vectors to be inserted into the vector index. Currently, only `float32` is supported, which represents 32-bit floating-point numbers.", - "title": "DataType", - "type": "string" - }, - "Dimension": { - "markdownDescription": "The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions.\n\nThe dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.", - "title": "Dimension", - "type": "number" - }, - "DistanceMetric": { - "markdownDescription": "The distance metric to be used for similarity search. Valid values are:\n\n- `cosine` - Measures the cosine of the angle between two vectors.\n- `euclidean` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.", - "title": "DistanceMetric", + "ResourceSetName": { + "markdownDescription": "The name of the resource set to create.", + "title": "ResourceSetName", "type": "string" }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3Vectors::Index.EncryptionConfiguration", - "markdownDescription": "The encryption configuration for a vector index. By default, if you don't specify, all new vectors in the vector index will use the encryption configuration of the vector bucket.", - "title": "EncryptionConfiguration" - }, - "IndexName": { - "markdownDescription": "The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket.\n\nIf you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name.\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": "IndexName", + "ResourceSetType": { + "markdownDescription": "The resource type of the resources in the resource set. Enter one of the following values for resource type:\n\nAWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage, AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm, AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume, AWS::ElasticLoadBalancing::LoadBalancer, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function, AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck, AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::Route53RecoveryReadiness::DNSTargetResource.\n\nNote that AWS::Route53RecoveryReadiness::DNSTargetResource is only used for this setting. It isn't an actual AWS CloudFormation resource type.", + "title": "ResourceSetType", "type": "string" }, - "MetadataConfiguration": { - "$ref": "#/definitions/AWS::S3Vectors::Index.MetadataConfiguration", - "markdownDescription": "The metadata configuration for the vector index.", - "title": "MetadataConfiguration" + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" + }, + "markdownDescription": "A list of resource objects in the resource set.", + "title": "Resources", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A tag to associate with the parameters for a resource set.", + "title": "Tags", "type": "array" - }, - "VectorBucketArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.", - "title": "VectorBucketArn", - "type": "string" - }, - "VectorBucketName": { - "markdownDescription": "The name of the vector bucket that contains the vector index.", - "title": "VectorBucketName", - "type": "string" } }, "required": [ - "DataType", - "Dimension", - "DistanceMetric" + "ResourceSetType", + "Resources" ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Vectors::Index" + "AWS::Route53RecoveryReadiness::ResourceSet" ], "type": "string" }, @@ -346413,127 +314417,110 @@ ], "type": "object" }, - "AWS::S3Vectors::Index.EncryptionConfiguration": { + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { "additionalProperties": false, "properties": { - "KmsKeyArn": { - "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the encryption configuration. This parameter is allowed if and only if `sseType` is set to `aws:kms` .\n\nTo specify the KMS key, you must use the format of the KMS key Amazon Resource Name (ARN).\n\nFor example, specify Key ARN in the following format: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`", - "title": "KmsKeyArn", + "DomainName": { + "markdownDescription": "The domain name that acts as an ingress point to a portion of the customer application.", + "title": "DomainName", "type": "string" }, - "SseType": { - "markdownDescription": "The server-side encryption type to use for the encryption configuration of the vector bucket. By default, if you don't specify, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically `AES256` .", - "title": "SseType", + "HostedZoneArn": { + "markdownDescription": "The hosted zone Amazon Resource Name (ARN) that contains the DNS record with the provided name of the target resource.", + "title": "HostedZoneArn", + "type": "string" + }, + "RecordSetId": { + "markdownDescription": "The Amazon Route 53 record set ID that uniquely identifies a DNS record, given a name and a type.", + "title": "RecordSetId", + "type": "string" + }, + "RecordType": { + "markdownDescription": "The type of DNS record of the target resource.", + "title": "RecordType", "type": "string" + }, + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource", + "markdownDescription": "The target resource that the Route 53 record points to.", + "title": "TargetResource" } }, "type": "object" }, - "AWS::S3Vectors::Index.MetadataConfiguration": { + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { "additionalProperties": false, "properties": { - "NonFilterableMetadataKeys": { - "items": { - "type": "string" - }, - "markdownDescription": "Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval. Unlike default metadata keys, these keys can't be used as query filters. Non-filterable metadata keys can be retrieved but can't be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors.\n\nYou can specify 1 to 10 non-filterable metadata keys. Each key must be 1 to 63 characters long.", - "title": "NonFilterableMetadataKeys", - "type": "array" + "Arn": { + "markdownDescription": "The Network Load Balancer resource Amazon Resource Name (ARN).", + "title": "Arn", + "type": "string" } }, "type": "object" }, - "AWS::S3Vectors::VectorBucket": { + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { "additionalProperties": false, "properties": { - "Condition": { + "DomainName": { + "markdownDescription": "The DNS target domain name.", + "title": "DomainName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "RecordSetId": { + "markdownDescription": "The Amazon Route 53 Resource Record Set ID.", + "title": "RecordSetId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { + "additionalProperties": false, + "properties": { + "ComponentId": { + "markdownDescription": "The component identifier of the resource, generated when DNS target resource is used.", + "title": "ComponentId", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource", + "markdownDescription": "A component for DNS/routing control readiness checks. This is a required setting when `ResourceSet` `ResourceSetType` is set to `AWS::Route53RecoveryReadiness::DNSTargetResource` . Do not set it for any other `ResourceSetType` setting.", + "title": "DnsTargetResource" }, - "Properties": { - "additionalProperties": false, - "properties": { - "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" - } + "ReadinessScopes": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Vectors::VectorBucket" - ], - "type": "string" + "markdownDescription": "The recovery group Amazon Resource Name (ARN) or the cell ARN that the readiness checks for this resource set are scoped to.", + "title": "ReadinessScopes", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS resource. This is a required setting for all `ResourceSet` `ResourceSetType` settings except `AWS::Route53RecoveryReadiness::DNSTargetResource` . Do not set this when `ResourceSetType` is set to `AWS::Route53RecoveryReadiness::DNSTargetResource` .", + "title": "ResourceArn", "type": "string" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::S3Vectors::VectorBucket.EncryptionConfiguration": { + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { "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" + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource", + "markdownDescription": "The Network Load Balancer resource that a DNS target resource points to.", + "title": "NLBResource" }, - "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" + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord", + "markdownDescription": "The Route 53 resource that a DNS target resource record points to.", + "title": "R53Resource" } }, "type": "object" }, - "AWS::S3Vectors::VectorBucketPolicy": { + "AWS::Route53Resolver::FirewallDomainList": { "additionalProperties": false, "properties": { "Condition": { @@ -346568,30 +314555,38 @@ "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", + "DomainFileUrl": { + "markdownDescription": "The fully qualified URL or URI of the file stored in Amazon Simple Storage Service (Amazon S3) that contains the list of domains to import.\n\nThe file must be in an S3 bucket that's in the same Region as your DNS Firewall. The file must be a text file and must contain a single domain per line.", + "title": "DomainFileUrl", "type": "string" }, - "VectorBucketName": { - "markdownDescription": "The name of the S3 vector bucket to which the policy applies.", - "title": "VectorBucketName", + "Domains": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the domain lists that you have defined.", + "title": "Domains", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the domain list.", + "title": "Name", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of the tag keys and values that you want to associate with the domain list.", + "title": "Tags", + "type": "array" } }, - "required": [ - "Policy" - ], "type": "object" }, "Type": { "enum": [ - "AWS::S3Vectors::VectorBucketPolicy" + "AWS::Route53Resolver::FirewallDomainList" ], "type": "string" }, @@ -346605,12 +314600,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SCN::Dataset": { + "AWS::Route53Resolver::FirewallRuleGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -346645,41 +314639,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" - }, - "InstanceId": { - "type": "string" + "FirewallRules": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" + }, + "markdownDescription": "A list of the rules that you have defined.", + "title": "FirewallRules", + "type": "array" }, "Name": { + "markdownDescription": "The name of the rule group.", + "title": "Name", "type": "string" }, - "Namespace": { - "type": "string" - }, - "PartitionSpec": { - "$ref": "#/definitions/AWS::SCN::Dataset.PartitionSpec" - }, - "Schema": { - "$ref": "#/definitions/AWS::SCN::Dataset.Schema" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of the tag keys and values that you want to associate with the rule group.", + "title": "Tags", "type": "array" } }, - "required": [ - "InstanceId", - "Name", - "Namespace" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SCN::Dataset" + "AWS::Route53Resolver::FirewallRuleGroup" ], "type": "string" }, @@ -346693,112 +314679,120 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SCN::Dataset.DataLakeDatasetPartitionField": { + "AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedContentCategoryConfig": { "additionalProperties": false, "properties": { - "Name": { + "Category": { "type": "string" - }, - "Transform": { - "$ref": "#/definitions/AWS::SCN::Dataset.Transform" } }, "required": [ - "Name", - "Transform" + "Category" ], "type": "object" }, - "AWS::SCN::Dataset.DataLakeDatasetPrimaryKeyField": { + "AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedThreatCategoryConfig": { "additionalProperties": false, "properties": { - "Name": { + "Category": { "type": "string" } }, "required": [ - "Name" + "Category" ], "type": "object" }, - "AWS::SCN::Dataset.DataLakeDatasetSchemaField": { + "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { "additionalProperties": false, "properties": { - "IsRequired": { - "type": "boolean" + "Action": { + "markdownDescription": "The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advvanced rule:\n\n- `ALLOW` - Permit the request to go through. Not available for DNS Firewall Advanced rules.\n- `ALERT` - Permit the request to go through but send an alert to the logs.\n- `BLOCK` - Disallow the request. If this is specified,then `BlockResponse` must also be specified.\n\nif `BlockResponse` is `OVERRIDE` , then all of the following `OVERRIDE` attributes must be specified:\n\n- `BlockOverrideDnsType`\n- `BlockOverrideDomain`\n- `BlockOverrideTtl`", + "title": "Action", + "type": "string" }, - "Name": { + "BlockOverrideDnsType": { + "markdownDescription": "The DNS record's type. This determines the format of the record value that you provided in `BlockOverrideDomain` . Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", + "title": "BlockOverrideDnsType", "type": "string" }, - "Type": { + "BlockOverrideDomain": { + "markdownDescription": "The custom DNS record to send back in response to the query. Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", + "title": "BlockOverrideDomain", "type": "string" - } - }, - "required": [ - "IsRequired", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::SCN::Dataset.PartitionSpec": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::SCN::Dataset.DataLakeDatasetPartitionField" - }, - "type": "array" - } - }, - "required": [ - "Fields" - ], - "type": "object" - }, - "AWS::SCN::Dataset.Schema": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::SCN::Dataset.DataLakeDatasetSchemaField" - }, - "type": "array" }, - "Name": { + "BlockOverrideTtl": { + "markdownDescription": "The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action `BLOCK` with a `BlockResponse` setting of `OVERRIDE` .", + "title": "BlockOverrideTtl", + "type": "number" + }, + "BlockResponse": { + "markdownDescription": "The way that you want DNS Firewall to block the request. Used for the rule action setting `BLOCK` .\n\n- `NODATA` - Respond indicating that the query was successful, but no response is available for it.\n- `NXDOMAIN` - Respond indicating that the domain name that's in the query doesn't exist.\n- `OVERRIDE` - Provide a custom override in the response. This option requires custom handling details in the rule's `BlockOverride*` settings.", + "title": "BlockResponse", "type": "string" }, - "PrimaryKeys": { - "items": { - "$ref": "#/definitions/AWS::SCN::Dataset.DataLakeDatasetPrimaryKeyField" - }, - "type": "array" + "ConfidenceThreshold": { + "markdownDescription": "The confidence threshold for DNS Firewall Advanced. You must provide this value when you create a DNS Firewall Advanced rule. The confidence level values mean:\n\n- `LOW` : Provides the highest detection rate for threats, but also increases false positives.\n- `MEDIUM` : Provides a balance between detecting threats and false positives.\n- `HIGH` : Detects only the most well corroborated threats with a low rate of false positives.", + "title": "ConfidenceThreshold", + "type": "string" + }, + "DnsThreatProtection": { + "markdownDescription": "The type of the DNS Firewall Advanced rule. Valid values are:\n\n- `DGA` : Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains to to launch malware attacks.\n- `DNS_TUNNELING` : DNS tunneling detection. DNS tunneling is used by attackers to exfiltrate data from the client by using the DNS tunnel without making a network connection to the client.", + "title": "DnsThreatProtection", + "type": "string" + }, + "FirewallDomainListId": { + "markdownDescription": "The ID of the domain list that's used in the rule.", + "title": "FirewallDomainListId", + "type": "string" + }, + "FirewallDomainRedirectionAction": { + "markdownDescription": "How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME, or DNAME.\n\n`Inspect_Redirection_Domain` (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.\n\n`Trust_Redirection_Domain` inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.", + "title": "FirewallDomainRedirectionAction", + "type": "string" + }, + "FirewallRuleType": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRuleType" + }, + "FirewallThreatProtectionId": { + "markdownDescription": "ID of the DNS Firewall Advanced rule.", + "title": "FirewallThreatProtectionId", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority of the rule in the rule group. This value must be unique within the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.", + "title": "Priority", + "type": "number" + }, + "Qtype": { + "markdownDescription": "The DNS query type you want the rule to evaluate. Allowed values are;\n\n- A: Returns an IPv4 address.\n- AAAA: Returns an Ipv6 address.\n- CAA: Restricts CAs that can create SSL/TLS certifications for the domain.\n- CNAME: Returns another domain name.\n- DS: Record that identifies the DNSSEC signing key of a delegated zone.\n- MX: Specifies mail servers.\n- NAPTR: Regular-expression-based rewriting of domain names.\n- NS: Authoritative name servers.\n- PTR: Maps an IP address to a domain name.\n- SOA: Start of authority record for the zone.\n- SPF: Lists the servers authorized to send emails from a domain.\n- SRV: Application specific values that identify servers.\n- TXT: Verifies email senders and application-specific values.\n- A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPE NUMBER , where the NUMBER can be 1-65334, for example, TYPE28. For more information, see [List of DNS record types](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/List_of_DNS_record_types) .", + "title": "Qtype", + "type": "string" } }, "required": [ - "Fields", - "Name" + "Action", + "Priority" ], "type": "object" }, - "AWS::SCN::Dataset.Transform": { + "AWS::Route53Resolver::FirewallRuleGroup.FirewallRuleType": { "additionalProperties": false, "properties": { - "Type": { - "type": "string" + "FirewallAdvancedContentCategory": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedContentCategoryConfig" + }, + "FirewallAdvancedThreatCategory": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallAdvancedThreatCategoryConfig" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::SCN::Namespace": { + "AWS::Route53Resolver::FirewallRuleGroupAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -346833,31 +314827,50 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "FirewallRuleGroupId": { + "markdownDescription": "The unique identifier of the firewall rule group.", + "title": "FirewallRuleGroupId", "type": "string" }, - "InstanceId": { + "MutationProtection": { + "markdownDescription": "If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.", + "title": "MutationProtection", "type": "string" }, "Name": { + "markdownDescription": "The name of the association.", + "title": "Name", "type": "string" }, + "Priority": { + "markdownDescription": "The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC. DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.\n\nYou must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 101, 200, and so on. You can change the priority setting for a rule group association after you create it.\n\nThe allowed values for `Priority` are between 100 and 9900 (excluding 100 and 9900).", + "title": "Priority", + "type": "number" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of the tag keys and values that you want to associate with the rule group.", + "title": "Tags", "type": "array" + }, + "VpcId": { + "markdownDescription": "The unique identifier of the VPC that is associated with the rule group.", + "title": "VpcId", + "type": "string" } }, "required": [ - "InstanceId", - "Name" + "FirewallRuleGroupId", + "Priority", + "VpcId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SCN::Namespace" + "AWS::Route53Resolver::FirewallRuleGroupAssociation" ], "type": "string" }, @@ -346876,7 +314889,7 @@ ], "type": "object" }, - "AWS::SDB::Domain": { + "AWS::Route53Resolver::OutpostResolver": { "additionalProperties": false, "properties": { "Condition": { @@ -346911,17 +314924,45 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "Information about the SimpleDB domain.", - "title": "Description", + "InstanceCount": { + "markdownDescription": "Amazon EC2 instance count for the Resolver on the Outpost.", + "title": "InstanceCount", + "type": "number" + }, + "Name": { + "markdownDescription": "Name of the Resolver.", + "title": "Name", + "type": "string" + }, + "OutpostArn": { + "markdownDescription": "The ARN (Amazon Resource Name) for the Outpost.", + "title": "OutpostArn", + "type": "string" + }, + "PreferredInstanceType": { + "markdownDescription": "The Amazon EC2 instance type. If you specify this, you must also specify a value for the `OutpostArn` .", + "title": "PreferredInstanceType", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A key value pair that helps you identify a Route\u00a053 Resolver .", + "title": "Tags", + "type": "array" } }, + "required": [ + "Name", + "OutpostArn", + "PreferredInstanceType" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SDB::Domain" + "AWS::Route53Resolver::OutpostResolver" ], "type": "string" }, @@ -346935,11 +314976,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSet": { + "AWS::Route53Resolver::ResolverConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -346974,58 +315016,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ArchivingOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.ArchivingOptions" - }, - "DeliveryOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.DeliveryOptions", - "markdownDescription": "Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).", - "title": "DeliveryOptions" - }, - "Name": { - "markdownDescription": "The name of the configuration set. The name must meet the following requirements:\n\n- Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Contain 64 characters or fewer.", - "title": "Name", + "AutodefinedReverseFlag": { + "markdownDescription": "Represents the desired status of `AutodefinedReverse` . The only supported value on creation is `DISABLE` . Deletion of this resource will return `AutodefinedReverse` to its default value of `ENABLED` .", + "title": "AutodefinedReverseFlag", "type": "string" }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.ReputationOptions", - "markdownDescription": "An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.", - "title": "ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.SendingOptions", - "markdownDescription": "An object that defines whether or not Amazon SES can send email that you send using the configuration set.", - "title": "SendingOptions" - }, - "SuppressionOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.SuppressionOptions", - "markdownDescription": "An object that contains information about the suppression list preferences for your account.", - "title": "SuppressionOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of objects that define the tags (keys and values) that are associated with the configuration set.", - "title": "Tags", - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.TrackingOptions", - "markdownDescription": "An object that defines the open and click tracking options for emails that you send using the configuration set.", - "title": "TrackingOptions" - }, - "VdmOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.VdmOptions", - "markdownDescription": "The Virtual Deliverability Manager (VDM) options that apply to the configuration set.", - "title": "VdmOptions" + "ResourceId": { + "markdownDescription": "The ID of the Amazon Virtual Private Cloud VPC or a Route 53 Profile that you're configuring Resolver for.", + "title": "ResourceId", + "type": "string" } }, + "required": [ + "AutodefinedReverseFlag", + "ResourceId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ConfigurationSet" + "AWS::Route53Resolver::ResolverConfig" ], "type": "string" }, @@ -347039,179 +315049,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet.ArchivingOptions": { - "additionalProperties": false, - "properties": { - "ArchiveArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.ConditionThreshold": { - "additionalProperties": false, - "properties": { - "ConditionThresholdEnabled": { - "type": "string" - }, - "OverallConfidenceThreshold": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.OverallConfidenceThreshold" - } - }, - "required": [ - "ConditionThresholdEnabled" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet.DashboardOptions": { - "additionalProperties": false, - "properties": { - "EngagementMetrics": { - "markdownDescription": "Specifies the status of your VDM engagement metrics collection. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables engagement metrics for the configuration set.\n- `DISABLED` \u2013 Amazon SES disables engagement metrics for the configuration set.", - "title": "EngagementMetrics", - "type": "string" - } - }, - "required": [ - "EngagementMetrics" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet.DeliveryOptions": { - "additionalProperties": false, - "properties": { - "MaxDeliverySeconds": { - "markdownDescription": "The name of the configuration set used when sent through a configuration set with archiving enabled.", - "title": "MaxDeliverySeconds", - "type": "number" - }, - "SendingPoolName": { - "markdownDescription": "The name of the dedicated IP pool to associate with the configuration set.", - "title": "SendingPoolName", - "type": "string" - }, - "TlsPolicy": { - "markdownDescription": "Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is `REQUIRE` , messages are only delivered if a TLS connection can be established. If the value is `OPTIONAL` , messages can be delivered in plain text if a TLS connection can't be established.\n\nValid Values: `REQUIRE | OPTIONAL`", - "title": "TlsPolicy", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.GuardianOptions": { - "additionalProperties": false, - "properties": { - "OptimizedSharedDelivery": { - "markdownDescription": "Specifies the status of your VDM optimized shared delivery. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables optimized shared delivery for the configuration set.\n- `DISABLED` \u2013 Amazon SES disables optimized shared delivery for the configuration set.", - "title": "OptimizedSharedDelivery", - "type": "string" - } - }, - "required": [ - "OptimizedSharedDelivery" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet.OverallConfidenceThreshold": { - "additionalProperties": false, - "properties": { - "ConfidenceVerdictThreshold": { - "type": "string" - } - }, - "required": [ - "ConfidenceVerdictThreshold" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet.ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "markdownDescription": "If `true` , tracking of reputation metrics is enabled for the configuration set. If `false` , tracking of reputation metrics is disabled for the configuration set.", - "title": "ReputationMetricsEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "markdownDescription": "If `true` , email sending is enabled for the configuration set. If `false` , email sending is disabled for the configuration set.", - "title": "SendingEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.SuppressionOptions": { - "additionalProperties": false, - "properties": { - "SuppressedReasons": { - "items": { - "type": "string" - }, - "markdownDescription": "A list that contains the reasons that email addresses are automatically added to the suppression list for your account. This list can contain any or all of the following:\n\n- `COMPLAINT` \u2013 Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint.\n- `BOUNCE` \u2013 Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce.", - "title": "SuppressedReasons", - "type": "array" - }, - "ValidationOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.ValidationOptions" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "markdownDescription": "The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.", - "title": "CustomRedirectDomain", - "type": "string" - }, - "HttpsPolicy": { - "markdownDescription": "The name of the configuration set used when sent through a configuration set with archiving enabled.", - "title": "HttpsPolicy", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSet.ValidationOptions": { - "additionalProperties": false, - "properties": { - "ConditionThreshold": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.ConditionThreshold" - } - }, - "required": [ - "ConditionThreshold" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ConfigurationSet.VdmOptions": { - "additionalProperties": false, - "properties": { - "DashboardOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.DashboardOptions", - "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Dashboard.", - "title": "DashboardOptions" - }, - "GuardianOptions": { - "$ref": "#/definitions/AWS::SES::ConfigurationSet.GuardianOptions", - "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Guardian.", - "title": "GuardianOptions" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination": { + "AWS::Route53Resolver::ResolverDNSSECConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -347246,26 +315089,17 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationSetName": { - "markdownDescription": "The name of the configuration set that contains the event destination.", - "title": "ConfigurationSetName", + "ResourceId": { + "markdownDescription": "The ID of the virtual private cloud (VPC) that you're configuring the DNSSEC validation status for.", + "title": "ResourceId", "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination", - "markdownDescription": "An object that defines the event destination.", - "title": "EventDestination" } }, - "required": [ - "ConfigurationSetName", - "EventDestination" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ConfigurationSetEventDestination" + "AWS::Route53Resolver::ResolverDNSSECConfig" ], "type": "string" }, @@ -347279,147 +315113,11 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "markdownDescription": "An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch.", - "title": "DimensionConfigurations", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "markdownDescription": "The default value of the dimension that is published to Amazon CloudWatch if you don't provide the value of the dimension when you send an email. This value has to meet the following criteria:\n\n- Can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-), at signs (@), and periods (.).\n- It can contain no more than 256 characters.", - "title": "DefaultDimensionValue", - "type": "string" - }, - "DimensionName": { - "markdownDescription": "The name of an Amazon CloudWatch dimension associated with an email sending metric. The name has to meet the following criteria:\n\n- It can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-).\n- It can contain no more than 256 characters.", - "title": "DimensionName", - "type": "string" - }, - "DimensionValueSource": { - "markdownDescription": "The location where the Amazon SES API v2 finds the value of a dimension to publish to Amazon CloudWatch. To use the message tags that you specify using an `X-SES-MESSAGE-TAGS` header or a parameter to the `SendEmail` or `SendRawEmail` API, choose `messageTag` . To use your own email headers, choose `emailHeader` . To use link tags, choose `linkTag` .", - "title": "DimensionValueSource", - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.EventBridgeDestination": { - "additionalProperties": false, - "properties": { - "EventBusArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported.", - "title": "EventBusArn", - "type": "string" - } - }, - "required": [ - "EventBusArn" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination", - "markdownDescription": "An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.", - "title": "CloudWatchDestination" - }, - "Enabled": { - "markdownDescription": "If `true` , the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this `EventDestinationDefinition` .\n\nIf `false` , the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.", - "title": "Enabled", - "type": "boolean" - }, - "EventBridgeDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventBridgeDestination", - "markdownDescription": "An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to send notifications when certain email events occur.", - "title": "EventBridgeDestination" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination", - "markdownDescription": "An object that contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.", - "title": "KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The types of events that Amazon SES sends to the specified event destinations.\n\n- `SEND` - The send request was successful and SES will attempt to deliver the message to the recipient\u2019s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.)\n- `REJECT` - SES accepted the email, but determined that it contained a virus and didn\u2019t attempt to deliver it to the recipient\u2019s mail server.\n- `BOUNCE` - ( *Hard bounce* ) The recipient's mail server permanently rejected the email. ( *Soft bounces* are only included when SES fails to deliver the email after retrying for a period of time.)\n- `COMPLAINT` - The email was successfully delivered to the recipient\u2019s mail server, but the recipient marked it as spam.\n- `DELIVERY` - SES successfully delivered the email to the recipient's mail server.\n- `OPEN` - The recipient received the message and opened it in their email client.\n- `CLICK` - The recipient clicked one or more links in the email.\n- `RENDERING_FAILURE` - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the [`SendEmail`](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html) or [`SendBulkEmail`](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendBulkEmail.html) API operations.)\n- `DELIVERY_DELAY` - The email couldn't be delivered to the recipient\u2019s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.\n- `SUBSCRIPTION` - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an *unsubscribe* link as part of your [subscription management](https://docs.aws.amazon.com/ses/latest/dg/sending-email-subscription-management.html) .", - "title": "MatchingEventTypes", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the event destination. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Contain 64 characters or fewer.", - "title": "Name", - "type": "string" - }, - "SnsDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.SnsDestination", - "markdownDescription": "An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.", - "title": "SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "markdownDescription": "The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to.", - "title": "DeliveryStreamARN", - "type": "string" - }, - "IAMRoleARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that the Amazon SES API v2 uses to send email events to the Amazon Kinesis Data Firehose stream.", - "title": "IAMRoleARN", - "type": "string" - } - }, - "required": [ - "DeliveryStreamARN", - "IAMRoleARN" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicARN": { - "markdownDescription": "The ARN of the Amazon SNS topic for email sending events. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) Amazon SNS operation.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicARN", - "type": "string" - } - }, - "required": [ - "TopicARN" + "Type" ], "type": "object" }, - "AWS::SES::ContactList": { + "AWS::Route53Resolver::ResolverEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -347454,38 +315152,90 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactListName": { - "markdownDescription": "The name of the contact list.", - "title": "ContactListName", + "Direction": { + "markdownDescription": "Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:\n\n- `INBOUND` : allows DNS queries to your VPC from your network\n- `OUTBOUND` : allows DNS queries from your VPC to your network\n- `INBOUND_DELEGATION` : Resolver delegates queries to Route 53 private hosted zones from your network.", + "title": "Direction", "type": "string" }, - "Description": { - "markdownDescription": "A description of what the contact list is about.", - "title": "Description", + "Dns64Enabled": { + "type": "boolean" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "markdownDescription": "The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.\n\n> Even though the minimum is 1, Route\u00a053 requires that you create at least two.", + "title": "IpAddresses", + "type": "array" + }, + "Ipv6InternetAccessEnabled": { + "type": "boolean" + }, + "Name": { + "markdownDescription": "A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.", + "title": "Name", "type": "string" }, - "Tags": { + "OutpostArn": { + "markdownDescription": "The ARN (Amazon Resource Name) for the Outpost.", + "title": "OutpostArn", + "type": "string" + }, + "PreferredInstanceType": { + "markdownDescription": "The Amazon EC2 instance type.", + "title": "PreferredInstanceType", + "type": "string" + }, + "Protocols": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "The tags associated with a contact list.", - "title": "Tags", + "markdownDescription": "Protocols used for the endpoint. DoH-FIPS is applicable for a default inbound endpoints only.\n\nFor an inbound endpoint you can apply the protocols as follows:\n\n- Do53 and DoH in combination.\n- Do53 and DoH-FIPS in combination.\n- Do53 alone.\n- DoH alone.\n- DoH-FIPS alone.\n- None, which is treated as Do53.\n\nFor a delegation inbound endpoint you can use Do53 only.\n\nFor an outbound endpoint you can apply the protocols as follows:\n\n- Do53 and DoH in combination.\n- Do53 alone.\n- DoH alone.\n- None, which is treated as Do53.", + "title": "Protocols", "type": "array" }, - "Topics": { + "ResolverEndpointType": { + "markdownDescription": "The Resolver endpoint IP address type.", + "title": "ResolverEndpointType", + "type": "string" + }, + "RniEnhancedMetricsEnabled": { + "markdownDescription": "Indicates whether RNI enhanced metrics are enabled for the Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When disabled, these metrics are not published.", + "title": "RniEnhancedMetricsEnabled", + "type": "boolean" + }, + "SecurityGroupIds": { "items": { - "$ref": "#/definitions/AWS::SES::ContactList.Topic" + "type": "string" }, - "markdownDescription": "An interest group, theme, or label within a list. A contact list can have multiple topics.", - "title": "Topics", + "markdownDescription": "The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.", + "title": "SecurityGroupIds", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Route 53 Resolver doesn't support updating tags through CloudFormation.", + "title": "Tags", "type": "array" + }, + "TargetNameServerMetricsEnabled": { + "markdownDescription": "Indicates whether target name server metrics are enabled for the outbound Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When disabled, these metrics are not published. This feature is not supported for inbound Resolver endpoint.", + "title": "TargetNameServerMetricsEnabled", + "type": "boolean" } }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ContactList" + "AWS::Route53Resolver::ResolverEndpoint" ], "type": "string" }, @@ -347499,42 +315249,36 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::ContactList.Topic": { + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { "additionalProperties": false, "properties": { - "DefaultSubscriptionStatus": { - "markdownDescription": "The default subscription status to be applied to a contact if the contact has not noted their preference for subscribing to a topic.", - "title": "DefaultSubscriptionStatus", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of what the topic is about, which the contact will see.", - "title": "Description", + "Ip": { + "markdownDescription": "The IPv4 address that you want to use for DNS queries.", + "title": "Ip", "type": "string" }, - "DisplayName": { - "markdownDescription": "The name of the topic the contact will see.", - "title": "DisplayName", + "Ipv6": { + "markdownDescription": "The IPv6 address that you want to use for DNS queries.", + "title": "Ipv6", "type": "string" }, - "TopicName": { - "markdownDescription": "The name of the topic.", - "title": "TopicName", + "SubnetId": { + "markdownDescription": "The ID of the subnet that contains the IP address.", + "title": "SubnetId", "type": "string" } }, "required": [ - "DefaultSubscriptionStatus", - "DisplayName", - "TopicName" + "SubnetId" ], "type": "object" }, - "AWS::SES::CustomVerificationEmailTemplate": { + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -347569,44 +315313,30 @@ "Properties": { "additionalProperties": false, "properties": { - "FailureRedirectionURL": { - "type": "string" - }, - "FromEmailAddress": { + "DestinationArn": { + "markdownDescription": "The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.", + "title": "DestinationArn", "type": "string" }, - "SuccessRedirectionURL": { + "Name": { + "markdownDescription": "The name of the query logging configuration.", + "title": "Name", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "", + "title": "Tags", "type": "array" - }, - "TemplateContent": { - "type": "string" - }, - "TemplateName": { - "type": "string" - }, - "TemplateSubject": { - "type": "string" } }, - "required": [ - "FailureRedirectionURL", - "FromEmailAddress", - "SuccessRedirectionURL", - "TemplateContent", - "TemplateName", - "TemplateSubject" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::CustomVerificationEmailTemplate" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "type": "string" }, @@ -347620,12 +315350,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SES::DedicatedIpPool": { + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -347660,30 +315389,22 @@ "Properties": { "additionalProperties": false, "properties": { - "PoolName": { - "markdownDescription": "The name of the dedicated IP pool that the IP address is associated with.", - "title": "PoolName", + "ResolverQueryLogConfigId": { + "markdownDescription": "The ID of the query logging configuration that a VPC is associated with.", + "title": "ResolverQueryLogConfigId", "type": "string" }, - "ScalingMode": { - "markdownDescription": "The type of scaling mode.\n\nThe following options are available:\n\n- `STANDARD` - The customer controls which IPs are part of the dedicated IP pool.\n- `MANAGED` - The reputation and number of IPs are automatically managed by Amazon SES .\n\nThe `STANDARD` option is selected by default if no value is specified.\n\n> Updating *ScalingMode* doesn't require a replacement if you're updating its value from `STANDARD` to `MANAGED` . However, updating *ScalingMode* from `MANAGED` to `STANDARD` is not supported.", - "title": "ScalingMode", + "ResourceId": { + "markdownDescription": "The ID of the Amazon VPC that is associated with the query logging configuration.", + "title": "ResourceId", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An object that defines the tags (keys and values) that you want to associate with the pool.", - "title": "Tags", - "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SES::DedicatedIpPool" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "type": "string" }, @@ -347701,7 +315422,7 @@ ], "type": "object" }, - "AWS::SES::EmailIdentity": { + "AWS::Route53Resolver::ResolverRule": { "additionalProperties": false, "properties": { "Condition": { @@ -347736,53 +315457,56 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationSetAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.ConfigurationSetAttributes", - "markdownDescription": "Used to associate a configuration set with an email identity.", - "title": "ConfigurationSetAttributes" - }, - "DkimAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.DkimAttributes", - "markdownDescription": "An object that contains information about the DKIM attributes for the identity.", - "title": "DkimAttributes" + "DelegationRecord": { + "markdownDescription": "DNS queries with delegation records that point to this domain name are forwarded to resolvers on your network.", + "title": "DelegationRecord", + "type": "string" }, - "DkimSigningAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.DkimSigningAttributes", - "markdownDescription": "If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for [Easy DKIM](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html) .\n\nYou can only specify this object if the email identity is a domain, as opposed to an address.", - "title": "DkimSigningAttributes" + "DomainName": { + "markdownDescription": "DNS queries for this domain name are forwarded to the IP addresses that are specified in `TargetIps` . If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).", + "title": "DomainName", + "type": "string" }, - "EmailIdentity": { - "markdownDescription": "The email address or domain to verify.", - "title": "EmailIdentity", + "Name": { + "markdownDescription": "The name for the Resolver rule, which you specified when you created the Resolver rule.\n\nThe name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.", + "title": "Name", "type": "string" }, - "FeedbackAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.FeedbackAttributes", - "markdownDescription": "Used to enable or disable feedback forwarding for an identity.", - "title": "FeedbackAttributes" + "ResolverEndpointId": { + "markdownDescription": "The ID of the endpoint that the rule is associated with.", + "title": "ResolverEndpointId", + "type": "string" }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::SES::EmailIdentity.MailFromAttributes", - "markdownDescription": "Used to enable or disable the custom Mail-From domain configuration for an email identity.", - "title": "MailFromAttributes" + "RuleType": { + "markdownDescription": "When you want to forward DNS queries for specified domain name to resolvers on your network, specify `FORWARD` or `DELEGATE` . If a query matches multiple Resolver rules (example.com and www.example.com), outbound DNS queries are routed using the Resolver rule that contains the most specific domain name (www.example.com).\n\nWhen you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify `SYSTEM` .\n\nFor example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify `FORWARD` for `RuleType` . To then have Resolver process queries for apex.example.com, you create a rule and specify `SYSTEM` for `RuleType` .\n\nCurrently, only Resolver can create rules that have a value of `RECURSIVE` for `RuleType` .", + "title": "RuleType", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of objects that define the tags (keys and values) to associate with the email identity.", + "markdownDescription": "Tags help organize and categorize your Resolver rules. Each tag consists of a key and an optional value, both of which you define.", "title": "Tags", "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "markdownDescription": "An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network.", + "title": "TargetIps", + "type": "array" } }, "required": [ - "EmailIdentity" + "RuleType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::EmailIdentity" + "AWS::Route53Resolver::ResolverRule" ], "type": "string" }, @@ -347801,77 +315525,38 @@ ], "type": "object" }, - "AWS::SES::EmailIdentity.ConfigurationSetAttributes": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "markdownDescription": "The configuration set to associate with an email identity.", - "title": "ConfigurationSetName", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::EmailIdentity.DkimAttributes": { - "additionalProperties": false, - "properties": { - "SigningEnabled": { - "markdownDescription": "Sets the DKIM signing configuration for the identity.\n\nWhen you set this value `true` , then the messages that are sent from the identity are signed using DKIM. If you set this value to `false` , your messages are sent without DKIM signing.", - "title": "SigningEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SES::EmailIdentity.DkimSigningAttributes": { + "AWS::Route53Resolver::ResolverRule.TargetAddress": { "additionalProperties": false, "properties": { - "DomainSigningPrivateKey": { - "markdownDescription": "[Bring Your Own DKIM] A private key that's used to generate a DKIM signature.\n\nThe private key must use 1024 or 2048-bit RSA encryption, and must be encoded using base64 encoding.\n\n> Rather than embedding sensitive information directly in your CFN templates, we recommend you use dynamic parameters in the stack template to reference sensitive information that is stored and managed outside of CFN, such as in the AWS Systems Manager Parameter Store or AWS Secrets Manager.\n> \n> For more information, see the [Do not embed credentials in your templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html#creds) best practice.", - "title": "DomainSigningPrivateKey", + "Ip": { + "markdownDescription": "One IPv4 address that you want to forward DNS queries to.", + "title": "Ip", "type": "string" }, - "DomainSigningSelector": { - "markdownDescription": "[Bring Your Own DKIM] A string that's used to identify a public key in the DNS configuration for a domain.", - "title": "DomainSigningSelector", + "Ipv6": { + "markdownDescription": "One IPv6 address that you want to forward DNS queries to.", + "title": "Ipv6", "type": "string" }, - "NextSigningKeyLength": { - "markdownDescription": "[Easy DKIM] The key length of the future DKIM key pair to be generated. This can be changed at most once per day.\n\nValid Values: `RSA_1024_BIT | RSA_2048_BIT`", - "title": "NextSigningKeyLength", + "Port": { + "markdownDescription": "The port at `Ip` that you want to forward DNS queries to.", + "title": "Port", "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::EmailIdentity.FeedbackAttributes": { - "additionalProperties": false, - "properties": { - "EmailForwardingEnabled": { - "markdownDescription": "Sets the feedback forwarding configuration for the identity.\n\nIf the value is `true` , you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the `Return-Path` header of the original email.\n\nYou're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).", - "title": "EmailForwardingEnabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SES::EmailIdentity.MailFromAttributes": { - "additionalProperties": false, - "properties": { - "BehaviorOnMxFailure": { - "markdownDescription": "The action to take if the required MX record isn't found when you send an email. When you set this value to `USE_DEFAULT_VALUE` , the mail is sent using *amazonses.com* as the MAIL FROM domain. When you set this value to `REJECT_MESSAGE` , the Amazon SES API v2 returns a `MailFromDomainNotVerified` error, and doesn't attempt to deliver the email.\n\nThese behaviors are taken when the custom MAIL FROM domain configuration is in the `Pending` , `Failed` , and `TemporaryFailure` states.\n\nValid Values: `USE_DEFAULT_VALUE | REJECT_MESSAGE`", - "title": "BehaviorOnMxFailure", + }, + "Protocol": { + "markdownDescription": "The protocols for the target address. The protocol you choose needs to be supported by the outbound endpoint of the Resolver rule.", + "title": "Protocol", "type": "string" }, - "MailFromDomain": { - "markdownDescription": "The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must meet the following criteria:\n\n- It has to be a subdomain of the verified identity.\n- It can't be used to receive email.\n- It can't be used in a \"From\" address if the MAIL FROM domain is a destination for feedback forwarding emails.", - "title": "MailFromDomain", + "ServerNameIndication": { + "markdownDescription": "The Server Name Indication of the DoH server that you want to forward queries to. This is only used if the Protocol of the `TargetAddress` is `DoH` .", + "title": "ServerNameIndication", "type": "string" } }, "type": "object" }, - "AWS::SES::MailManagerAddonInstance": { + "AWS::Route53Resolver::ResolverRuleAssociation": { "additionalProperties": false, "properties": { "Condition": { @@ -347906,28 +315591,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AddonSubscriptionId": { - "markdownDescription": "The subscription ID for the instance.", - "title": "AddonSubscriptionId", + "Name": { + "markdownDescription": "The name of an association between a Resolver rule and a VPC.\n\nThe name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.", + "title": "Name", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" + "ResolverRuleId": { + "markdownDescription": "The ID of the Resolver rule that you associated with the VPC that is specified by `VPCId` .", + "title": "ResolverRuleId", + "type": "string" + }, + "VPCId": { + "markdownDescription": "The ID of the VPC that you associated the Resolver rule with.", + "title": "VPCId", + "type": "string" } }, "required": [ - "AddonSubscriptionId" + "ResolverRuleId", + "VPCId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerAddonInstance" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "type": "string" }, @@ -347946,7 +315634,7 @@ ], "type": "object" }, - "AWS::SES::MailManagerAddonSubscription": { + "AWS::S3::AccessGrant": { "additionalProperties": false, "properties": { "Condition": { @@ -347981,28 +315669,55 @@ "Properties": { "additionalProperties": false, "properties": { - "AddonName": { - "markdownDescription": "The name of the Add On to subscribe to. You can only have one subscription for each Add On name.\n\nValid Values: `TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE | VADE_ADVANCED_EMAIL_SECURITY`", - "title": "AddonName", + "AccessGrantsLocationConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessGrant.AccessGrantsLocationConfiguration", + "markdownDescription": "The configuration options of the grant location. The grant location is the S3 path to the data to which you are granting access. It contains the `S3SubPrefix` field. The grant scope is the result of appending the subprefix to the location scope of the registered location.", + "title": "AccessGrantsLocationConfiguration" + }, + "AccessGrantsLocationId": { + "markdownDescription": "The ID of the registered location to which you are granting access. S3 Access Grants assigns this ID when you register the location. S3 Access Grants assigns the ID `default` to the default location `s3://` and assigns an auto-generated ID to other locations that you register.", + "title": "AccessGrantsLocationId", + "type": "string" + }, + "ApplicationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS IAM Identity Center application associated with your Identity Center instance. If the grant includes an application ARN, the grantee can only access the S3 data through this application.", + "title": "ApplicationArn", + "type": "string" + }, + "Grantee": { + "$ref": "#/definitions/AWS::S3::AccessGrant.Grantee", + "markdownDescription": "The user, group, or role to which you are granting access. You can grant access to an IAM user or role. If you have added your corporate directory to AWS IAM Identity Center and associated your Identity Center instance with your S3 Access Grants instance, the grantee can also be a corporate directory user or group.", + "title": "Grantee" + }, + "Permission": { + "markdownDescription": "The type of access that you are granting to your S3 data, which can be set to one of the following values:\n\n- `READ` \u2013 Grant read-only access to the S3 data.\n- `WRITE` \u2013 Grant write-only access to the S3 data.\n- `READWRITE` \u2013 Grant both read and write access to the S3 data.", + "title": "Permission", + "type": "string" + }, + "S3PrefixType": { + "markdownDescription": "The type of `S3SubPrefix` . The only possible value is `Object` . Pass this value if the access grant scope is an object. Do not pass this value if the access grant scope is a bucket or a bucket and a prefix.", + "title": "S3PrefixType", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "The AWS resource tags that you are adding to the access grant. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", "title": "Tags", "type": "array" } }, "required": [ - "AddonName" + "AccessGrantsLocationId", + "Grantee", + "Permission" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerAddonSubscription" + "AWS::S3::AccessGrant" ], "type": "string" }, @@ -348021,7 +315736,41 @@ ], "type": "object" }, - "AWS::SES::MailManagerAddressList": { + "AWS::S3::AccessGrant.AccessGrantsLocationConfiguration": { + "additionalProperties": false, + "properties": { + "S3SubPrefix": { + "markdownDescription": "The `S3SubPrefix` is appended to the location scope creating the grant scope. Use this field to narrow the scope of the grant to a subset of the location scope. This field is required if the location scope is the default location `s3://` because you cannot create a grant for all of your S3 data in the Region and must narrow the scope. For example, if the location scope is the default location `s3://` , the `S3SubPrefx` can be a `/*` , so the full grant scope path would be `s3:///*` . Or the `S3SubPrefx` can be `/*` , so the full grant scope path would be `s3:///*` .\n\nIf the `S3SubPrefix` includes a prefix, append the wildcard character `*` after the prefix to indicate that you want to include all object key names in the bucket that start with that prefix.", + "title": "S3SubPrefix", + "type": "string" + } + }, + "required": [ + "S3SubPrefix" + ], + "type": "object" + }, + "AWS::S3::AccessGrant.Grantee": { + "additionalProperties": false, + "properties": { + "GranteeIdentifier": { + "markdownDescription": "The unique identifier of the `Grantee` . If the grantee type is `IAM` , the identifier is the IAM Amazon Resource Name (ARN) of the user or role. If the grantee type is a directory user or group, the identifier is 128-bit universally unique identifier (UUID) in the format `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` . You can obtain this UUID from your AWS IAM Identity Center instance.", + "title": "GranteeIdentifier", + "type": "string" + }, + "GranteeType": { + "markdownDescription": "The type of the grantee to which access has been granted. It can be one of the following values:\n\n- `IAM` - An IAM user or role.\n- `DIRECTORY_USER` - Your corporate directory user. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.\n- `DIRECTORY_GROUP` - Your corporate directory group. You can use this option if you have added your corporate identity directory to IAM Identity Center and associated the IAM Identity Center instance with your S3 Access Grants instance.", + "title": "GranteeType", + "type": "string" + } + }, + "required": [ + "GranteeIdentifier", + "GranteeType" + ], + "type": "object" + }, + "AWS::S3::AccessGrantsInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -348056,16 +315805,16 @@ "Properties": { "additionalProperties": false, "properties": { - "AddressListName": { - "markdownDescription": "A user-friendly name for the address list.", - "title": "AddressListName", + "IdentityCenterArn": { + "markdownDescription": "If you would like to associate your S3 Access Grants instance with an AWS IAM Identity Center instance, use this field to pass the Amazon Resource Name (ARN) of the AWS IAM Identity Center instance that you are associating with your S3 Access Grants instance. An IAM Identity Center instance is your corporate identity directory that you added to the IAM Identity Center.", + "title": "IdentityCenterArn", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "The AWS resource tags that you are adding to the S3 Access Grants instance. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", "title": "Tags", "type": "array" } @@ -348074,7 +315823,7 @@ }, "Type": { "enum": [ - "AWS::SES::MailManagerAddressList" + "AWS::S3::AccessGrantsInstance" ], "type": "string" }, @@ -348092,7 +315841,7 @@ ], "type": "object" }, - "AWS::SES::MailManagerArchive": { + "AWS::S3::AccessGrantsLocation": { "additionalProperties": false, "properties": { "Condition": { @@ -348127,35 +315876,34 @@ "Properties": { "additionalProperties": false, "properties": { - "ArchiveName": { - "markdownDescription": "A unique name for the new archive.", - "title": "ArchiveName", + "IamRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role for the registered location. S3 Access Grants assumes this role to manage access to the registered location.", + "title": "IamRoleArn", "type": "string" }, - "KmsKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the KMS key for encrypting emails in the archive.", - "title": "KmsKeyArn", + "LocationScope": { + "markdownDescription": "The S3 URI path to the location that you are registering. The location scope can be the default S3 location `s3://` , the S3 path to a bucket, or the S3 path to a bucket and prefix. A prefix in S3 is a string of characters at the beginning of an object key name used to organize the objects that you store in your S3 buckets. For example, object key names that start with the `engineering/` prefix or object key names that start with the `marketing/campaigns/` prefix.", + "title": "LocationScope", "type": "string" }, - "Retention": { - "$ref": "#/definitions/AWS::SES::MailManagerArchive.ArchiveRetention", - "markdownDescription": "The period for retaining emails in the archive before automatic deletion.", - "title": "Retention" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "The AWS resource tags that you are adding to the S3 Access Grants location. Each tag is a label consisting of a user-defined key and value. Tags can help you manage, identify, organize, search for, and filter resources.", "title": "Tags", "type": "array" } }, + "required": [ + "IamRoleArn", + "LocationScope" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerArchive" + "AWS::S3::AccessGrantsLocation" ], "type": "string" }, @@ -348169,25 +315917,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::MailManagerArchive.ArchiveRetention": { - "additionalProperties": false, - "properties": { - "RetentionPeriod": { - "markdownDescription": "The enum value sets the period for retaining emails in an archive.", - "title": "RetentionPeriod", - "type": "string" - } - }, - "required": [ - "RetentionPeriod" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint": { + "AWS::S3::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -348222,63 +315957,53 @@ "Properties": { "additionalProperties": false, "properties": { - "IngressPointConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.IngressPointConfiguration", - "markdownDescription": "The configuration of the ingress endpoint resource.", - "title": "IngressPointConfiguration" - }, - "IngressPointName": { - "markdownDescription": "A user friendly name for an ingress endpoint resource.", - "title": "IngressPointName", + "Bucket": { + "markdownDescription": "The name of the bucket associated with this access point.", + "title": "Bucket", "type": "string" }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.NetworkConfiguration", - "markdownDescription": "The network type (IPv4-only, Dual-Stack, PrivateLink) of the ingress endpoint resource.", - "title": "NetworkConfiguration" - }, - "RuleSetId": { - "markdownDescription": "The identifier of an existing rule set that you attach to an ingress endpoint resource.", - "title": "RuleSetId", + "BucketAccountId": { + "markdownDescription": "The AWS account ID associated with the S3 bucket associated with this access point.", + "title": "BucketAccountId", "type": "string" }, - "StatusToUpdate": { - "markdownDescription": "The update status of an ingress endpoint.", - "title": "StatusToUpdate", + "Name": { + "markdownDescription": "The name of this access point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.", + "title": "Name", "type": "string" }, + "Policy": { + "markdownDescription": "The access point policy associated with this access point.", + "title": "Policy", + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration", + "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", + "title": "PublicAccessBlockConfiguration" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see [Using tags for attribute-based access control (ABAC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac) .", "title": "Tags", "type": "array" }, - "TlsPolicy": { - "type": "string" - }, - "TrafficPolicyId": { - "markdownDescription": "The identifier of an existing traffic policy that you attach to an ingress endpoint resource.", - "title": "TrafficPolicyId", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of the ingress endpoint to create.", - "title": "Type", - "type": "string" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration", + "markdownDescription": "The Virtual Private Cloud (VPC) configuration for this access point, if one exists.", + "title": "VpcConfiguration" } }, "required": [ - "RuleSetId", - "TrafficPolicyId", - "Type" + "Bucket" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerIngressPoint" + "AWS::S3::AccessPoint" ], "type": "string" }, @@ -348297,100 +316022,44 @@ ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint.IngressPointConfiguration": { + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { "additionalProperties": false, "properties": { - "SecretArn": { - "markdownDescription": "The SecretsManager::Secret ARN of the ingress endpoint resource.", - "title": "SecretArn", - "type": "string" + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", + "title": "BlockPublicAcls", + "type": "boolean" }, - "SmtpPassword": { - "markdownDescription": "The password of the ingress endpoint resource.", - "title": "SmtpPassword", - "type": "string" + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", + "title": "BlockPublicPolicy", + "type": "boolean" }, - "TlsAuthConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.TlsAuthConfiguration" - } - }, - "type": "object" - }, - "AWS::SES::MailManagerIngressPoint.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "PrivateNetworkConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.PrivateNetworkConfiguration", - "markdownDescription": "Specifies the network configuration for the private ingress point.", - "title": "PrivateNetworkConfiguration" + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "title": "IgnorePublicAcls", + "type": "boolean" }, - "PublicNetworkConfiguration": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.PublicNetworkConfiguration", - "markdownDescription": "Specifies the network configuration for the public ingress point.", - "title": "PublicNetworkConfiguration" - } - }, - "type": "object" - }, - "AWS::SES::MailManagerIngressPoint.PrivateNetworkConfiguration": { - "additionalProperties": false, - "properties": { - "VpcEndpointId": { - "markdownDescription": "The identifier of the VPC endpoint to associate with this private ingress point.", - "title": "VpcEndpointId", - "type": "string" - } - }, - "required": [ - "VpcEndpointId" - ], - "type": "object" - }, - "AWS::SES::MailManagerIngressPoint.PublicNetworkConfiguration": { - "additionalProperties": false, - "properties": { - "IpType": { - "markdownDescription": "The IP address type for the public ingress point. Valid values are IPV4 and DUAL_STACK.", - "title": "IpType", - "type": "object" - } - }, - "required": [ - "IpType" - ], - "type": "object" - }, - "AWS::SES::MailManagerIngressPoint.TlsAuthConfiguration": { - "additionalProperties": false, - "properties": { - "TrustStore": { - "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.TrustStore" + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "title": "RestrictPublicBuckets", + "type": "boolean" } }, - "required": [ - "TrustStore" - ], "type": "object" }, - "AWS::SES::MailManagerIngressPoint.TrustStore": { + "AWS::S3::AccessPoint.VpcConfiguration": { "additionalProperties": false, "properties": { - "CAContent": { - "type": "string" - }, - "CrlContent": { - "type": "string" - }, - "KmsKeyArn": { + "VpcId": { + "markdownDescription": "If this field is specified, the access point will only allow connections from the specified VPC ID.", + "title": "VpcId", "type": "string" } }, - "required": [ - "CAContent" - ], "type": "object" }, - "AWS::SES::MailManagerRelay": { + "AWS::S3::Bucket": { "additionalProperties": false, "properties": { "Condition": { @@ -348425,45 +316094,148 @@ "Properties": { "additionalProperties": false, "properties": { - "Authentication": { - "$ref": "#/definitions/AWS::SES::MailManagerRelay.RelayAuthentication", - "markdownDescription": "Authentication for the relay destination server\u2014specify the secretARN where the SMTP credentials are stored.", - "title": "Authentication" + "AbacStatus": { + "markdownDescription": "The ABAC status of the general purpose bucket. When ABAC is enabled for the general purpose bucket, you can use tags to manage access to the general purpose buckets as well as for cost tracking purposes. When ABAC is disabled for the general purpose buckets, you can only use tags for cost tracking purposes. For more information, see [Using tags with S3 general purpose buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html) .", + "title": "AbacStatus", + "type": "string" }, - "RelayName": { - "markdownDescription": "The unique relay name.", - "title": "RelayName", + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration", + "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .", + "title": "AccelerateConfiguration" + }, + "AccessControl": { + "markdownDescription": "> This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide* . \n\nA canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* .\n\nS3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n\nThe majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html) . For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide* .", + "title": "AccessControl", "type": "string" }, - "ServerName": { - "markdownDescription": "The destination relay server address.", - "title": "ServerName", + "AnalyticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + }, + "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", + "title": "AnalyticsConfigurations", + "type": "array" + }, + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption", + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .", + "title": "BucketEncryption" + }, + "BucketName": { + "markdownDescription": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) . For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) in the *Amazon S3 User Guide* .\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": "BucketName", "type": "string" }, - "ServerPort": { - "markdownDescription": "The destination relay server port.", - "title": "ServerPort", - "type": "number" + "BucketNamePrefix": { + "type": "string" + }, + "BucketNamespace": { + "type": "string" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration", + "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .", + "title": "CorsConfiguration" + }, + "IntelligentTieringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" + }, + "markdownDescription": "Defines how Amazon S3 handles Intelligent-Tiering storage.", + "title": "IntelligentTieringConfigurations", + "type": "array" + }, + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "markdownDescription": "Specifies the S3 Inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .", + "title": "InventoryConfigurations", + "type": "array" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration", + "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .", + "title": "LifecycleConfiguration" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration", + "markdownDescription": "Settings that define where logs are stored.", + "title": "LoggingConfiguration" + }, + "MetadataConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataConfiguration", + "markdownDescription": "The S3 Metadata configuration for a general purpose bucket.", + "title": "MetadataConfiguration" + }, + "MetadataTableConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableConfiguration", + "markdownDescription": "The metadata table configuration of an Amazon S3 general purpose bucket.", + "title": "MetadataTableConfiguration" + }, + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) .", + "title": "MetricsConfigurations", + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration", + "markdownDescription": "Configuration that defines how Amazon S3 handles bucket notifications.", + "title": "NotificationConfiguration" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration", + "markdownDescription": "> This operation is not supported for directory buckets. \n\nPlaces an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .\n\n> - The `DefaultRetention` settings require both a mode and a period.\n> - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.\n> - You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html) . > You must URL encode any signed header values that contain spaces. For example, if your header value is `my file.txt` , containing two spaces after `my` , you must URL encode this value to `my%20%20file.txt` .", + "title": "ObjectLockConfiguration" + }, + "ObjectLockEnabled": { + "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", + "title": "ObjectLockEnabled", + "type": "boolean" + }, + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls", + "markdownDescription": "Configuration that defines how Amazon S3 handles Object Ownership rules.", + "title": "OwnershipControls" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration", + "markdownDescription": "Configuration that defines how Amazon S3 handles public access.", + "title": "PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration", + "markdownDescription": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the `VersioningConfiguration` property.\n\nAmazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", + "title": "ReplicationConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this S3 bucket.", "title": "Tags", "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration", + "markdownDescription": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n\n> When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations ( `PUT` or `DELETE` ) on objects in the bucket.", + "title": "VersioningConfiguration" + }, + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration", + "markdownDescription": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) .", + "title": "WebsiteConfiguration" } }, - "required": [ - "Authentication", - "ServerName", - "ServerPort" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MailManagerRelay" + "AWS::S3::Bucket" ], "type": "string" }, @@ -348477,1215 +316249,1660 @@ } }, "required": [ - "Type", - "Properties" + "Type" + ], + "type": "object" + }, + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "markdownDescription": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.", + "title": "DaysAfterInitiation", + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "markdownDescription": "Specifies the transfer acceleration status of the bucket.", + "title": "AccelerationStatus", + "type": "string" + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "markdownDescription": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference* .", + "title": "Owner", + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "markdownDescription": "The ID that identifies the analytics configuration.", + "title": "Id", + "type": "string" + }, + "Prefix": { + "markdownDescription": "The prefix that an object must have to be included in the analytics results.", + "title": "Prefix", + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis", + "markdownDescription": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.", + "title": "StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "The tags to use when evaluating an analytics filter.\n\nThe analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.", + "title": "TagFilters", + "type": "array" + } + }, + "required": [ + "Id", + "StorageClassAnalysis" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnnotationTableConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationState": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration" + }, + "Role": { + "type": "string" + }, + "TableArn": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ConfigurationState" + ], + "type": "object" + }, + "AWS::S3::Bucket.BlockedEncryptionTypes": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "items": { + "type": "string" + }, + "markdownDescription": "The object encryption type that you want to block or unblock for an Amazon S3 general purpose bucket.\n\n> Currently, this parameter only supports blocking or unblocking server side encryption with customer-provided keys (SSE-C). For more information about SSE-C, see [Using server-side encryption with customer-provided keys (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html) .", + "title": "EncryptionType", + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "markdownDescription": "Specifies the default server-side-encryption configuration.", + "title": "ServerSideEncryptionConfiguration", + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "markdownDescription": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", + "title": "CorsRules", + "type": "array" + } + }, + "required": [ + "CorsRules" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "markdownDescription": "Headers that are specified in the `Access-Control-Request-Headers` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", + "title": "AllowedHeaders", + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "markdownDescription": "An HTTP method that you allow the origin to run.\n\n*Allowed values* : `GET` | `PUT` | `HEAD` | `POST` | `DELETE`", + "title": "AllowedMethods", + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more origins you want customers to be able to access the bucket from.", + "title": "AllowedOrigins", + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "markdownDescription": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).", + "title": "ExposedHeaders", + "type": "array" + }, + "Id": { + "markdownDescription": "A unique identifier for this rule. The value must be no more than 255 characters.", + "title": "Id", + "type": "string" + }, + "MaxAge": { + "markdownDescription": "The time in seconds that your browser is to cache the preflight response for the specified resource.", + "title": "MaxAge", + "type": "number" + } + }, + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "type": "object" + }, + "AWS::S3::Bucket.DataExport": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination", + "markdownDescription": "The place to store the data for an analysis.", + "title": "Destination" + }, + "OutputSchemaVersion": { + "markdownDescription": "The version of the output schema to use when exporting data. Must be `V_1` .", + "title": "OutputSchemaVersion", + "type": "string" + } + }, + "required": [ + "Destination", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::Bucket.DefaultRetention": { + "additionalProperties": false, + "properties": { + "Days": { + "markdownDescription": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", + "title": "Days", + "type": "number" + }, + "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", + "type": "string" + }, + "Years": { + "markdownDescription": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .", + "title": "Years", + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "Indicates whether to replicate delete markers.", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "markdownDescription": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n\n> Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.", + "title": "BucketAccountId", + "type": "string" + }, + "BucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the bucket to which data is exported.", + "title": "BucketArn", + "type": "string" + }, + "Format": { + "markdownDescription": "Specifies the file format used when exporting data to Amazon S3.\n\n*Allowed values* : `CSV` | `ORC` | `Parquet`", + "title": "Format", + "type": "string" + }, + "Prefix": { + "markdownDescription": "The prefix to use when exporting data. The prefix is prepended to all results.", + "title": "Prefix", + "type": "string" + } + }, + "required": [ + "BucketArn", + "Format" + ], + "type": "object" + }, + "AWS::S3::Bucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "markdownDescription": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .", + "title": "ReplicaKmsKeyID", + "type": "string" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.EventBridgeConfiguration": { + "additionalProperties": false, + "properties": { + "EventBridgeEnabled": { + "markdownDescription": "Enables delivery of events to Amazon EventBridge.", + "title": "EventBridgeEnabled", + "type": "boolean" + } + }, + "required": [ + "EventBridgeEnabled" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value that the filter searches for in object key names.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" ], "type": "object" }, - "AWS::SES::MailManagerRelay.RelayAuthentication": { + "AWS::S3::Bucket.IntelligentTieringConfiguration": { "additionalProperties": false, "properties": { - "NoAuthentication": { - "markdownDescription": "Keep an empty structure if the relay destination server does not require SMTP credential authentication.", - "title": "NoAuthentication", - "type": "object" + "Id": { + "markdownDescription": "The ID used to identify the S3 Intelligent-Tiering configuration.", + "title": "Id", + "type": "string" }, - "SecretArn": { - "markdownDescription": "The ARN of the secret created in secrets manager where the relay server's SMTP credentials are stored.", - "title": "SecretArn", + "Prefix": { + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "title": "Prefix", + "type": "string" + }, + "Status": { + "markdownDescription": "Specifies the status of the configuration.", + "title": "Status", "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "A container for a key-value pair.", + "title": "TagFilters", + "type": "array" + }, + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "markdownDescription": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` .\n\n> You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.", + "title": "Tierings", + "type": "array" } }, + "required": [ + "Id", + "Status", + "Tierings" + ], "type": "object" }, - "AWS::SES::MailManagerRuleSet": { + "AWS::S3::Bucket.InventoryConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination", + "markdownDescription": "Contains information about where to publish the inventory results.", + "title": "Destination" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Enabled": { + "markdownDescription": "Specifies whether the inventory is enabled or disabled. If set to `True` , an inventory list is generated. If set to `False` , no inventory list is generated.", + "title": "Enabled", + "type": "boolean" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Id": { + "markdownDescription": "The ID used to identify the inventory configuration.", + "title": "Id", + "type": "string" }, - "Metadata": { - "type": "object" + "IncludedObjectVersions": { + "markdownDescription": "Object versions to include in the inventory list. If set to `All` , the list includes all the object versions, which adds the version-related fields `VersionId` , `IsLatest` , and `DeleteMarker` to the list. If set to `Current` , the list does not contain these version-related fields.", + "title": "IncludedObjectVersions", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "markdownDescription": "A user-friendly name for the rule set.", - "title": "RuleSetName", - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Rule" - }, - "markdownDescription": "Conditional rules that are evaluated for determining actions on email.", - "title": "Rules", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" - } + "OptionalFields": { + "items": { + "type": "string" }, - "required": [ - "Rules" - ], - "type": "object" + "markdownDescription": "Contains the optional fields that are included in the inventory results.", + "title": "OptionalFields", + "type": "array" }, - "Type": { - "enum": [ - "AWS::SES::MailManagerRuleSet" - ], + "Prefix": { + "markdownDescription": "Specifies the inventory filter prefix.", + "title": "Prefix", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ScheduleFrequency": { + "markdownDescription": "Specifies the schedule for generating inventory results.", + "title": "ScheduleFrequency", "type": "string" } }, "required": [ - "Type", - "Properties" + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.AddHeaderAction": { + "AWS::S3::Bucket.InventoryTableConfiguration": { "additionalProperties": false, "properties": { - "HeaderName": { - "markdownDescription": "The name of the header to add to an email. The header must be prefixed with \"X-\". Headers are added regardless of whether the header name pre-existed in the email.", - "title": "HeaderName", + "ConfigurationState": { + "markdownDescription": "The configuration state of the inventory table, indicating whether the inventory table is enabled or disabled.", + "title": "ConfigurationState", "type": "string" }, - "HeaderValue": { - "markdownDescription": "The value of the header to add to the email.", - "title": "HeaderValue", + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration", + "markdownDescription": "The encryption configuration for the inventory table.", + "title": "EncryptionConfiguration" + }, + "TableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the inventory table.", + "title": "TableArn", + "type": "string" + }, + "TableName": { + "markdownDescription": "The name of the inventory table.", + "title": "TableName", "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" + "ConfigurationState" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.Analysis": { + "AWS::S3::Bucket.JournalTableConfiguration": { "additionalProperties": false, "properties": { - "Analyzer": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Add On.", - "title": "Analyzer", + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataTableEncryptionConfiguration", + "markdownDescription": "The encryption configuration for the journal table.", + "title": "EncryptionConfiguration" + }, + "RecordExpiration": { + "$ref": "#/definitions/AWS::S3::Bucket.RecordExpiration", + "markdownDescription": "The journal table record expiration settings for the journal table.", + "title": "RecordExpiration" + }, + "TableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the journal table.", + "title": "TableArn", "type": "string" }, - "ResultField": { - "markdownDescription": "The returned value from an Add On.", - "title": "ResultField", + "TableName": { + "markdownDescription": "The name of the journal table.", + "title": "TableName", "type": "string" } }, "required": [ - "Analyzer", - "ResultField" + "RecordExpiration" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.ArchiveAction": { + "AWS::S3::Bucket.LambdaConfiguration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified archive has been deleted.", - "title": "ActionFailurePolicy", + "Event": { + "markdownDescription": "The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", + "title": "Event", "type": "string" }, - "TargetArchive": { - "markdownDescription": "The identifier of the archive to send the email to.", - "title": "TargetArchive", + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", + "markdownDescription": "The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a `.jpg` extension invoke the function when they are added to the Amazon S3 bucket.", + "title": "Filter" + }, + "Function": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.", + "title": "Function", "type": "string" } }, "required": [ - "TargetArchive" + "Event", + "Function" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.BounceAction": { + "AWS::S3::Bucket.LifecycleConfiguration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" + }, + "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 bucket.", + "title": "Rules", + "type": "array" }, - "DiagnosticMessage": { + "TransitionDefaultMinimumObjectSize": { + "markdownDescription": "Indicates which default minimum object size behavior is applied to the lifecycle configuration.\n\n> This parameter applies to general purpose buckets only. It isn't supported for directory bucket lifecycle configurations. \n\n- `all_storage_classes_128K` - Objects smaller than 128 KB will not transition to any storage class by default.\n- `varies_by_storage_class` - Objects smaller than 128 KB will transition to Glacier Flexible Retrieval or Glacier Deep Archive storage classes. By default, all other storage classes will prevent transitions smaller than 128 KB.\n\nTo customize the minimum object size for any transition you can add a filter that specifies a custom `ObjectSizeGreaterThan` or `ObjectSizeLessThan` in the body of your transition rule. Custom filters always take precedence over the default transition behavior.", + "title": "TransitionDefaultMinimumObjectSize", "type": "string" - }, - "Message": { + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationBucketName": { + "markdownDescription": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the `LoggingConfiguration` property is defined.", + "title": "DestinationBucketName", "type": "string" }, - "RoleArn": { + "LogFilePrefix": { + "markdownDescription": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.", + "title": "LogFilePrefix", "type": "string" }, - "Sender": { - "type": "string" + "TargetObjectKeyFormat": { + "$ref": "#/definitions/AWS::S3::Bucket.TargetObjectKeyFormat", + "markdownDescription": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.", + "title": "TargetObjectKeyFormat" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.MetadataConfiguration": { + "additionalProperties": false, + "properties": { + "AnnotationTableConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AnnotationTableConfiguration" }, - "SmtpReplyCode": { - "type": "string" + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.MetadataDestination", + "markdownDescription": "The destination information for the S3 Metadata configuration.", + "title": "Destination" }, - "StatusCode": { - "type": "string" + "InventoryTableConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryTableConfiguration", + "markdownDescription": "The inventory table configuration for a metadata configuration.", + "title": "InventoryTableConfiguration" + }, + "JournalTableConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.JournalTableConfiguration", + "markdownDescription": "The journal table configuration for a metadata configuration.", + "title": "JournalTableConfiguration" } }, "required": [ - "DiagnosticMessage", - "RoleArn", - "Sender", - "SmtpReplyCode", - "StatusCode" + "JournalTableConfiguration" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.DeliverToMailboxAction": { + "AWS::S3::Bucket.MetadataDestination": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the mailbox ARN is no longer valid.", - "title": "ActionFailurePolicy", + "TableBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket where the metadata configuration is stored.", + "title": "TableBucketArn", "type": "string" }, - "MailboxArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of a WorkMail organization to deliver the email to.", - "title": "MailboxArn", + "TableBucketType": { + "markdownDescription": "The type of the table bucket where the metadata configuration is stored. The `aws` value indicates an AWS managed table bucket, and the `customer` value indicates a customer-managed table bucket. V2 metadata configurations are stored in AWS managed table buckets, and V1 metadata configurations are stored in customer-managed table buckets.", + "title": "TableBucketType", "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role to use to execute this action. The role must have access to the workmail:DeliverToMailbox API.", - "title": "RoleArn", + "TableNamespace": { + "markdownDescription": "The namespace in the table bucket where the metadata tables for a metadata configuration are stored.", + "title": "TableNamespace", "type": "string" } }, "required": [ - "MailboxArn", - "RoleArn" + "TableBucketType" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.DeliverToQBusinessAction": { + "AWS::S3::Bucket.MetadataTableConfiguration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified application has been deleted or the role lacks necessary permissions to call the `qbusiness:BatchPutDocument` API.", - "title": "ActionFailurePolicy", - "type": "string" - }, - "ApplicationId": { - "markdownDescription": "The unique identifier of the Amazon Q Business application instance where the email content will be delivered.", - "title": "ApplicationId", + "S3TablesDestination": { + "$ref": "#/definitions/AWS::S3::Bucket.S3TablesDestination", + "markdownDescription": "The destination information for the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", + "title": "S3TablesDestination" + } + }, + "required": [ + "S3TablesDestination" + ], + "type": "object" + }, + "AWS::S3::Bucket.MetadataTableEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "markdownDescription": "If server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS) is specified, you must also specify the KMS key Amazon Resource Name (ARN). You must specify a customer-managed KMS key that's located in the same Region as the general purpose bucket that corresponds to the metadata table configuration.", + "title": "KmsKeyArn", "type": "string" }, - "IndexId": { - "markdownDescription": "The identifier of the knowledge base index within the Amazon Q Business application where the email content will be stored and indexed.", - "title": "IndexId", + "SseAlgorithm": { + "markdownDescription": "The encryption type specified for a metadata table. To specify server-side encryption with AWS Key Management Service ( AWS ) keys (SSE-KMS), use the `aws:kms` value. To specify server-side encryption with Amazon S3 managed keys (SSE-S3), use the `AES256` value.", + "title": "SseAlgorithm", "type": "string" + } + }, + "required": [ + "SseAlgorithm" + ], + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue", + "markdownDescription": "A container specifying the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event.", + "title": "EventThreshold" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while delivering to Amazon Q Business. This role must have access to the `qbusiness:BatchPutDocument` API for the given application and index.", - "title": "RoleArn", + "Status": { + "markdownDescription": "Specifies whether the replication metrics are enabled.", + "title": "Status", "type": "string" } }, "required": [ - "ApplicationId", - "IndexId", - "RoleArn" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.InvokeLambdaAction": { + "AWS::S3::Bucket.MetricsConfiguration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { + "AccessPointArn": { + "markdownDescription": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.", + "title": "AccessPointArn", "type": "string" }, - "FunctionArn": { + "Id": { + "markdownDescription": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.", + "title": "Id", "type": "string" }, - "InvocationType": { + "Prefix": { + "markdownDescription": "The prefix that an object must have to be included in the metrics results.", + "title": "Prefix", "type": "string" }, - "RetryTimeMinutes": { - "type": "number" - }, - "RoleArn": { - "type": "string" + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.", + "title": "TagFilters", + "type": "array" } }, "required": [ - "FunctionArn", - "InvocationType", - "RoleArn" + "Id" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RelayAction": { + "AWS::S3::Bucket.NoncurrentVersionExpiration": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified relay has been deleted.", - "title": "ActionFailurePolicy", - "type": "string" - }, - "MailFrom": { - "markdownDescription": "This action specifies whether to preserve or replace original mail from address while relaying received emails to a destination server.", - "title": "MailFrom", - "type": "string" + "NewerNoncurrentVersions": { + "markdownDescription": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", + "title": "NewerNoncurrentVersions", + "type": "number" }, - "Relay": { - "markdownDescription": "The identifier of the relay resource to be used when relaying an email.", - "title": "Relay", - "type": "string" + "NoncurrentDays": { + "markdownDescription": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", + "title": "NoncurrentDays", + "type": "number" } }, "required": [ - "Relay" + "NoncurrentDays" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.ReplaceRecipientAction": { + "AWS::S3::Bucket.NoncurrentVersionTransition": { "additionalProperties": false, "properties": { - "ReplaceWith": { - "items": { - "type": "string" - }, - "markdownDescription": "This action specifies the replacement recipient email addresses to insert.", - "title": "ReplaceWith", - "type": "array" + "NewerNoncurrentVersions": { + "markdownDescription": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .", + "title": "NewerNoncurrentVersions", + "type": "number" + }, + "StorageClass": { + "markdownDescription": "The class of storage used to store the object.", + "title": "StorageClass", + "type": "string" + }, + "TransitionInDays": { + "markdownDescription": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates How Long an Object Has Been Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .", + "title": "TransitionInDays", + "type": "number" } }, + "required": [ + "StorageClass", + "TransitionInDays" + ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.Rule": { + "AWS::S3::Bucket.NotificationConfiguration": { "additionalProperties": false, "properties": { - "Actions": { + "EventBridgeConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EventBridgeConfiguration", + "markdownDescription": "Enables delivery of events to Amazon EventBridge.", + "title": "EventBridgeConfiguration" + }, + "LambdaConfigurations": { "items": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleAction" + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" }, - "markdownDescription": "The list of actions to execute when the conditions match the incoming email, and none of the \"unless conditions\" match.", - "title": "Actions", + "markdownDescription": "Describes the AWS Lambda functions to invoke and the events for which to invoke them.", + "title": "LambdaConfigurations", "type": "array" }, - "Conditions": { + "QueueConfigurations": { "items": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleCondition" + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" }, - "markdownDescription": "The conditions of this rule. All conditions must match the email for the actions to be executed. An empty list of conditions means that all emails match, but are still subject to any \"unless conditions\"", - "title": "Conditions", + "markdownDescription": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", + "title": "QueueConfigurations", "type": "array" }, - "Name": { - "markdownDescription": "The user-friendly name of the rule.", - "title": "Name", - "type": "string" - }, - "Unless": { + "TopicConfigurations": { "items": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleCondition" + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" }, - "markdownDescription": "The \"unless conditions\" of this rule. None of the conditions can match the email for the actions to be executed. If any of these conditions do match the email, then the actions are not executed.", - "title": "Unless", + "markdownDescription": "The topic to which notifications are sent and the events for which notifications are generated.", + "title": "TopicConfigurations", "type": "array" } }, + "type": "object" + }, + "AWS::S3::Bucket.NotificationFilter": { + "additionalProperties": false, + "properties": { + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter", + "markdownDescription": "A container for object key name prefix and suffix filtering rules.", + "title": "S3Key" + } + }, "required": [ - "Actions" + "S3Key" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleAction": { + "AWS::S3::Bucket.ObjectLockConfiguration": { "additionalProperties": false, "properties": { - "AddHeader": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.AddHeaderAction", - "markdownDescription": "This action adds a header. This can be used to add arbitrary email headers.", - "title": "AddHeader" - }, - "Archive": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.ArchiveAction", - "markdownDescription": "This action archives the email. This can be used to deliver an email to an archive.", - "title": "Archive" - }, - "Bounce": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.BounceAction" - }, - "DeliverToMailbox": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.DeliverToMailboxAction", - "markdownDescription": "This action delivers an email to a WorkMail mailbox.", - "title": "DeliverToMailbox" - }, - "DeliverToQBusiness": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.DeliverToQBusinessAction", - "markdownDescription": "This action delivers an email to an Amazon Q Business application for ingestion into its knowledge base.", - "title": "DeliverToQBusiness" - }, - "Drop": { - "markdownDescription": "This action terminates the evaluation of rules in the rule set.", - "title": "Drop", - "type": "object" - }, - "InvokeLambda": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.InvokeLambdaAction" - }, - "PublishToSns": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.SnsAction", - "markdownDescription": "This action publishes the email content to an Amazon SNS topic.", - "title": "PublishToSns" - }, - "Relay": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RelayAction", - "markdownDescription": "This action relays the email to another SMTP server.", - "title": "Relay" - }, - "ReplaceRecipient": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.ReplaceRecipientAction", - "markdownDescription": "The action replaces certain or all recipients with a different set of recipients.", - "title": "ReplaceRecipient" - }, - "Send": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.SendAction", - "markdownDescription": "This action sends the email to the internet.", - "title": "Send" + "ObjectLockEnabled": { + "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.", + "title": "ObjectLockEnabled", + "type": "string" }, - "WriteToS3": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.S3Action", - "markdownDescription": "This action writes the MIME content of the email to an S3 bucket.", - "title": "WriteToS3" + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule", + "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply `ObjectLockConfiguration` to a bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", + "title": "Rule" } }, "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleBooleanExpression": { + "AWS::S3::Bucket.ObjectLockRule": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleBooleanToEvaluate", - "markdownDescription": "The operand on which to perform a boolean condition operation.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for a boolean condition expression.", - "title": "Operator", - "type": "string" + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention", + "markdownDescription": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .", + "title": "DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "markdownDescription": "Specifies the container element for Object Ownership rules.", + "title": "Rules", + "type": "array" } }, "required": [ - "Evaluate", - "Operator" + "Rules" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleBooleanToEvaluate": { + "AWS::S3::Bucket.OwnershipControlsRule": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", - "markdownDescription": "The Add On ARN and its returned value to evaluate in a boolean condition expression.", - "title": "Analysis" - }, - "Attribute": { - "markdownDescription": "The boolean type representing the allowed attribute types for an email.", - "title": "Attribute", + "ObjectOwnership": { + "markdownDescription": "Specifies an object ownership rule.", + "title": "ObjectOwnership", "type": "string" - }, - "IsInAddressList": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIsInAddressList", - "markdownDescription": "The structure representing the address lists and address list attribute that will be used in evaluation of boolean expression.", - "title": "IsInAddressList" } }, "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleCondition": { + "AWS::S3::Bucket.PartitionedPrefix": { "additionalProperties": false, "properties": { - "BooleanExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleBooleanExpression", - "markdownDescription": "The condition applies to a boolean expression passed in this field.", - "title": "BooleanExpression" - }, - "DmarcExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleDmarcExpression", - "markdownDescription": "The condition applies to a DMARC policy expression passed in this field.", - "title": "DmarcExpression" - }, - "IpExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIpExpression", - "markdownDescription": "The condition applies to an IP address expression passed in this field.", - "title": "IpExpression" - }, - "NumberExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleNumberExpression", - "markdownDescription": "The condition applies to a number expression passed in this field.", - "title": "NumberExpression" - }, - "StringExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleStringExpression", - "markdownDescription": "The condition applies to a string expression passed in this field.", - "title": "StringExpression" - }, - "VerdictExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleVerdictExpression", - "markdownDescription": "The condition applies to a verdict expression passed in this field.", - "title": "VerdictExpression" + "PartitionDateSource": { + "markdownDescription": "Specifies the partition date source for the partitioned prefix. `PartitionDateSource` can be `EventTime` or `DeliveryTime` .\n\nFor `DeliveryTime` , the time in the log file names corresponds to the delivery time for the log files.\n\nFor `EventTime` , The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.", + "title": "PartitionDateSource", + "type": "string" } }, "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleDmarcExpression": { + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { "additionalProperties": false, "properties": { - "Operator": { - "markdownDescription": "The operator to apply to the DMARC policy of the incoming email.", - "title": "Operator", - "type": "string" + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", + "title": "BlockPublicAcls", + "type": "boolean" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The values to use for the given DMARC policy operator. For the operator EQUALS, if multiple values are given, they are evaluated as an OR. That is, if any of the given values match, the condition is deemed to match. For the operator NOT_EQUALS, if multiple values are given, they are evaluated as an AND. That is, only if the email's DMARC policy is not equal to any of the given values, then the condition is deemed to match.", - "title": "Values", - "type": "array" + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", + "title": "BlockPublicPolicy", + "type": "boolean" + }, + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "title": "IgnorePublicAcls", + "type": "boolean" + }, + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "title": "RestrictPublicBuckets", + "type": "boolean" } }, - "required": [ - "Operator", - "Values" - ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleIpExpression": { + "AWS::S3::Bucket.QueueConfiguration": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIpToEvaluate", - "markdownDescription": "The IP address to evaluate in this condition.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The operator to evaluate the IP address.", - "title": "Operator", + "Event": { + "markdownDescription": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", + "title": "Event", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The IP CIDR blocks in format \"x.y.z.w/n\" (eg 10.0.0.0/8) to match with the email's IP address. For the operator CIDR_MATCHES, if multiple values are given, they are evaluated as an OR. That is, if the IP address is contained within any of the given CIDR ranges, the condition is deemed to match. For NOT_CIDR_MATCHES, if multiple CIDR ranges are given, the condition is deemed to match if the IP address is not contained in any of the given CIDR ranges.", - "title": "Values", - "type": "array" + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", + "markdownDescription": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .", + "title": "Filter" + }, + "Queue": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.", + "title": "Queue", + "type": "string" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "Event", + "Queue" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleIpToEvaluate": { + "AWS::S3::Bucket.RecordExpiration": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "The attribute of the email to evaluate.", - "title": "Attribute", + "Days": { + "markdownDescription": "If you enable journal table record expiration, you can set the number of days to retain your journal table records. Journal table records must be retained for a minimum of 7 days. To set this value, specify any whole number from `7` to `2147483647` . For example, to retain your journal table records for one year, set this value to `365` .", + "title": "Days", + "type": "number" + }, + "Expiration": { + "markdownDescription": "Specifies whether journal table record expiration is enabled or disabled.", + "title": "Expiration", "type": "string" } }, "required": [ - "Attribute" + "Expiration" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleIsInAddressList": { + "AWS::S3::Bucket.RedirectAllRequestsTo": { "additionalProperties": false, "properties": { - "AddressLists": { - "items": { - "type": "string" - }, - "markdownDescription": "The address lists that will be used for evaluation.", - "title": "AddressLists", - "type": "array" + "HostName": { + "markdownDescription": "Name of the host where requests are redirected.", + "title": "HostName", + "type": "string" }, - "Attribute": { - "markdownDescription": "The email attribute that needs to be evaluated against the address list.", - "title": "Attribute", + "Protocol": { + "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "title": "Protocol", "type": "string" } }, "required": [ - "AddressLists", - "Attribute" + "HostName" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleNumberExpression": { + "AWS::S3::Bucket.RedirectRule": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleNumberToEvaluate", - "markdownDescription": "The number to evaluate in a numeric condition expression.", - "title": "Evaluate" + "HostName": { + "markdownDescription": "The host name to use in the redirect request.", + "title": "HostName", + "type": "string" }, - "Operator": { - "markdownDescription": "The operator for a numeric condition expression.", - "title": "Operator", + "HttpRedirectCode": { + "markdownDescription": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", + "title": "HttpRedirectCode", "type": "string" }, - "Value": { - "markdownDescription": "The value to evaluate in a numeric condition expression.", - "title": "Value", - "type": "number" + "Protocol": { + "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "title": "Protocol", + "type": "string" + }, + "ReplaceKeyPrefixWith": { + "markdownDescription": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix `docs/` (objects in the `docs/` folder) to `documents/` , you can set a condition block with `KeyPrefixEquals` set to `docs/` and in the Redirect set `ReplaceKeyPrefixWith` to `/documents` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "ReplaceKeyPrefixWith", + "type": "string" + }, + "ReplaceKeyWith": { + "markdownDescription": "The specific object key to use in the redirect request. For example, redirect request to `error.html` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyPrefixWith` is not provided.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "ReplaceKeyWith", + "type": "string" } }, - "required": [ - "Evaluate", - "Operator", - "Value" - ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleNumberToEvaluate": { + "AWS::S3::Bucket.ReplicaModifications": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "An email attribute that is used as the number to evaluate.", - "title": "Attribute", + "Status": { + "markdownDescription": "Specifies whether Amazon S3 replicates modifications on replicas.\n\n*Allowed values* : `Enabled` | `Disabled`", + "title": "Status", "type": "string" } }, "required": [ - "Attribute" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleStringExpression": { + "AWS::S3::Bucket.ReplicationConfiguration": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleStringToEvaluate", - "markdownDescription": "The string to evaluate in a string condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for a string condition expression.", - "title": "Operator", + "Role": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide* .", + "title": "Role", "type": "string" }, - "Values": { + "Rules": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" }, - "markdownDescription": "The string(s) to be evaluated in a string condition expression. For all operators, except for NOT_EQUALS, if multiple values are given, the values are processed as an OR. That is, if any of the values match the email's string using the given operator, the condition is deemed to match. However, for NOT_EQUALS, the condition is only deemed to match if none of the given strings match the email's string.", - "title": "Values", + "markdownDescription": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.", + "title": "Rules", "type": "array" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "Role", + "Rules" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleStringToEvaluate": { + "AWS::S3::Bucket.ReplicationDestination": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", - "markdownDescription": "The Add On ARN and its returned value to evaluate in a string condition expression.", - "title": "Analysis" + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation", + "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", + "title": "AccessControlTranslation" }, - "Attribute": { - "markdownDescription": "The email attribute to evaluate in a string condition expression.", - "title": "Attribute", + "Account": { + "markdownDescription": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS account that owns the destination bucket by specifying the `AccessControlTranslation` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide* .\n\nIf you specify the `AccessControlTranslation` property, the `Account` property is required.", + "title": "Account", "type": "string" }, - "ClientCertificateAttribute": { + "Bucket": { + "markdownDescription": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.", + "title": "Bucket", "type": "string" }, - "MimeHeaderAttribute": { - "markdownDescription": "The email MIME X-Header attribute to evaluate in a string condition expression.", - "title": "MimeHeaderAttribute", + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration", + "markdownDescription": "Specifies encryption-related information.", + "title": "EncryptionConfiguration" + }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics", + "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.", + "title": "Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime", + "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a `Metrics` block.", + "title": "ReplicationTime" + }, + "StorageClass": { + "markdownDescription": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.\n\nFor valid values, see the `StorageClass` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference* .\n\n`FSX_OPENZFS` is not an accepted value when replicating objects.", + "title": "StorageClass", "type": "string" } }, + "required": [ + "Bucket" + ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleVerdictExpression": { + "AWS::S3::Bucket.ReplicationRule": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleVerdictToEvaluate", - "markdownDescription": "The verdict to evaluate in a verdict condition expression.", - "title": "Evaluate" + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication", + "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a `Filter` in your replication configuration, you must also include a `DeleteMarkerReplication` element. If your `Filter` includes a `Tag` element, the `DeleteMarkerReplication` `Status` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) .\n\nFor more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) .\n\n> If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) .", + "title": "DeleteMarkerReplication" }, - "Operator": { - "markdownDescription": "The matching operator for a verdict condition expression.", - "title": "Operator", + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination", + "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", + "title": "Destination" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter", + "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A `Filter` must specify exactly one `Prefix` , `TagFilter` , or an `And` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n\n> V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.", + "title": "Filter" + }, + "Id": { + "markdownDescription": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".", + "title": "Id", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The values to match with the email's verdict using the given operator. For the EQUALS operator, if multiple values are given, the condition is deemed to match if any of the given verdicts match that of the email. For the NOT_EQUALS operator, if multiple values are given, the condition is deemed to match of none of the given verdicts match the verdict of the email.", - "title": "Values", - "type": "array" + "Prefix": { + "markdownDescription": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "Prefix", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.\n\nFor more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide* .", + "title": "Priority", + "type": "number" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria", + "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", + "title": "SourceSelectionCriteria" + }, + "Status": { + "markdownDescription": "Specifies whether the rule is enabled.", + "title": "Status", + "type": "string" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "Destination", + "Status" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.RuleVerdictToEvaluate": { + "AWS::S3::Bucket.ReplicationRuleAndOperator": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", - "markdownDescription": "The Add On ARN and its returned value to evaluate in a verdict condition expression.", - "title": "Analysis" - }, - "Attribute": { - "markdownDescription": "The email verdict attribute to evaluate in a string verdict expression.", - "title": "Attribute", + "Prefix": { + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "title": "Prefix", "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "An array of tags containing key and value pairs.", + "title": "TagFilters", + "type": "array" } }, "type": "object" }, - "AWS::SES::MailManagerRuleSet.S3Action": { + "AWS::S3::Bucket.ReplicationRuleFilter": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified the bucket has been deleted.", - "title": "ActionFailurePolicy", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while writing to S3. This role must have access to the s3:PutObject, kms:Encrypt, and kms:GenerateDataKey APIs for the given bucket.", - "title": "RoleArn", - "type": "string" + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator", + "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:\n\n- If you specify both a `Prefix` and a `TagFilter` , wrap these filters in an `And` tag.\n- If you specify a filter based on multiple tags, wrap the `TagFilter` elements in an `And` tag.", + "title": "And" }, - "S3Bucket": { - "markdownDescription": "The bucket name of the S3 bucket to write to.", - "title": "S3Bucket", + "Prefix": { + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "Prefix", "type": "string" }, - "S3Prefix": { - "markdownDescription": "The S3 prefix to use for the write to the s3 bucket.", - "title": "S3Prefix", + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter", + "markdownDescription": "A container for specifying a tag key and value.\n\nThe rule applies only to objects that have the tag in their tag set.", + "title": "TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "Specifies whether the replication time is enabled.", + "title": "Status", "type": "string" }, - "S3SseKmsKeyId": { - "markdownDescription": "The KMS Key ID to use to encrypt the message in S3.", - "title": "S3SseKmsKeyId", - "type": "string" + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue", + "markdownDescription": "A container specifying the time by which replication should be complete for all objects and operations on objects.", + "title": "Time" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "markdownDescription": "Contains an integer specifying time in minutes.\n\nValid value: 15", + "title": "Minutes", + "type": "number" } }, "required": [ - "RoleArn", - "S3Bucket" + "Minutes" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.SendAction": { + "AWS::S3::Bucket.RoutingRule": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the caller does not have the permissions to call the sendRawEmail API.", - "title": "ActionFailurePolicy", - "type": "string" + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule", + "markdownDescription": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", + "title": "RedirectRule" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role to use for this action. This role must have access to the ses:SendRawEmail API.", - "title": "RoleArn", - "type": "string" + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition", + "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the `/docs` folder, redirect to the `/documents` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", + "title": "RoutingRuleCondition" } }, "required": [ - "RoleArn" + "RedirectRule" ], "type": "object" }, - "AWS::SES::MailManagerRuleSet.SnsAction": { + "AWS::S3::Bucket.RoutingRuleCondition": { "additionalProperties": false, "properties": { - "ActionFailurePolicy": { - "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, specified SNS topic has been deleted or the role lacks necessary permissions to call the `sns:Publish` API.", - "title": "ActionFailurePolicy", - "type": "string" - }, - "Encoding": { - "markdownDescription": "The encoding to use for the email within the Amazon SNS notification. The default value is `UTF-8` . Use `BASE64` if you need to preserve all special characters, especially when the original message uses a different encoding format.", - "title": "Encoding", - "type": "string" - }, - "PayloadType": { - "markdownDescription": "The expected payload type within the Amazon SNS notification. `CONTENT` attempts to publish the full email content with 20KB of headers content. `HEADERS` extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is `CONTENT` .", - "title": "PayloadType", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while writing to Amazon SNS. This role must have access to the `sns:Publish` API for the given topic.", - "title": "RoleArn", + "HttpErrorCodeReturnedEquals": { + "markdownDescription": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n\nRequired when parent element `Condition` is specified and sibling `KeyPrefixEquals` is not specified. If both are specified, then both must be true for the redirect to be applied.", + "title": "HttpErrorCodeReturnedEquals", "type": "string" }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.", - "title": "TopicArn", + "KeyPrefixEquals": { + "markdownDescription": "The object key name prefix when the redirect is applied. For example, to redirect requests for `ExamplePage.html` , the key prefix will be `ExamplePage.html` . To redirect request for all pages with the prefix `docs/` , the key prefix will be `docs/` , which identifies all objects in the docs/ folder.\n\nRequired when the parent element `Condition` is specified and sibling `HttpErrorCodeReturnedEquals` is not specified. If both conditions are specified, both must be true for the redirect to be applied.", + "title": "KeyPrefixEquals", "type": "string" } }, - "required": [ - "RoleArn", - "TopicArn" - ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy": { + "AWS::S3::Bucket.Rule": { "additionalProperties": false, "properties": { - "Condition": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload", + "markdownDescription": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.", + "title": "AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "markdownDescription": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "title": "ExpirationDate", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ExpirationInDays": { + "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "title": "ExpirationInDays", + "type": "number" + }, + "ExpiredObjectDeleteMarker": { + "markdownDescription": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with `ExpirationInDays` , `ExpirationDate` , or `TagFilters` .", + "title": "ExpiredObjectDeleteMarker", + "type": "boolean" + }, + "Id": { + "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.", + "title": "Id", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "NoncurrentVersionExpiration": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionExpiration", + "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.", + "title": "NoncurrentVersionExpiration" }, - "Metadata": { - "type": "object" + "NoncurrentVersionExpirationInDays": { + "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.", + "title": "NoncurrentVersionExpirationInDays", + "type": "number" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "markdownDescription": "Default action instructs the tra\ufb03c policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements", - "title": "DefaultAction", - "type": "string" - }, - "MaxMessageSizeBytes": { - "markdownDescription": "The maximum message size in bytes of email which is allowed in by this traffic policy\u2014anything larger will be blocked.", - "title": "MaxMessageSizeBytes", - "type": "number" - }, - "PolicyStatements": { - "items": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.PolicyStatement" - }, - "markdownDescription": "Conditional statements for filtering email traffic.", - "title": "PolicyStatements", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", - "title": "Tags", - "type": "array" - }, - "TrafficPolicyName": { - "markdownDescription": "The name of the policy.\n\nThe policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.", - "title": "TrafficPolicyName", - "type": "string" - } + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition", + "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransitions` property.", + "title": "NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" }, - "required": [ - "DefaultAction", - "PolicyStatements" - ], - "type": "object" + "markdownDescription": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransition` property.", + "title": "NoncurrentVersionTransitions", + "type": "array" }, - "Type": { - "enum": [ - "AWS::SES::MailManagerTrafficPolicy" - ], + "ObjectSizeGreaterThan": { + "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", + "title": "ObjectSizeGreaterThan", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ObjectSizeLessThan": { + "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", + "title": "ObjectSizeLessThan", "type": "string" + }, + "Prefix": { + "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "Prefix", + "type": "string" + }, + "Status": { + "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", + "title": "Status", + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "markdownDescription": "Tags to use to identify a subset of objects to which the lifecycle rule applies.", + "title": "TagFilters", + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition", + "markdownDescription": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transitions` property.", + "title": "Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "markdownDescription": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transition` property.", + "title": "Transitions", + "type": "array" } }, "required": [ - "Type", - "Properties" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressAnalysis": { + "AWS::S3::Bucket.S3KeyFilter": { "additionalProperties": false, "properties": { - "Analyzer": { - "markdownDescription": "The Amazon Resource Name (ARN) of an Add On.", - "title": "Analyzer", + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + }, + "markdownDescription": "A list of containers for the key-value pair that defines the criteria for the filter rule.", + "title": "Rules", + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.S3TablesDestination": { + "additionalProperties": false, + "properties": { + "TableArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the metadata table in the metadata table configuration. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", + "title": "TableArn", "type": "string" }, - "ResultField": { - "markdownDescription": "The returned value from an Add On.", - "title": "ResultField", + "TableBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) for the table bucket that's specified as the destination in the metadata table configuration. The destination table bucket must be in the same Region and AWS account as the general purpose bucket.", + "title": "TableBucketArn", + "type": "string" + }, + "TableName": { + "markdownDescription": "The name for the metadata table in your metadata table configuration. The specified metadata table name must be unique within the `aws_s3_metadata` namespace in the destination table bucket.", + "title": "TableName", + "type": "string" + }, + "TableNamespace": { + "markdownDescription": "The table bucket namespace for the metadata table in your metadata table configuration. This value is always `aws_s3_metadata` .", + "title": "TableNamespace", "type": "string" } }, "required": [ - "Analyzer", - "ResultField" + "TableBucketArn", + "TableName" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressBooleanExpression": { + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressBooleanToEvaluate", - "markdownDescription": "The operand on which to perform a boolean condition operation.", - "title": "Evaluate" + "KMSMasterKeyID": { + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption.\n\n> - *General purpose buckets* - This parameter is allowed if and only if `SSEAlgorithm` is set to `aws:kms` or `aws:kms:dsse` .\n> - *Directory buckets* - This parameter is allowed if and only if `SSEAlgorithm` is set to `aws:kms` . \n\nYou can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key Alias: `alias/alias-name`\n\nIf you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy) .\n\n> - *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then AWS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.\n> - *Directory buckets* - When you specify an [AWS customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported. > Amazon S3 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": "KMSMasterKeyID", + "type": "string" }, - "Operator": { - "markdownDescription": "The matching operator for a boolean condition expression.", - "title": "Operator", + "SSEAlgorithm": { + "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n> For directory buckets, there are only two supported values for server-side encryption: `AES256` and `aws:kms` .", + "title": "SSEAlgorithm", "type": "string" } }, "required": [ - "Evaluate", - "Operator" + "SSEAlgorithm" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressBooleanToEvaluate": { + "AWS::S3::Bucket.ServerSideEncryptionRule": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressAnalysis", - "markdownDescription": "The structure type for a boolean condition stating the Add On ARN and its returned value.", - "title": "Analysis" + "BlockedEncryptionTypes": { + "$ref": "#/definitions/AWS::S3::Bucket.BlockedEncryptionTypes", + "markdownDescription": "A bucket-level setting for Amazon S3 general purpose buckets used to prevent the upload of new objects encrypted with the specified server-side encryption type. For example, blocking an encryption type will block `PutObject` , `CopyObject` , `PostObject` , multipart upload, and replication requests to the bucket for objects with the specified encryption type. However, you can continue to read and list any pre-existing objects already encrypted with the specified encryption type. For more information, see [Blocking or unblocking SSE-C for a general purpose bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/blocking-unblocking-s3-c-encryption-gpb.html) .\n\n> Currently, this parameter only supports blocking or unblocking server-side encryption with customer-provided keys (SSE-C). For more information about SSE-C, see [Using server-side encryption with customer-provided keys (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html) .", + "title": "BlockedEncryptionTypes" }, - "IsInAddressList": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIsInAddressList", - "markdownDescription": "The structure type for a boolean condition that provides the address lists to evaluate incoming traffic on.", - "title": "IsInAddressList" + "BucketKeyEnabled": { + "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the `BucketKeyEnabled` element to `true` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n\nFor more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide* .", + "title": "BucketKeyEnabled", + "type": "boolean" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault", + "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + "title": "ServerSideEncryptionByDefault" } }, "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIpToEvaluate": { + "AWS::S3::Bucket.SourceSelectionCriteria": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "An enum type representing the allowed attribute types for an IP condition.", - "title": "Attribute", - "type": "string" + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications", + "markdownDescription": "A filter that you can specify for selection for modifications on replicas.", + "title": "ReplicaModifications" + }, + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects", + "markdownDescription": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", + "title": "SseKmsEncryptedObjects" } }, - "required": [ - "Attribute" - ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIpv4Expression": { + "AWS::S3::Bucket.SseKmsEncryptedObjects": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpToEvaluate", - "markdownDescription": "The left hand side argument of an IP condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for an IP condition expression.", - "title": "Operator", + "Status": { + "markdownDescription": "Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service.", + "title": "Status", "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The right hand side argument of an IP condition expression.", - "title": "Values", - "type": "array" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIpv6Expression": { + "AWS::S3::Bucket.StorageClassAnalysis": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv6ToEvaluate", - "markdownDescription": "The left hand side argument of an IPv6 condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for an IPv6 condition expression.", - "title": "Operator", - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The right hand side argument of an IPv6 condition expression.", - "title": "Values", - "type": "array" + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport", + "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", + "title": "DataExport" } }, - "required": [ - "Evaluate", - "Operator", - "Values" - ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIpv6ToEvaluate": { + "AWS::S3::Bucket.TagFilter": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "An enum type representing the allowed attribute types for an IPv6 condition.", - "title": "Attribute", + "Key": { + "markdownDescription": "The tag key.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The tag value.", + "title": "Value", "type": "string" } }, "required": [ - "Attribute" + "Key", + "Value" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressIsInAddressList": { + "AWS::S3::Bucket.TargetObjectKeyFormat": { "additionalProperties": false, "properties": { - "AddressLists": { - "items": { - "type": "string" - }, - "markdownDescription": "The address lists that will be used for evaluation.", - "title": "AddressLists", - "type": "array" + "PartitionedPrefix": { + "$ref": "#/definitions/AWS::S3::Bucket.PartitionedPrefix", + "markdownDescription": "Partitioned S3 key for log objects.", + "title": "PartitionedPrefix" }, - "Attribute": { - "markdownDescription": "The email attribute that needs to be evaluated against the address list.", - "title": "Attribute", - "type": "string" + "SimplePrefix": { + "markdownDescription": "To use the simple format for S3 keys for log objects. To specify SimplePrefix format, set SimplePrefix to {}.", + "title": "SimplePrefix", + "type": "object" } }, - "required": [ - "AddressLists", - "Attribute" - ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressStringExpression": { + "AWS::S3::Bucket.Tiering": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressStringToEvaluate", - "markdownDescription": "The left hand side argument of a string condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "", - "title": "Operator", + "AccessTier": { + "markdownDescription": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.", + "title": "AccessTier", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The right hand side argument of a string condition expression.", - "title": "Values", - "type": "array" + "Days": { + "markdownDescription": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", + "title": "Days", + "type": "number" } }, "required": [ - "Evaluate", - "Operator", - "Values" + "AccessTier", + "Days" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressStringToEvaluate": { + "AWS::S3::Bucket.TopicConfiguration": { "additionalProperties": false, "properties": { - "Analysis": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressAnalysis", - "markdownDescription": "The structure type for a string condition stating the Add On ARN and its returned value.", - "title": "Analysis" + "Event": { + "markdownDescription": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .", + "title": "Event", + "type": "string" }, - "Attribute": { - "markdownDescription": "The enum type representing the allowed attribute types for a string condition.", - "title": "Attribute", + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter", + "markdownDescription": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket.", + "title": "Filter" + }, + "Topic": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", + "title": "Topic", "type": "string" } }, + "required": [ + "Event", + "Topic" + ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolExpression": { + "AWS::S3::Bucket.Transition": { "additionalProperties": false, "properties": { - "Evaluate": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolToEvaluate", - "markdownDescription": "The left hand side argument of a TLS condition expression.", - "title": "Evaluate" - }, - "Operator": { - "markdownDescription": "The matching operator for a TLS condition expression.", - "title": "Operator", + "StorageClass": { + "markdownDescription": "The storage class to which you want the object to transition.", + "title": "StorageClass", "type": "string" }, - "Value": { - "markdownDescription": "The right hand side argument of a TLS condition expression.", - "title": "Value", + "TransitionDate": { + "markdownDescription": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.", + "title": "TransitionDate", "type": "string" + }, + "TransitionInDays": { + "markdownDescription": "Indicates the number of days after creation when objects are transitioned to the specified storage class. If the specified storage class is `INTELLIGENT_TIERING` , `GLACIER_IR` , `GLACIER` , or `DEEP_ARCHIVE` , valid values are `0` or positive integers. If the specified storage class is `STANDARD_IA` or `ONEZONE_IA` , valid values are positive integers greater than `30` . Be aware that some storage classes have a minimum storage duration and that you're charged for transitioning objects before their minimum storage duration. For more information, see [Constraints and considerations for transitions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html#lifecycle-configuration-constraints) in the *Amazon S3 User Guide* .", + "title": "TransitionInDays", + "type": "number" } }, "required": [ - "Evaluate", - "Operator", - "Value" + "StorageClass" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolToEvaluate": { + "AWS::S3::Bucket.VersioningConfiguration": { "additionalProperties": false, "properties": { - "Attribute": { - "markdownDescription": "The enum type representing the allowed attribute types for the TLS condition.", - "title": "Attribute", + "Status": { + "markdownDescription": "The versioning state of the bucket.", + "title": "Status", "type": "string" } }, "required": [ - "Attribute" + "Status" ], "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.PolicyCondition": { + "AWS::S3::Bucket.WebsiteConfiguration": { "additionalProperties": false, "properties": { - "BooleanExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressBooleanExpression", - "markdownDescription": "This represents a boolean type condition matching on the incoming mail. It performs the boolean operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "BooleanExpression" - }, - "IpExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv4Expression", - "markdownDescription": "This represents an IP based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "IpExpression" + "ErrorDocument": { + "markdownDescription": "The name of the error document for the website.", + "title": "ErrorDocument", + "type": "string" }, - "Ipv6Expression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv6Expression", - "markdownDescription": "This represents an IPv6 based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "Ipv6Expression" + "IndexDocument": { + "markdownDescription": "The name of the index document for the website.", + "title": "IndexDocument", + "type": "string" }, - "StringExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressStringExpression", - "markdownDescription": "This represents a string based condition matching on the incoming mail. It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "StringExpression" + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo", + "markdownDescription": "The redirect behavior for every request to this bucket's website endpoint.\n\n> If you specify this property, you can't specify any other property.", + "title": "RedirectAllRequestsTo" }, - "TlsExpression": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolExpression", - "markdownDescription": "This represents a TLS based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", - "title": "TlsExpression" + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + }, + "markdownDescription": "Rules that define when a redirect is applied and the redirect behavior.", + "title": "RoutingRules", + "type": "array" } }, "type": "object" }, - "AWS::SES::MailManagerTrafficPolicy.PolicyStatement": { + "AWS::S3::BucketPolicy": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.", - "title": "Action", + "Condition": { "type": "string" }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.PolicyCondition" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the Amazon S3 bucket to which the policy applies.", + "title": "Bucket", + "type": "string" + }, + "PolicyDocument": { + "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", + "title": "PolicyDocument", + "type": "object" + } }, - "markdownDescription": "The list of conditions to apply to incoming messages for filtering email traffic.", - "title": "Conditions", - "type": "array" + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Action", - "Conditions" + "Type", + "Properties" ], "type": "object" }, - "AWS::SES::MultiRegionEndpoint": { + "AWS::S3::MultiRegionAccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -349720,34 +317937,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Details": { - "$ref": "#/definitions/AWS::SES::MultiRegionEndpoint.Details", - "markdownDescription": "Contains details of a multi-region endpoint (global-endpoint) being created.", - "title": "Details" - }, - "EndpointName": { - "markdownDescription": "The name of the multi-region endpoint (global-endpoint).", - "title": "EndpointName", + "Name": { + "markdownDescription": "The name of the Multi-Region Access Point.", + "title": "Name", "type": "string" }, - "Tags": { + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration", + "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Multi-Region Access Point. You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .", + "title": "PublicAccessBlockConfiguration" + }, + "Regions": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::S3::MultiRegionAccessPoint.Region" }, - "markdownDescription": "An array of objects that define the tags (keys and values) to associate with the multi-region endpoint (global-endpoint).", - "title": "Tags", + "markdownDescription": "A collection of the Regions and buckets associated with the Multi-Region Access Point.", + "title": "Regions", "type": "array" } }, "required": [ - "Details", - "EndpointName" + "Regions" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::MultiRegionEndpoint" + "AWS::S3::MultiRegionAccessPoint" ], "type": "string" }, @@ -349766,38 +317982,52 @@ ], "type": "object" }, - "AWS::SES::MultiRegionEndpoint.Details": { + "AWS::S3::MultiRegionAccessPoint.PublicAccessBlockConfiguration": { "additionalProperties": false, "properties": { - "RouteDetails": { - "items": { - "$ref": "#/definitions/AWS::SES::MultiRegionEndpoint.RouteDetailsItems" - }, - "markdownDescription": "A list of route configuration details. Must contain exactly one route configuration.", - "title": "RouteDetails", - "type": "array" + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", + "title": "BlockPublicAcls", + "type": "boolean" + }, + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", + "title": "BlockPublicPolicy", + "type": "boolean" + }, + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "title": "IgnorePublicAcls", + "type": "boolean" + }, + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "title": "RestrictPublicBuckets", + "type": "boolean" } }, - "required": [ - "RouteDetails" - ], "type": "object" }, - "AWS::SES::MultiRegionEndpoint.RouteDetailsItems": { + "AWS::S3::MultiRegionAccessPoint.Region": { "additionalProperties": false, "properties": { - "Region": { - "markdownDescription": "The name of an AWS-Region to be a secondary region for the multi-region endpoint (global-endpoint).", - "title": "Region", + "Bucket": { + "markdownDescription": "The name of the associated bucket for the Region.", + "title": "Bucket", + "type": "string" + }, + "BucketAccountId": { + "markdownDescription": "The AWS account ID that owns the Amazon S3 bucket that's associated with this Multi-Region Access Point.", + "title": "BucketAccountId", "type": "string" } }, "required": [ - "Region" + "Bucket" ], "type": "object" }, - "AWS::SES::ReceiptFilter": { + "AWS::S3::MultiRegionAccessPointPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -349832,20 +318062,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter", - "markdownDescription": "A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it.", - "title": "Filter" + "MrapName": { + "markdownDescription": "The name of the Multi-Region Access Point.", + "title": "MrapName", + "type": "string" + }, + "Policy": { + "markdownDescription": "The access policy associated with the Multi-Region Access Point.", + "title": "Policy", + "type": "object" } }, "required": [ - "Filter" + "MrapName", + "Policy" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptFilter" + "AWS::S3::MultiRegionAccessPointPolicy" ], "type": "string" }, @@ -349864,46 +318100,21 @@ ], "type": "object" }, - "AWS::SES::ReceiptFilter.Filter": { - "additionalProperties": false, - "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter", - "markdownDescription": "A structure that provides the IP addresses to block or allow, and whether to block or allow incoming mail from them.", - "title": "IpFilter" - }, - "Name": { - "markdownDescription": "The name of the IP address filter. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Start and end with a letter or number.\n- Contain 64 characters or fewer.", - "title": "Name", - "type": "string" - } - }, - "required": [ - "IpFilter" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.IpFilter": { + "AWS::S3::MultiRegionAccessPointPolicy.PolicyStatus": { "additionalProperties": false, "properties": { - "Cidr": { - "markdownDescription": "A single IP address or a range of IP addresses to block or allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example of a single email address is 10.0.0.1. An example of a range of IP addresses is 10.0.0.1/24. For more information about CIDR notation, see [RFC 2317](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc2317) .", - "title": "Cidr", - "type": "string" - }, - "Policy": { - "markdownDescription": "Indicates whether to block or allow incoming mail from the specified IP addresses.", - "title": "Policy", + "IsPublic": { + "markdownDescription": "The policy status for this bucket. `TRUE` indicates that this bucket is public. `FALSE` indicates that the bucket is not public.", + "title": "IsPublic", "type": "string" } }, "required": [ - "Cidr", - "Policy" + "IsPublic" ], "type": "object" }, - "AWS::SES::ReceiptRule": { + "AWS::S3::StorageLens": { "additionalProperties": false, "properties": { "Condition": { @@ -349938,31 +318149,28 @@ "Properties": { "additionalProperties": false, "properties": { - "After": { - "markdownDescription": "The name of an existing rule after which the new rule is placed. If this parameter is null, the new rule is inserted at the beginning of the rule list.", - "title": "After", - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule", - "markdownDescription": "A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.", - "title": "Rule" + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration", + "markdownDescription": "This resource contains the details Amazon S3 Storage Lens configuration.", + "title": "StorageLensConfiguration" }, - "RuleSetName": { - "markdownDescription": "The name of the rule set where the receipt rule is added.", - "title": "RuleSetName", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A set of tags (key\u2013value pairs) to associate with the Storage Lens configuration.", + "title": "Tags", + "type": "array" } }, "required": [ - "Rule", - "RuleSetName" + "StorageLensConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::ReceiptRule" + "AWS::S3::StorageLens" ], "type": "string" }, @@ -349981,444 +318189,465 @@ ], "type": "object" }, - "AWS::SES::ReceiptRule.Action": { + "AWS::S3::StorageLens.AccountLevel": { "additionalProperties": false, "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction", - "markdownDescription": "Adds a header to the received email.", - "title": "AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction", - "markdownDescription": "Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).", - "title": "BounceAction" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics", + "markdownDescription": "This property contains the details of account-level activity metrics for S3 Storage Lens.", + "title": "ActivityMetrics" }, - "ConnectAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.ConnectAction", - "markdownDescription": "The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.", - "title": "ConnectAction" + "AdvancedCostOptimizationMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedCostOptimizationMetrics", + "markdownDescription": "This property contains the details of account-level advanced cost optimization metrics for S3 Storage Lens.", + "title": "AdvancedCostOptimizationMetrics" }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction", - "markdownDescription": "Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.", - "title": "LambdaAction" + "AdvancedDataProtectionMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedDataProtectionMetrics", + "markdownDescription": "This property contains the details of account-level advanced data protection metrics for S3 Storage Lens.", + "title": "AdvancedDataProtectionMetrics" }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action", - "markdownDescription": "Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon SNS.", - "title": "S3Action" + "AdvancedPerformanceMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedPerformanceMetrics", + "markdownDescription": "This property contains the account-level details for S3 Storage Lens advanced performance metrics.", + "title": "AdvancedPerformanceMetrics" }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction", - "markdownDescription": "Publishes the email content within a notification to Amazon SNS.", - "title": "SNSAction" + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel", + "markdownDescription": "This property contains the details of the account-level bucket-level configurations for Amazon S3 Storage Lens. To enable bucket-level configurations, make sure to also set the same metrics at the account level.", + "title": "BucketLevel" }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction", - "markdownDescription": "Terminates the evaluation of the receipt rule set and optionally publishes a notification to Amazon SNS.", - "title": "StopAction" + "DetailedStatusCodesMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.DetailedStatusCodesMetrics", + "markdownDescription": "This property contains the details of account-level detailed status code metrics for S3 Storage Lens.", + "title": "DetailedStatusCodesMetrics" }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction", - "markdownDescription": "Calls Amazon WorkMail and, optionally, publishes a notification to Amazon SNS.", - "title": "WorkmailAction" + "StorageLensGroupLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensGroupLevel", + "markdownDescription": "This property determines the scope of Storage Lens group data that is displayed in the Storage Lens dashboard.", + "title": "StorageLensGroupLevel" } }, + "required": [ + "BucketLevel" + ], "type": "object" }, - "AWS::SES::ReceiptRule.AddHeaderAction": { + "AWS::S3::StorageLens.ActivityMetrics": { "additionalProperties": false, "properties": { - "HeaderName": { - "markdownDescription": "The name of the header to add to the incoming message. The name must contain at least one character, and can contain up to 50 characters. It consists of alphanumeric ( `a\u2013z, A\u2013Z, 0\u20139` ) characters and dashes.", - "title": "HeaderName", - "type": "string" - }, - "HeaderValue": { - "markdownDescription": "The content to include in the header. This value can contain up to 2048 characters. It can't contain newline ( `\\n` ) or carriage return ( `\\r` ) characters.", - "title": "HeaderValue", + "IsEnabled": { + "markdownDescription": "A property that indicates whether the activity metrics is enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AdvancedCostOptimizationMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "Indicates whether advanced cost optimization metrics are enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AdvancedDataProtectionMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "Indicates whether advanced data protection metrics are enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AdvancedPerformanceMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "This property indicates whether the advanced performance metrics are enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AwsOrg": { + "additionalProperties": false, + "properties": { + "Arn": { + "markdownDescription": "This resource contains the ARN of the AWS Organization.", + "title": "Arn", "type": "string" } }, "required": [ - "HeaderName", - "HeaderValue" + "Arn" ], "type": "object" }, - "AWS::SES::ReceiptRule.BounceAction": { + "AWS::S3::StorageLens.BucketLevel": { "additionalProperties": false, "properties": { - "Message": { - "markdownDescription": "Human-readable text to include in the bounce message.", - "title": "Message", - "type": "string" + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics", + "markdownDescription": "A property for bucket-level activity metrics for S3 Storage Lens.", + "title": "ActivityMetrics" }, - "Sender": { - "markdownDescription": "The email address of the sender of the bounced email. This is the address from which the bounce message is sent.", - "title": "Sender", - "type": "string" + "AdvancedCostOptimizationMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedCostOptimizationMetrics", + "markdownDescription": "A property for bucket-level advanced cost optimization metrics for S3 Storage Lens.", + "title": "AdvancedCostOptimizationMetrics" }, - "SmtpReplyCode": { - "markdownDescription": "The SMTP reply code, as defined by [RFC 5321](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5321) .", - "title": "SmtpReplyCode", - "type": "string" + "AdvancedDataProtectionMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedDataProtectionMetrics", + "markdownDescription": "A property for bucket-level advanced data protection metrics for S3 Storage Lens.", + "title": "AdvancedDataProtectionMetrics" }, - "StatusCode": { - "markdownDescription": "The SMTP enhanced status code, as defined by [RFC 3463](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc3463) .", - "title": "StatusCode", - "type": "string" + "AdvancedPerformanceMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.AdvancedPerformanceMetrics", + "markdownDescription": "A property for bucket-level advanced performance metrics for S3 Storage Lens.", + "title": "AdvancedPerformanceMetrics" }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", - "type": "string" + "DetailedStatusCodesMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.DetailedStatusCodesMetrics", + "markdownDescription": "A property for bucket-level detailed status code metrics for S3 Storage Lens.", + "title": "DetailedStatusCodesMetrics" + }, + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel", + "markdownDescription": "A property for bucket-level prefix-level storage metrics for S3 Storage Lens.", + "title": "PrefixLevel" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.BucketsAndRegions": { + "additionalProperties": false, + "properties": { + "Buckets": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains the details of the buckets for the Amazon S3 Storage Lens configuration. This should be the bucket Amazon Resource Name(ARN). For valid values, see [Buckets ARN format here](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_Include.html#API_control_Include_Contents) in the *Amazon S3 API Reference* .", + "title": "Buckets", + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains the details of the Regions for the S3 Storage Lens configuration.", + "title": "Regions", + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.CloudWatchMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "This property identifies whether the CloudWatch publishing option for S3 Storage Lens is enabled.", + "title": "IsEnabled", + "type": "boolean" } }, "required": [ - "Message", - "Sender", - "SmtpReplyCode" + "IsEnabled" ], "type": "object" }, - "AWS::SES::ReceiptRule.ConnectAction": { + "AWS::S3::StorageLens.DataExport": { + "additionalProperties": false, + "properties": { + "CloudWatchMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.CloudWatchMetrics", + "markdownDescription": "This property enables the Amazon CloudWatch publishing option for S3 Storage Lens metrics.", + "title": "CloudWatchMetrics" + }, + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination", + "markdownDescription": "This property contains the details of the bucket where the S3 Storage Lens metrics export will be placed.", + "title": "S3BucketDestination" + }, + "StorageLensTableDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensTableDestination", + "markdownDescription": "This property contains the details of the S3 table bucket where the S3 Storage Lens default metrics report will be placed. This property enables you to store your Storage Lens metrics in read-only S3 Tables.", + "title": "StorageLensTableDestination" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DetailedStatusCodesMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "markdownDescription": "Indicates whether detailed status code metrics are enabled.", + "title": "IsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.Encryption": { "additionalProperties": false, "properties": { - "IAMRoleARN": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used by Amazon Simple Email Service while starting email contacts to the Amazon Connect instance. This role should have permission to invoke `connect:StartEmailContact` for the given Amazon Connect instance.", - "title": "IAMRoleARN", - "type": "string" + "SSEKMS": { + "$ref": "#/definitions/AWS::S3::StorageLens.SSEKMS", + "markdownDescription": "Specifies the use of AWS Key Management Service keys (SSE-KMS) to encrypt the S3 Storage Lens metrics export file.", + "title": "SSEKMS" }, - "InstanceARN": { - "markdownDescription": "The Amazon Resource Name (ARN) for the Amazon Connect instance that Amazon SES integrates with for starting email contacts.\n\nFor more information about Amazon Connect instances, see the [Amazon Connect Administrator Guide](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-instances.html)", - "title": "InstanceARN", - "type": "string" + "SSES3": { + "markdownDescription": "Specifies the use of an Amazon S3-managed key (SSE-S3) to encrypt the S3 Storage Lens metrics export file.", + "title": "SSES3", + "type": "object" } }, - "required": [ - "IAMRoleARN", - "InstanceARN" - ], "type": "object" }, - "AWS::SES::ReceiptRule.LambdaAction": { + "AWS::S3::StorageLens.PrefixLevel": { "additionalProperties": false, "properties": { - "FunctionArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is `arn:aws:lambda:us-west-2:account-id:function:MyFunction` . For more information about AWS Lambda, see the [AWS Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) .", - "title": "FunctionArn", - "type": "string" - }, - "InvocationType": { - "markdownDescription": "The invocation type of the AWS Lambda function. An invocation type of `RequestResponse` means that the execution of the function immediately results in a response, and a value of `Event` means that the function is invoked asynchronously. The default value is `Event` . For information about AWS Lambda invocation types, see the [AWS Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) .\n\n> There is a 30-second timeout on `RequestResponse` invocations. You should use `Event` invocation in most cases. Use `RequestResponse` only to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.", - "title": "InvocationType", - "type": "string" - }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is executed. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", - "type": "string" + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics", + "markdownDescription": "A property for the prefix-level storage metrics for Amazon S3 Storage Lens.", + "title": "StorageMetrics" } }, "required": [ - "FunctionArn" + "StorageMetrics" ], "type": "object" }, - "AWS::SES::ReceiptRule.Rule": { + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { "additionalProperties": false, "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" - }, - "markdownDescription": "An ordered list of actions to perform on messages that match at least one of the recipient email addresses or domains specified in the receipt rule.", - "title": "Actions", - "type": "array" - }, - "Enabled": { - "markdownDescription": "If `true` , the receipt rule is active. The default value is `false` .", - "title": "Enabled", - "type": "boolean" - }, - "Name": { - "markdownDescription": "The name of the receipt rule. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), dashes (-), or periods (.).\n- Start and end with a letter or number.\n- Contain 64 characters or fewer.", - "title": "Name", - "type": "string" - }, - "Recipients": { - "items": { - "type": "string" - }, - "markdownDescription": "The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule matches all recipients on all verified domains.", - "title": "Recipients", - "type": "array" - }, - "ScanEnabled": { - "markdownDescription": "If `true` , then messages that this receipt rule applies to are scanned for spam and viruses. The default value is `false` .", - "title": "ScanEnabled", + "IsEnabled": { + "markdownDescription": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.", + "title": "IsEnabled", "type": "boolean" }, - "TlsPolicy": { - "markdownDescription": "Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to `Require` , Amazon SES bounces emails that are not received over TLS. The default is `Optional` .\n\nValid Values: `Require | Optional`", - "title": "TlsPolicy", - "type": "string" + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria", + "markdownDescription": "This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.", + "title": "SelectionCriteria" } }, "type": "object" }, - "AWS::SES::ReceiptRule.S3Action": { + "AWS::S3::StorageLens.S3BucketDestination": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The name of the Amazon S3 bucket for incoming email.", - "title": "BucketName", + "AccountId": { + "markdownDescription": "This property contains the details of the AWS account ID of the S3 Storage Lens export bucket destination.", + "title": "AccountId", "type": "string" }, - "IamRoleArn": { - "markdownDescription": "The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic. This role should have access to the following APIs:\n\n- `s3:PutObject` , `kms:Encrypt` and `kms:GenerateDataKey` for the given Amazon S3 bucket.\n- `kms:GenerateDataKey` for the given AWS KMS customer managed key.\n- `sns:Publish` for the given Amazon SNS topic.\n\n> If an IAM role ARN is provided, the role (and only the role) is used to access all the given resources (Amazon S3 bucket, AWS KMS customer managed key and Amazon SNS topic). Therefore, setting up individual resource access permissions is not required.", - "title": "IamRoleArn", + "Arn": { + "markdownDescription": "This property contains the details of the ARN of the bucket destination of the S3 Storage Lens export.", + "title": "Arn", "type": "string" }, - "KmsKeyArn": { - "markdownDescription": "The customer managed key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the AWS managed key or a customer managed key that you created in AWS KMS as follows:\n\n- To use the AWS managed key, provide an ARN in the form of `arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses` . For example, if your AWS account ID is 123456789012 and you want to use the AWS managed key in the US West (Oregon) Region, the ARN of the AWS managed key would be `arn:aws:kms:us-west-2:123456789012:alias/aws/ses` . If you use the AWS managed key, you don't need to perform any extra steps to give Amazon SES permission to use the key.\n- To use a customer managed key that you created in AWS KMS, provide the ARN of the customer managed key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the [Amazon SES Developer Guide](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-permissions.html) .\n\nFor more information about key policies, see the [AWS KMS Developer Guide](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) . If you do not specify an AWS KMS key, Amazon SES does not encrypt your emails.\n\n> Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the [AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java/) and [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby/) only. For more information about client-side encryption using AWS KMS managed keys, see the [Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html) .", - "title": "KmsKeyArn", + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption", + "markdownDescription": "This property contains the details of the encryption of the bucket destination of the Amazon S3 Storage Lens metrics export.", + "title": "Encryption" + }, + "Format": { + "markdownDescription": "This property contains the details of the format of the S3 Storage Lens export bucket destination.", + "title": "Format", "type": "string" }, - "ObjectKeyPrefix": { - "markdownDescription": "The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory name that enables you to store similar data under the same directory in a bucket.", - "title": "ObjectKeyPrefix", + "OutputSchemaVersion": { + "markdownDescription": "This property contains the details of the output schema version of the S3 Storage Lens export bucket destination.", + "title": "OutputSchemaVersion", "type": "string" }, - "TopicArn": { - "markdownDescription": "The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", + "Prefix": { + "markdownDescription": "This property contains the details of the prefix of the bucket destination of the S3 Storage Lens export .", + "title": "Prefix", "type": "string" } }, "required": [ - "BucketName" + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" ], "type": "object" }, - "AWS::SES::ReceiptRule.SNSAction": { - "additionalProperties": false, - "properties": { - "Encoding": { - "markdownDescription": "The encoding to use for the email within the Amazon SNS notification. The default value is `UTF-8` . Use `BASE64` if you need to preserve all special characters, especially when the original message uses a different encoding format.", - "title": "Encoding", - "type": "string" - }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.", - "title": "TopicArn", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.StopAction": { + "AWS::S3::StorageLens.SSEKMS": { "additionalProperties": false, "properties": { - "Scope": { - "markdownDescription": "The scope of the StopAction. The only acceptable value is `RuleSet` .", - "title": "Scope", - "type": "string" - }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is taken. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) Amazon SNS operation.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", + "KeyId": { + "markdownDescription": "Specifies the Amazon Resource Name (ARN) of the customer managed AWS key to use for encrypting the S3 Storage Lens metrics export file. Amazon S3 only supports symmetric encryption keys. For more information, see [Special-purpose keys](https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KeyId", "type": "string" } }, "required": [ - "Scope" + "KeyId" ], "type": "object" }, - "AWS::SES::ReceiptRule.WorkmailAction": { + "AWS::S3::StorageLens.SelectionCriteria": { "additionalProperties": false, "properties": { - "OrganizationArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon WorkMail organization. Amazon WorkMail ARNs use the following format:\n\n`arn:aws:workmail:::organization/`\n\nYou can find the ID of your organization by using the [ListOrganizations](https://docs.aws.amazon.com/workmail/latest/APIReference/API_ListOrganizations.html) operation in Amazon WorkMail. Amazon WorkMail organization IDs begin with \" `m-` \", followed by a string of alphanumeric characters.\n\nFor information about Amazon WorkMail organizations, see the [Amazon WorkMail Administrator Guide](https://docs.aws.amazon.com/workmail/latest/adminguide/organizations_overview.html) .", - "title": "OrganizationArn", + "Delimiter": { + "markdownDescription": "This property contains the details of the S3 Storage Lens delimiter being used.", + "title": "Delimiter", "type": "string" }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the WorkMail action is called. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", - "title": "TopicArn", - "type": "string" + "MaxDepth": { + "markdownDescription": "This property contains the details of the max depth that S3 Storage Lens will collect metrics up to.", + "title": "MaxDepth", + "type": "number" + }, + "MinStorageBytesPercentage": { + "markdownDescription": "This property contains the details of the minimum storage bytes percentage threshold that S3 Storage Lens will collect metrics up to.", + "title": "MinStorageBytesPercentage", + "type": "number" } }, - "required": [ - "OrganizationArn" - ], "type": "object" }, - "AWS::SES::ReceiptRuleSet": { + "AWS::S3::StorageLens.StorageLensConfiguration": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel", + "markdownDescription": "This property contains the details of the account-level metrics for Amazon S3 Storage Lens configuration.", + "title": "AccountLevel" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg", + "markdownDescription": "This property contains the details of the AWS Organization for the S3 Storage Lens configuration.", + "title": "AwsOrg" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport", + "markdownDescription": "This property contains the details of this S3 Storage Lens configuration's metrics export.", + "title": "DataExport" }, - "Metadata": { - "type": "object" + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions", + "markdownDescription": "This property contains the details of the bucket and or Regions excluded for Amazon S3 Storage Lens configuration.", + "title": "Exclude" }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "markdownDescription": "The name of the receipt rule set to make active. Setting this value to null disables all email receiving.", - "title": "RuleSetName", - "type": "string" - } - }, - "type": "object" + "ExpandedPrefixesDataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensExpandedPrefixesDataExport", + "markdownDescription": "This property configures your S3 Storage Lens expanded prefixes metrics report.", + "title": "ExpandedPrefixesDataExport" }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRuleSet" - ], + "Id": { + "markdownDescription": "This property contains the details of the ID of the S3 Storage Lens configuration.", + "title": "Id", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions", + "markdownDescription": "This property contains the details of the bucket and or Regions included for Amazon S3 Storage Lens configuration.", + "title": "Include" + }, + "IsEnabled": { + "markdownDescription": "This property contains the details of whether the Amazon S3 Storage Lens configuration is enabled.", + "title": "IsEnabled", + "type": "boolean" + }, + "PrefixDelimiter": { + "markdownDescription": "", + "title": "PrefixDelimiter", + "type": "string" + }, + "StorageLensArn": { + "markdownDescription": "This property contains the details of the ARN of the S3 Storage Lens configuration. This property is read-only.", + "title": "StorageLensArn", "type": "string" } }, "required": [ - "Type" + "AccountLevel", + "Id", + "IsEnabled" ], "type": "object" }, - "AWS::SES::Template": { + "AWS::S3::StorageLens.StorageLensExpandedPrefixesDataExport": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination", + "markdownDescription": "This property specifies the general purpose bucket where the S3 Storage Lens Expanded Prefixes metrics export files are located. At least one export destination must be specified.", + "title": "S3BucketDestination" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template", - "markdownDescription": "The content of the email, composed of a subject line and either an HTML part or a text-only part.", - "title": "Template" - } + "StorageLensTableDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensTableDestination", + "markdownDescription": "This property configures S3 Storage Lens Expanded Prefixes metrics report to read-only S3 table buckets.", + "title": "StorageLensTableDestination" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensGroupLevel": { + "additionalProperties": false, + "properties": { + "StorageLensGroupSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensGroupSelectionCriteria", + "markdownDescription": "This property indicates which Storage Lens group ARNs to include or exclude in the Storage Lens group aggregation. If this value is left null, then all Storage Lens groups are selected.", + "title": "StorageLensGroupSelectionCriteria" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensGroupSelectionCriteria": { + "additionalProperties": false, + "properties": { + "Exclude": { + "items": { + "type": "string" }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::Template" - ], - "type": "string" + "markdownDescription": "This property indicates which Storage Lens group ARNs to exclude from the Storage Lens group aggregation.", + "title": "Exclude", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Include": { + "items": { + "type": "string" + }, + "markdownDescription": "This property indicates which Storage Lens group ARNs to include in the Storage Lens group aggregation.", + "title": "Include", + "type": "array" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::SES::Template.Template": { + "AWS::S3::StorageLens.StorageLensTableDestination": { "additionalProperties": false, "properties": { - "HtmlPart": { - "markdownDescription": "The HTML body of the email.", - "title": "HtmlPart", - "type": "string" - }, - "SubjectPart": { - "markdownDescription": "The subject line of the email.", - "title": "SubjectPart", - "type": "string" - }, - "TemplateName": { - "markdownDescription": "The name of the template. You will refer to this name when you send email using the `SendEmail` or `SendBulkEmail` operations.", - "title": "TemplateName", - "type": "string" + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption", + "markdownDescription": "This resource configures your data encryption settings for Storage Lens metrics in read-only S3 table buckets.", + "title": "Encryption" }, - "TextPart": { - "markdownDescription": "The email body that is visible to recipients whose email clients do not display HTML content.", - "title": "TextPart", - "type": "string" + "IsEnabled": { + "markdownDescription": "This property indicates whether the export to read-only S3 table buckets is enabled for your S3 Storage Lens configuration. When set to true, Storage Lens reports are automatically exported to tables in addition to other configured destinations.", + "title": "IsEnabled", + "type": "boolean" } }, "required": [ - "SubjectPart" + "IsEnabled" ], "type": "object" }, - "AWS::SES::Tenant": { + "AWS::S3::StorageLensGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -350453,36 +318682,34 @@ "Properties": { "additionalProperties": false, "properties": { - "ResourceAssociations": { - "items": { - "$ref": "#/definitions/AWS::SES::Tenant.ResourceAssociation" - }, - "markdownDescription": "The list of resources to associate with the tenant.", - "title": "ResourceAssociations", - "type": "array" + "Filter": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Filter", + "markdownDescription": "This property contains the criteria for the Storage Lens group data that is displayed", + "title": "Filter" + }, + "Name": { + "markdownDescription": "This property contains the Storage Lens group name.", + "title": "Name", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of objects that define the tags (keys and values) associated with the tenant.", + "markdownDescription": "This property contains the AWS resource tags that you're adding to your Storage Lens group. This parameter is optional.", "title": "Tags", "type": "array" - }, - "TenantName": { - "markdownDescription": "The name of a tenant. The name can contain up to 64 alphanumeric characters, including letters, numbers, hyphens (-) and underscores (_) only.", - "title": "TenantName", - "type": "string" } }, "required": [ - "TenantName" + "Filter", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SES::Tenant" + "AWS::S3::StorageLensGroup" ], "type": "string" }, @@ -350501,111 +318728,169 @@ ], "type": "object" }, - "AWS::SES::Tenant.ResourceAssociation": { + "AWS::S3::StorageLensGroup.And": { "additionalProperties": false, "properties": { - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource associated with the tenant.", - "title": "ResourceArn", - "type": "string" + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", + "title": "MatchAnyPrefix", + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", + "title": "MatchAnySuffix", + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "This property contains the list of object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", + "title": "MatchAnyTag", + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", + "markdownDescription": "This property contains `DaysGreaterThan` and `DaysLessThan` properties to define the object age range (minimum and maximum number of days).", + "title": "MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", + "markdownDescription": "This property contains `BytesGreaterThan` and `BytesLessThan` to define the object size range (minimum and maximum number of Bytes).", + "title": "MatchObjectSize" } }, - "required": [ - "ResourceArn" - ], "type": "object" }, - "AWS::SES::VdmAttributes": { + "AWS::S3::StorageLensGroup.Filter": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "And": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.And", + "markdownDescription": "This property contains the `And` logical operator, which allows multiple filter conditions to be joined for more complex comparisons of Storage Lens group data. Objects must match all of the listed filter conditions that are joined by the `And` logical operator. Only one of each filter condition is allowed.", + "title": "And" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", + "title": "MatchAnyPrefix", + "type": "array" }, - "Metadata": { - "type": "object" + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", + "title": "MatchAnySuffix", + "type": "array" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardAttributes": { - "$ref": "#/definitions/AWS::SES::VdmAttributes.DashboardAttributes", - "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Dashboard.", - "title": "DashboardAttributes" - }, - "GuardianAttributes": { - "$ref": "#/definitions/AWS::SES::VdmAttributes.GuardianAttributes", - "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Guardian.", - "title": "GuardianAttributes" - } + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" }, - "type": "object" + "markdownDescription": "This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", + "title": "MatchAnyTag", + "type": "array" }, - "Type": { - "enum": [ - "AWS::SES::VdmAttributes" - ], - "type": "string" + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", + "markdownDescription": "This property contains `DaysGreaterThan` and `DaysLessThan` to define the object age range (minimum and maximum number of days).", + "title": "MatchObjectAge" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", + "markdownDescription": "This property contains `BytesGreaterThan` and `BytesLessThan` to define the object size range (minimum and maximum number of Bytes).", + "title": "MatchObjectSize" + }, + "Or": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.Or", + "markdownDescription": "This property contains the `Or` logical operator, which allows multiple filter conditions to be joined. Objects can match any of the listed filter conditions, which are joined by the `Or` logical operator. Only one of each filter condition is allowed.", + "title": "Or" } }, - "required": [ - "Type" - ], "type": "object" }, - "AWS::SES::VdmAttributes.DashboardAttributes": { + "AWS::S3::StorageLensGroup.MatchObjectAge": { "additionalProperties": false, "properties": { - "EngagementMetrics": { - "markdownDescription": "Specifies the status of your VDM engagement metrics collection. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables engagement metrics for your account.\n- `DISABLED` \u2013 Amazon SES disables engagement metrics for your account.", - "title": "EngagementMetrics", - "type": "string" + "DaysGreaterThan": { + "markdownDescription": "This property indicates the minimum object age in days.", + "title": "DaysGreaterThan", + "type": "number" + }, + "DaysLessThan": { + "markdownDescription": "This property indicates the maximum object age in days.", + "title": "DaysLessThan", + "type": "number" } }, "type": "object" }, - "AWS::SES::VdmAttributes.GuardianAttributes": { + "AWS::S3::StorageLensGroup.MatchObjectSize": { "additionalProperties": false, "properties": { - "OptimizedSharedDelivery": { - "markdownDescription": "Specifies the status of your VDM optimized shared delivery. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables optimized shared delivery for your account.\n- `DISABLED` \u2013 Amazon SES disables optimized shared delivery for your account.", - "title": "OptimizedSharedDelivery", - "type": "string" + "BytesGreaterThan": { + "markdownDescription": "This property specifies the minimum object size in bytes. The value must be a positive number, greater than 0 and less than 5 TB.", + "title": "BytesGreaterThan", + "type": "number" + }, + "BytesLessThan": { + "markdownDescription": "This property specifies the maximum object size in bytes. The value must be a positive number, greater than the minimum object size and less than 5 TB.", + "title": "BytesLessThan", + "type": "number" } }, "type": "object" }, - "AWS::SMSVOICE::ConfigurationSet": { + "AWS::S3::StorageLensGroup.Or": { + "additionalProperties": false, + "properties": { + "MatchAnyPrefix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains a list of prefixes. At least one prefix must be specified. Up to 10 prefixes are allowed.", + "title": "MatchAnyPrefix", + "type": "array" + }, + "MatchAnySuffix": { + "items": { + "type": "string" + }, + "markdownDescription": "This property contains the list of suffixes. At least one suffix must be specified. Up to 10 suffixes are allowed.", + "title": "MatchAnySuffix", + "type": "array" + }, + "MatchAnyTag": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "This property contains the list of S3 object tags. At least one object tag must be specified. Up to 10 object tags are allowed.", + "title": "MatchAnyTag", + "type": "array" + }, + "MatchObjectAge": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectAge", + "markdownDescription": "This property filters objects that match the specified object age range.", + "title": "MatchObjectAge" + }, + "MatchObjectSize": { + "$ref": "#/definitions/AWS::S3::StorageLensGroup.MatchObjectSize", + "markdownDescription": "This property contains the `BytesGreaterThan` and `BytesLessThan` values to define the object size range (minimum and maximum number of Bytes).", + "title": "MatchObjectSize" + } + }, + "type": "object" + }, + "AWS::S3Express::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -350640,48 +318925,58 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigurationSetName": { - "markdownDescription": "The name of the ConfigurationSet.", - "title": "ConfigurationSetName", + "Bucket": { + "markdownDescription": "The name of the bucket that you want to associate the access point with.", + "title": "Bucket", "type": "string" }, - "DefaultSenderId": { - "markdownDescription": "The default sender ID used by the ConfigurationSet.", - "title": "DefaultSenderId", + "BucketAccountId": { + "markdownDescription": "The AWS account ID that owns the bucket associated with this access point.", + "title": "BucketAccountId", "type": "string" }, - "EventDestinations": { - "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.EventDestination" - }, - "markdownDescription": "An array of EventDestination objects that describe any events to log and where to log them.", - "title": "EventDestinations", - "type": "array" + "Name": { + "markdownDescription": "An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix `--xa-s3` . For example, accesspointname--zoneID--xa-s3.", + "title": "Name", + "type": "string" }, - "MessageFeedbackEnabled": { - "markdownDescription": "Set to true to enable feedback for the message.", - "title": "MessageFeedbackEnabled", - "type": "boolean" + "Policy": { + "markdownDescription": "The access point policy associated with the specified access point.", + "title": "Policy", + "type": "object" }, - "ProtectConfigurationId": { - "markdownDescription": "The unique identifier for the protect configuration.", - "title": "ProtectConfigurationId", - "type": "string" + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3Express::AccessPoint.PublicAccessBlockConfiguration", + "markdownDescription": "Public access is blocked by default to access points for directory buckets.", + "title": "PublicAccessBlockConfiguration" + }, + "Scope": { + "$ref": "#/definitions/AWS::S3Express::AccessPoint.Scope", + "markdownDescription": "You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.\n\nFor more information, see [Manage the scope of your access points for directory buckets.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets-manage-scope.html)", + "title": "Scope" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key and value pair tags that's associated with the new configuration set.", + "markdownDescription": "An array of tags that you can apply to access points. Tags are key-value pairs of metadata used to categorize your access points and control access. For more information, see [Using tags for attribute-based access control (ABAC)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac) .", "title": "Tags", "type": "array" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Express::AccessPoint.VpcConfiguration", + "markdownDescription": "If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).", + "title": "VpcConfiguration" } }, + "required": [ + "Bucket" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::ConfigurationSet" + "AWS::S3Express::AccessPoint" ], "type": "string" }, @@ -350695,109 +318990,71 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SMSVOICE::ConfigurationSet.CloudWatchLogsDestination": { + "AWS::S3Express::AccessPoint.PublicAccessBlockConfiguration": { "additionalProperties": false, "properties": { - "IamRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management role that is able to write event data to an Amazon CloudWatch destination.", - "title": "IamRoleArn", - "type": "string" + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to `TRUE` causes the following behavior:\n\n- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.", + "title": "BlockPublicAcls", + "type": "boolean" }, - "LogGroupArn": { - "markdownDescription": "The name of the Amazon CloudWatch log group that you want to record events in.", - "title": "LogGroupArn", - "type": "string" + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.", + "title": "BlockPublicPolicy", + "type": "boolean" + }, + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "title": "IgnorePublicAcls", + "type": "boolean" + }, + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to `TRUE` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "title": "RestrictPublicBuckets", + "type": "boolean" } }, - "required": [ - "IamRoleArn", - "LogGroupArn" - ], "type": "object" }, - "AWS::SMSVOICE::ConfigurationSet.EventDestination": { + "AWS::S3Express::AccessPoint.Scope": { "additionalProperties": false, "properties": { - "CloudWatchLogsDestination": { - "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.CloudWatchLogsDestination", - "markdownDescription": "An object that contains information about an event destination that sends logging events to Amazon CloudWatch logs.", - "title": "CloudWatchLogsDestination" - }, - "Enabled": { - "markdownDescription": "When set to true events will be logged.", - "title": "Enabled", - "type": "boolean" - }, - "EventDestinationName": { - "markdownDescription": "The name of the EventDestination.", - "title": "EventDestinationName", - "type": "string" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.KinesisFirehoseDestination", - "markdownDescription": "An object that contains information about an event destination for logging to Amazon Data Firehose.", - "title": "KinesisFirehoseDestination" - }, - "MatchingEventTypes": { + "Permissions": { "items": { "type": "string" }, - "markdownDescription": "An array of event types that determine which events to log.\n\n> The `TEXT_SENT` event type is not supported.", - "title": "MatchingEventTypes", + "markdownDescription": "You can include one or more API operations as permissions.", + "title": "Permissions", "type": "array" }, - "SnsDestination": { - "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.SnsDestination", - "markdownDescription": "An object that contains information about an event destination that sends logging events to Amazon SNS.", - "title": "SnsDestination" - } - }, - "required": [ - "Enabled", - "EventDestinationName", - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::SMSVOICE::ConfigurationSet.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the delivery stream.", - "title": "DeliveryStreamArn", - "type": "string" - }, - "IamRoleArn": { - "markdownDescription": "The ARN of an AWS Identity and Access Management role that is able to write event data to an Amazon Data Firehose destination.", - "title": "IamRoleArn", - "type": "string" + "Prefixes": { + "items": { + "type": "string" + }, + "markdownDescription": "You can specify any amount of prefixes, but the total length of characters of all prefixes must be less than 256 bytes in size.", + "title": "Prefixes", + "type": "array" } }, - "required": [ - "DeliveryStreamArn", - "IamRoleArn" - ], "type": "object" }, - "AWS::SMSVOICE::ConfigurationSet.SnsDestination": { + "AWS::S3Express::AccessPoint.VpcConfiguration": { "additionalProperties": false, "properties": { - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to.", - "title": "TopicArn", + "VpcId": { + "markdownDescription": "If this field is specified, this access point will only allow connections from the specified VPC ID.", + "title": "VpcId", "type": "string" } }, - "required": [ - "TopicArn" - ], "type": "object" }, - "AWS::SMSVOICE::OptOutList": { + "AWS::S3Express::BucketPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -350832,25 +319089,26 @@ "Properties": { "additionalProperties": false, "properties": { - "OptOutListName": { - "markdownDescription": "The name of the OptOutList.", - "title": "OptOutListName", + "Bucket": { + "markdownDescription": "The name of the S3 directory bucket to which the policy applies.", + "title": "Bucket", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of tags (key and value pairs) to associate with the new OptOutList.", - "title": "Tags", - "type": "array" + "PolicyDocument": { + "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Policies and Permissions in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .", + "title": "PolicyDocument", + "type": "object" } }, + "required": [ + "Bucket", + "PolicyDocument" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::OptOutList" + "AWS::S3Express::BucketPolicy" ], "type": "string" }, @@ -350864,11 +319122,12 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber": { + "AWS::S3Express::DirectoryBucket": { "additionalProperties": false, "properties": { "Condition": { @@ -350903,77 +319162,61 @@ "Properties": { "additionalProperties": false, "properties": { - "DeletionProtectionEnabled": { - "markdownDescription": "By default this is set to false. When set to true the phone number can't be deleted.", - "title": "DeletionProtectionEnabled", - "type": "boolean" + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.BucketEncryption", + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* .", + "title": "BucketEncryption" }, - "IsoCountryCode": { - "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", - "title": "IsoCountryCode", + "BucketName": { + "markdownDescription": "A name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Zone (Availability Zone or Local Zone). The bucket name must also follow the format `*bucket_base_name* -- *zone_id* --x-s3` (for example, `*bucket_base_name* -- *usw2-az1* --x-s3` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see [Directory bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) in the *Amazon S3 User Guide* .\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": "BucketName", "type": "string" }, - "MandatoryKeywords": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeywords", - "markdownDescription": "Creates or updates a `MandatoryKeyword` configuration on an origination phone number 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" + "DataRedundancy": { + "markdownDescription": "The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.", + "title": "DataRedundancy", + "type": "string" }, - "NumberCapabilities": { + "InventoryConfigurations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.InventoryConfiguration" }, - "markdownDescription": "Indicates if the phone number will be used for text messages, voice messages, or both.", - "title": "NumberCapabilities", "type": "array" }, - "NumberType": { - "markdownDescription": "The type of phone number to request.\n\n> The `ShortCode` number type is not supported in AWS CloudFormation .", - "title": "NumberType", - "type": "string" + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.LifecycleConfiguration", + "markdownDescription": "Container for lifecycle rules. You can add as many as 1000 rules.\n\nFor more information see, [Creating and managing a lifecycle configuration for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-lifecycle.html ) in the *Amazon S3 User Guide* .", + "title": "LifecycleConfiguration" }, - "OptOutListName": { - "markdownDescription": "The name of the OptOutList associated with the phone number.", - "title": "OptOutListName", + "LocationName": { + "markdownDescription": "The name of the location where the bucket will be created.\n\nFor directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is `usw2-az1` .", + "title": "LocationName", "type": "string" }, - "OptionalKeywords": { + "MetricsConfigurations": { "items": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.OptionalKeyword" + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.MetricsConfiguration" }, - "markdownDescription": "A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging responds with a customizable message. Optional keywords are differentiated from mandatory keywords. 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" }, - "SelfManagedOptOutsEnabled": { - "markdownDescription": "When set to false and 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 request. For more information see [Self-managed opt-outs](https://docs.aws.amazon.com/sms-voice/latest/userguide/opt-out-list-self-managed.html)", - "title": "SelfManagedOptOutsEnabled", - "type": "boolean" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of tags (key and value pairs) to associate with the requested phone number.", + "markdownDescription": "An array of tags that you can apply to the S3 directory bucket. Tags are key-value pairs of metadata used to categorize and organize your buckets, track costs, and control access. For more information, see [Using tags with directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html) .", "title": "Tags", "type": "array" - }, - "TwoWay": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.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": [ - "IsoCountryCode", - "MandatoryKeywords", - "NumberCapabilities", - "NumberType" + "DataRedundancy", + "LocationName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::PhoneNumber" + "AWS::S3Express::DirectoryBucket" ], "type": "string" }, @@ -350992,91 +319235,211 @@ ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber.MandatoryKeyword": { + "AWS::S3Express::DirectoryBucket.AbortIncompleteMultipartUpload": { "additionalProperties": false, "properties": { - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", + "DaysAfterInitiation": { + "markdownDescription": "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", + "title": "DaysAfterInitiation", + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.ServerSideEncryptionRule" + }, + "markdownDescription": "Specifies the default server-side-encryption configuration.", + "title": "ServerSideEncryptionConfiguration", + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "type": "string" + }, + "BucketArn": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Prefix": { "type": "string" } }, "required": [ - "Message" + "BucketArn", + "Format" ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber.MandatoryKeywords": { + "AWS::S3Express::DirectoryBucket.InventoryConfiguration": { "additionalProperties": false, "properties": { - "HELP": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeyword", - "markdownDescription": "Specifies the `HELP` keyword that customers use to obtain customer support for this phone number. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", - "title": "HELP" + "Destination": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.Destination" }, - "STOP": { - "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeyword", - "markdownDescription": "Specifies the `STOP` keyword that customers use to opt out of receiving messages from this phone number. 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" + "Enabled": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "IncludedObjectVersions": { + "type": "string" + }, + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "ScheduleFrequency": { + "type": "string" + } + }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.Rule" + }, + "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 Express bucket.", + "title": "Rules", + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Express::DirectoryBucket.MetricsConfiguration": { + "additionalProperties": false, + "properties": { + "AccessPointArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" } }, "required": [ - "HELP", - "STOP" + "Id" ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber.OptionalKeyword": { + "AWS::S3Express::DirectoryBucket.Rule": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "The action to perform when the keyword is used.", - "title": "Action", + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.AbortIncompleteMultipartUpload", + "markdownDescription": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", + "title": "AbortIncompleteMultipartUpload" + }, + "ExpirationInDays": { + "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "title": "ExpirationInDays", + "type": "number" + }, + "Id": { + "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.", + "title": "Id", "type": "string" }, - "Keyword": { - "markdownDescription": "The new keyword to add.", - "title": "Keyword", + "ObjectSizeGreaterThan": { + "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", + "title": "ObjectSizeGreaterThan", "type": "string" }, - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", + "ObjectSizeLessThan": { + "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .", + "title": "ObjectSizeLessThan", + "type": "string" + }, + "Prefix": { + "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n\n> Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .", + "title": "Prefix", + "type": "string" + }, + "Status": { + "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", + "title": "Status", "type": "string" } }, "required": [ - "Action", - "Keyword", - "Message" + "Status" ], "type": "object" }, - "AWS::SMSVOICE::PhoneNumber.TwoWay": { + "AWS::S3Express::DirectoryBucket.ServerSideEncryptionByDefault": { "additionalProperties": false, "properties": { - "ChannelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", - "title": "ChannelArn", + "KMSMasterKeyID": { + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. This parameter is allowed only if `SSEAlgorithm` is set to `aws:kms` .\n\nYou can specify this parameter with the key ID or the Amazon Resource Name (ARN) of the KMS key. You can\u2019t use the key alias of the KMS key.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n\nIf you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html#s3-express-bucket-encryption-update-bucket-policy) .\n\n> Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket for the lifetime of the bucket. [AWS managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) ( `aws/s3` ) isn't supported. Also, after you specify a customer managed key for SSE-KMS and upload objects with this configuration, you can't override the customer managed key for your SSE-KMS configuration. To use a new customer manager key for your data, we recommend copying your existing objects to a new directory bucket with a new customer managed key. > Amazon S3 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": "KMSMasterKeyID", "type": "string" }, - "ChannelRole": { - "markdownDescription": "An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.", - "title": "ChannelRole", + "SSEAlgorithm": { + "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n> For directory buckets, there are only two supported values for server-side encryption: `AES256` and `aws:kms` .", + "title": "SSEAlgorithm", "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" + "SSEAlgorithm" ], "type": "object" }, - "AWS::SMSVOICE::Pool": { + "AWS::S3Express::DirectoryBucket.ServerSideEncryptionRule": { + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. S3 Bucket Keys are always enabled for `GET` and `PUT` operations on a directory bucket and can\u2019t be disabled. It's only allowed to set the `BucketKeyEnabled` element to `true` .\n\nS3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) , [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) , [the Copy operation in Batch Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops) , or [the import jobs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job) . In this case, Amazon S3 makes a call to AWS KMS every time a copy request is made for a KMS-encrypted object.\n\nFor more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-UsingKMSEncryption.html#s3-express-sse-kms-bucket-keys) in the *Amazon S3 User Guide* .", + "title": "BucketKeyEnabled", + "type": "boolean" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3Express::DirectoryBucket.ServerSideEncryptionByDefault", + "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + "title": "ServerSideEncryptionByDefault" + } + }, + "type": "object" + }, + "AWS::S3Files::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -351111,70 +319474,33 @@ "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", + "ClientToken": { "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" + "FileSystemId": { + "type": "string" }, - "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" + "PosixUser": { + "$ref": "#/definitions/AWS::S3Files::AccessPoint.PosixUser" }, - "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" + "RootDirectory": { + "$ref": "#/definitions/AWS::S3Files::AccessPoint.RootDirectory" }, "Tags": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::S3Files::AccessPoint.AccessPointTag" }, - "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" + "FileSystemId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::Pool" + "AWS::S3Files::AccessPoint" ], "type": "string" }, @@ -351193,91 +319519,73 @@ ], "type": "object" }, - "AWS::SMSVOICE::Pool.MandatoryKeyword": { + "AWS::S3Files::AccessPoint.AccessPointTag": { "additionalProperties": false, "properties": { - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", + "Key": { + "type": "string" + }, + "Value": { "type": "string" } }, - "required": [ - "Message" - ], "type": "object" }, - "AWS::SMSVOICE::Pool.MandatoryKeywords": { + "AWS::S3Files::AccessPoint.CreationPermissions": { "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" + "OwnerGid": { + "type": "string" }, - "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" + "OwnerUid": { + "type": "string" + }, + "Permissions": { + "type": "string" } }, "required": [ - "HELP", - "STOP" + "OwnerGid", + "OwnerUid", + "Permissions" ], "type": "object" }, - "AWS::SMSVOICE::Pool.OptionalKeyword": { + "AWS::S3Files::AccessPoint.PosixUser": { "additionalProperties": false, "properties": { - "Action": { - "markdownDescription": "The action to perform when the keyword is used.", - "title": "Action", + "Gid": { "type": "string" }, - "Keyword": { - "markdownDescription": "The new keyword to add.", - "title": "Keyword", - "type": "string" + "SecondaryGids": { + "items": { + "type": "string" + }, + "type": "array" }, - "Message": { - "markdownDescription": "The message associated with the keyword.", - "title": "Message", + "Uid": { "type": "string" } }, "required": [ - "Action", - "Keyword", - "Message" + "Gid", + "Uid" ], "type": "object" }, - "AWS::SMSVOICE::Pool.TwoWay": { + "AWS::S3Files::AccessPoint.RootDirectory": { "additionalProperties": false, "properties": { - "ChannelArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", - "title": "ChannelArn", - "type": "string" + "CreationPermissions": { + "$ref": "#/definitions/AWS::S3Files::AccessPoint.CreationPermissions" }, - "ChannelRole": { - "markdownDescription": "An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.", - "title": "ChannelRole", + "Path": { "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::S3Files::FileSystem": { "additionalProperties": false, "properties": { "Condition": { @@ -351312,30 +319620,43 @@ "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", + "AcceptBucketWarning": { "type": "boolean" }, + "Bucket": { + "type": "string" + }, + "ClientToken": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SynchronizationConfiguration": { + "$ref": "#/definitions/AWS::S3Files::FileSystem.SynchronizationConfiguration" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key and value pair tags that are associated with the resource.", - "title": "Tags", "type": "array" } }, + "required": [ + "Bucket", + "RoleArn" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::ProtectConfiguration" + "AWS::S3Files::FileSystem" ], "type": "string" }, @@ -351349,61 +319670,69 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SMSVOICE::ProtectConfiguration.CountryRule": { + "AWS::S3Files::FileSystem.ExpirationDataRule": { "additionalProperties": false, "properties": { - "CountryCode": { - "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", - "title": "CountryCode", + "DaysAfterLastAccess": { + "type": "number" + } + }, + "required": [ + "DaysAfterLastAccess" + ], + "type": "object" + }, + "AWS::S3Files::FileSystem.ImportDataRule": { + "additionalProperties": false, + "properties": { + "Prefix": { "type": "string" }, - "ProtectStatus": { - "markdownDescription": "The types of protection that can be used.", - "title": "ProtectStatus", + "SizeLessThan": { + "type": "number" + }, + "Trigger": { "type": "string" } }, "required": [ - "CountryCode", - "ProtectStatus" + "Prefix", + "SizeLessThan", + "Trigger" ], "type": "object" }, - "AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet": { + "AWS::S3Files::FileSystem.SynchronizationConfiguration": { "additionalProperties": false, "properties": { - "MMS": { + "ExpirationDataRules": { "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + "$ref": "#/definitions/AWS::S3Files::FileSystem.ExpirationDataRule" }, - "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": { + "ImportDataRules": { "items": { - "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" + "$ref": "#/definitions/AWS::S3Files::FileSystem.ImportDataRule" }, - "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" + "LatestVersionNumber": { + "type": "number" } }, + "required": [ + "ExpirationDataRules", + "ImportDataRules" + ], "type": "object" }, - "AWS::SMSVOICE::Registration": { + "AWS::S3Files::FileSystemPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -351438,24 +319767,22 @@ "Properties": { "additionalProperties": false, "properties": { - "RegistrationType": { + "FileSystemId": { "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Policy": { + "type": "object" } }, "required": [ - "RegistrationType" + "FileSystemId", + "Policy" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::Registration" + "AWS::S3Files::FileSystemPolicy" ], "type": "string" }, @@ -351474,7 +319801,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::ResourcePolicy": { + "AWS::S3Files::MountTarget": { "additionalProperties": false, "properties": { "Condition": { @@ -351509,26 +319836,37 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "The JSON formatted resource-based policy to attach.", - "title": "PolicyDocument", - "type": "object" + "FileSystemId": { + "type": "string" }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the End User Messaging resource attached to the resource-based policy.", - "title": "ResourceArn", + "IpAddressType": { + "type": "string" + }, + "Ipv4Address": { + "type": "string" + }, + "Ipv6Address": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { "type": "string" } }, "required": [ - "PolicyDocument", - "ResourceArn" + "FileSystemId", + "SubnetId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::ResourcePolicy" + "AWS::S3Files::MountTarget" ], "type": "string" }, @@ -351547,7 +319885,7 @@ ], "type": "object" }, - "AWS::SMSVOICE::SenderId": { + "AWS::S3ObjectLambda::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -351582,39 +319920,25 @@ "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", + "Name": { + "markdownDescription": "The name of this access point.", + "title": "Name", "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" + "ObjectLambdaConfiguration": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration", + "markdownDescription": "A configuration used when creating an Object Lambda Access Point.", + "title": "ObjectLambdaConfiguration" } }, "required": [ - "IsoCountryCode", - "SenderId" + "ObjectLambdaConfiguration" ], "type": "object" }, "Type": { "enum": [ - "AWS::SMSVOICE::SenderId" + "AWS::S3ObjectLambda::AccessPoint" ], "type": "string" }, @@ -351633,7 +319957,144 @@ ], "type": "object" }, - "AWS::SNS::Subscription": { + "AWS::S3ObjectLambda::AccessPoint.Alias": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "The status of the Object Lambda Access Point alias. If the status is `PROVISIONING` , the Object Lambda Access Point is provisioning the alias and the alias is not ready for use yet. If the status is `READY` , the Object Lambda Access Point alias is successfully provisioned and ready for use.", + "title": "Status", + "type": "string" + }, + "Value": { + "markdownDescription": "The alias value of the Object Lambda Access Point.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.AwsLambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "markdownDescription": "", + "title": "FunctionArn", + "type": "string" + }, + "FunctionPayload": { + "markdownDescription": "", + "title": "FunctionPayload", + "type": "string" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.ContentTransformation": { + "additionalProperties": false, + "properties": { + "AwsLambda": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.AwsLambda", + "markdownDescription": "", + "title": "AwsLambda" + } + }, + "required": [ + "AwsLambda" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedFeatures": { + "items": { + "type": "string" + }, + "markdownDescription": "A container for allowed features. Valid inputs are `GetObject-Range` , `GetObject-PartNumber` , `HeadObject-Range` , and `HeadObject-PartNumber` .", + "title": "AllowedFeatures", + "type": "array" + }, + "CloudWatchMetricsEnabled": { + "markdownDescription": "A container for whether the CloudWatch metrics configuration is enabled.", + "title": "CloudWatchMetricsEnabled", + "type": "boolean" + }, + "SupportingAccessPoint": { + "markdownDescription": "Standard access point associated with the Object Lambda Access Point.", + "title": "SupportingAccessPoint", + "type": "string" + }, + "TransformationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" + }, + "markdownDescription": "A container for transformation configurations for an Object Lambda Access Point.", + "title": "TransformationConfigurations", + "type": "array" + } + }, + "required": [ + "SupportingAccessPoint", + "TransformationConfigurations" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to `TRUE` causes the following behavior:\n\n- `PutBucketAcl` and `PutObjectAcl` calls fail if the specified ACL is public.\n- PUT Object calls fail if the request includes a public ACL.\n- PUT Bucket calls fail if the request includes a public ACL.\n\nEnabling this setting doesn't affect existing policies or ACLs.\n\nThis property is not supported for Amazon S3 on Outposts.", + "title": "BlockPublicAcls", + "type": "boolean" + }, + "BlockPublicPolicy": { + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to `TRUE` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\n\nEnabling this setting doesn't affect existing bucket policies.\n\nThis property is not supported for Amazon S3 on Outposts.", + "title": "BlockPublicPolicy", + "type": "boolean" + }, + "IgnorePublicAcls": { + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to `TRUE` causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.\n\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.\n\nThis property is not supported for Amazon S3 on Outposts.", + "title": "IgnorePublicAcls", + "type": "boolean" + }, + "RestrictPublicBuckets": { + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to `TRUE` restricts access to buckets with public policies to only AWS service principals and authorized users within this account.\n\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.\n\nThis property is not supported for Amazon S3 on Outposts.", + "title": "RestrictPublicBuckets", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "markdownDescription": "A container for the action of an Object Lambda Access Point configuration. Valid inputs are `GetObject` , `HeadObject` , `ListObject` , and `ListObjectV2` .", + "title": "Actions", + "type": "array" + }, + "ContentTransformation": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ContentTransformation", + "markdownDescription": "A container for the content transformation of an Object Lambda Access Point configuration. Can include the FunctionArn and FunctionPayload. For more information, see [AwsLambdaTransformation](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AwsLambdaTransformation.html) in the *Amazon S3 API Reference* .", + "title": "ContentTransformation" + } + }, + "required": [ + "Actions", + "ContentTransformation" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPointPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -351668,71 +320129,26 @@ "Properties": { "additionalProperties": false, "properties": { - "DeliveryPolicy": { - "markdownDescription": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message delivery retries](https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html) in the *Amazon Developer Guide* .", - "title": "DeliveryPolicy", - "type": "object" - }, - "Endpoint": { - "markdownDescription": "The subscription's endpoint. The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", - "title": "Endpoint", - "type": "string" - }, - "FilterPolicy": { - "markdownDescription": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message filtering](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) in the *Amazon Developer Guide* .", - "title": "FilterPolicy", - "type": "object" - }, - "FilterPolicyScope": { - "markdownDescription": "This attribute lets you choose the filtering scope by using one of the following string value types:\n\n- `MessageAttributes` (default) - The filter is applied on the message attributes.\n- `MessageBody` - The filter is applied on the message body.\n\n> `Null` is not a valid value for `FilterPolicyScope` . To delete a filter policy, delete the `FilterPolicy` property but keep `FilterPolicyScope` property as is.", - "title": "FilterPolicyScope", - "type": "string" - }, - "Protocol": { - "markdownDescription": "The subscription's protocol. For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", - "title": "Protocol", - "type": "string" - }, - "RawMessageDelivery": { - "markdownDescription": "When set to `true` , enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* .", - "title": "RawMessageDelivery", - "type": "boolean" - }, - "RedrivePolicy": { - "markdownDescription": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.\n\nFor more information about the redrive policy and dead-letter queues, see [Amazon SQS dead-letter queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) in the *Amazon SQS Developer Guide* .", - "title": "RedrivePolicy", - "type": "object" - }, - "Region": { - "markdownDescription": "For cross-region subscriptions, the region in which the topic resides.\n\nIf no region is specified, CloudFormation uses the region of the caller as the default.\n\nIf you perform an update operation that only updates the `Region` property of a `AWS::SNS::Subscription` resource, that operation will fail unless you are either:\n\n- Updating the `Region` from `NULL` to the caller region.\n- Updating the `Region` from the caller region to `NULL` .", - "title": "Region", + "ObjectLambdaAccessPoint": { + "markdownDescription": "An access point with an attached AWS Lambda function used to access transformed data from an Amazon S3 bucket.", + "title": "ObjectLambdaAccessPoint", "type": "string" }, - "ReplayPolicy": { - "markdownDescription": "Specifies whether Amazon resends the notification to the subscription when a message's attribute changes.", - "title": "ReplayPolicy", + "PolicyDocument": { + "markdownDescription": "Object Lambda Access Point resource policy document.", + "title": "PolicyDocument", "type": "object" - }, - "SubscriptionRoleArn": { - "markdownDescription": "This property applies only to Amazon Data Firehose delivery stream subscriptions. Specify the ARN of the IAM role that has the following:\n\n- Permission to write to the Amazon Data Firehose delivery stream\n- Amazon listed as a trusted entity\n\nSpecifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see [Fanout to Amazon Data Firehose delivery streams](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html) in the *Amazon Developer Guide.*", - "title": "SubscriptionRoleArn", - "type": "string" - }, - "TopicArn": { - "markdownDescription": "The ARN of the topic to subscribe to.", - "title": "TopicArn", - "type": "string" } }, "required": [ - "Protocol", - "TopicArn" + "ObjectLambdaAccessPoint", + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::Subscription" + "AWS::S3ObjectLambda::AccessPointPolicy" ], "type": "string" }, @@ -351751,7 +320167,7 @@ ], "type": "object" }, - "AWS::SNS::Topic": { + "AWS::S3Outposts::AccessPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -351786,86 +320202,37 @@ "Properties": { "additionalProperties": false, "properties": { - "ArchivePolicy": { - "markdownDescription": "The `ArchivePolicy` determines the number of days Amazon retains messages in FIFO topics. You can set a retention period ranging from 1 to 365 days. This property is only applicable to FIFO topics; attempting to use it with standard topics will result in a creation failure.", - "title": "ArchivePolicy", - "type": "object" - }, - "ContentBasedDeduplication": { - "markdownDescription": "`ContentBasedDeduplication` enables deduplication of messages based on their content for FIFO topics. By default, this property is set to false. If you create a FIFO topic with `ContentBasedDeduplication` set to false, you must provide a `MessageDeduplicationId` for each `Publish` action. When set to true, Amazon automatically generates a `MessageDeduplicationId` using a SHA-256 hash of the message body (excluding message attributes). You can optionally override this generated value by specifying a `MessageDeduplicationId` in the `Publish` action. Note that this property only applies to FIFO topics; using it with standard topics will cause the creation to fail.", - "title": "ContentBasedDeduplication", - "type": "boolean" - }, - "DataProtectionPolicy": { - "markdownDescription": "The body of the policy document you want to use for this topic.\n\nYou can only add one policy per topic.\n\nThe policy must be in JSON string format.\n\nLength Constraints: Maximum length of 30,720.", - "title": "DataProtectionPolicy", - "type": "object" - }, - "DeliveryStatusLogging": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.LoggingConfig" - }, - "markdownDescription": "The `DeliveryStatusLogging` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:\n\n- HTTP\n- Amazon Kinesis Data Firehose\n- AWS Lambda\n- Platform application endpoint\n- Amazon Simple Queue Service\n\nOnce configured, log entries are sent to Amazon CloudWatch Logs.", - "title": "DeliveryStatusLogging", - "type": "array" - }, - "DisplayName": { - "markdownDescription": "The display name to use for an Amazon topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.", - "title": "DisplayName", - "type": "string" - }, - "FifoThroughputScope": { - "markdownDescription": "Specifies the throughput quota and deduplication behavior to apply for the FIFO topic. Valid values are `Topic` or `MessageGroup` .", - "title": "FifoThroughputScope", - "type": "string" - }, - "FifoTopic": { - "markdownDescription": "Set to true to create a FIFO topic.", - "title": "FifoTopic", - "type": "boolean" - }, - "KmsMasterKeyId": { - "markdownDescription": "The ID of an AWS managed customer master key (CMK) for Amazon or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms) . For more examples, see `[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)` in the *AWS Key Management Service API Reference* .\n\nThis property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html) .", - "title": "KmsMasterKeyId", + "Bucket": { + "markdownDescription": "The Amazon Resource Name (ARN) of the S3 on Outposts bucket that is associated with this access point.", + "title": "Bucket", "type": "string" }, - "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", + "Name": { + "markdownDescription": "The name of this access point.", + "title": "Name", "type": "string" }, - "Subscription": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" - }, - "markdownDescription": "The Amazon subscriptions (endpoints) for this topic.\n\n> If you specify the `Subscription` property in the `AWS::SNS::Topic` resource and it creates an associated subscription resource, the associated subscription is not deleted when the `AWS::SNS::Topic` resource is deleted.", - "title": "Subscription", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The list of tags to add to a new topic.\n\n> To be able to tag a topic on creation, you must have the `sns:CreateTopic` and `sns:TagResource` permissions.", - "title": "Tags", - "type": "array" - }, - "TopicName": { - "markdownDescription": "The name of the topic you want to create. Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with `.fifo` .\n\nIf you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the topic 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 can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "title": "TopicName", - "type": "string" + "Policy": { + "markdownDescription": "The access point policy associated with this access point.", + "title": "Policy", + "type": "object" }, - "TracingConfig": { - "markdownDescription": "Tracing mode of an Amazon topic. By default `TracingConfig` is set to `PassThrough` , and the topic passes through the tracing header it receives from an Amazon publisher to its subscriptions. If set to `Active` , Amazon will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.", - "title": "TracingConfig", - "type": "string" + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration", + "markdownDescription": "The virtual private cloud (VPC) configuration for this access point, if one exists.", + "title": "VpcConfiguration" } }, + "required": [ + "Bucket", + "Name", + "VpcConfiguration" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::Topic" + "AWS::S3Outposts::AccessPoint" ], "type": "string" }, @@ -351879,60 +320246,23 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SNS::Topic.LoggingConfig": { - "additionalProperties": false, - "properties": { - "FailureFeedbackRoleArn": { - "markdownDescription": "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.", - "title": "FailureFeedbackRoleArn", - "type": "string" - }, - "Protocol": { - "markdownDescription": "Indicates one of the supported protocols for the Amazon SNS topic.\n\n> At least one of the other three `LoggingConfig` properties is recommend along with `Protocol` .", - "title": "Protocol", - "type": "string" - }, - "SuccessFeedbackRoleArn": { - "markdownDescription": "The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.", - "title": "SuccessFeedbackRoleArn", - "type": "string" - }, - "SuccessFeedbackSampleRate": { - "markdownDescription": "The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.", - "title": "SuccessFeedbackSampleRate", - "type": "string" - } - }, - "required": [ - "Protocol" + "Type", + "Properties" ], "type": "object" }, - "AWS::SNS::Topic.Subscription": { + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { "additionalProperties": false, "properties": { - "Endpoint": { - "markdownDescription": "The endpoint that receives notifications from the Amazon topic. The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", - "title": "Endpoint", - "type": "string" - }, - "Protocol": { - "markdownDescription": "The subscription's protocol. For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", - "title": "Protocol", + "VpcId": { + "markdownDescription": "", + "title": "VpcId", "type": "string" } }, - "required": [ - "Endpoint", - "Protocol" - ], "type": "object" }, - "AWS::SNS::TopicInlinePolicy": { + "AWS::S3Outposts::Bucket": { "additionalProperties": false, "properties": { "Condition": { @@ -351967,26 +320297,39 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "A policy document that contains permissions to add to the specified Amazon topic.", - "title": "PolicyDocument", - "type": "object" + "BucketName": { + "markdownDescription": "A name for the S3 on Outposts bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) . For more information, see [Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules) .\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": "BucketName", + "type": "string" }, - "TopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the topic to which you want to add the policy.", - "title": "TopicArn", + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration", + "markdownDescription": "Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an existing lifecycle configuration. Outposts buckets only support lifecycle configurations that delete/expire objects after a certain period of time and abort incomplete multipart uploads.", + "title": "LifecycleConfiguration" + }, + "OutpostId": { + "markdownDescription": "The ID of the Outpost of the specified bucket.", + "title": "OutpostId", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Sets the tags for an S3 on Outposts bucket. For more information, see [Using Amazon S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) .\n\nUse tags to organize your AWS bill to reflect your own cost structure. To do this, sign up to get your AWS account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see [Cost allocation and tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) .\n\n> Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites the old value. For more information, see [Using cost allocation and bucket tags](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html) . \n\nTo use this resource, you must have permissions to perform the `s3-outposts:PutBucketTagging` . The S3 on Outposts bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see [Permissions Related to Bucket Subresource Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) and [Managing access permissions to your Amazon S3 resources](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) .", + "title": "Tags", + "type": "array" } }, "required": [ - "PolicyDocument", - "TopicArn" + "BucketName", + "OutpostId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::TopicInlinePolicy" + "AWS::S3Outposts::Bucket" ], "type": "string" }, @@ -352005,7 +320348,140 @@ ], "type": "object" }, - "AWS::SNS::TopicPolicy": { + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "markdownDescription": "Specifies the number of days after initiation that Amazon S3 on Outposts aborts an incomplete multipart upload.", + "title": "DaysAfterInitiation", + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Filter": { + "additionalProperties": false, + "properties": { + "AndOperator": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterAndOperator", + "markdownDescription": "", + "title": "AndOperator" + }, + "Prefix": { + "markdownDescription": "", + "title": "Prefix", + "type": "string" + }, + "Tag": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterTag", + "markdownDescription": "", + "title": "Tag" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket.FilterAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "markdownDescription": "", + "title": "Prefix", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.FilterTag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Tags" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.FilterTag": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" + }, + "markdownDescription": "The container for the lifecycle configuration rules for the objects stored in the S3 on Outposts bucket.", + "title": "Rules", + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload", + "markdownDescription": "The container for the abort incomplete multipart upload rule.", + "title": "AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "markdownDescription": "Specifies the expiration for the lifecycle of the object by specifying an expiry date.", + "title": "ExpirationDate", + "type": "string" + }, + "ExpirationInDays": { + "markdownDescription": "Specifies the expiration for the lifecycle of the object in the form of days that the object has been in the S3 on Outposts bucket.", + "title": "ExpirationInDays", + "type": "number" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Filter", + "markdownDescription": "The container for the filter of the lifecycle rule.", + "title": "Filter" + }, + "Id": { + "markdownDescription": "", + "title": "Id", + "type": "string" + }, + "Status": { + "markdownDescription": "If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.", + "title": "Status", + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3Outposts::BucketPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -352040,29 +320516,26 @@ "Properties": { "additionalProperties": false, "properties": { + "Bucket": { + "markdownDescription": "The name of the Amazon S3 Outposts bucket to which the policy applies.", + "title": "Bucket", + "type": "string" + }, "PolicyDocument": { - "markdownDescription": "A policy document that contains permissions to add to the specified SNS topics.", + "markdownDescription": "A policy document containing permissions to add to the specified 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. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html) .", "title": "PolicyDocument", "type": "object" - }, - "Topics": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)` resource.", - "title": "Topics", - "type": "array" } }, "required": [ - "PolicyDocument", - "Topics" + "Bucket", + "PolicyDocument" ], "type": "object" }, "Type": { "enum": [ - "AWS::SNS::TopicPolicy" + "AWS::S3Outposts::BucketPolicy" ], "type": "string" }, @@ -352081,7 +320554,7 @@ ], "type": "object" }, - "AWS::SQS::Queue": { + "AWS::S3Outposts::Endpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -352116,95 +320589,47 @@ "Properties": { "additionalProperties": false, "properties": { - "ContentBasedDeduplication": { - "markdownDescription": "For first-in-first-out (FIFO) queues, specifies whether to enable content-based deduplication. During the deduplication interval, Amazon SQS treats messages that are sent with identical content as duplicates and delivers only one copy of the message. For more information, see the `ContentBasedDeduplication` attribute for the `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)` action in the *Amazon SQS API Reference* .", - "title": "ContentBasedDeduplication", - "type": "boolean" - }, - "DeduplicationScope": { - "markdownDescription": "For high throughput for FIFO queues, specifies whether message deduplication occurs at the message group or queue level. Valid values are `messageGroup` and `queue` .\n\nTo enable high throughput for a FIFO queue, set this attribute to `messageGroup` *and* set the `FifoThroughputLimit` attribute to `perMessageGroupId` . If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Amazon SQS Developer Guide* .", - "title": "DeduplicationScope", + "AccessType": { + "markdownDescription": "The container for the type of connectivity used to access the Amazon S3 on Outposts endpoint. To use the Amazon VPC , choose `Private` . To use the endpoint with an on-premises network, choose `CustomerOwnedIp` . If you choose `CustomerOwnedIp` , you must also provide the customer-owned IP address pool (CoIP pool).\n\n> `Private` is the default access type value.", + "title": "AccessType", "type": "string" }, - "DelaySeconds": { - "markdownDescription": "The time in seconds for which the delivery of all messages in the queue is delayed. You can specify an integer value of `0` to `900` (15 minutes). The default value is `0` .", - "title": "DelaySeconds", - "type": "number" - }, - "FifoQueue": { - "markdownDescription": "If set to true, creates a FIFO queue. If you don't specify this property, Amazon SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Amazon SQS Developer Guide* .", - "title": "FifoQueue", - "type": "boolean" - }, - "FifoThroughputLimit": { - "markdownDescription": "For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are `perQueue` and `perMessageGroupId` .\n\nTo enable high throughput for a FIFO queue, set this attribute to `perMessageGroupId` *and* set the `DeduplicationScope` attribute to `messageGroup` . If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Amazon SQS Developer Guide* .", - "title": "FifoThroughputLimit", + "CustomerOwnedIpv4Pool": { + "markdownDescription": "The ID of the customer-owned IPv4 address pool (CoIP pool) for the endpoint. IP addresses are allocated from this pool for the endpoint.", + "title": "CustomerOwnedIpv4Pool", "type": "string" }, - "KmsDataKeyReusePeriodSeconds": { - "markdownDescription": "The length of time in seconds for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes).\n\n> A shorter time period provides better security, but results in more calls to AWS , which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Amazon SQS Developer Guide* .", - "title": "KmsDataKeyReusePeriodSeconds", - "type": "number" + "FailedReason": { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint.FailedReason", + "markdownDescription": "The failure reason, if any, for a create or delete endpoint operation.", + "title": "FailedReason" }, - "KmsMasterKeyId": { - "markdownDescription": "The ID of an AWS Key Management Service (KMS) for Amazon SQS , or a custom KMS. To use the AWS managed KMS for Amazon SQS , specify a (default) alias ARN, alias name (for example `alias/aws/sqs` ), key ARN, or key ID. For more information, see the following:\n\n- [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Amazon SQS Developer Guide*\n- [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *Amazon SQS API Reference*\n- [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *AWS Key Management Service API Reference*\n- The Key Management Service (KMS) section of the [Security best practices for AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *AWS Key Management Service Developer Guide*", - "title": "KmsMasterKeyId", + "OutpostId": { + "markdownDescription": "The ID of the Outpost.", + "title": "OutpostId", "type": "string" }, - "MaximumMessageSize": { - "markdownDescription": "The limit of how many bytes that a message can contain before Amazon SQS rejects it. You can specify an integer from 1,024 bytes (1 KiB) to 1,048,576 bytes (1 MiB).\nDefault: 1,048,576 bytes (1 MiB).", - "title": "MaximumMessageSize", - "type": "number" - }, - "MessageRetentionPeriod": { - "markdownDescription": "The number of seconds that Amazon SQS retains a message. You can specify an integer value from `60` seconds (1 minute) to `1,209,600` seconds (14 days). The default value is `345,600` seconds (4 days).", - "title": "MessageRetentionPeriod", - "type": "number" - }, - "QueueName": { - "markdownDescription": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the `.fifo` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Amazon SQS Developer Guide* .\n\nIf you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *CloudFormation User Guide* .\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 must replace the resource, specify a new name.", - "title": "QueueName", + "SecurityGroupId": { + "markdownDescription": "The ID of the security group used for the endpoint.", + "title": "SecurityGroupId", "type": "string" }, - "ReceiveMessageWaitTimeSeconds": { - "markdownDescription": "Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Amazon SQS Developer Guide* .", - "title": "ReceiveMessageWaitTimeSeconds", - "type": "number" - }, - "RedriveAllowPolicy": { - "markdownDescription": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n\n- `redrivePermission` : The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n\n- `allowAll` : (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n- `denyAll` : No source queues can specify this queue as the dead-letter queue.\n- `byQueue` : Only queues specified by the `sourceQueueArns` parameter can specify this queue as the dead-letter queue.\n- `sourceQueueArns` : The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the `redrivePermission` parameter is set to `byQueue` . You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the `redrivePermission` parameter to `allowAll` .", - "title": "RedriveAllowPolicy", - "type": "object" - }, - "RedrivePolicy": { - "markdownDescription": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n\n- `deadLetterTargetArn` : The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of `maxReceiveCount` is exceeded.\n- `maxReceiveCount` : The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the `ReceiveCount` for a message exceeds the `maxReceiveCount` for a queue, Amazon SQS moves the message to the dead-letter-queue.\n\n> The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. \n\n*JSON*\n\n`{ \"deadLetterTargetArn\" : *String* , \"maxReceiveCount\" : *Integer* }`\n\n*YAML*\n\n`deadLetterTargetArn : *String*`\n\n`maxReceiveCount : *Integer*`", - "title": "RedrivePolicy", - "type": "object" - }, - "SqsManagedSseEnabled": { - "markdownDescription": "Enables server-side queue encryption using SQS owned encryption keys. Only one server-side encryption option is supported per queue (for example, [SSE-KMS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html) or [SSE-SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html) ). When `SqsManagedSseEnabled` is not defined, `SSE-SQS` encryption is enabled by default.", - "title": "SqsManagedSseEnabled", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags that you attach to this queue. For more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) in the *CloudFormation User Guide* .", - "title": "Tags", - "type": "array" - }, - "VisibilityTimeout": { - "markdownDescription": "The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue.\n\nValues must be from 0 to 43,200 seconds (12 hours). If you don't specify a value, AWS CloudFormation uses the default value of 30 seconds.\n\nFor more information about Amazon SQS queue visibility timeouts, see [Visibility timeout](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) in the *Amazon SQS Developer Guide* .", - "title": "VisibilityTimeout", - "type": "number" + "SubnetId": { + "markdownDescription": "The ID of the subnet used for the endpoint.", + "title": "SubnetId", + "type": "string" } }, + "required": [ + "OutpostId", + "SecurityGroupId", + "SubnetId" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::Queue" + "AWS::S3Outposts::Endpoint" ], "type": "string" }, @@ -352218,11 +320643,42 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SQS::QueueInlinePolicy": { + "AWS::S3Outposts::Endpoint.FailedReason": { + "additionalProperties": false, + "properties": { + "ErrorCode": { + "markdownDescription": "The failure code, if any, for a create or delete endpoint operation.", + "title": "ErrorCode", + "type": "string" + }, + "Message": { + "markdownDescription": "Additional error details describing the endpoint failure and recommended action.", + "title": "Message", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Endpoint.NetworkInterface": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "markdownDescription": "The ID for the network interface.", + "title": "NetworkInterfaceId", + "type": "string" + } + }, + "required": [ + "NetworkInterfaceId" + ], + "type": "object" + }, + "AWS::S3Tables::Namespace": { "additionalProperties": false, "properties": { "Condition": { @@ -352257,26 +320713,26 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see [Using custom policies with the Amazon SQS access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Amazon SQS Developer Guide* .", - "title": "PolicyDocument", - "type": "object" + "Namespace": { + "markdownDescription": "The name of the namespace.", + "title": "Namespace", + "type": "string" }, - "Queue": { - "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html)` resource.", - "title": "Queue", + "TableBucketARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket to create the namespace in.", + "title": "TableBucketARN", "type": "string" } }, "required": [ - "PolicyDocument", - "Queue" + "Namespace", + "TableBucketARN" ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::QueueInlinePolicy" + "AWS::S3Tables::Namespace" ], "type": "string" }, @@ -352295,7 +320751,7 @@ ], "type": "object" }, - "AWS::SQS::QueuePolicy": { + "AWS::S3Tables::Table": { "additionalProperties": false, "properties": { "Condition": { @@ -352330,29 +320786,71 @@ "Properties": { "additionalProperties": false, "properties": { - "PolicyDocument": { - "markdownDescription": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see [Using custom policies with the Amazon SQS access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Amazon SQS Developer Guide* .", - "title": "PolicyDocument", - "type": "object" + "Compaction": { + "$ref": "#/definitions/AWS::S3Tables::Table.Compaction", + "markdownDescription": "Contains details about the compaction settings for an Iceberg table.", + "title": "Compaction" }, - "Queues": { + "IcebergMetadata": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergMetadata", + "markdownDescription": "Contains details about the metadata for an Iceberg table.", + "title": "IcebergMetadata" + }, + "Namespace": { + "markdownDescription": "The name of the namespace.", + "title": "Namespace", + "type": "string" + }, + "OpenTableFormat": { + "markdownDescription": "The format of the table.", + "title": "OpenTableFormat", + "type": "string" + }, + "SnapshotManagement": { + "$ref": "#/definitions/AWS::S3Tables::Table.SnapshotManagement", + "markdownDescription": "Contains details about the Iceberg snapshot management settings for the table.", + "title": "SnapshotManagement" + }, + "StorageClassConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::Table.StorageClassConfiguration", + "markdownDescription": "The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.", + "title": "StorageClassConfiguration" + }, + "TableBucketARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket to create the table in.", + "title": "TableBucketARN", + "type": "string" + }, + "TableName": { + "markdownDescription": "The name for the table.", + "title": "TableName", + "type": "string" + }, + "Tags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)` resource.", - "title": "Queues", + "markdownDescription": "", + "title": "Tags", "type": "array" + }, + "WithoutMetadata": { + "markdownDescription": "Indicates that you don't want to specify a schema for the table. This property is mutually exclusive to `IcebergMetadata` , and its only possible value is `Yes` .", + "title": "WithoutMetadata", + "type": "string" } }, "required": [ - "PolicyDocument", - "Queues" + "Namespace", + "OpenTableFormat", + "TableBucketARN", + "TableName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SQS::QueuePolicy" + "AWS::S3Tables::Table" ], "type": "string" }, @@ -352371,7 +320869,267 @@ ], "type": "object" }, - "AWS::SSM::Association": { + "AWS::S3Tables::Table.Compaction": { + "additionalProperties": false, + "properties": { + "Status": { + "markdownDescription": "The status of the maintenance configuration.", + "title": "Status", + "type": "string" + }, + "TargetFileSizeMB": { + "markdownDescription": "The target file size for the table in MB.", + "title": "TargetFileSizeMB", + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3Tables::Table.IcebergMetadata": { + "additionalProperties": false, + "properties": { + "IcebergPartitionSpec": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergPartitionSpec" + }, + "IcebergSchema": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSchema", + "markdownDescription": "The schema for an Iceberg table.", + "title": "IcebergSchema" + }, + "IcebergSchemaV2": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSchemaV2" + }, + "IcebergSortOrder": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSortOrder" + }, + "TableProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::S3Tables::Table.IcebergPartitionField": { + "additionalProperties": false, + "properties": { + "FieldId": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "SourceId": { + "type": "number" + }, + "Transform": { + "type": "string" + } + }, + "required": [ + "Name", + "SourceId", + "Transform" + ], + "type": "object" + }, + "AWS::S3Tables::Table.IcebergPartitionSpec": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergPartitionField" + }, + "type": "array" + }, + "SpecId": { + "type": "number" + } + }, + "required": [ + "Fields" + ], + "type": "object" + }, + "AWS::S3Tables::Table.IcebergSchema": { + "additionalProperties": false, + "properties": { + "SchemaFieldList": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::Table.SchemaField" + }, + "markdownDescription": "The schema fields for the table", + "title": "SchemaFieldList", + "type": "array" + } + }, + "required": [ + "SchemaFieldList" + ], + "type": "object" + }, + "AWS::S3Tables::Table.IcebergSchemaV2": { + "additionalProperties": false, + "properties": { + "IdentifierFieldIds": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SchemaId": { + "type": "number" + }, + "SchemaV2FieldList": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::Table.SchemaV2Field" + }, + "type": "array" + }, + "SchemaV2FieldType": { + "type": "string" + } + }, + "required": [ + "SchemaV2FieldList", + "SchemaV2FieldType" + ], + "type": "object" + }, + "AWS::S3Tables::Table.IcebergSortField": { + "additionalProperties": false, + "properties": { + "Direction": { + "type": "string" + }, + "NullOrder": { + "type": "string" + }, + "SourceId": { + "type": "number" + }, + "Transform": { + "type": "string" + } + }, + "required": [ + "Direction", + "NullOrder", + "SourceId", + "Transform" + ], + "type": "object" + }, + "AWS::S3Tables::Table.IcebergSortOrder": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::Table.IcebergSortField" + }, + "type": "array" + }, + "OrderId": { + "type": "number" + } + }, + "required": [ + "Fields" + ], + "type": "object" + }, + "AWS::S3Tables::Table.SchemaField": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "number" + }, + "Name": { + "markdownDescription": "The name of the field.", + "title": "Name", + "type": "string" + }, + "Required": { + "markdownDescription": "A Boolean value that specifies whether values are required for each row in this field. By default, this is `false` and null values are allowed in the field. If this is `true` the field does not allow null values.", + "title": "Required", + "type": "boolean" + }, + "Type": { + "markdownDescription": "The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the [Apache Iceberg documentation](https://docs.aws.amazon.com/https://iceberg.apache.org/spec/#primitive-types) .", + "title": "Type", + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::S3Tables::Table.SchemaV2Field": { + "additionalProperties": false, + "properties": { + "Doc": { + "type": "string" + }, + "Id": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Required": { + "type": "boolean" + }, + "Type": { + "type": "object" + } + }, + "required": [ + "Id", + "Name", + "Required", + "Type" + ], + "type": "object" + }, + "AWS::S3Tables::Table.SnapshotManagement": { + "additionalProperties": false, + "properties": { + "MaxSnapshotAgeHours": { + "markdownDescription": "The maximum age of a snapshot before it can be expired.", + "title": "MaxSnapshotAgeHours", + "type": "number" + }, + "MinSnapshotsToKeep": { + "markdownDescription": "The minimum number of snapshots to keep.", + "title": "MinSnapshotsToKeep", + "type": "number" + }, + "Status": { + "markdownDescription": "The status of the maintenance configuration.", + "title": "Status", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Tables::Table.StorageClassConfiguration": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "markdownDescription": "The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.", + "title": "StorageClass", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Tables::TableBucket": { "additionalProperties": false, "properties": { "Condition": { @@ -352406,115 +321164,51 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplyOnlyAtCronInterval": { - "markdownDescription": "By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter is not supported for rate expressions.", - "title": "ApplyOnlyAtCronInterval", - "type": "boolean" - }, - "AssociationDispatchAssumeRole": { - "type": "string" - }, - "AssociationName": { - "markdownDescription": "Specify a descriptive name for the association.", - "title": "AssociationName", - "type": "string" - }, - "AutomationTargetParameterName": { - "markdownDescription": "Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in AWS Systems Manager .", - "title": "AutomationTargetParameterName", - "type": "string" - }, - "CalendarNames": { - "items": { - "type": "string" - }, - "markdownDescription": "The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations only run when that Change Calendar is open. For more information, see [AWS Systems Manager Change Calendar](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar) in the *AWS Systems Manager User Guide* .", - "title": "CalendarNames", - "type": "array" - }, - "ComplianceSeverity": { - "markdownDescription": "The severity level that is assigned to the association.", - "title": "ComplianceSeverity", - "type": "string" - }, - "DocumentVersion": { - "markdownDescription": "The version of the SSM document to associate with the target.\n\n> Note the following important information.\n> \n> - State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the `default` version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to `default` .\n> - `DocumentVersion` is not valid for documents owned by AWS , such as `AWS-RunPatchBaseline` or `AWS-UpdateSSMAgent` . If you specify `DocumentVersion` for an AWS document, the system returns the following error: \"Error occurred during operation 'CreateAssociation'.\" (RequestToken: , HandlerErrorCode: GeneralServiceException).", - "title": "DocumentVersion", - "type": "string" - }, - "InstanceId": { - "markdownDescription": "> `InstanceId` has been deprecated. To specify an instance ID for an association, use the `Targets` parameter. If you use the parameter `InstanceId` , you cannot use the parameters `AssociationName` , `DocumentVersion` , `MaxErrors` , `MaxConcurrency` , `OutputLocation` , or `ScheduleExpression` . To use these parameters, you must use the `Targets` parameter.\n> \n> Note that in some examples later in this page, `InstanceIds` is used as the tag-key name in a `Targets` filter. `InstanceId` is not used as a parameter. \n\nThe ID of the instance that the SSM document is associated with. You must specify the `InstanceId` or `Targets` property.", - "title": "InstanceId", - "type": "string" - }, - "MaxConcurrency": { - "markdownDescription": "The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.\n\nIf a new managed node starts and attempts to run an association while Systems Manager is running `MaxConcurrency` associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for `MaxConcurrency` .", - "title": "MaxConcurrency", - "type": "string" - }, - "MaxErrors": { - "markdownDescription": "The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set `MaxError` to 10%, then the system stops sending the request when the sixth error is received.\n\nExecutions that are already running an association when `MaxErrors` is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set `MaxConcurrency` to 1 so that executions proceed one at a time.", - "title": "MaxErrors", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the SSM document that contains the configuration information for the instance. You can specify `Command` or `Automation` documents. The documents can be AWS -predefined documents, documents you created, or a document that is shared with you from another account. For SSM documents that are shared with you from other AWS accounts , you must specify the complete SSM document ARN, in the following format:\n\n`arn:partition:ssm:region:account-id:document/document-name`\n\nFor example: `arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document`\n\nFor AWS -predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, `AWS -ApplyPatchBaseline` or `My-Document` .", - "title": "Name", - "type": "string" - }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation", - "markdownDescription": "An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.", - "title": "OutputLocation" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.EncryptionConfiguration", + "markdownDescription": "Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.", + "title": "EncryptionConfiguration" }, - "Parameters": { - "markdownDescription": "The parameters for the runtime configuration of the document.", - "title": "Parameters", - "type": "object" + "MetricsConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.MetricsConfiguration", + "markdownDescription": "", + "title": "MetricsConfiguration" }, - "ScheduleExpression": { - "markdownDescription": "A cron expression that specifies a schedule when the association runs. The schedule runs in Coordinated Universal Time (UTC).", - "title": "ScheduleExpression", - "type": "string" + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationConfiguration" }, - "ScheduleOffset": { - "markdownDescription": "Number of days to wait after the scheduled day to run an association.", - "title": "ScheduleOffset", - "type": "number" + "StorageClassConfiguration": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.StorageClassConfiguration", + "markdownDescription": "The configuration details for the storage class of tables or table buckets. This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.", + "title": "StorageClassConfiguration" }, - "SyncCompliance": { - "markdownDescription": "The mode for generating association compliance. You can specify `AUTO` or `MANUAL` . In `AUTO` mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is `COMPLIANT` . If the association execution doesn't run successfully, the association is `NON-COMPLIANT` .\n\nIn `MANUAL` mode, you must specify the `AssociationId` as a parameter for the `PutComplianceItems` API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the `PutComplianceItems` API action.\n\nBy default, all associations use `AUTO` mode.", - "title": "SyncCompliance", + "TableBucketName": { + "markdownDescription": "The name for the table bucket.", + "title": "TableBucketName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "", + "title": "Tags", "type": "array" }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" - }, - "markdownDescription": "The targets for the association. You must specify the `InstanceId` or `Targets` property. You can target all instances in an AWS account by specifying t he `InstanceIds` key with a value of `*` .\n\nSupported formats include the following.\n\n- `Key=InstanceIds,Values=,,`\n- `Key=tag-key,Values=,`\n\nTo view a JSON and a YAML example that targets all instances, see \"Create an association for all managed instances in an AWS account \" on the Examples page.", - "title": "Targets", - "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "markdownDescription": "The number of seconds the service should wait for the association status to show \"Success\" before proceeding with the stack execution. If the association status doesn't show \"Success\" after the specified number of seconds, then stack creation fails.\n\n> When you specify a value for the `WaitForSuccessTimeoutSeconds` , [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) for your CloudFormation stack\u2019s configuration might yield inaccurate results. If drift detection is important in your scenario, we recommend that you don\u2019t include `WaitForSuccessTimeoutSeconds` in your template.", - "title": "WaitForSuccessTimeoutSeconds", - "type": "number" + "UnreferencedFileRemoval": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.UnreferencedFileRemoval", + "markdownDescription": "The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the [*Amazon S3 User Guide*](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html) .", + "title": "UnreferencedFileRemoval" } }, "required": [ - "Name" + "TableBucketName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Association" + "AWS::S3Tables::TableBucket" ], "type": "string" }, @@ -352533,62 +321227,112 @@ ], "type": "object" }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { + "AWS::S3Tables::TableBucket.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation", - "markdownDescription": "`S3OutputLocation` is a property of the [InstanceAssociationOutputLocation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html) property that specifies an Amazon S3 bucket where you want to store the results of this request.", - "title": "S3Location" + "KMSKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when `sseAlgorithm` is set to `aws:kms` .", + "title": "KMSKeyArn", + "type": "string" + }, + "SSEAlgorithm": { + "markdownDescription": "The server-side encryption algorithm to use. Valid values are `AES256` for S3-managed encryption keys, or `aws:kms` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see [Permissions requirements for S3 Tables SSE-KMS encryption](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html) .", + "title": "SSEAlgorithm", + "type": "string" } }, "type": "object" }, - "AWS::SSM::Association.S3OutputLocation": { + "AWS::S3Tables::TableBucket.MetricsConfiguration": { "additionalProperties": false, "properties": { - "OutputS3BucketName": { - "markdownDescription": "The name of the S3 bucket.", - "title": "OutputS3BucketName", + "Status": { + "markdownDescription": "", + "title": "Status", "type": "string" - }, - "OutputS3KeyPrefix": { - "markdownDescription": "The S3 bucket subfolder.", - "title": "OutputS3KeyPrefix", + } + }, + "type": "object" + }, + "AWS::S3Tables::TableBucket.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Role": { "type": "string" }, - "OutputS3Region": { - "markdownDescription": "The AWS Region of the S3 bucket.", - "title": "OutputS3Region", - "type": "string" + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationRule" + }, + "type": "array" } }, + "required": [ + "Role", + "Rules" + ], "type": "object" }, - "AWS::SSM::Association.Target": { + "AWS::S3Tables::TableBucket.ReplicationDestination": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "User-defined criteria for sending commands that target managed nodes that meet the criteria.", - "title": "Key", + "DestinationTableBucketARN": { "type": "string" - }, - "Values": { + } + }, + "required": [ + "DestinationTableBucketARN" + ], + "type": "object" + }, + "AWS::S3Tables::TableBucket.ReplicationRule": { + "additionalProperties": false, + "properties": { + "Destinations": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::S3Tables::TableBucket.ReplicationDestination" }, - "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` .\n\nDepending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.", - "title": "Values", "type": "array" } }, "required": [ - "Key", - "Values" + "Destinations" ], "type": "object" }, - "AWS::SSM::AutomationExecution": { + "AWS::S3Tables::TableBucket.StorageClassConfiguration": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "markdownDescription": "The storage class for the table or table bucket. Valid values include storage classes optimized for different access patterns and cost profiles.", + "title": "StorageClass", + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Tables::TableBucket.UnreferencedFileRemoval": { + "additionalProperties": false, + "properties": { + "NoncurrentDays": { + "markdownDescription": "The number of days an object can be noncurrent before Amazon S3 deletes it.", + "title": "NoncurrentDays", + "type": "number" + }, + "Status": { + "markdownDescription": "The status of the unreferenced file removal configuration for your table bucket.", + "title": "Status", + "type": "string" + }, + "UnreferencedDays": { + "markdownDescription": "The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.", + "title": "UnreferencedDays", + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3Tables::TableBucketPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -352623,24 +321367,26 @@ "Properties": { "additionalProperties": false, "properties": { - "DocumentName": { - "type": "string" + "ResourcePolicy": { + "markdownDescription": "The bucket policy JSON for the table bucket.", + "title": "ResourcePolicy", + "type": "object" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "TableBucketARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table bucket.", + "title": "TableBucketARN", + "type": "string" } }, "required": [ - "DocumentName" + "ResourcePolicy", + "TableBucketARN" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::AutomationExecution" + "AWS::S3Tables::TableBucketPolicy" ], "type": "string" }, @@ -352659,7 +321405,7 @@ ], "type": "object" }, - "AWS::SSM::CloudConnector": { + "AWS::S3Tables::TablePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -352694,39 +321440,26 @@ "Properties": { "additionalProperties": false, "properties": { - "ConfigConnectorArn": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::SSM::CloudConnector.CloudConnectorConfiguration" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" + "ResourcePolicy": { + "markdownDescription": "The `JSON` that defines the policy.", + "title": "ResourcePolicy", + "type": "object" }, - "RoleArn": { + "TableARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the table.", + "title": "TableARN", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" } }, "required": [ - "ConfigConnectorArn", - "Configuration", - "DisplayName", - "RoleArn" + "ResourcePolicy", + "TableARN" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::CloudConnector" + "AWS::S3Tables::TablePolicy" ], "type": "string" }, @@ -352745,74 +321478,7 @@ ], "type": "object" }, - "AWS::SSM::CloudConnector.AzureConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationDisplayName": { - "type": "string" - }, - "ApplicationId": { - "type": "string" - }, - "Targets": { - "$ref": "#/definitions/AWS::SSM::CloudConnector.ConfigurationTargets" - }, - "TenantDisplayName": { - "type": "string" - }, - "TenantId": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "TenantId" - ], - "type": "object" - }, - "AWS::SSM::CloudConnector.AzureSubscription": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "type": "string" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::SSM::CloudConnector.CloudConnectorConfiguration": { - "additionalProperties": false, - "properties": { - "AzureConfiguration": { - "$ref": "#/definitions/AWS::SSM::CloudConnector.AzureConfiguration" - } - }, - "required": [ - "AzureConfiguration" - ], - "type": "object" - }, - "AWS::SSM::CloudConnector.ConfigurationTargets": { - "additionalProperties": false, - "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::SSM::CloudConnector.AzureSubscription" - }, - "type": "array" - } - }, - "required": [ - "Subscriptions" - ], - "type": "object" - }, - "AWS::SSM::Document": { + "AWS::S3Vectors::Index": { "additionalProperties": false, "properties": { "Condition": { @@ -352847,74 +321513,63 @@ "Properties": { "additionalProperties": false, "properties": { - "Attachments": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" - }, - "markdownDescription": "A list of key-value pairs that describe attachments to a version of a document.", - "title": "Attachments", - "type": "array" + "DataType": { + "markdownDescription": "The data type of the vectors to be inserted into the vector index. Currently, only `float32` is supported, which represents 32-bit floating-point numbers.", + "title": "DataType", + "type": "string" }, - "Content": { - "markdownDescription": "The content for the new SSM document in JSON or YAML. For more information about the schemas for SSM document content, see [SSM document schema features and examples](https://docs.aws.amazon.com/systems-manager/latest/userguide/document-schemas-features.html) in the *AWS Systems Manager User Guide* .\n\n> This parameter also supports `String` data types.", - "title": "Content", - "type": "object" + "Dimension": { + "markdownDescription": "The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions.\n\nThe dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.", + "title": "Dimension", + "type": "number" }, - "DocumentFormat": { - "markdownDescription": "Specify the document format for the request. `JSON` is the default format.", - "title": "DocumentFormat", + "DistanceMetric": { + "markdownDescription": "The distance metric to be used for similarity search. Valid values are:\n\n- `cosine` - Measures the cosine of the angle between two vectors.\n- `euclidean` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.", + "title": "DistanceMetric", "type": "string" }, - "DocumentType": { - "markdownDescription": "The type of document to create.", - "title": "DocumentType", - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3Vectors::Index.EncryptionConfiguration", + "markdownDescription": "The encryption configuration for a vector index. By default, if you don't specify, all new vectors in the vector index will use the encryption configuration of the vector bucket.", + "title": "EncryptionConfiguration" }, - "Name": { - "markdownDescription": "A name for the SSM document.\n\n> You can't use the following strings as document name prefixes. These are reserved by AWS for use as document name prefixes:\n> \n> - `aws`\n> - `amazon`\n> - `amzn`\n> - `AWSEC2`\n> - `AWSConfigRemediation`\n> - `AWSSupport`", - "title": "Name", + "IndexName": { + "markdownDescription": "The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket.\n\nIf you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name.\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": "IndexName", "type": "string" }, - "Requires": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" - }, - "markdownDescription": "A list of SSM documents required by a document. This parameter is used exclusively by AWS AppConfig . When a user creates an AWS AppConfig configuration in an SSM document, the user must also specify a required document for validation purposes. In this case, an `ApplicationConfiguration` document requires an `ApplicationConfigurationSchema` document for validation purposes. For more information, see [What is AWS AppConfig ?](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) in the *AWS AppConfig User Guide* .", - "title": "Requires", - "type": "array" + "MetadataConfiguration": { + "$ref": "#/definitions/AWS::S3Vectors::Index.MetadataConfiguration", + "markdownDescription": "The metadata configuration for the vector index.", + "title": "MetadataConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "AWS CloudFormation resource tags to apply to the document. Use tags to help you identify and categorize resources.", - "title": "Tags", "type": "array" }, - "TargetType": { - "markdownDescription": "Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: `/AWS::EC2::Instance` . If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see [AWS resource and property types reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) in the *AWS CloudFormation User Guide* .", - "title": "TargetType", - "type": "string" - }, - "UpdateMethod": { - "markdownDescription": "If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced. `Replace` is the default method. If you specify `NewVersion` for the `UpdateMethod` parameter, and the `Name` of the document does not match an existing resource, a new document is created. When you specify `NewVersion` , the default version of the document is changed to the newly created version.", - "title": "UpdateMethod", + "VectorBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.", + "title": "VectorBucketArn", "type": "string" }, - "VersionName": { - "markdownDescription": "An optional field specifying the version of the artifact you are creating with the document. For example, `Release12.1` . This value is unique across all versions of a document, and can't be changed.", - "title": "VersionName", + "VectorBucketName": { + "markdownDescription": "The name of the vector bucket that contains the vector index.", + "title": "VectorBucketName", "type": "string" } }, "required": [ - "Content" + "DataType", + "Dimension", + "DistanceMetric" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Document" + "AWS::S3Vectors::Index" ], "type": "string" }, @@ -352933,47 +321588,37 @@ ], "type": "object" }, - "AWS::SSM::Document.AttachmentsSource": { + "AWS::S3Vectors::Index.EncryptionConfiguration": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key of a key-value pair that identifies the location of an attachment to a document.", - "title": "Key", + "KmsKeyArn": { + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the encryption configuration. This parameter is allowed if and only if `sseType` is set to `aws:kms` .\n\nTo specify the KMS key, you must use the format of the KMS key Amazon Resource Name (ARN).\n\nFor example, specify Key ARN in the following format: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`", + "title": "KmsKeyArn", "type": "string" }, - "Name": { - "markdownDescription": "The name of the document attachment file.", - "title": "Name", + "SseType": { + "markdownDescription": "The server-side encryption type to use for the encryption configuration of the vector bucket. By default, if you don't specify, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically `AES256` .", + "title": "SseType", "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The value of a key-value pair that identifies the location of an attachment to a document. The format for *Value* depends on the type of key you specify.\n\n- For the key *SourceUrl* , the value is an S3 bucket location. For example:\n\n`\"Values\": [ \"s3://amzn-s3-demo-bucket/my-prefix\" ]`\n- For the key *S3FileUrl* , the value is a file in an S3 bucket. For example:\n\n`\"Values\": [ \"s3://amzn-s3-demo-bucket/my-prefix/my-file.py\" ]`\n- For the key *AttachmentReference* , the value is constructed from the name of another SSM document in your account, a version number of that document, and a file attached to that document version that you want to reuse. For example:\n\n`\"Values\": [ \"MyOtherDocument/3/my-other-file.py\" ]`\n\nHowever, if the SSM document is shared with you from another account, the full SSM document ARN must be specified instead of the document name only. For example:\n\n`\"Values\": [ \"arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py\" ]`", - "title": "Values", - "type": "array" } }, "type": "object" }, - "AWS::SSM::Document.DocumentRequires": { + "AWS::S3Vectors::Index.MetadataConfiguration": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the required SSM document. The name can be an Amazon Resource Name (ARN).", - "title": "Name", - "type": "string" - }, - "Version": { - "markdownDescription": "The document version required by the current document.", - "title": "Version", - "type": "string" + "NonFilterableMetadataKeys": { + "items": { + "type": "string" + }, + "markdownDescription": "Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval. Unlike default metadata keys, these keys can't be used as query filters. Non-filterable metadata keys can be retrieved but can't be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors.\n\nYou can specify 1 to 10 non-filterable metadata keys. Each key must be 1 to 63 characters long.", + "title": "NonFilterableMetadataKeys", + "type": "array" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindow": { + "AWS::S3Vectors::VectorBucket": { "additionalProperties": false, "properties": { "Condition": { @@ -353008,77 +321653,28 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowUnassociatedTargets": { - "markdownDescription": "Enables a maintenance window task to run on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the maintenance window.", - "title": "AllowUnassociatedTargets", - "type": "boolean" - }, - "Cutoff": { - "markdownDescription": "The number of hours before the end of the maintenance window that AWS Systems Manager stops scheduling new tasks for execution.", - "title": "Cutoff", - "type": "number" - }, - "Description": { - "markdownDescription": "A description of the maintenance window.", - "title": "Description", - "type": "string" - }, - "Duration": { - "markdownDescription": "The duration of the maintenance window in hours.", - "title": "Duration", - "type": "number" - }, - "EndDate": { - "markdownDescription": "The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive.", - "title": "EndDate", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the maintenance window.", - "title": "Name", - "type": "string" - }, - "Schedule": { - "markdownDescription": "The schedule of the maintenance window in the form of a cron or rate expression.", - "title": "Schedule", - "type": "string" - }, - "ScheduleOffset": { - "markdownDescription": "The number of days to wait to run a maintenance window after the scheduled cron expression date and time.", - "title": "ScheduleOffset", - "type": "number" - }, - "ScheduleTimezone": { - "markdownDescription": "The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format.", - "title": "ScheduleTimezone", - "type": "string" - }, - "StartDate": { - "markdownDescription": "The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. `StartDate` allows you to delay activation of the maintenance window until the specified future date.", - "title": "StartDate", - "type": "string" + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3Vectors::VectorBucket.EncryptionConfiguration", + "markdownDescription": "The encryption configuration for the vector bucket.", + "title": "EncryptionConfiguration" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a maintenance window to identify the type of tasks it will run, the types of targets, and the environment it will run in.", - "title": "Tags", "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" } }, - "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindow" + "AWS::S3Vectors::VectorBucket" ], "type": "string" }, @@ -353092,12 +321688,27 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget": { + "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": { @@ -353132,50 +321743,30 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description for the target.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "The name for the maintenance window target.", - "title": "Name", - "type": "string" - }, - "OwnerInformation": { - "markdownDescription": "A user-provided value that will be included in any Amazon CloudWatch Events events that are raised while running tasks for these targets in this maintenance window.", - "title": "OwnerInformation", - "type": "string" + "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" }, - "ResourceType": { - "markdownDescription": "The type of target that is being registered with the maintenance window.", - "title": "ResourceType", + "VectorBucketArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.", + "title": "VectorBucketArn", "type": "string" }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" - }, - "markdownDescription": "The targets to register with the maintenance window. In other words, the instances to run commands on when the maintenance window runs.\n\nYou must specify targets by using the `WindowTargetIds` parameter.", - "title": "Targets", - "type": "array" - }, - "WindowId": { - "markdownDescription": "The ID of the maintenance window to register the target with.", - "title": "WindowId", + "VectorBucketName": { + "markdownDescription": "The name of the S3 vector bucket to which the policy applies.", + "title": "VectorBucketName", "type": "string" } }, "required": [ - "ResourceType", - "Targets", - "WindowId" + "Policy" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTarget" + "AWS::S3Vectors::VectorBucketPolicy" ], "type": "string" }, @@ -353194,30 +321785,70 @@ ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { + "AWS::SDB::Domain": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "User-defined criteria for sending commands that target managed nodes that meet the criteria.", - "title": "Key", + "Condition": { "type": "string" }, - "Values": { - "items": { - "type": "string" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "Information about the SimpleDB domain.", + "title": "Description", + "type": "string" + } }, - "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` .\n\nDepending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.", - "title": "Values", - "type": "array" + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SDB::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Key", - "Values" + "Type" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask": { + "AWS::SES::ConfigurationSet": { "additionalProperties": false, "properties": { "Condition": { @@ -353252,91 +321883,58 @@ "Properties": { "additionalProperties": false, "properties": { - "CutoffBehavior": { - "markdownDescription": "The specification for whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached.", - "title": "CutoffBehavior", - "type": "string" - }, - "Description": { - "markdownDescription": "A description of the task.", - "title": "Description", - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo", - "markdownDescription": "> `LoggingInfo` has been deprecated. To specify an Amazon S3 bucket to contain logs for Run Command tasks, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` options in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [AWS ::SSM::MaintenanceWindowTask MaintenanceWindowRunCommandParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html) . \n\nInformation about an Amazon S3 bucket to write Run Command task-level logs to.", - "title": "LoggingInfo" - }, - "MaxConcurrency": { - "markdownDescription": "The maximum number of targets this task can be run for, in parallel.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases.\n> \n> For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task.", - "title": "MaxConcurrency", - "type": "string" + "ArchivingOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.ArchivingOptions" }, - "MaxErrors": { - "markdownDescription": "The maximum number of errors allowed before this task stops being scheduled.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases.\n> \n> For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task.", - "title": "MaxErrors", - "type": "string" + "DeliveryOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.DeliveryOptions", + "markdownDescription": "Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).", + "title": "DeliveryOptions" }, "Name": { - "markdownDescription": "The task name.", + "markdownDescription": "The name of the configuration set. The name must meet the following requirements:\n\n- Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Contain 64 characters or fewer.", "title": "Name", "type": "string" }, - "Priority": { - "markdownDescription": "The priority of the task in the maintenance window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.", - "title": "Priority", - "type": "number" + "ReputationOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.ReputationOptions", + "markdownDescription": "An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.", + "title": "ReputationOptions" }, - "ServiceRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` .\n\nHowever, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* .", - "title": "ServiceRoleArn", - "type": "string" + "SendingOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.SendingOptions", + "markdownDescription": "An object that defines whether or not Amazon SES can send email that you send using the configuration set.", + "title": "SendingOptions" }, - "Targets": { + "SuppressionOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.SuppressionOptions", + "markdownDescription": "An object that contains information about the suppression list preferences for your account.", + "title": "SuppressionOptions" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "The targets, either instances or window target IDs.\n\n- Specify instances using `Key=InstanceIds,Values= *instanceid1* , *instanceid2*` .\n- Specify window target IDs using `Key=WindowTargetIds,Values= *window-target-id-1* , *window-target-id-2*` .", - "title": "Targets", + "markdownDescription": "An array of objects that define the tags (keys and values) that are associated with the configuration set.", + "title": "Tags", "type": "array" }, - "TaskArn": { - "markdownDescription": "The resource that the task uses during execution.\n\nFor `RUN_COMMAND` and `AUTOMATION` task types, `TaskArn` is the SSM document name or Amazon Resource Name (ARN).\n\nFor `LAMBDA` tasks, `TaskArn` is the function name or ARN.\n\nFor `STEP_FUNCTIONS` tasks, `TaskArn` is the state machine ARN.", - "title": "TaskArn", - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters", - "markdownDescription": "The parameters to pass to the task when it runs. Populate only the fields that match the task type. All other fields should be empty.\n\n> When you update a maintenance window task that has options specified in `TaskInvocationParameters` , you must provide again all the `TaskInvocationParameters` values that you want to retain. The values you do not specify again are removed. For example, suppose that when you registered a Run Command task, you specified `TaskInvocationParameters` values for `Comment` , `NotificationConfig` , and `OutputS3BucketName` . If you update the maintenance window task and specify only a different `OutputS3BucketName` value, the values for `Comment` and `NotificationConfig` are removed.", - "title": "TaskInvocationParameters" - }, - "TaskParameters": { - "markdownDescription": "> `TaskParameters` has been deprecated. To specify parameters to pass to a task when it runs, instead use the `Parameters` option in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [MaintenanceWindowTaskInvocationParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_MaintenanceWindowTaskInvocationParameters.html) . \n\nThe parameters to pass to the task when it runs.", - "title": "TaskParameters", - "type": "object" - }, - "TaskType": { - "markdownDescription": "The type of task. Valid values: `RUN_COMMAND` , `AUTOMATION` , `LAMBDA` , `STEP_FUNCTIONS` .", - "title": "TaskType", - "type": "string" + "TrackingOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.TrackingOptions", + "markdownDescription": "An object that defines the open and click tracking options for emails that you send using the configuration set.", + "title": "TrackingOptions" }, - "WindowId": { - "markdownDescription": "The ID of the maintenance window where the task is registered.", - "title": "WindowId", - "type": "string" + "VdmOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.VdmOptions", + "markdownDescription": "The Virtual Deliverability Manager (VDM) options that apply to the configuration set.", + "title": "VdmOptions" } }, - "required": [ - "Priority", - "TaskArn", - "TaskType", - "WindowId" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::MaintenanceWindowTask" + "AWS::SES::ConfigurationSet" ], "type": "string" }, @@ -353350,243 +321948,387 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { + "AWS::SES::ConfigurationSet.ArchivingOptions": { "additionalProperties": false, "properties": { - "CloudWatchLogGroupName": { - "markdownDescription": "The name of the CloudWatch Logs log group where you want to send command output. If you don't specify a group name, AWS Systems Manager automatically creates a log group for you. The log group uses the following naming format:\n\n`aws/ssm/ *SystemsManagerDocumentName*`", - "title": "CloudWatchLogGroupName", + "ArchiveArn": { "type": "string" - }, - "CloudWatchOutputEnabled": { - "markdownDescription": "Enables Systems Manager to send command output to CloudWatch Logs.", - "title": "CloudWatchOutputEnabled", - "type": "boolean" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "AWS::SES::ConfigurationSet.ConditionThreshold": { "additionalProperties": false, "properties": { - "Region": { - "markdownDescription": "The AWS Region where the S3 bucket is located.", - "title": "Region", - "type": "string" - }, - "S3Bucket": { - "markdownDescription": "The name of an S3 bucket where execution logs are stored.", - "title": "S3Bucket", + "ConditionThresholdEnabled": { "type": "string" }, - "S3Prefix": { - "markdownDescription": "The Amazon S3 bucket subfolder.", - "title": "S3Prefix", - "type": "string" + "OverallConfidenceThreshold": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.OverallConfidenceThreshold" } }, "required": [ - "Region", - "S3Bucket" + "ConditionThresholdEnabled" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "AWS::SES::ConfigurationSet.DashboardOptions": { "additionalProperties": false, "properties": { - "DocumentVersion": { - "markdownDescription": "The version of an Automation runbook to use during task execution.", - "title": "DocumentVersion", + "EngagementMetrics": { + "markdownDescription": "Specifies the status of your VDM engagement metrics collection. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables engagement metrics for the configuration set.\n- `DISABLED` \u2013 Amazon SES disables engagement metrics for the configuration set.", + "title": "EngagementMetrics", "type": "string" - }, - "Parameters": { - "markdownDescription": "The parameters for the `AUTOMATION` type task.", - "title": "Parameters", - "type": "object" } }, + "required": [ + "EngagementMetrics" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "AWS::SES::ConfigurationSet.DeliveryOptions": { "additionalProperties": false, "properties": { - "ClientContext": { - "markdownDescription": "Client-specific information to pass to the AWS Lambda function that you're invoking. You can then use the `context` variable to process the client information in your AWS Lambda function.", - "title": "ClientContext", - "type": "string" + "MaxDeliverySeconds": { + "markdownDescription": "The name of the configuration set used when sent through a configuration set with archiving enabled.", + "title": "MaxDeliverySeconds", + "type": "number" }, - "Payload": { - "markdownDescription": "JSON to provide to your AWS Lambda function as input.\n\n> Although `Type` is listed as \"String\" for this property, the payload content must be formatted as a Base64-encoded binary data object. \n\n*Length Constraint:* 4096", - "title": "Payload", + "SendingPoolName": { + "markdownDescription": "The name of the dedicated IP pool to associate with the configuration set.", + "title": "SendingPoolName", "type": "string" }, - "Qualifier": { - "markdownDescription": "An AWS Lambda function version or alias name. If you specify a function version, the action uses the qualified function Amazon Resource Name (ARN) to invoke a specific Lambda function. If you specify an alias name, the action uses the alias ARN to invoke the Lambda function version that the alias points to.", - "title": "Qualifier", + "TlsPolicy": { + "markdownDescription": "Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is `REQUIRE` , messages are only delivered if a TLS connection can be established. If the value is `OPTIONAL` , messages can be delivered in plain text if a TLS connection can't be established.\n\nValid Values: `REQUIRE | OPTIONAL`", + "title": "TlsPolicy", "type": "string" } }, "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "AWS::SES::ConfigurationSet.GuardianOptions": { "additionalProperties": false, "properties": { - "CloudWatchOutputConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig", - "markdownDescription": "Configuration options for sending command output to Amazon CloudWatch Logs.", - "title": "CloudWatchOutputConfig" - }, - "Comment": { - "markdownDescription": "Information about the command or commands to run.", - "title": "Comment", + "OptimizedSharedDelivery": { + "markdownDescription": "Specifies the status of your VDM optimized shared delivery. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables optimized shared delivery for the configuration set.\n- `DISABLED` \u2013 Amazon SES disables optimized shared delivery for the configuration set.", + "title": "OptimizedSharedDelivery", "type": "string" - }, - "DocumentHash": { - "markdownDescription": "The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.", - "title": "DocumentHash", + } + }, + "required": [ + "OptimizedSharedDelivery" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSet.OverallConfidenceThreshold": { + "additionalProperties": false, + "properties": { + "ConfidenceVerdictThreshold": { "type": "string" + } + }, + "required": [ + "ConfidenceVerdictThreshold" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSet.ReputationOptions": { + "additionalProperties": false, + "properties": { + "ReputationMetricsEnabled": { + "markdownDescription": "If `true` , tracking of reputation metrics is enabled for the configuration set. If `false` , tracking of reputation metrics is disabled for the configuration set.", + "title": "ReputationMetricsEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSet.SendingOptions": { + "additionalProperties": false, + "properties": { + "SendingEnabled": { + "markdownDescription": "If `true` , email sending is enabled for the configuration set. If `false` , email sending is disabled for the configuration set.", + "title": "SendingEnabled", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSet.SuppressionOptions": { + "additionalProperties": false, + "properties": { + "SuppressedReasons": { + "items": { + "type": "string" + }, + "markdownDescription": "A list that contains the reasons that email addresses are automatically added to the suppression list for your account. This list can contain any or all of the following:\n\n- `COMPLAINT` \u2013 Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint.\n- `BOUNCE` \u2013 Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce.", + "title": "SuppressedReasons", + "type": "array" }, - "DocumentHashType": { - "markdownDescription": "The SHA-256 or SHA-1 hash type. SHA-1 hashes are deprecated.", - "title": "DocumentHashType", + "ValidationOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.ValidationOptions" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSet.TrackingOptions": { + "additionalProperties": false, + "properties": { + "CustomRedirectDomain": { + "markdownDescription": "The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.", + "title": "CustomRedirectDomain", "type": "string" }, - "DocumentVersion": { - "markdownDescription": "The AWS Systems Manager document (SSM document) version to use in the request. You can specify `$DEFAULT` , `$LATEST` , or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:\n\n`--document-version \"\\$DEFAULT\"`\n\n`--document-version \"\\$LATEST\"`\n\n`--document-version \"3\"`", - "title": "DocumentVersion", + "HttpsPolicy": { + "markdownDescription": "The name of the configuration set used when sent through a configuration set with archiving enabled.", + "title": "HttpsPolicy", "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSet.ValidationOptions": { + "additionalProperties": false, + "properties": { + "ConditionThreshold": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.ConditionThreshold" + } + }, + "required": [ + "ConditionThreshold" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSet.VdmOptions": { + "additionalProperties": false, + "properties": { + "DashboardOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.DashboardOptions", + "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Dashboard.", + "title": "DashboardOptions" }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig", - "markdownDescription": "Configurations for sending notifications about command status changes on a per-managed node basis.", - "title": "NotificationConfig" - }, - "OutputS3BucketName": { - "markdownDescription": "The name of the Amazon Simple Storage Service (Amazon S3) bucket.", - "title": "OutputS3BucketName", + "GuardianOptions": { + "$ref": "#/definitions/AWS::SES::ConfigurationSet.GuardianOptions", + "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Guardian.", + "title": "GuardianOptions" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "OutputS3KeyPrefix": { - "markdownDescription": "The S3 bucket subfolder.", - "title": "OutputS3KeyPrefix", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Parameters": { - "markdownDescription": "The parameters for the `RUN_COMMAND` task execution.\n\nThe supported parameters are the same as those for the `SendCommand` API call. For more information, see [SendCommand](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) in the *AWS Systems Manager API Reference* .", - "title": "Parameters", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { "type": "object" }, - "ServiceRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` .\n\nHowever, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* .", - "title": "ServiceRoleArn", + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "markdownDescription": "The name of the configuration set that contains the event destination.", + "title": "ConfigurationSetName", + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination", + "markdownDescription": "An object that defines the event destination.", + "title": "EventDestination" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestination" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSetEventDestination" + ], "type": "string" }, - "TimeoutSeconds": { - "markdownDescription": "If this time is reached and the command hasn't already started running, it doesn't run.", - "title": "TimeoutSeconds", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { "additionalProperties": false, "properties": { - "Input": { - "markdownDescription": "The inputs for the `STEP_FUNCTIONS` task.", - "title": "Input", + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "markdownDescription": "An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch.", + "title": "DimensionConfigurations", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "markdownDescription": "The default value of the dimension that is published to Amazon CloudWatch if you don't provide the value of the dimension when you send an email. This value has to meet the following criteria:\n\n- Can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-), at signs (@), and periods (.).\n- It can contain no more than 256 characters.", + "title": "DefaultDimensionValue", "type": "string" }, - "Name": { - "markdownDescription": "The name of the `STEP_FUNCTIONS` task.", - "title": "Name", + "DimensionName": { + "markdownDescription": "The name of an Amazon CloudWatch dimension associated with an email sending metric. The name has to meet the following criteria:\n\n- It can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-).\n- It can contain no more than 256 characters.", + "title": "DimensionName", + "type": "string" + }, + "DimensionValueSource": { + "markdownDescription": "The location where the Amazon SES API v2 finds the value of a dimension to publish to Amazon CloudWatch. To use the message tags that you specify using an `X-SES-MESSAGE-TAGS` header or a parameter to the `SendEmail` or `SendRawEmail` API, choose `messageTag` . To use your own email headers, choose `emailHeader` . To use link tags, choose `linkTag` .", + "title": "DimensionValueSource", "type": "string" } }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "AWS::SES::ConfigurationSetEventDestination.EventBridgeDestination": { "additionalProperties": false, "properties": { - "NotificationArn": { - "markdownDescription": "An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. Run Command pushes notifications about command status changes to this topic.", - "title": "NotificationArn", + "EventBusArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported.", + "title": "EventBusArn", "type": "string" + } + }, + "required": [ + "EventBusArn" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination", + "markdownDescription": "An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.", + "title": "CloudWatchDestination" }, - "NotificationEvents": { + "Enabled": { + "markdownDescription": "If `true` , the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this `EventDestinationDefinition` .\n\nIf `false` , the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.", + "title": "Enabled", + "type": "boolean" + }, + "EventBridgeDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventBridgeDestination", + "markdownDescription": "An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to send notifications when certain email events occur.", + "title": "EventBridgeDestination" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination", + "markdownDescription": "An object that contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.", + "title": "KinesisFirehoseDestination" + }, + "MatchingEventTypes": { "items": { "type": "string" }, - "markdownDescription": "The different events that you can receive notifications for. These events include the following: `All` (events), `InProgress` , `Success` , `TimedOut` , `Cancelled` , `Failed` . To learn more about these events, see [Configuring Amazon SNS Notifications for AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html) in the *AWS Systems Manager User Guide* .", - "title": "NotificationEvents", + "markdownDescription": "The types of events that Amazon SES sends to the specified event destinations.\n\n- `SEND` - The send request was successful and SES will attempt to deliver the message to the recipient\u2019s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.)\n- `REJECT` - SES accepted the email, but determined that it contained a virus and didn\u2019t attempt to deliver it to the recipient\u2019s mail server.\n- `BOUNCE` - ( *Hard bounce* ) The recipient's mail server permanently rejected the email. ( *Soft bounces* are only included when SES fails to deliver the email after retrying for a period of time.)\n- `COMPLAINT` - The email was successfully delivered to the recipient\u2019s mail server, but the recipient marked it as spam.\n- `DELIVERY` - SES successfully delivered the email to the recipient's mail server.\n- `OPEN` - The recipient received the message and opened it in their email client.\n- `CLICK` - The recipient clicked one or more links in the email.\n- `RENDERING_FAILURE` - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the [`SendEmail`](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html) or [`SendBulkEmail`](https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendBulkEmail.html) API operations.)\n- `DELIVERY_DELAY` - The email couldn't be delivered to the recipient\u2019s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.\n- `SUBSCRIPTION` - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an *unsubscribe* link as part of your [subscription management](https://docs.aws.amazon.com/ses/latest/dg/sending-email-subscription-management.html) .", + "title": "MatchingEventTypes", "type": "array" }, - "NotificationType": { - "markdownDescription": "The notification type.\n\n- `Command` : Receive notification when the status of a command changes.\n- `Invocation` : For commands sent to multiple instances, receive notification on a per-instance basis when the status of a command changes.", - "title": "NotificationType", + "Name": { + "markdownDescription": "The name of the event destination. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Contain 64 characters or fewer.", + "title": "Name", "type": "string" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.SnsDestination", + "markdownDescription": "An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.", + "title": "SnsDestination" } }, "required": [ - "NotificationArn" + "MatchingEventTypes" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.Target": { + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "User-defined criteria for sending commands that target instances that meet the criteria. `Key` can be `InstanceIds` or `WindowTargetIds` . For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* .", - "title": "Key", + "DeliveryStreamARN": { + "markdownDescription": "The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to.", + "title": "DeliveryStreamARN", "type": "string" }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specify `InstanceIds` , you can specify `i-1234567890abcdef0,i-9876543210abcdef0` to run a command on two EC2 instances. For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* .", - "title": "Values", - "type": "array" + "IAMRoleARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that the Amazon SES API v2 uses to send email events to the Amazon Kinesis Data Firehose stream.", + "title": "IAMRoleARN", + "type": "string" } }, "required": [ - "Key", - "Values" + "DeliveryStreamARN", + "IAMRoleARN" ], "type": "object" }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "AWS::SES::ConfigurationSetEventDestination.SnsDestination": { "additionalProperties": false, "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters", - "markdownDescription": "The parameters for an `AUTOMATION` task type.", - "title": "MaintenanceWindowAutomationParameters" - }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters", - "markdownDescription": "The parameters for a `LAMBDA` task type.", - "title": "MaintenanceWindowLambdaParameters" - }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters", - "markdownDescription": "The parameters for a `RUN_COMMAND` task type.", - "title": "MaintenanceWindowRunCommandParameters" - }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters", - "markdownDescription": "The parameters for a `STEP_FUNCTIONS` task type.", - "title": "MaintenanceWindowStepFunctionsParameters" + "TopicARN": { + "markdownDescription": "The ARN of the Amazon SNS topic for email sending events. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) Amazon SNS operation.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicARN", + "type": "string" } }, + "required": [ + "TopicARN" + ], "type": "object" }, - "AWS::SSM::ManagedInstance": { + "AWS::SES::ContactList": { "additionalProperties": false, "properties": { "Condition": { @@ -353621,10 +322363,30 @@ "Properties": { "additionalProperties": false, "properties": { + "ContactListName": { + "markdownDescription": "The name of the contact list.", + "title": "ContactListName", + "type": "string" + }, + "Description": { + "markdownDescription": "A description of what the contact list is about.", + "title": "Description", + "type": "string" + }, "Tags": { "items": { - "$ref": "#/definitions/AWS::SSM::ManagedInstance.TagsItems" + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags associated with a contact list.", + "title": "Tags", + "type": "array" + }, + "Topics": { + "items": { + "$ref": "#/definitions/AWS::SES::ContactList.Topic" }, + "markdownDescription": "An interest group, theme, or label within a list. A contact list can have multiple topics.", + "title": "Topics", "type": "array" } }, @@ -353632,7 +322394,7 @@ }, "Type": { "enum": [ - "AWS::SSM::ManagedInstance" + "AWS::SES::ContactList" ], "type": "string" }, @@ -353650,23 +322412,38 @@ ], "type": "object" }, - "AWS::SSM::ManagedInstance.TagsItems": { + "AWS::SES::ContactList.Topic": { "additionalProperties": false, "properties": { - "Key": { + "DefaultSubscriptionStatus": { + "markdownDescription": "The default subscription status to be applied to a contact if the contact has not noted their preference for subscribing to a topic.", + "title": "DefaultSubscriptionStatus", "type": "string" }, - "Value": { + "Description": { + "markdownDescription": "A description of what the topic is about, which the contact will see.", + "title": "Description", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The name of the topic the contact will see.", + "title": "DisplayName", + "type": "string" + }, + "TopicName": { + "markdownDescription": "The name of the topic.", + "title": "TopicName", "type": "string" } }, "required": [ - "Key", - "Value" + "DefaultSubscriptionStatus", + "DisplayName", + "TopicName" ], "type": "object" }, - "AWS::SSM::OpsItem": { + "AWS::SES::CustomVerificationEmailTemplate": { "additionalProperties": false, "properties": { "Condition": { @@ -353701,19 +322478,13 @@ "Properties": { "additionalProperties": false, "properties": { - "Category": { - "type": "string" - }, - "Description": { + "FailureRedirectionURL": { "type": "string" }, - "Priority": { - "type": "number" - }, - "Severity": { + "FromEmailAddress": { "type": "string" }, - "Source": { + "SuccessRedirectionURL": { "type": "string" }, "Tags": { @@ -353722,20 +322493,29 @@ }, "type": "array" }, - "Title": { + "TemplateContent": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TemplateSubject": { "type": "string" } }, "required": [ - "Description", - "Source", - "Title" + "FailureRedirectionURL", + "FromEmailAddress", + "SuccessRedirectionURL", + "TemplateContent", + "TemplateName", + "TemplateSubject" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::OpsItem" + "AWS::SES::CustomVerificationEmailTemplate" ], "type": "string" }, @@ -353754,7 +322534,7 @@ ], "type": "object" }, - "AWS::SSM::Parameter": { + "AWS::SES::DedicatedIpPool": { "additionalProperties": false, "properties": { "Condition": { @@ -353789,67 +322569,30 @@ "Properties": { "additionalProperties": false, "properties": { - "AllowedPattern": { - "markdownDescription": "A regular expression used to validate the parameter value. For example, for `String` types with values restricted to numbers, you can specify the following: `AllowedPattern=^\\d+$`", - "title": "AllowedPattern", - "type": "string" - }, - "DataType": { - "markdownDescription": "The data type of the parameter, such as `text` or `aws:ec2:image` . The default is `text` .", - "title": "DataType", - "type": "string" - }, - "Description": { - "markdownDescription": "Information about the parameter.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the parameter.\n\n> The reported maximum length of 2048 characters for a parameter name includes 1037 characters that are reserved for internal use by Systems Manager . The maximum length for a parameter name that you specify is 1011 characters.\n> \n> This count of 1011 characters includes the characters in the ARN that precede the name you specify. This ARN length will vary depending on your partition and Region. For example, the following 45 characters count toward the 1011 character maximum for a parameter created in the US East (Ohio) Region: `arn:aws:ssm:us-east-2:111122223333:parameter/` .", - "title": "Name", + "PoolName": { + "markdownDescription": "The name of the dedicated IP pool that the IP address is associated with.", + "title": "PoolName", "type": "string" }, - "Policies": { - "markdownDescription": "Information about the policies assigned to a parameter.\n\n[Assigning parameter policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) in the *AWS Systems Manager User Guide* .", - "title": "Policies", + "ScalingMode": { + "markdownDescription": "The type of scaling mode.\n\nThe following options are available:\n\n- `STANDARD` - The customer controls which IPs are part of the dedicated IP pool.\n- `MANAGED` - The reputation and number of IPs are automatically managed by Amazon SES .\n\nThe `STANDARD` option is selected by default if no value is specified.\n\n> Updating *ScalingMode* doesn't require a replacement if you're updating its value from `STANDARD` to `MANAGED` . However, updating *ScalingMode* from `MANAGED` to `STANDARD` is not supported.", + "title": "ScalingMode", "type": "string" }, "Tags": { - "additionalProperties": true, - "markdownDescription": "Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "items": { + "$ref": "#/definitions/Tag" }, + "markdownDescription": "An object that defines the tags (keys and values) that you want to associate with the pool.", "title": "Tags", - "type": "object" - }, - "Tier": { - "markdownDescription": "The parameter tier.", - "title": "Tier", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of parameter.\n\n> Parameters of type `SecureString` are not supported by AWS CloudFormation .", - "title": "Type", - "type": "string" - }, - "Value": { - "markdownDescription": "The parameter value.\n\n> If type is `StringList` , the system returns a comma-separated string with no spaces between commas in the `Value` field.", - "title": "Value", - "type": "string" + "type": "array" } }, - "required": [ - "Type", - "Value" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Parameter" + "AWS::SES::DedicatedIpPool" ], "type": "string" }, @@ -353863,12 +322606,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::PatchBaseline": { + "AWS::SES::EmailIdentity": { "additionalProperties": false, "properties": { "Condition": { @@ -353903,105 +322645,53 @@ "Properties": { "additionalProperties": false, "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup", - "markdownDescription": "A set of rules used to include patches in the baseline.", - "title": "ApprovalRules" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of explicitly approved patches for the baseline.\n\nFor information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* .", - "title": "ApprovedPatches", - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { - "markdownDescription": "Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is `UNSPECIFIED` .", - "title": "ApprovedPatchesComplianceLevel", - "type": "string" - }, - "ApprovedPatchesEnableNonSecurity": { - "markdownDescription": "Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is `false` . Applies to Linux managed nodes only.", - "title": "ApprovedPatchesEnableNonSecurity", - "type": "boolean" - }, - "AvailableSecurityUpdatesComplianceStatus": { - "markdownDescription": "Indicates the status you want to assign to security patches that are available but not approved because they don't meet the installation criteria specified in the patch baseline.\n\nExample scenario: Security patches that you might want installed can be skipped if you have specified a long period to wait after a patch is released before installation. If an update to the patch is released during your specified waiting period, the waiting period for installing the patch starts over. If the waiting period is too long, multiple versions of the patch could be released but never installed.\n\nSupported for Windows Server managed nodes only.", - "title": "AvailableSecurityUpdatesComplianceStatus", - "type": "string" - }, - "DefaultBaseline": { - "markdownDescription": "Indicates whether this is the default baseline. AWS Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.", - "title": "DefaultBaseline", - "type": "boolean" - }, - "Description": { - "markdownDescription": "A description of the patch baseline.", - "title": "Description", - "type": "string" + "ConfigurationSetAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.ConfigurationSetAttributes", + "markdownDescription": "Used to associate a configuration set with an email identity.", + "title": "ConfigurationSetAttributes" }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup", - "markdownDescription": "A set of global filters used to include patches in the baseline.\n\n> The `GlobalFilters` parameter can be configured only by using the AWS CLI or an AWS SDK. It can't be configured from the Patch Manager console, and its value isn't displayed in the console.", - "title": "GlobalFilters" + "DkimAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.DkimAttributes", + "markdownDescription": "An object that contains information about the DKIM attributes for the identity.", + "title": "DkimAttributes" }, - "Name": { - "markdownDescription": "The name of the patch baseline.", - "title": "Name", - "type": "string" + "DkimSigningAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.DkimSigningAttributes", + "markdownDescription": "If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for [Easy DKIM](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html) .\n\nYou can only specify this object if the email identity is a domain, as opposed to an address.", + "title": "DkimSigningAttributes" }, - "OperatingSystem": { - "markdownDescription": "Defines the operating system the patch baseline applies to. The default value is `WINDOWS` .", - "title": "OperatingSystem", + "EmailIdentity": { + "markdownDescription": "The email address or domain to verify.", + "title": "EmailIdentity", "type": "string" }, - "PatchGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "The name of the patch group to be registered with the patch baseline.", - "title": "PatchGroups", - "type": "array" - }, - "RejectedPatches": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of explicitly rejected patches for the baseline.\n\nFor information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* .", - "title": "RejectedPatches", - "type": "array" - }, - "RejectedPatchesAction": { - "markdownDescription": "The action for Patch Manager to take on patches included in the `RejectedPackages` list.\n\n- **ALLOW_AS_DEPENDENCY** - *Linux and macOS* : A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as `INSTALLED_OTHER` . This is the default action if no option is specified.\n\n*Windows Server* : Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as `INSTALLED_OTHER` . Any package not already installed on the node is skipped. This is the default action if no option is specified.\n- **BLOCK** - *All OSs* : Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances.\n\nState value assignment for patch compliance:\n\n- If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as `INSTALLED_REJECTED` .\n- If an update attempts to install a dependency package that is now rejected by the baseline, when previous versions of the package were not rejected, the package being updated is reported as `MISSING` for `SCAN` operations and as `FAILED` for `INSTALL` operations.", - "title": "RejectedPatchesAction", - "type": "string" + "FeedbackAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.FeedbackAttributes", + "markdownDescription": "Used to enable or disable feedback forwarding for an identity.", + "title": "FeedbackAttributes" }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "markdownDescription": "Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.", - "title": "Sources", - "type": "array" + "MailFromAttributes": { + "$ref": "#/definitions/AWS::SES::EmailIdentity.MailFromAttributes", + "markdownDescription": "Used to enable or disable the custom Mail-From domain configuration for an email identity.", + "title": "MailFromAttributes" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to.", + "markdownDescription": "An array of objects that define the tags (keys and values) to associate with the email identity.", "title": "Tags", "type": "array" } }, "required": [ - "Name" + "EmailIdentity" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::PatchBaseline" + "AWS::SES::EmailIdentity" ], "type": "string" }, @@ -354020,109 +322710,77 @@ ], "type": "object" }, - "AWS::SSM::PatchBaseline.PatchFilter": { + "AWS::SES::EmailIdentity.ConfigurationSetAttributes": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key for the filter.\n\nFor information about valid keys, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", - "title": "Key", + "ConfigurationSetName": { + "markdownDescription": "The configuration set to associate with an email identity.", + "title": "ConfigurationSetName", "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "markdownDescription": "The value for the filter key.\n\nFor information about valid values for each key based on operating system type, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", - "title": "Values", - "type": "array" } }, "type": "object" }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "AWS::SES::EmailIdentity.DkimAttributes": { "additionalProperties": false, "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "markdownDescription": "The set of patch filters that make up the group.", - "title": "PatchFilters", - "type": "array" + "SigningEnabled": { + "markdownDescription": "Sets the DKIM signing configuration for the identity.\n\nWhen you set this value `true` , then the messages that are sent from the identity are signed using DKIM. If you set this value to `false` , your messages are sent without DKIM signing.", + "title": "SigningEnabled", + "type": "boolean" } }, "type": "object" }, - "AWS::SSM::PatchBaseline.PatchSource": { + "AWS::SES::EmailIdentity.DkimSigningAttributes": { "additionalProperties": false, "properties": { - "Configuration": { - "markdownDescription": "The value of the repo configuration.\n\n*Example for yum repositories*\n\n`[main]`\n\n`name=MyCustomRepository`\n\n`baseurl=https://my-custom-repository`\n\n`enabled=1`\n\nFor information about other options available for your yum repository configuration, see [dnf.conf(5)](https://docs.aws.amazon.com/https://man7.org/linux/man-pages/man5/dnf.conf.5.html) on the *man7.org* website.\n\n*Examples for Ubuntu Server and Debian Server*\n\n`deb http://security.ubuntu.com/ubuntu jammy main`\n\n`deb https://site.example.com/debian distribution component1 component2 component3`\n\nRepo information for Ubuntu Server repositories must be specifed in a single line. For more examples and information, see [jammy (5) sources.list.5.gz](https://docs.aws.amazon.com/https://manpages.ubuntu.com/manpages/jammy/man5/sources.list.5.html) on the *Ubuntu Server Manuals* website and [sources.list format](https://docs.aws.amazon.com/https://wiki.debian.org/SourcesList#sources.list_format) on the *Debian Wiki* .", - "title": "Configuration", + "DomainSigningPrivateKey": { + "markdownDescription": "[Bring Your Own DKIM] A private key that's used to generate a DKIM signature.\n\nThe private key must use 1024 or 2048-bit RSA encryption, and must be encoded using base64 encoding.\n\n> Rather than embedding sensitive information directly in your CFN templates, we recommend you use dynamic parameters in the stack template to reference sensitive information that is stored and managed outside of CFN, such as in the AWS Systems Manager Parameter Store or AWS Secrets Manager.\n> \n> For more information, see the [Do not embed credentials in your templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html#creds) best practice.", + "title": "DomainSigningPrivateKey", "type": "string" }, - "Name": { - "markdownDescription": "The name specified to identify the patch source.", - "title": "Name", + "DomainSigningSelector": { + "markdownDescription": "[Bring Your Own DKIM] A string that's used to identify a public key in the DNS configuration for a domain.", + "title": "DomainSigningSelector", "type": "string" }, - "Products": { - "items": { - "type": "string" - }, - "markdownDescription": "The specific operating system versions a patch repository applies to, such as \"Ubuntu16.04\", \"RedhatEnterpriseLinux7.2\" or \"Suse12.7\". For lists of supported product values, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", - "title": "Products", - "type": "array" + "NextSigningKeyLength": { + "markdownDescription": "[Easy DKIM] The key length of the future DKIM key pair to be generated. This can be changed at most once per day.\n\nValid Values: `RSA_1024_BIT | RSA_2048_BIT`", + "title": "NextSigningKeyLength", + "type": "string" } }, "type": "object" }, - "AWS::SSM::PatchBaseline.Rule": { + "AWS::SES::EmailIdentity.FeedbackAttributes": { "additionalProperties": false, "properties": { - "ApproveAfterDays": { - "markdownDescription": "The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. For example, a value of `7` means that patches are approved seven days after they are released.\n\nPatch Manager evaluates patch release dates using Coordinated Universal Time (UTC). If the day represented by `7` is `2025-11-16` , patches released between `2025-11-16T00:00:00Z` and `2025-11-16T23:59:59Z` will be included in the approval.\n\nThis parameter is marked as `Required: No` , but your request must include a value for either `ApproveAfterDays` or `ApproveUntilDate` .\n\nNot supported for Debian Server or Ubuntu Server.\n\n> Use caution when setting this value for Windows Server patch baselines. Because patch updates that are replaced by later updates are removed, setting too broad a value for this parameter can result in crucial patches not being installed. For more information, see the *Windows Server* tab in the topic [How security patches are selected](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-selecting-patches.html) in the *AWS Systems Manager User Guide* .", - "title": "ApproveAfterDays", - "type": "number" - }, - "ApproveUntilDate": { - "markdownDescription": "The cutoff date for auto approval of released patches. Any patches released on or before this date are installed automatically.\n\nEnter dates in the format `YYYY-MM-DD` . For example, `2025-11-16` .\n\nPatch Manager evaluates patch release dates using Coordinated Universal Time (UTC). If you enter the date `2025-11-16` , patches released between `2025-11-16T00:00:00Z` and `2025-11-16T23:59:59Z` will be included in the approval.\n\nThis parameter is marked as `Required: No` , but your request must include a value for either `ApproveUntilDate` or `ApproveAfterDays` .\n\nNot supported for Debian Server or Ubuntu Server.\n\n> Use caution when setting this value for Windows Server patch baselines. Because patch updates that are replaced by later updates are removed, setting too broad a value for this parameter can result in crucial patches not being installed. For more information, see the *Windows Server* tab in the topic [How security patches are selected](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-selecting-patches.html) in the *AWS Systems Manager User Guide* .", - "title": "ApproveUntilDate", - "type": "string" - }, - "ComplianceLevel": { - "markdownDescription": "A compliance severity level for all approved patches in a patch baseline. Valid compliance severity levels include the following: `UNSPECIFIED` , `CRITICAL` , `HIGH` , `MEDIUM` , `LOW` , and `INFORMATIONAL` .", - "title": "ComplianceLevel", - "type": "string" - }, - "EnableNonSecurity": { - "markdownDescription": "For managed nodes identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is `false` . Applies to Linux managed nodes only.", - "title": "EnableNonSecurity", + "EmailForwardingEnabled": { + "markdownDescription": "Sets the feedback forwarding configuration for the identity.\n\nIf the value is `true` , you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the `Return-Path` header of the original email.\n\nYou're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).", + "title": "EmailForwardingEnabled", "type": "boolean" - }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup", - "markdownDescription": "The patch filter group that defines the criteria for the rule.", - "title": "PatchFilterGroup" } }, "type": "object" }, - "AWS::SSM::PatchBaseline.RuleGroup": { + "AWS::SES::EmailIdentity.MailFromAttributes": { "additionalProperties": false, "properties": { - "PatchRules": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" - }, - "markdownDescription": "The rules that make up the rule group.", - "title": "PatchRules", - "type": "array" + "BehaviorOnMxFailure": { + "markdownDescription": "The action to take if the required MX record isn't found when you send an email. When you set this value to `USE_DEFAULT_VALUE` , the mail is sent using *amazonses.com* as the MAIL FROM domain. When you set this value to `REJECT_MESSAGE` , the Amazon SES API v2 returns a `MailFromDomainNotVerified` error, and doesn't attempt to deliver the email.\n\nThese behaviors are taken when the custom MAIL FROM domain configuration is in the `Pending` , `Failed` , and `TemporaryFailure` states.\n\nValid Values: `USE_DEFAULT_VALUE | REJECT_MESSAGE`", + "title": "BehaviorOnMxFailure", + "type": "string" + }, + "MailFromDomain": { + "markdownDescription": "The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must meet the following criteria:\n\n- It has to be a subdomain of the verified identity.\n- It can't be used to receive email.\n- It can't be used in a \"From\" address if the MAIL FROM domain is a destination for feedback forwarding emails.", + "title": "MailFromDomain", + "type": "string" } }, "type": "object" }, - "AWS::SSM::ResourceDataSync": { + "AWS::SES::MailManagerAddonInstance": { "additionalProperties": false, "properties": { "Condition": { @@ -354157,60 +322815,28 @@ "Properties": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The name of the S3 bucket where the aggregated data is stored.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "An Amazon S3 prefix for the bucket.", - "title": "BucketPrefix", - "type": "string" - }, - "BucketRegion": { - "markdownDescription": "The AWS Region with the S3 bucket targeted by the resource data sync.", - "title": "BucketRegion", - "type": "string" - }, - "KMSKeyArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an encryption key for a destination in Amazon S3 . You can use a KMS key to encrypt inventory data in Amazon S3 . You must specify a key that exist in the same AWS Region as the destination Amazon S3 bucket.", - "title": "KMSKeyArn", - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination", - "markdownDescription": "Configuration information for the target S3 bucket.", - "title": "S3Destination" - }, - "SyncFormat": { - "markdownDescription": "A supported sync format. The following format is currently supported: JsonSerDe", - "title": "SyncFormat", - "type": "string" - }, - "SyncName": { - "markdownDescription": "A name for the resource data sync.", - "title": "SyncName", + "AddonSubscriptionId": { + "markdownDescription": "The subscription ID for the instance.", + "title": "AddonSubscriptionId", "type": "string" }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource", - "markdownDescription": "Information about the source where the data was synchronized.", - "title": "SyncSource" - }, - "SyncType": { - "markdownDescription": "The type of resource data sync. If `SyncType` is `SyncToDestination` , then the resource data sync synchronizes data to an S3 bucket. If the `SyncType` is `SyncFromSource` then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions .", - "title": "SyncType", - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" } }, "required": [ - "SyncName" + "AddonSubscriptionId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::ResourceDataSync" + "AWS::SES::MailManagerAddonInstance" ], "type": "string" }, @@ -354224,103 +322850,12 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { - "additionalProperties": false, - "properties": { - "OrganizationSourceType": { - "markdownDescription": "If an AWS organization is present, this is either `OrganizationalUnits` or `EntireOrganization` . For `OrganizationalUnits` , the data is aggregated from a set of organization units. For `EntireOrganization` , the data is aggregated from the entire AWS organization.", - "title": "OrganizationSourceType", - "type": "string" - }, - "OrganizationalUnits": { - "items": { - "type": "string" - }, - "markdownDescription": "The AWS Organizations organization units included in the sync.", - "title": "OrganizationalUnits", - "type": "array" - } - }, - "required": [ - "OrganizationSourceType" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.S3Destination": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The name of the S3 bucket where the aggregated data is stored.", - "title": "BucketName", - "type": "string" - }, - "BucketPrefix": { - "markdownDescription": "An Amazon S3 prefix for the bucket.", - "title": "BucketPrefix", - "type": "string" - }, - "BucketRegion": { - "markdownDescription": "The AWS Region with the S3 bucket targeted by the resource data sync.", - "title": "BucketRegion", - "type": "string" - }, - "KMSKeyArn": { - "markdownDescription": "The ARN of an encryption key for a destination in Amazon S3. Must belong to the same Region as the destination S3 bucket.", - "title": "KMSKeyArn", - "type": "string" - }, - "SyncFormat": { - "markdownDescription": "A supported sync format. The following format is currently supported: JsonSerDe", - "title": "SyncFormat", - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.SyncSource": { - "additionalProperties": false, - "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource", - "markdownDescription": "Information about the AwsOrganizationsSource resource data sync source. A sync source of this type can synchronize data from AWS Organizations .", - "title": "AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "markdownDescription": "Whether to automatically synchronize and aggregate data from new AWS Regions when those Regions come online.", - "title": "IncludeFutureRegions", - "type": "boolean" - }, - "SourceRegions": { - "items": { - "type": "string" - }, - "markdownDescription": "The `SyncSource` AWS Regions included in the resource data sync.", - "title": "SourceRegions", - "type": "array" - }, - "SourceType": { - "markdownDescription": "The type of data source for the resource data sync. `SourceType` is either `AwsOrganizations` (if an organization is present in AWS Organizations ) or `SingleAccountMultiRegions` .", - "title": "SourceType", - "type": "string" - } - }, - "required": [ - "SourceRegions", - "SourceType" + "Type", + "Properties" ], "type": "object" }, - "AWS::SSM::ResourcePolicy": { + "AWS::SES::MailManagerAddonSubscription": { "additionalProperties": false, "properties": { "Condition": { @@ -354355,26 +322890,28 @@ "Properties": { "additionalProperties": false, "properties": { - "Policy": { - "markdownDescription": "A policy you want to associate with a resource.", - "title": "Policy", - "type": "object" - }, - "ResourceArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the resource to which you want to attach a policy.", - "title": "ResourceArn", + "AddonName": { + "markdownDescription": "The name of the Add On to subscribe to. You can only have one subscription for each Add On name.\n\nValid Values: `TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE | VADE_ADVANCED_EMAIL_SECURITY`", + "title": "AddonName", "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" } }, "required": [ - "Policy", - "ResourceArn" + "AddonName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::ResourcePolicy" + "AWS::SES::MailManagerAddonSubscription" ], "type": "string" }, @@ -354393,7 +322930,7 @@ ], "type": "object" }, - "AWS::SSM::ServiceSetting": { + "AWS::SES::MailManagerAddressList": { "additionalProperties": false, "properties": { "Condition": { @@ -354428,22 +322965,25 @@ "Properties": { "additionalProperties": false, "properties": { - "SettingId": { + "AddressListName": { + "markdownDescription": "A user-friendly name for the address list.", + "title": "AddressListName", "type": "string" }, - "SettingValue": { - "type": "string" + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" } }, - "required": [ - "SettingId", - "SettingValue" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SSM::ServiceSetting" + "AWS::SES::MailManagerAddressList" ], "type": "string" }, @@ -354457,12 +322997,11 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SSM::Session": { + "AWS::SES::MailManagerArchive": { "additionalProperties": false, "properties": { "Condition": { @@ -354497,18 +323036,35 @@ "Properties": { "additionalProperties": false, "properties": { - "Reason": { + "ArchiveName": { + "markdownDescription": "A unique name for the new archive.", + "title": "ArchiveName", "type": "string" }, - "Target": { + "KmsKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the KMS key for encrypting emails in the archive.", + "title": "KmsKeyArn", "type": "string" + }, + "Retention": { + "$ref": "#/definitions/AWS::SES::MailManagerArchive.ArchiveRetention", + "markdownDescription": "The period for retaining emails in the archive before automatic deletion.", + "title": "Retention" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", + "type": "array" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SSM::Session" + "AWS::SES::MailManagerArchive" ], "type": "string" }, @@ -354526,7 +323082,21 @@ ], "type": "object" }, - "AWS::SSMContacts::Contact": { + "AWS::SES::MailManagerArchive.ArchiveRetention": { + "additionalProperties": false, + "properties": { + "RetentionPeriod": { + "markdownDescription": "The enum value sets the period for retaining emails in an archive.", + "title": "RetentionPeriod", + "type": "string" + } + }, + "required": [ + "RetentionPeriod" + ], + "type": "object" + }, + "AWS::SES::MailManagerIngressPoint": { "additionalProperties": false, "properties": { "Condition": { @@ -354561,48 +323131,63 @@ "Properties": { "additionalProperties": false, "properties": { - "Alias": { - "markdownDescription": "The unique and identifiable alias of the contact or escalation plan.", - "title": "Alias", + "IngressPointConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.IngressPointConfiguration", + "markdownDescription": "The configuration of the ingress endpoint resource.", + "title": "IngressPointConfiguration" + }, + "IngressPointName": { + "markdownDescription": "A user friendly name for an ingress endpoint resource.", + "title": "IngressPointName", "type": "string" }, - "DisplayName": { - "markdownDescription": "The full name of the contact or escalation plan.", - "title": "DisplayName", + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.NetworkConfiguration", + "markdownDescription": "The network type (IPv4-only, Dual-Stack, PrivateLink) of the ingress endpoint resource.", + "title": "NetworkConfiguration" + }, + "RuleSetId": { + "markdownDescription": "The identifier of an existing rule set that you attach to an ingress endpoint resource.", + "title": "RuleSetId", "type": "string" }, - "Plan": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" - }, - "markdownDescription": "A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts.", - "title": "Plan", - "type": "array" + "StatusToUpdate": { + "markdownDescription": "The update status of an ingress endpoint.", + "title": "StatusToUpdate", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" }, + "TlsPolicy": { + "type": "string" + }, + "TrafficPolicyId": { + "markdownDescription": "The identifier of an existing traffic policy that you attach to an ingress endpoint resource.", + "title": "TrafficPolicyId", + "type": "string" + }, "Type": { - "markdownDescription": "The type of contact.\n\n- `PERSONAL` : A single, individual contact.\n- `ESCALATION` : An escalation plan.\n- `ONCALL_SCHEDULE` : An on-call schedule.", + "markdownDescription": "The type of the ingress endpoint to create.", "title": "Type", "type": "string" } }, "required": [ - "Alias", - "DisplayName", + "RuleSetId", + "TrafficPolicyId", "Type" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSMContacts::Contact" + "AWS::SES::MailManagerIngressPoint" ], "type": "string" }, @@ -354621,180 +323206,100 @@ ], "type": "object" }, - "AWS::SSMContacts::Contact.ChannelTargetInfo": { + "AWS::SES::MailManagerIngressPoint.IngressPointConfiguration": { "additionalProperties": false, "properties": { - "ChannelId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact channel.", - "title": "ChannelId", + "SecretArn": { + "markdownDescription": "The SecretsManager::Secret ARN of the ingress endpoint resource.", + "title": "SecretArn", "type": "string" }, - "RetryIntervalInMinutes": { - "markdownDescription": "The number of minutes to wait before retrying to send engagement if the engagement initially failed.", - "title": "RetryIntervalInMinutes", - "type": "number" + "SmtpPassword": { + "markdownDescription": "The password of the ingress endpoint resource.", + "title": "SmtpPassword", + "type": "string" + }, + "TlsAuthConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.TlsAuthConfiguration" } }, - "required": [ - "ChannelId", - "RetryIntervalInMinutes" - ], "type": "object" }, - "AWS::SSMContacts::Contact.ContactTargetInfo": { + "AWS::SES::MailManagerIngressPoint.NetworkConfiguration": { "additionalProperties": false, "properties": { - "ContactId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", - "title": "ContactId", - "type": "string" + "PrivateNetworkConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.PrivateNetworkConfiguration", + "markdownDescription": "Specifies the network configuration for the private ingress point.", + "title": "PrivateNetworkConfiguration" }, - "IsEssential": { - "markdownDescription": "A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.", - "title": "IsEssential", - "type": "boolean" + "PublicNetworkConfiguration": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.PublicNetworkConfiguration", + "markdownDescription": "Specifies the network configuration for the public ingress point.", + "title": "PublicNetworkConfiguration" + } + }, + "type": "object" + }, + "AWS::SES::MailManagerIngressPoint.PrivateNetworkConfiguration": { + "additionalProperties": false, + "properties": { + "VpcEndpointId": { + "markdownDescription": "The identifier of the VPC endpoint to associate with this private ingress point.", + "title": "VpcEndpointId", + "type": "string" } }, "required": [ - "ContactId", - "IsEssential" + "VpcEndpointId" ], "type": "object" }, - "AWS::SSMContacts::Contact.Stage": { + "AWS::SES::MailManagerIngressPoint.PublicNetworkConfiguration": { "additionalProperties": false, "properties": { - "DurationInMinutes": { - "markdownDescription": "The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.", - "title": "DurationInMinutes", - "type": "number" - }, - "RotationIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.", - "title": "RotationIds", - "type": "array" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" - }, - "markdownDescription": "The contacts or contact methods that the escalation plan or engagement plan is engaging.", - "title": "Targets", - "type": "array" + "IpType": { + "markdownDescription": "The IP address type for the public ingress point. Valid values are IPV4 and DUAL_STACK.", + "title": "IpType", + "type": "object" } }, + "required": [ + "IpType" + ], "type": "object" }, - "AWS::SSMContacts::Contact.Targets": { + "AWS::SES::MailManagerIngressPoint.TlsAuthConfiguration": { "additionalProperties": false, "properties": { - "ChannelTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo", - "markdownDescription": "Information about the contact channel that Incident Manager engages.", - "title": "ChannelTargetInfo" - }, - "ContactTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo", - "markdownDescription": "The contact that Incident Manager is engaging during an incident.", - "title": "ContactTargetInfo" + "TrustStore": { + "$ref": "#/definitions/AWS::SES::MailManagerIngressPoint.TrustStore" } }, + "required": [ + "TrustStore" + ], "type": "object" }, - "AWS::SSMContacts::ContactChannel": { + "AWS::SES::MailManagerIngressPoint.TrustStore": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "CAContent": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelAddress": { - "markdownDescription": "The details that Incident Manager uses when trying to engage the contact channel.", - "title": "ChannelAddress", - "type": "string" - }, - "ChannelName": { - "markdownDescription": "The name of the contact channel.", - "title": "ChannelName", - "type": "string" - }, - "ChannelType": { - "markdownDescription": "The type of the contact channel. Incident Manager supports three contact methods:\n\n- SMS\n- VOICE\n- EMAIL", - "title": "ChannelType", - "type": "string" - }, - "ContactId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact you are adding the contact channel to.", - "title": "ContactId", - "type": "string" - }, - "DeferActivation": { - "markdownDescription": "If you want to activate the channel at a later time, you can choose to defer activation. Incident Manager can't engage your contact channel until it has been activated.", - "title": "DeferActivation", - "type": "boolean" - } - }, - "required": [ - "ChannelAddress", - "ChannelName", - "ChannelType", - "ContactId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::ContactChannel" - ], + "CrlContent": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "KmsKeyArn": { "type": "string" } }, "required": [ - "Type", - "Properties" + "CAContent" ], "type": "object" }, - "AWS::SSMContacts::Plan": { + "AWS::SES::MailManagerRelay": { "additionalProperties": false, "properties": { "Condition": { @@ -354829,36 +323334,45 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", - "title": "ContactId", + "Authentication": { + "$ref": "#/definitions/AWS::SES::MailManagerRelay.RelayAuthentication", + "markdownDescription": "Authentication for the relay destination server\u2014specify the secretARN where the SMTP credentials are stored.", + "title": "Authentication" + }, + "RelayName": { + "markdownDescription": "The unique relay name.", + "title": "RelayName", "type": "string" }, - "RotationIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.", - "title": "RotationIds", - "type": "array" + "ServerName": { + "markdownDescription": "The destination relay server address.", + "title": "ServerName", + "type": "string" }, - "Stages": { + "ServerPort": { + "markdownDescription": "The destination relay server port.", + "title": "ServerPort", + "type": "number" + }, + "Tags": { "items": { - "$ref": "#/definitions/AWS::SSMContacts::Plan.Stage" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods.", - "title": "Stages", + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", + "title": "Tags", "type": "array" } }, "required": [ - "ContactId" + "Authentication", + "ServerName", + "ServerPort" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSMContacts::Plan" + "AWS::SES::MailManagerRelay" ], "type": "string" }, @@ -354877,85 +323391,23 @@ ], "type": "object" }, - "AWS::SSMContacts::Plan.ChannelTargetInfo": { + "AWS::SES::MailManagerRelay.RelayAuthentication": { "additionalProperties": false, "properties": { - "ChannelId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact channel.", - "title": "ChannelId", - "type": "string" + "NoAuthentication": { + "markdownDescription": "Keep an empty structure if the relay destination server does not require SMTP credential authentication.", + "title": "NoAuthentication", + "type": "object" }, - "RetryIntervalInMinutes": { - "markdownDescription": "The number of minutes to wait before retrying to send engagement if the engagement initially failed.", - "title": "RetryIntervalInMinutes", - "type": "number" - } - }, - "required": [ - "ChannelId", - "RetryIntervalInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Plan.ContactTargetInfo": { - "additionalProperties": false, - "properties": { - "ContactId": { - "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", - "title": "ContactId", + "SecretArn": { + "markdownDescription": "The ARN of the secret created in secrets manager where the relay server's SMTP credentials are stored.", + "title": "SecretArn", "type": "string" - }, - "IsEssential": { - "markdownDescription": "A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.", - "title": "IsEssential", - "type": "boolean" - } - }, - "required": [ - "ContactId", - "IsEssential" - ], - "type": "object" - }, - "AWS::SSMContacts::Plan.Stage": { - "additionalProperties": false, - "properties": { - "DurationInMinutes": { - "markdownDescription": "The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.", - "title": "DurationInMinutes", - "type": "number" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Plan.Targets" - }, - "markdownDescription": "The contacts or contact methods that the escalation plan or engagement plan is engaging.", - "title": "Targets", - "type": "array" - } - }, - "required": [ - "DurationInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Plan.Targets": { - "additionalProperties": false, - "properties": { - "ChannelTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Plan.ChannelTargetInfo", - "markdownDescription": "Information about the contact channel that Incident Manager engages.", - "title": "ChannelTargetInfo" - }, - "ContactTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Plan.ContactTargetInfo", - "markdownDescription": "Information about the contact that Incident Manager engages.", - "title": "ContactTargetInfo" } }, "type": "object" }, - "AWS::SSMContacts::Rotation": { + "AWS::SES::MailManagerRuleSet": { "additionalProperties": false, "properties": { "Condition": { @@ -354990,55 +323442,36 @@ "Properties": { "additionalProperties": false, "properties": { - "ContactIds": { + "RuleSetName": { + "markdownDescription": "A user-friendly name for the rule set.", + "title": "RuleSetName", + "type": "string" + }, + "Rules": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Rule" }, - "markdownDescription": "The Amazon Resource Names (ARNs) of the contacts to add to the rotation.\n\n> Only the `PERSONAL` contact type is supported. The contact types `ESCALATION` and `ONCALL_SCHEDULE` are not supported for this operation. \n\nThe order in which you list the contacts is their shift order in the rotation schedule.", - "title": "ContactIds", + "markdownDescription": "Conditional rules that are evaluated for determining actions on email.", + "title": "Rules", "type": "array" }, - "Name": { - "markdownDescription": "The name for the rotation.", - "title": "Name", - "type": "string" - }, - "Recurrence": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.RecurrenceSettings", - "markdownDescription": "Information about the rule that specifies when shift team members rotate.", - "title": "Recurrence" - }, - "StartTime": { - "markdownDescription": "The date and time the rotation goes into effect.", - "title": "StartTime", - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Optional metadata to assign to the rotation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For more information, see [Tagging Incident Manager resources](https://docs.aws.amazon.com/incident-manager/latest/userguide/tagging.html) in the *Incident Manager User Guide* .", + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" - }, - "TimeZoneId": { - "markdownDescription": "The time zone to base the rotation\u2019s activity on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the [Time Zone Database](https://docs.aws.amazon.com/https://www.iana.org/time-zones) on the IANA website.\n\n> Designators for time zones that don\u2019t support Daylight Savings Time rules, such as Pacific Standard Time (PST), are not supported.", - "title": "TimeZoneId", - "type": "string" } }, "required": [ - "ContactIds", - "Name", - "Recurrence", - "StartTime", - "TimeZoneId" + "Rules" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSMContacts::Rotation" + "AWS::SES::MailManagerRuleSet" ], "type": "string" }, @@ -355057,994 +323490,713 @@ ], "type": "object" }, - "AWS::SSMContacts::Rotation.CoverageTime": { + "AWS::SES::MailManagerRuleSet.AddHeaderAction": { "additionalProperties": false, "properties": { - "EndTime": { - "markdownDescription": "Information about when an on-call rotation shift ends.", - "title": "EndTime", + "HeaderName": { + "markdownDescription": "The name of the header to add to an email. The header must be prefixed with \"X-\". Headers are added regardless of whether the header name pre-existed in the email.", + "title": "HeaderName", "type": "string" }, - "StartTime": { - "markdownDescription": "Information about when an on-call rotation shift begins.", - "title": "StartTime", + "HeaderValue": { + "markdownDescription": "The value of the header to add to the email.", + "title": "HeaderValue", "type": "string" } }, "required": [ - "EndTime", - "StartTime" + "HeaderName", + "HeaderValue" ], "type": "object" }, - "AWS::SSMContacts::Rotation.MonthlySetting": { + "AWS::SES::MailManagerRuleSet.Analysis": { "additionalProperties": false, "properties": { - "DayOfMonth": { - "markdownDescription": "The day of the month when monthly recurring on-call rotations begin.", - "title": "DayOfMonth", - "type": "number" - }, - "HandOffTime": { - "markdownDescription": "The time of day when a monthly recurring on-call shift rotation begins.", - "title": "HandOffTime", + "Analyzer": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Add On.", + "title": "Analyzer", "type": "string" - } - }, - "required": [ - "DayOfMonth", - "HandOffTime" - ], - "type": "object" - }, - "AWS::SSMContacts::Rotation.RecurrenceSettings": { - "additionalProperties": false, - "properties": { - "DailySettings": { - "items": { - "type": "string" - }, - "markdownDescription": "Information about on-call rotations that recur daily.", - "title": "DailySettings", - "type": "array" - }, - "MonthlySettings": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.MonthlySetting" - }, - "markdownDescription": "Information about on-call rotations that recur monthly.", - "title": "MonthlySettings", - "type": "array" - }, - "NumberOfOnCalls": { - "markdownDescription": "The number of contacts, or shift team members designated to be on call concurrently during a shift. For example, in an on-call schedule that contains ten contacts, a value of `2` designates that two of them are on call at any given time.", - "title": "NumberOfOnCalls", - "type": "number" - }, - "RecurrenceMultiplier": { - "markdownDescription": "The number of days, weeks, or months a single rotation lasts.", - "title": "RecurrenceMultiplier", - "type": "number" - }, - "ShiftCoverages": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.ShiftCoverage" - }, - "markdownDescription": "Information about the days of the week included in on-call rotation coverage.", - "title": "ShiftCoverages", - "type": "array" - }, - "WeeklySettings": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.WeeklySetting" - }, - "markdownDescription": "Information about on-call rotations that recur weekly.", - "title": "WeeklySettings", - "type": "array" - } - }, - "required": [ - "NumberOfOnCalls", - "RecurrenceMultiplier" - ], - "type": "object" - }, - "AWS::SSMContacts::Rotation.ShiftCoverage": { - "additionalProperties": false, - "properties": { - "CoverageTimes": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Rotation.CoverageTime" - }, - "markdownDescription": "The start and end times of the shift.", - "title": "CoverageTimes", - "type": "array" }, - "DayOfWeek": { - "markdownDescription": "A list of days on which the schedule is active.", - "title": "DayOfWeek", + "ResultField": { + "markdownDescription": "The returned value from an Add On.", + "title": "ResultField", "type": "string" } }, "required": [ - "CoverageTimes", - "DayOfWeek" + "Analyzer", + "ResultField" ], "type": "object" }, - "AWS::SSMContacts::Rotation.WeeklySetting": { + "AWS::SES::MailManagerRuleSet.ArchiveAction": { "additionalProperties": false, "properties": { - "DayOfWeek": { - "markdownDescription": "The day of the week when weekly recurring on-call shift rotations begins.", - "title": "DayOfWeek", + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified archive has been deleted.", + "title": "ActionFailurePolicy", "type": "string" }, - "HandOffTime": { - "markdownDescription": "The time of day when a weekly recurring on-call shift rotation begins.", - "title": "HandOffTime", + "TargetArchive": { + "markdownDescription": "The identifier of the archive to send the email to.", + "title": "TargetArchive", "type": "string" } }, "required": [ - "DayOfWeek", - "HandOffTime" + "TargetArchive" ], "type": "object" }, - "AWS::SSMGuiConnect::Preferences": { + "AWS::SES::MailManagerRuleSet.BounceAction": { "additionalProperties": false, "properties": { - "Condition": { + "ActionFailurePolicy": { "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "DiagnosticMessage": { "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Message": { + "type": "string" }, - "Metadata": { - "type": "object" + "RoleArn": { + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionRecordingPreferences": { - "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.ConnectionRecordingPreferences", - "markdownDescription": "The set of preferences used for recording RDP connections in the requesting AWS account and AWS Region . This includes details such as which S3 bucket recordings are stored in.", - "title": "ConnectionRecordingPreferences" - } - }, - "type": "object" + "Sender": { + "type": "string" }, - "Type": { - "enum": [ - "AWS::SSMGuiConnect::Preferences" - ], + "SmtpReplyCode": { "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "StatusCode": { "type": "string" } }, "required": [ - "Type" + "DiagnosticMessage", + "RoleArn", + "Sender", + "SmtpReplyCode", + "StatusCode" ], "type": "object" }, - "AWS::SSMGuiConnect::Preferences.ConnectionRecordingPreferences": { + "AWS::SES::MailManagerRuleSet.DeliverToMailboxAction": { "additionalProperties": false, "properties": { - "KMSKeyArn": { - "markdownDescription": "The ARN of a AWS key that is used to encrypt data while it is being processed by the service. This key must exist in the same AWS Region as the node you start an RDP connection to.", - "title": "KMSKeyArn", + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the mailbox ARN is no longer valid.", + "title": "ActionFailurePolicy", "type": "string" }, - "RecordingDestinations": { - "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.RecordingDestinations", - "markdownDescription": "Determines where recordings of RDP connections are stored.", - "title": "RecordingDestinations" + "MailboxArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of a WorkMail organization to deliver the email to.", + "title": "MailboxArn", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role to use to execute this action. The role must have access to the workmail:DeliverToMailbox API.", + "title": "RoleArn", + "type": "string" } }, "required": [ - "KMSKeyArn", - "RecordingDestinations" + "MailboxArn", + "RoleArn" ], "type": "object" }, - "AWS::SSMGuiConnect::Preferences.RecordingDestinations": { + "AWS::SES::MailManagerRuleSet.DeliverToQBusinessAction": { "additionalProperties": false, "properties": { - "S3Buckets": { - "items": { - "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.S3Bucket" - }, - "markdownDescription": "The S3 bucket where RDP connection recordings are stored.", - "title": "S3Buckets", - "type": "array" + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified application has been deleted or the role lacks necessary permissions to call the `qbusiness:BatchPutDocument` API.", + "title": "ActionFailurePolicy", + "type": "string" + }, + "ApplicationId": { + "markdownDescription": "The unique identifier of the Amazon Q Business application instance where the email content will be delivered.", + "title": "ApplicationId", + "type": "string" + }, + "IndexId": { + "markdownDescription": "The identifier of the knowledge base index within the Amazon Q Business application where the email content will be stored and indexed.", + "title": "IndexId", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while delivering to Amazon Q Business. This role must have access to the `qbusiness:BatchPutDocument` API for the given application and index.", + "title": "RoleArn", + "type": "string" } }, "required": [ - "S3Buckets" + "ApplicationId", + "IndexId", + "RoleArn" ], "type": "object" }, - "AWS::SSMGuiConnect::Preferences.S3Bucket": { + "AWS::SES::MailManagerRuleSet.InvokeLambdaAction": { "additionalProperties": false, "properties": { - "BucketName": { - "markdownDescription": "The name of the S3 bucket where RDP connection recordings are stored.", - "title": "BucketName", + "ActionFailurePolicy": { "type": "string" }, - "BucketOwner": { - "markdownDescription": "The AWS account number that owns the S3 bucket.", - "title": "BucketOwner", + "FunctionArn": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "RetryTimeMinutes": { + "type": "number" + }, + "RoleArn": { "type": "string" } }, "required": [ - "BucketName", - "BucketOwner" + "FunctionArn", + "InvocationType", + "RoleArn" ], "type": "object" }, - "AWS::SSMIncidents::ReplicationSet": { + "AWS::SES::MailManagerRuleSet.RelayAction": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified relay has been deleted.", + "title": "ActionFailurePolicy", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtected": { - "markdownDescription": "Determines if the replication set deletion protection is enabled or not. If deletion protection is enabled, you can't delete the last Region in the replication set.", - "title": "DeletionProtected", - "type": "boolean" - }, - "Regions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" - }, - "markdownDescription": "Specifies the Regions of the replication set.", - "title": "Regions", - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags to add to the replication set.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "Regions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ReplicationSet" - ], + "MailFrom": { + "markdownDescription": "This action specifies whether to preserve or replace original mail from address while relaying received emails to a destination server.", + "title": "MailFrom", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Relay": { + "markdownDescription": "The identifier of the relay resource to be used when relaying an email.", + "title": "Relay", "type": "string" } }, "required": [ - "Type", - "Properties" + "Relay" ], "type": "object" }, - "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { + "AWS::SES::MailManagerRuleSet.ReplaceRecipientAction": { "additionalProperties": false, "properties": { - "SseKmsKeyId": { - "markdownDescription": "The AWS Key Management Service key ID to use to encrypt your replication set.", - "title": "SseKmsKeyId", - "type": "string" + "ReplaceWith": { + "items": { + "type": "string" + }, + "markdownDescription": "This action specifies the replacement recipient email addresses to insert.", + "title": "ReplaceWith", + "type": "array" } }, - "required": [ - "SseKmsKeyId" - ], "type": "object" }, - "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { + "AWS::SES::MailManagerRuleSet.Rule": { "additionalProperties": false, "properties": { - "RegionConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration", - "markdownDescription": "Specifies the Region configuration.", - "title": "RegionConfiguration" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleAction" + }, + "markdownDescription": "The list of actions to execute when the conditions match the incoming email, and none of the \"unless conditions\" match.", + "title": "Actions", + "type": "array" }, - "RegionName": { - "markdownDescription": "Specifies the region name to add to the replication set.", - "title": "RegionName", + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleCondition" + }, + "markdownDescription": "The conditions of this rule. All conditions must match the email for the actions to be executed. An empty list of conditions means that all emails match, but are still subject to any \"unless conditions\"", + "title": "Conditions", + "type": "array" + }, + "Name": { + "markdownDescription": "The user-friendly name of the rule.", + "title": "Name", "type": "string" + }, + "Unless": { + "items": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleCondition" + }, + "markdownDescription": "The \"unless conditions\" of this rule. None of the conditions can match the email for the actions to be executed. If any of these conditions do match the email, then the actions are not executed.", + "title": "Unless", + "type": "array" } }, + "required": [ + "Actions" + ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan": { + "AWS::SES::MailManagerRuleSet.RuleAction": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "AddHeader": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.AddHeaderAction", + "markdownDescription": "This action adds a header. This can be used to add arbitrary email headers.", + "title": "AddHeader" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "Archive": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.ArchiveAction", + "markdownDescription": "This action archives the email. This can be used to deliver an email to an archive.", + "title": "Archive" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Bounce": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.BounceAction" }, - "Metadata": { - "type": "object" + "DeliverToMailbox": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.DeliverToMailboxAction", + "markdownDescription": "This action delivers an email to a WorkMail mailbox.", + "title": "DeliverToMailbox" }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" - }, - "markdownDescription": "The actions that the response plan starts at the beginning of an incident.", - "title": "Actions", - "type": "array" - }, - "ChatChannel": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel", - "markdownDescription": "The chat channel used for collaboration during an incident.", - "title": "ChatChannel" - }, - "DisplayName": { - "markdownDescription": "The human readable name of the response plan.", - "title": "DisplayName", - "type": "string" - }, - "Engagements": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) for the contacts and escalation plans that the response plan engages during an incident.", - "title": "Engagements", - "type": "array" - }, - "IncidentTemplate": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate", - "markdownDescription": "Details used to create an incident when using this response plan.", - "title": "IncidentTemplate" - }, - "Integrations": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Integration" - }, - "markdownDescription": "Information about third-party services integrated into the response plan.", - "title": "Integrations", - "type": "array" - }, - "Name": { - "markdownDescription": "The name of the response plan.", - "title": "Name", - "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": [ - "IncidentTemplate", - "Name" - ], + "DeliverToQBusiness": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.DeliverToQBusinessAction", + "markdownDescription": "This action delivers an email to an Amazon Q Business application for ingestion into its knowledge base.", + "title": "DeliverToQBusiness" + }, + "Drop": { + "markdownDescription": "This action terminates the evaluation of rules in the rule set.", + "title": "Drop", "type": "object" }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ResponsePlan" - ], - "type": "string" + "InvokeLambda": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.InvokeLambdaAction" + }, + "PublishToSns": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.SnsAction", + "markdownDescription": "This action publishes the email content to an Amazon SNS topic.", + "title": "PublishToSns" + }, + "Relay": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RelayAction", + "markdownDescription": "This action relays the email to another SMTP server.", + "title": "Relay" + }, + "ReplaceRecipient": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.ReplaceRecipientAction", + "markdownDescription": "The action replaces certain or all recipients with a different set of recipients.", + "title": "ReplaceRecipient" + }, + "Send": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.SendAction", + "markdownDescription": "This action sends the email to the internet.", + "title": "Send" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "WriteToS3": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.S3Action", + "markdownDescription": "This action writes the MIME content of the email to an S3 bucket.", + "title": "WriteToS3" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.Action": { + "AWS::SES::MailManagerRuleSet.RuleBooleanExpression": { "additionalProperties": false, "properties": { - "SsmAutomation": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation", - "markdownDescription": "Details about the Systems Manager automation document that will be used as a runbook during an incident.", - "title": "SsmAutomation" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleBooleanToEvaluate", + "markdownDescription": "The operand on which to perform a boolean condition operation.", + "title": "Evaluate" + }, + "Operator": { + "markdownDescription": "The matching operator for a boolean condition expression.", + "title": "Operator", + "type": "string" } }, + "required": [ + "Evaluate", + "Operator" + ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.ChatChannel": { + "AWS::SES::MailManagerRuleSet.RuleBooleanToEvaluate": { "additionalProperties": false, "properties": { - "ChatbotSns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon targets that uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel by using the Amazon topics", - "title": "ChatbotSns", - "type": "array" + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", + "markdownDescription": "The Add On ARN and its returned value to evaluate in a boolean condition expression.", + "title": "Analysis" + }, + "Attribute": { + "markdownDescription": "The boolean type representing the allowed attribute types for an email.", + "title": "Attribute", + "type": "string" + }, + "IsInAddressList": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIsInAddressList", + "markdownDescription": "The structure representing the address lists and address list attribute that will be used in evaluation of boolean expression.", + "title": "IsInAddressList" } }, "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.DynamicSsmParameter": { + "AWS::SES::MailManagerRuleSet.RuleCondition": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key parameter to use when running the Systems Manager Automation runbook.", - "title": "Key", - "type": "string" + "BooleanExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleBooleanExpression", + "markdownDescription": "The condition applies to a boolean expression passed in this field.", + "title": "BooleanExpression" }, - "Value": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.DynamicSsmParameterValue", - "markdownDescription": "The dynamic parameter value.", - "title": "Value" + "DmarcExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleDmarcExpression", + "markdownDescription": "The condition applies to a DMARC policy expression passed in this field.", + "title": "DmarcExpression" + }, + "IpExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIpExpression", + "markdownDescription": "The condition applies to an IP address expression passed in this field.", + "title": "IpExpression" + }, + "NumberExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleNumberExpression", + "markdownDescription": "The condition applies to a number expression passed in this field.", + "title": "NumberExpression" + }, + "StringExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleStringExpression", + "markdownDescription": "The condition applies to a string expression passed in this field.", + "title": "StringExpression" + }, + "VerdictExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleVerdictExpression", + "markdownDescription": "The condition applies to a verdict expression passed in this field.", + "title": "VerdictExpression" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.DynamicSsmParameterValue": { + "AWS::SES::MailManagerRuleSet.RuleDmarcExpression": { "additionalProperties": false, "properties": { - "Variable": { - "markdownDescription": "Variable dynamic parameters. A parameter value is determined when an incident is created.", - "title": "Variable", + "Operator": { + "markdownDescription": "The operator to apply to the DMARC policy of the incoming email.", + "title": "Operator", "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The values to use for the given DMARC policy operator. For the operator EQUALS, if multiple values are given, they are evaluated as an OR. That is, if any of the given values match, the condition is deemed to match. For the operator NOT_EQUALS, if multiple values are given, they are evaluated as an AND. That is, only if the email's DMARC policy is not equal to any of the given values, then the condition is deemed to match.", + "title": "Values", + "type": "array" } }, + "required": [ + "Operator", + "Values" + ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { + "AWS::SES::MailManagerRuleSet.RuleIpExpression": { "additionalProperties": false, "properties": { - "DedupeString": { - "markdownDescription": "Used to create only one incident record for an incident.", - "title": "DedupeString", - "type": "string" - }, - "Impact": { - "markdownDescription": "Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan.\n\n**Possible impacts:** - `1` - Critical impact, this typically relates to full application failure that impacts many to all customers.\n- `2` - High impact, partial application failure with impact to many customers.\n- `3` - Medium impact, the application is providing reduced service to customers.\n- `4` - Low impact, customer might aren't impacted by the problem yet.\n- `5` - No impact, customers aren't currently impacted but urgent action is needed to avoid impact.", - "title": "Impact", - "type": "number" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleIpToEvaluate", + "markdownDescription": "The IP address to evaluate in this condition.", + "title": "Evaluate" }, - "IncidentTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "Tags to assign to the template. When the `StartIncident` API action is called, Incident Manager assigns the tags specified in the template to the incident.", - "title": "IncidentTags", - "type": "array" + "Operator": { + "markdownDescription": "The operator to evaluate the IP address.", + "title": "Operator", + "type": "string" }, - "NotificationTargets": { + "Values": { "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" + "type": "string" }, - "markdownDescription": "The Amazon Simple Notification Service ( Amazon ) targets that uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel using the Amazon topics.", - "title": "NotificationTargets", + "markdownDescription": "The IP CIDR blocks in format \"x.y.z.w/n\" (eg 10.0.0.0/8) to match with the email's IP address. For the operator CIDR_MATCHES, if multiple values are given, they are evaluated as an OR. That is, if the IP address is contained within any of the given CIDR ranges, the condition is deemed to match. For NOT_CIDR_MATCHES, if multiple CIDR ranges are given, the condition is deemed to match if the IP address is not contained in any of the given CIDR ranges.", + "title": "Values", "type": "array" - }, - "Summary": { - "markdownDescription": "The summary describes what has happened during the incident.", - "title": "Summary", - "type": "string" - }, - "Title": { - "markdownDescription": "The title of the incident is a brief and easily recognizable.", - "title": "Title", - "type": "string" } }, "required": [ - "Impact", - "Title" + "Evaluate", + "Operator", + "Values" ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.Integration": { + "AWS::SES::MailManagerRuleSet.RuleIpToEvaluate": { "additionalProperties": false, "properties": { - "PagerDutyConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.PagerDutyConfiguration", - "markdownDescription": "Information about the PagerDuty service where the response plan creates an incident.", - "title": "PagerDutyConfiguration" + "Attribute": { + "markdownDescription": "The attribute of the email to evaluate.", + "title": "Attribute", + "type": "string" } }, "required": [ - "PagerDutyConfiguration" + "Attribute" ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { + "AWS::SES::MailManagerRuleSet.RuleIsInAddressList": { "additionalProperties": false, "properties": { - "SnsTopicArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon topic.", - "title": "SnsTopicArn", + "AddressLists": { + "items": { + "type": "string" + }, + "markdownDescription": "The address lists that will be used for evaluation.", + "title": "AddressLists", + "type": "array" + }, + "Attribute": { + "markdownDescription": "The email attribute that needs to be evaluated against the address list.", + "title": "Attribute", "type": "string" } }, + "required": [ + "AddressLists", + "Attribute" + ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.PagerDutyConfiguration": { + "AWS::SES::MailManagerRuleSet.RuleNumberExpression": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the PagerDuty configuration.", - "title": "Name", - "type": "string" - }, - "PagerDutyIncidentConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.PagerDutyIncidentConfiguration", - "markdownDescription": "Details about the PagerDuty service associated with the configuration.", - "title": "PagerDutyIncidentConfiguration" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleNumberToEvaluate", + "markdownDescription": "The number to evaluate in a numeric condition expression.", + "title": "Evaluate" }, - "SecretId": { - "markdownDescription": "The ID of the AWS Secrets Manager secret that stores your PagerDuty key, either a General Access REST API Key or User Token REST API Key, and other user credentials.", - "title": "SecretId", + "Operator": { + "markdownDescription": "The operator for a numeric condition expression.", + "title": "Operator", "type": "string" + }, + "Value": { + "markdownDescription": "The value to evaluate in a numeric condition expression.", + "title": "Value", + "type": "number" } }, "required": [ - "Name", - "PagerDutyIncidentConfiguration", - "SecretId" + "Evaluate", + "Operator", + "Value" ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.PagerDutyIncidentConfiguration": { + "AWS::SES::MailManagerRuleSet.RuleNumberToEvaluate": { "additionalProperties": false, "properties": { - "ServiceId": { - "markdownDescription": "The ID of the PagerDuty service that the response plan associates with an incident when it launches.", - "title": "ServiceId", + "Attribute": { + "markdownDescription": "An email attribute that is used as the number to evaluate.", + "title": "Attribute", "type": "string" } }, "required": [ - "ServiceId" + "Attribute" ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { + "AWS::SES::MailManagerRuleSet.RuleStringExpression": { "additionalProperties": false, "properties": { - "DocumentName": { - "markdownDescription": "The automation document's name.", - "title": "DocumentName", - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleStringToEvaluate", + "markdownDescription": "The string to evaluate in a string condition expression.", + "title": "Evaluate" }, - "DocumentVersion": { - "markdownDescription": "The version of the runbook to use when running.", - "title": "DocumentVersion", + "Operator": { + "markdownDescription": "The matching operator for a string condition expression.", + "title": "Operator", "type": "string" }, - "DynamicParameters": { + "Values": { "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.DynamicSsmParameter" + "type": "string" }, - "markdownDescription": "The key-value pairs to resolve dynamic parameter values when processing a Systems Manager Automation runbook.", - "title": "DynamicParameters", + "markdownDescription": "The string(s) to be evaluated in a string condition expression. For all operators, except for NOT_EQUALS, if multiple values are given, the values are processed as an OR. That is, if any of the values match the email's string using the given operator, the condition is deemed to match. However, for NOT_EQUALS, the condition is only deemed to match if none of the given strings match the email's string.", + "title": "Values", "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "AWS::SES::MailManagerRuleSet.RuleStringToEvaluate": { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", + "markdownDescription": "The Add On ARN and its returned value to evaluate in a string condition expression.", + "title": "Analysis" }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" - }, - "markdownDescription": "The key-value pair parameters to use when running the runbook.", - "title": "Parameters", - "type": "array" + "Attribute": { + "markdownDescription": "The email attribute to evaluate in a string condition expression.", + "title": "Attribute", + "type": "string" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the role that the automation document will assume when running commands.", - "title": "RoleArn", + "ClientCertificateAttribute": { "type": "string" }, - "TargetAccount": { - "markdownDescription": "The account that the automation document will be run in. This can be in either the management account or an application account.", - "title": "TargetAccount", + "MimeHeaderAttribute": { + "markdownDescription": "The email MIME X-Header attribute to evaluate in a string condition expression.", + "title": "MimeHeaderAttribute", "type": "string" } }, - "required": [ - "DocumentName", - "RoleArn" - ], "type": "object" }, - "AWS::SSMIncidents::ResponsePlan.SsmParameter": { + "AWS::SES::MailManagerRuleSet.RuleVerdictExpression": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key parameter to use when running the Automation runbook.", - "title": "Key", + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.RuleVerdictToEvaluate", + "markdownDescription": "The verdict to evaluate in a verdict condition expression.", + "title": "Evaluate" + }, + "Operator": { + "markdownDescription": "The matching operator for a verdict condition expression.", + "title": "Operator", "type": "string" }, "Values": { "items": { "type": "string" }, - "markdownDescription": "The value parameter to use when running the Automation runbook.", + "markdownDescription": "The values to match with the email's verdict using the given operator. For the EQUALS operator, if multiple values are given, the condition is deemed to match if any of the given verdicts match that of the email. For the NOT_EQUALS operator, if multiple values are given, the condition is deemed to match of none of the given verdicts match the verdict of the email.", "title": "Values", "type": "array" } }, "required": [ - "Key", + "Evaluate", + "Operator", "Values" ], "type": "object" }, - "AWS::SSMQuickSetup::ConfigurationManager": { + "AWS::SES::MailManagerRuleSet.RuleVerdictToEvaluate": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SSMQuickSetup::ConfigurationManager.ConfigurationDefinition" - }, - "markdownDescription": "The definition of the Quick Setup configuration that the configuration manager deploys.", - "title": "ConfigurationDefinitions", - "type": "array" - }, - "Description": { - "markdownDescription": "The description of the configuration.", - "title": "Description", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the configuration", - "title": "Name", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Key-value pairs of metadata to assign to the configuration manager.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "ConfigurationDefinitions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMQuickSetup::ConfigurationManager" - ], - "type": "string" + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerRuleSet.Analysis", + "markdownDescription": "The Add On ARN and its returned value to evaluate in a verdict condition expression.", + "title": "Analysis" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { + "markdownDescription": "The email verdict attribute to evaluate in a string verdict expression.", + "title": "Attribute", "type": "string" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SSMQuickSetup::ConfigurationManager.ConfigurationDefinition": { + "AWS::SES::MailManagerRuleSet.S3Action": { "additionalProperties": false, "properties": { - "LocalDeploymentAdministrationRoleArn": { - "markdownDescription": "The ARN of the IAM role used to administrate local configuration deployments.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only for organizational deployments of types other than `AWSQuickSetupType-PatchPolicy` . A value must be provided when you are running an organizational deployment for a patch policy or running any type of deployment for a single account.", - "title": "LocalDeploymentAdministrationRoleArn", + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified the bucket has been deleted.", + "title": "ActionFailurePolicy", "type": "string" }, - "LocalDeploymentExecutionRoleName": { - "markdownDescription": "The name of the IAM role used to deploy local configurations.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only for organizational deployments of types other than `AWSQuickSetupType-PatchPolicy` . A value must be provided when you are running an organizational deployment for a patch policy or running any type of deployment for a single account.", - "title": "LocalDeploymentExecutionRoleName", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while writing to S3. This role must have access to the s3:PutObject, kms:Encrypt, and kms:GenerateDataKey APIs for the given bucket.", + "title": "RoleArn", "type": "string" }, - "Parameters": { - "additionalProperties": true, - "markdownDescription": "The parameters for the configuration definition type. Parameters for configuration definitions vary based the configuration type. The following lists outline the parameters for each configuration type.\n\n- **AWS Config Recording (Type: AWS QuickSetupType-CFGRecording)** - - `RecordAllResources`\n\n- Description: (Optional) A boolean value that determines whether all supported resources are recorded. The default value is \" `true` \".\n- `ResourceTypesToRecord`\n\n- Description: (Optional) A comma separated list of resource types you want to record.\n- `RecordGlobalResourceTypes`\n\n- Description: (Optional) A boolean value that determines whether global resources are recorded with all resource configurations. The default value is \" `false` \".\n- `GlobalResourceTypesRegion`\n\n- Description: (Optional) Determines the AWS Region where global resources are recorded.\n- `UseCustomBucket`\n\n- Description: (Optional) A boolean value that determines whether a custom Amazon S3 bucket is used for delivery. The default value is \" `false` \".\n- `DeliveryBucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver configuration snapshots and configuration history files to.\n- `DeliveryBucketPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `NotificationOptions`\n\n- Description: (Optional) Determines the notification configuration for the recorder. The valid values are `NoStreaming` , `UseExistingTopic` , and `CreateTopic` . The default value is `NoStreaming` .\n- `CustomDeliveryTopicAccountId`\n\n- Description: (Optional) The ID of the AWS account where the Amazon SNS topic you want to use for notifications resides. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `CustomDeliveryTopicName`\n\n- Description: (Optional) The name of the Amazon SNS topic you want to use for notifications. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(7 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Change Manager (Type: AWS QuickSetupType-SSMChangeMgr)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `JobFunction`\n\n- Description: (Required) The name for the Change Manager job function.\n- `PermissionType`\n\n- Description: (Optional) Specifies whether you want to use default administrator permissions for the job function role, or provide a custom IAM policy. The valid values are `CustomPermissions` and `AdminPermissions` . The default value for the parameter is `CustomerPermissions` .\n- `CustomPermissions`\n\n- Description: (Optional) A JSON string containing the IAM policy you want your job function to use. You must provide a value for this parameter if you specify `CustomPermissions` for the `PermissionType` parameter.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Conformance Packs (Type: AWS QuickSetupType-CFGCPacks)** - - `DelegatedAccountId`\n\n- Description: (Optional) The ID of the delegated administrator account. This parameter is required for Organization deployments.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `none` \".\n- `CPackNames`\n\n- Description: (Required) A comma separated list of AWS Config conformance packs.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Default Host Management Configuration (Type: AWS QuickSetupType-DHMC)** - - `UpdateSsmAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **DevOps\u00a0Guru (Type: AWS QuickSetupType-DevOpsGuru)** - - `AnalyseAllResources`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru analyzes all CloudFormation stacks in the account. The default value is \" `false` \".\n- `EnableSnsNotifications`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru sends notifications when an insight is created. The default value is \" `true` \".\n- `EnableSsmOpsItems`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru creates an OpsCenter OpsItem when an insight is created. The default value is \" `true` \".\n- `EnableDriftRemediation`\n\n- Description: (Optional) A boolean value that determines whether a drift remediation schedule is used. The default value is \" `false` \".\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Distributor (Type: AWS QuickSetupType-Distributor)** - - `PackagesToInstall`\n\n- Description: (Required) A comma separated list of packages you want to install on the target instances. The valid values are `AWSEFSTools` , `AWSCWAgent` , and `AWSEC2LaunchAgent` .\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `rate(30 days)` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Host Management (Type: AWS QuickSetupType-SSMHostMgmt)** - - `UpdateSsmAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `UpdateEc2LaunchAgent`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `false` \".\n- `CollectInventory`\n\n- Description: (Optional) A boolean value that determines whether instance metadata is collected on the target instances every 30 minutes. The default value is \" `true` \".\n- `ScanInstances`\n\n- Description: (Optional) A boolean value that determines whether the target instances are scanned daily for available patches. The default value is \" `true` \".\n- `InstallCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is installed on the target instances. The default value is \" `false` \".\n- `UpdateCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is updated on the target instances every month. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Optional) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Optional) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Optional) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **OpsCenter (Type: AWS QuickSetupType-SSMOpsCenter)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Patch Policy (Type: AWS QuickSetupType-PatchPolicy)** - - `PatchPolicyName`\n\n- Description: (Required) A name for the patch policy. The value you provide is applied to target Amazon EC2 instances as a tag.\n- `SelectedPatchBaselines`\n\n- Description: (Required) An array of JSON objects containing the information for the patch baselines to include in your patch policy.\n- `PatchBaselineUseDefault`\n\n- Description: (Optional) A value that determines whether the selected patch baselines are all AWS provided. Supported values are `default` and `custom` .\n- `PatchBaselineRegion`\n\n- Description: (Required) The AWS Region where the patch baseline exist.\n- `ConfigurationOptionsPatchOperation`\n\n- Description: (Optional) Determines whether target instances scan for available patches, or scan and install available patches. The valid values are `Scan` and `ScanAndInstall` . The default value for the parameter is `Scan` .\n- `ConfigurationOptionsScanValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances scan for available patches.\n- `ConfigurationOptionsInstallValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances install available patches.\n- `ConfigurationOptionsScanNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `ConfigurationOptionsInstallNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `RebootOption`\n\n- Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` .\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `OutputLogEnableS3`\n\n- Description: (Optional) A boolean value that determines whether command output logs are sent to Amazon S3.\n- `OutputS3Location`\n\n- Description: (Optional) Information about the Amazon S3 bucket where you want to store the output details of the request.\n\n- `OutputBucketRegion`\n\n- Description: (Optional) The AWS Region where the Amazon S3 bucket you want to deliver command output to is located.\n- `OutputS3BucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want to deliver command output to.\n- `OutputS3KeyPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Explorer (Type: AWS QuickSetupType-ResourceExplorer)** - - `SelectedAggregatorRegion`\n\n- Description: (Required) The AWS Region where you want to create the aggregator index.\n- `ReplaceExistingAggregator`\n\n- Description: (Required) A boolean value that determines whether to demote an existing aggregator if it is in a Region that differs from the value you specify for the `SelectedAggregatorRegion` .\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Scheduler (Type: AWS QuickSetupType-Scheduler)** - - `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target.\n- `ICalendarString`\n\n- Description: (Required) An iCalendar formatted string containing the schedule you want Change Manager to use.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Parameters", - "type": "object" - }, - "Type": { - "markdownDescription": "The type of the Quick Setup configuration.", - "title": "Type", + "S3Bucket": { + "markdownDescription": "The bucket name of the S3 bucket to write to.", + "title": "S3Bucket", "type": "string" }, - "TypeVersion": { - "markdownDescription": "The version of the Quick Setup type used.", - "title": "TypeVersion", + "S3Prefix": { + "markdownDescription": "The S3 prefix to use for the write to the s3 bucket.", + "title": "S3Prefix", "type": "string" }, - "id": { - "markdownDescription": "The ID of the configuration definition.", - "title": "id", + "S3SseKmsKeyId": { + "markdownDescription": "The KMS Key ID to use to encrypt the message in S3.", + "title": "S3SseKmsKeyId", "type": "string" } }, "required": [ - "Parameters", - "Type" + "RoleArn", + "S3Bucket" ], "type": "object" }, - "AWS::SSMQuickSetup::ConfigurationManager.StatusSummary": { + "AWS::SES::MailManagerRuleSet.SendAction": { "additionalProperties": false, "properties": { - "LastUpdatedAt": { - "markdownDescription": "The datetime stamp when the status was last updated.", - "title": "LastUpdatedAt", - "type": "string" - }, - "Status": { - "markdownDescription": "The current status.", - "title": "Status", - "type": "string" - }, - "StatusDetails": { - "additionalProperties": true, - "markdownDescription": "Details about the status.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "StatusDetails", - "type": "object" - }, - "StatusMessage": { - "markdownDescription": "When applicable, returns an informational message relevant to the current status and status type of the status summary object. We don't recommend implementing parsing logic around this value since the messages returned can vary in format.", - "title": "StatusMessage", + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the caller does not have the permissions to call the sendRawEmail API.", + "title": "ActionFailurePolicy", "type": "string" }, - "StatusType": { - "markdownDescription": "The type of a status summary.", - "title": "StatusType", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role to use for this action. This role must have access to the ses:SendRawEmail API.", + "title": "RoleArn", "type": "string" } }, "required": [ - "LastUpdatedAt", - "StatusType" + "RoleArn" ], "type": "object" }, - "AWS::SSMQuickSetup::LifecycleAutomation": { + "AWS::SES::MailManagerRuleSet.SnsAction": { "additionalProperties": false, "properties": { - "Condition": { + "ActionFailurePolicy": { + "markdownDescription": "A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, specified SNS topic has been deleted or the role lacks necessary permissions to call the `sns:Publish` API.", + "title": "ActionFailurePolicy", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Encoding": { + "markdownDescription": "The encoding to use for the email within the Amazon SNS notification. The default value is `UTF-8` . Use `BASE64` if you need to preserve all special characters, especially when the original message uses a different encoding format.", + "title": "Encoding", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomationDocument": { - "markdownDescription": "The name of the SSM Automation document to execute in response to CloudFormation lifecycle events (CREATE, UPDATE, DELETE).", - "title": "AutomationDocument", - "type": "string" - }, - "AutomationParameters": { - "markdownDescription": "A map of key-value parameters passed to the Automation document during execution. Each parameter name maps to a list of values, even for single values. Parameters can include configuration-specific values for your automation workflow.", - "title": "AutomationParameters", - "type": "object" - }, - "ResourceKey": { - "markdownDescription": "A unique identifier used for generating the SSM Association name. This ensures uniqueness when multiple lifecycle automation resources exist in the same stack.", - "title": "ResourceKey", - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "markdownDescription": "Tags applied to the underlying SSM Association created by this resource. Tags help identify and organize automation executions.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Tags", - "type": "object" - } - }, - "required": [ - "AutomationDocument", - "AutomationParameters", - "ResourceKey" - ], - "type": "object" + "PayloadType": { + "markdownDescription": "The expected payload type within the Amazon SNS notification. `CONTENT` attempts to publish the full email content with 20KB of headers content. `HEADERS` extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is `CONTENT` .", + "title": "PayloadType", + "type": "string" }, - "Type": { - "enum": [ - "AWS::SSMQuickSetup::LifecycleAutomation" - ], + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM Role to use while writing to Amazon SNS. This role must have access to the `sns:Publish` API for the given topic.", + "title": "RoleArn", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.", + "title": "TopicArn", "type": "string" } }, "required": [ - "Type", - "Properties" + "RoleArn", + "TopicArn" ], "type": "object" }, - "AWS::SSO::Application": { + "AWS::SES::MailManagerTrafficPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -356079,55 +324231,47 @@ "Properties": { "additionalProperties": false, "properties": { - "ApplicationProviderArn": { - "markdownDescription": "The ARN of the application provider for this application.", - "title": "ApplicationProviderArn", - "type": "string" - }, - "Description": { - "markdownDescription": "The description of the application.", - "title": "Description", - "type": "string" - }, - "InstanceArn": { - "markdownDescription": "The ARN of the instance of IAM Identity Center that is configured with this application.", - "title": "InstanceArn", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the application.", - "title": "Name", + "DefaultAction": { + "markdownDescription": "Default action instructs the tra\ufb03c policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements", + "title": "DefaultAction", "type": "string" }, - "PortalOptions": { - "$ref": "#/definitions/AWS::SSO::Application.PortalOptionsConfiguration", - "markdownDescription": "A structure that describes the options for the access portal associated with this application.", - "title": "PortalOptions" + "MaxMessageSizeBytes": { + "markdownDescription": "The maximum message size in bytes of email which is allowed in by this traffic policy\u2014anything larger will be blocked.", + "title": "MaxMessageSizeBytes", + "type": "number" }, - "Status": { - "markdownDescription": "The current status of the application in this instance of IAM Identity Center.", - "title": "Status", - "type": "string" + "PolicyStatements": { + "items": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.PolicyStatement" + }, + "markdownDescription": "Conditional statements for filtering email traffic.", + "title": "PolicyStatements", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Specifies tags to be attached to the application.", + "markdownDescription": "The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.", "title": "Tags", "type": "array" + }, + "TrafficPolicyName": { + "markdownDescription": "The name of the policy.\n\nThe policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.", + "title": "TrafficPolicyName", + "type": "string" } }, "required": [ - "ApplicationProviderArn", - "InstanceArn", - "Name" + "DefaultAction", + "PolicyStatements" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::Application" + "AWS::SES::MailManagerTrafficPolicy" ], "type": "string" }, @@ -356146,500 +324290,311 @@ ], "type": "object" }, - "AWS::SSO::Application.PortalOptionsConfiguration": { + "AWS::SES::MailManagerTrafficPolicy.IngressAnalysis": { "additionalProperties": false, "properties": { - "SignInOptions": { - "$ref": "#/definitions/AWS::SSO::Application.SignInOptions", - "markdownDescription": "A structure that describes the sign-in options for the access portal.", - "title": "SignInOptions" + "Analyzer": { + "markdownDescription": "The Amazon Resource Name (ARN) of an Add On.", + "title": "Analyzer", + "type": "string" }, - "Visibility": { - "markdownDescription": "Indicates whether this application is visible in the access portal.", - "title": "Visibility", + "ResultField": { + "markdownDescription": "The returned value from an Add On.", + "title": "ResultField", "type": "string" } }, + "required": [ + "Analyzer", + "ResultField" + ], "type": "object" }, - "AWS::SSO::Application.SignInOptions": { + "AWS::SES::MailManagerTrafficPolicy.IngressBooleanExpression": { "additionalProperties": false, "properties": { - "ApplicationUrl": { - "markdownDescription": "The URL that accepts authentication requests for an application. This is a required parameter if the `Origin` parameter is `APPLICATION` .", - "title": "ApplicationUrl", - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressBooleanToEvaluate", + "markdownDescription": "The operand on which to perform a boolean condition operation.", + "title": "Evaluate" }, - "Origin": { - "markdownDescription": "This determines how IAM Identity Center navigates the user to the target application. It can be one of the following values:\n\n- `APPLICATION` : IAM Identity Center redirects the customer to the configured `ApplicationUrl` .\n- `IDENTITY_CENTER` : IAM Identity Center uses SAML identity-provider initiated authentication to sign the customer directly into a SAML-based application.", - "title": "Origin", + "Operator": { + "markdownDescription": "The matching operator for a boolean condition expression.", + "title": "Operator", "type": "string" } }, "required": [ - "Origin" + "Evaluate", + "Operator" ], "type": "object" }, - "AWS::SSO::ApplicationAssignment": { + "AWS::SES::MailManagerTrafficPolicy.IngressBooleanToEvaluate": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationArn": { - "markdownDescription": "The ARN of the application that has principals assigned.", - "title": "ApplicationArn", - "type": "string" - }, - "PrincipalId": { - "markdownDescription": "The unique identifier of the principal assigned to the application.", - "title": "PrincipalId", - "type": "string" - }, - "PrincipalType": { - "markdownDescription": "The type of the principal assigned to the application.", - "title": "PrincipalType", - "type": "string" - } - }, - "required": [ - "ApplicationArn", - "PrincipalId", - "PrincipalType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::ApplicationAssignment" - ], - "type": "string" + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressAnalysis", + "markdownDescription": "The structure type for a boolean condition stating the Add On ARN and its returned value.", + "title": "Analysis" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "IsInAddressList": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIsInAddressList", + "markdownDescription": "The structure type for a boolean condition that provides the address lists to evaluate incoming traffic on.", + "title": "IsInAddressList" } }, - "required": [ - "Type", - "Properties" - ], "type": "object" }, - "AWS::SSO::ApplicationProvider": { + "AWS::SES::MailManagerTrafficPolicy.IngressIpToEvaluate": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::SSO::ApplicationProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { + "markdownDescription": "An enum type representing the allowed attribute types for an IP condition.", + "title": "Attribute", "type": "string" } }, "required": [ - "Type" + "Attribute" ], "type": "object" }, - "AWS::SSO::ApplicationProvider.DisplayData": { + "AWS::SES::MailManagerTrafficPolicy.IngressIpv4Expression": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpToEvaluate", + "markdownDescription": "The left hand side argument of an IP condition expression.", + "title": "Evaluate" }, - "DisplayName": { + "Operator": { + "markdownDescription": "The matching operator for an IP condition expression.", + "title": "Operator", "type": "string" }, - "IconUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSO::ApplicationProvider.ResourceServerConfig": { - "additionalProperties": false, - "properties": { - "Scopes": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SSO::ApplicationProvider.ResourceServerScopeDetails" - } + "Values": { + "items": { + "type": "string" }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::SSO::ApplicationProvider.ResourceServerScopeDetails": { - "additionalProperties": false, - "properties": { - "DetailedTitle": { - "type": "string" - }, - "LongDescription": { - "type": "string" + "markdownDescription": "The right hand side argument of an IP condition expression.", + "title": "Values", + "type": "array" } }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], "type": "object" }, - "AWS::SSO::Assignment": { + "AWS::SES::MailManagerTrafficPolicy.IngressIpv6Expression": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv6ToEvaluate", + "markdownDescription": "The left hand side argument of an IPv6 condition expression.", + "title": "Evaluate" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Operator": { + "markdownDescription": "The matching operator for an IPv6 condition expression.", + "title": "Operator", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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 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" - }, - "PermissionSetArn": { - "markdownDescription": "The ARN of the permission set.", - "title": "PermissionSetArn", - "type": "string" - }, - "PrincipalId": { - "markdownDescription": "An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the [IAM Identity Center Identity Store API Reference](https://docs.aws.amazon.com//singlesignon/latest/IdentityStoreAPIReference/welcome.html) .", - "title": "PrincipalId", - "type": "string" - }, - "PrincipalType": { - "markdownDescription": "The entity type for which the assignment will be created.", - "title": "PrincipalType", - "type": "string" - }, - "TargetId": { - "markdownDescription": "TargetID is an AWS account identifier, (For example, 123456789012).", - "title": "TargetId", - "type": "string" - }, - "TargetType": { - "markdownDescription": "The entity type for which the assignment will be created.", - "title": "TargetType", - "type": "string" - } + "Values": { + "items": { + "type": "string" }, - "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::Assignment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "markdownDescription": "The right hand side argument of an IPv6 condition expression.", + "title": "Values", + "type": "array" } }, "required": [ - "Type", - "Properties" + "Evaluate", + "Operator", + "Values" ], "type": "object" }, - "AWS::SSO::Instance": { + "AWS::SES::MailManagerTrafficPolicy.IngressIpv6ToEvaluate": { "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "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" - ], + "properties": { + "Attribute": { + "markdownDescription": "An enum type representing the allowed attribute types for an IPv6 condition.", + "title": "Attribute", "type": "string" + } + }, + "required": [ + "Attribute" + ], + "type": "object" + }, + "AWS::SES::MailManagerTrafficPolicy.IngressIsInAddressList": { + "additionalProperties": false, + "properties": { + "AddressLists": { + "items": { + "type": "string" + }, + "markdownDescription": "The address lists that will be used for evaluation.", + "title": "AddressLists", + "type": "array" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Attribute": { + "markdownDescription": "The email attribute that needs to be evaluated against the address list.", + "title": "Attribute", "type": "string" } }, "required": [ - "Type" + "AddressLists", + "Attribute" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "AWS::SES::MailManagerTrafficPolicy.IngressStringExpression": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressStringToEvaluate", + "markdownDescription": "The left hand side argument of a string condition expression.", + "title": "Evaluate" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Operator": { + "markdownDescription": "", + "title": "Operator", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - } + "Values": { + "items": { + "type": "string" }, - "required": [ - "InstanceArn" - ], - "type": "object" + "markdownDescription": "The right hand side argument of a string condition expression.", + "title": "Values", + "type": "array" + } + }, + "required": [ + "Evaluate", + "Operator", + "Values" + ], + "type": "object" + }, + "AWS::SES::MailManagerTrafficPolicy.IngressStringToEvaluate": { + "additionalProperties": false, + "properties": { + "Analysis": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressAnalysis", + "markdownDescription": "The structure type for a string condition stating the Add On ARN and its returned value.", + "title": "Analysis" }, - "Type": { - "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" - ], + "Attribute": { + "markdownDescription": "The enum type representing the allowed attribute types for a string condition.", + "title": "Attribute", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolExpression": { + "additionalProperties": false, + "properties": { + "Evaluate": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolToEvaluate", + "markdownDescription": "The left hand side argument of a TLS condition expression.", + "title": "Evaluate" + }, + "Operator": { + "markdownDescription": "The matching operator for a TLS condition expression.", + "title": "Operator", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "Value": { + "markdownDescription": "The right hand side argument of a TLS condition expression.", + "title": "Value", "type": "string" } }, "required": [ - "Type", - "Properties" + "Evaluate", + "Operator", + "Value" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolToEvaluate": { "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", + "Attribute": { + "markdownDescription": "The enum type representing the allowed attribute types for the TLS condition.", + "title": "Attribute", "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" + "Attribute" ], "type": "object" }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "AWS::SES::MailManagerTrafficPolicy.PolicyCondition": { "additionalProperties": false, "properties": { - "Source": { + "BooleanExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressBooleanExpression", + "markdownDescription": "This represents a boolean type condition matching on the incoming mail. It performs the boolean operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "BooleanExpression" + }, + "IpExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv4Expression", + "markdownDescription": "This represents an IP based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "IpExpression" + }, + "Ipv6Expression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressIpv6Expression", + "markdownDescription": "This represents an IPv6 based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "Ipv6Expression" + }, + "StringExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressStringExpression", + "markdownDescription": "This represents a string based condition matching on the incoming mail. It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "StringExpression" + }, + "TlsExpression": { + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.IngressTlsProtocolExpression", + "markdownDescription": "This represents a TLS based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.", + "title": "TlsExpression" + } + }, + "type": "object" + }, + "AWS::SES::MailManagerTrafficPolicy.PolicyStatement": { + "additionalProperties": false, + "properties": { + "Action": { + "markdownDescription": "The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.", + "title": "Action", + "type": "string" + }, + "Conditions": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SES::MailManagerTrafficPolicy.PolicyCondition" }, - "markdownDescription": "The identity source to use when mapping a specified attribute to .", - "title": "Source", + "markdownDescription": "The list of conditions to apply to incoming messages for filtering email traffic.", + "title": "Conditions", "type": "array" } }, "required": [ - "Source" + "Action", + "Conditions" ], "type": "object" }, - "AWS::SSO::PermissionSet": { + "AWS::SES::MultiRegionEndpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -356674,75 +324629,34 @@ "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" + "Details": { + "$ref": "#/definitions/AWS::SES::MultiRegionEndpoint.Details", + "markdownDescription": "Contains details of a multi-region endpoint (global-endpoint) being created.", + "title": "Details" }, - "SessionDuration": { - "markdownDescription": "The length of time that the application user sessions are valid for in the ISO-8601 standard.", - "title": "SessionDuration", + "EndpointName": { + "markdownDescription": "The name of the multi-region endpoint (global-endpoint).", + "title": "EndpointName", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The tags to attach to the new `PermissionSet` .", + "markdownDescription": "An array of objects that define the tags (keys and values) to associate with the multi-region endpoint (global-endpoint).", "title": "Tags", "type": "array" } }, "required": [ - "InstanceArn", - "Name" + "Details", + "EndpointName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SSO::PermissionSet" + "AWS::SES::MultiRegionEndpoint" ], "type": "string" }, @@ -356761,42 +324675,38 @@ ], "type": "object" }, - "AWS::SSO::PermissionSet.CustomerManagedPolicyReference": { + "AWS::SES::MultiRegionEndpoint.Details": { "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" + "RouteDetails": { + "items": { + "$ref": "#/definitions/AWS::SES::MultiRegionEndpoint.RouteDetailsItems" + }, + "markdownDescription": "A list of route configuration details. Must contain exactly one route configuration.", + "title": "RouteDetails", + "type": "array" } }, "required": [ - "Name" + "RouteDetails" ], "type": "object" }, - "AWS::SSO::PermissionSet.PermissionsBoundary": { + "AWS::SES::MultiRegionEndpoint.RouteDetailsItems": { "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", + "Region": { + "markdownDescription": "The name of an AWS-Region to be a secondary region for the multi-region endpoint (global-endpoint).", + "title": "Region", "type": "string" } }, + "required": [ + "Region" + ], "type": "object" }, - "AWS::SageMaker::Action": { + "AWS::SES::ReceiptFilter": { "additionalProperties": false, "properties": { "Condition": { @@ -356831,50 +324741,20 @@ "Properties": { "additionalProperties": false, "properties": { - "ActionName": { - "type": "string" - }, - "ActionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MetadataProperties": { - "$ref": "#/definitions/AWS::SageMaker::Action.MetadataProperties" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Source": { - "$ref": "#/definitions/AWS::SageMaker::Action.ActionSource" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter", + "markdownDescription": "A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it.", + "title": "Filter" } }, "required": [ - "ActionName", - "ActionType", - "Source" + "Filter" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Action" + "AWS::SES::ReceiptFilter" ], "type": "string" }, @@ -356893,43 +324773,46 @@ ], "type": "object" }, - "AWS::SageMaker::Action.ActionSource": { + "AWS::SES::ReceiptFilter.Filter": { "additionalProperties": false, "properties": { - "SourceId": { - "type": "string" - }, - "SourceType": { - "type": "string" + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter", + "markdownDescription": "A structure that provides the IP addresses to block or allow, and whether to block or allow incoming mail from them.", + "title": "IpFilter" }, - "SourceUri": { + "Name": { + "markdownDescription": "The name of the IP address filter. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).\n- Start and end with a letter or number.\n- Contain 64 characters or fewer.", + "title": "Name", "type": "string" } }, "required": [ - "SourceUri" + "IpFilter" ], "type": "object" }, - "AWS::SageMaker::Action.MetadataProperties": { + "AWS::SES::ReceiptFilter.IpFilter": { "additionalProperties": false, "properties": { - "CommitId": { - "type": "string" - }, - "GeneratedBy": { - "type": "string" - }, - "ProjectId": { + "Cidr": { + "markdownDescription": "A single IP address or a range of IP addresses to block or allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example of a single email address is 10.0.0.1. An example of a range of IP addresses is 10.0.0.1/24. For more information about CIDR notation, see [RFC 2317](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc2317) .", + "title": "Cidr", "type": "string" }, - "Repository": { + "Policy": { + "markdownDescription": "Indicates whether to block or allow incoming mail from the specified IP addresses.", + "title": "Policy", "type": "string" } }, + "required": [ + "Cidr", + "Policy" + ], "type": "object" }, - "AWS::SageMaker::Algorithm": { + "AWS::SES::ReceiptRule": { "additionalProperties": false, "properties": { "Condition": { @@ -356964,37 +324847,31 @@ "Properties": { "additionalProperties": false, "properties": { - "AlgorithmDescription": { - "type": "string" - }, - "AlgorithmName": { + "After": { + "markdownDescription": "The name of an existing rule after which the new rule is placed. If this parameter is null, the new rule is inserted at the beginning of the rule list.", + "title": "After", "type": "string" }, - "CertifyForMarketplace": { - "type": "boolean" - }, - "InferenceSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.InferenceSpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule", + "markdownDescription": "A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.", + "title": "Rule" }, - "TrainingSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.TrainingSpecification" + "RuleSetName": { + "markdownDescription": "The name of the rule set where the receipt rule is added.", + "title": "RuleSetName", + "type": "string" } }, "required": [ - "AlgorithmName", - "TrainingSpecification" + "Rule", + "RuleSetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Algorithm" + "AWS::SES::ReceiptRule" ], "type": "string" }, @@ -357013,442 +324890,283 @@ ], "type": "object" }, - "AWS::SageMaker::Algorithm.CategoricalParameterRangeSpecification": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Values" - ], - "type": "object" - }, - "AWS::SageMaker::Algorithm.ChannelSpecification": { + "AWS::SES::ReceiptRule.Action": { "additionalProperties": false, "properties": { - "Description": { - "type": "string" + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction", + "markdownDescription": "Adds a header to the received email.", + "title": "AddHeaderAction" }, - "IsRequired": { - "type": "boolean" + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction", + "markdownDescription": "Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).", + "title": "BounceAction" }, - "Name": { - "type": "string" + "ConnectAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.ConnectAction", + "markdownDescription": "The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.", + "title": "ConnectAction" }, - "SupportedCompressionTypes": { - "items": { - "type": "string" - }, - "type": "array" + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction", + "markdownDescription": "Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.", + "title": "LambdaAction" }, - "SupportedContentTypes": { - "items": { - "type": "string" - }, - "type": "array" + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action", + "markdownDescription": "Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon SNS.", + "title": "S3Action" }, - "SupportedInputModes": { - "items": { - "type": "string" - }, - "type": "array" + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction", + "markdownDescription": "Publishes the email content within a notification to Amazon SNS.", + "title": "SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction", + "markdownDescription": "Terminates the evaluation of the receipt rule set and optionally publishes a notification to Amazon SNS.", + "title": "StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction", + "markdownDescription": "Calls Amazon WorkMail and, optionally, publishes a notification to Amazon SNS.", + "title": "WorkmailAction" } }, - "required": [ - "Name", - "SupportedContentTypes", - "SupportedInputModes" - ], "type": "object" }, - "AWS::SageMaker::Algorithm.ContinuousParameterRangeSpecification": { + "AWS::SES::ReceiptRule.AddHeaderAction": { "additionalProperties": false, "properties": { - "MaxValue": { + "HeaderName": { + "markdownDescription": "The name of the header to add to the incoming message. The name must contain at least one character, and can contain up to 50 characters. It consists of alphanumeric ( `a\u2013z, A\u2013Z, 0\u20139` ) characters and dashes.", + "title": "HeaderName", "type": "string" }, - "MinValue": { + "HeaderValue": { + "markdownDescription": "The content to include in the header. This value can contain up to 2048 characters. It can't contain newline ( `\\n` ) or carriage return ( `\\r` ) characters.", + "title": "HeaderValue", "type": "string" } }, "required": [ - "MaxValue", - "MinValue" + "HeaderName", + "HeaderValue" ], "type": "object" }, - "AWS::SageMaker::Algorithm.HyperParameterSpecification": { + "AWS::SES::ReceiptRule.BounceAction": { "additionalProperties": false, "properties": { - "DefaultValue": { + "Message": { + "markdownDescription": "Human-readable text to include in the bounce message.", + "title": "Message", "type": "string" }, - "Description": { + "Sender": { + "markdownDescription": "The email address of the sender of the bounced email. This is the address from which the bounce message is sent.", + "title": "Sender", "type": "string" }, - "IsRequired": { - "type": "boolean" - }, - "IsTunable": { - "type": "boolean" - }, - "Name": { + "SmtpReplyCode": { + "markdownDescription": "The SMTP reply code, as defined by [RFC 5321](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5321) .", + "title": "SmtpReplyCode", "type": "string" }, - "Range": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ParameterRange" + "StatusCode": { + "markdownDescription": "The SMTP enhanced status code, as defined by [RFC 3463](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc3463) .", + "title": "StatusCode", + "type": "string" }, - "Type": { + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", "type": "string" } }, "required": [ - "Name", - "Type" + "Message", + "Sender", + "SmtpReplyCode" ], "type": "object" }, - "AWS::SageMaker::Algorithm.HyperParameterTuningJobObjective": { + "AWS::SES::ReceiptRule.ConnectAction": { "additionalProperties": false, "properties": { - "MetricName": { + "IAMRoleARN": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used by Amazon Simple Email Service while starting email contacts to the Amazon Connect instance. This role should have permission to invoke `connect:StartEmailContact` for the given Amazon Connect instance.", + "title": "IAMRoleARN", "type": "string" }, - "Type": { + "InstanceARN": { + "markdownDescription": "The Amazon Resource Name (ARN) for the Amazon Connect instance that Amazon SES integrates with for starting email contacts.\n\nFor more information about Amazon Connect instances, see the [Amazon Connect Administrator Guide](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-instances.html)", + "title": "InstanceARN", "type": "string" } }, "required": [ - "MetricName", - "Type" + "IAMRoleARN", + "InstanceARN" ], "type": "object" }, - "AWS::SageMaker::Algorithm.InferenceSpecification": { + "AWS::SES::ReceiptRule.LambdaAction": { "additionalProperties": false, "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ModelPackageContainerDefinition" - }, - "type": "array" - }, - "SupportedContentTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SupportedRealtimeInferenceInstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SupportedResponseMIMETypes": { - "items": { - "type": "string" - }, - "type": "array" + "FunctionArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is `arn:aws:lambda:us-west-2:account-id:function:MyFunction` . For more information about AWS Lambda, see the [AWS Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) .", + "title": "FunctionArn", + "type": "string" }, - "SupportedTransformInstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Containers" - ], - "type": "object" - }, - "AWS::SageMaker::Algorithm.IntegerParameterRangeSpecification": { - "additionalProperties": false, - "properties": { - "MaxValue": { + "InvocationType": { + "markdownDescription": "The invocation type of the AWS Lambda function. An invocation type of `RequestResponse` means that the execution of the function immediately results in a response, and a value of `Event` means that the function is invoked asynchronously. The default value is `Event` . For information about AWS Lambda invocation types, see the [AWS Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html) .\n\n> There is a 30-second timeout on `RequestResponse` invocations. You should use `Event` invocation in most cases. Use `RequestResponse` only to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.", + "title": "InvocationType", "type": "string" }, - "MinValue": { + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is executed. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", "type": "string" } }, "required": [ - "MaxValue", - "MinValue" + "FunctionArn" ], "type": "object" }, - "AWS::SageMaker::Algorithm.MetricDefinition": { + "AWS::SES::ReceiptRule.Rule": { "additionalProperties": false, "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + }, + "markdownDescription": "An ordered list of actions to perform on messages that match at least one of the recipient email addresses or domains specified in the receipt rule.", + "title": "Actions", + "type": "array" + }, + "Enabled": { + "markdownDescription": "If `true` , the receipt rule is active. The default value is `false` .", + "title": "Enabled", + "type": "boolean" + }, "Name": { + "markdownDescription": "The name of the receipt rule. The name must meet the following requirements:\n\n- Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), dashes (-), or periods (.).\n- Start and end with a letter or number.\n- Contain 64 characters or fewer.", + "title": "Name", "type": "string" }, - "Regex": { - "type": "string" - } - }, - "required": [ - "Name", - "Regex" - ], - "type": "object" - }, - "AWS::SageMaker::Algorithm.ModelInput": { - "additionalProperties": false, - "properties": { - "DataInputConfig": { + "Recipients": { + "items": { + "type": "string" + }, + "markdownDescription": "The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule matches all recipients on all verified domains.", + "title": "Recipients", + "type": "array" + }, + "ScanEnabled": { + "markdownDescription": "If `true` , then messages that this receipt rule applies to are scanned for spam and viruses. The default value is `false` .", + "title": "ScanEnabled", + "type": "boolean" + }, + "TlsPolicy": { + "markdownDescription": "Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to `Require` , Amazon SES bounces emails that are not received over TLS. The default is `Optional` .\n\nValid Values: `Require | Optional`", + "title": "TlsPolicy", "type": "string" } }, - "required": [ - "DataInputConfig" - ], "type": "object" }, - "AWS::SageMaker::Algorithm.ModelPackageContainerDefinition": { + "AWS::SES::ReceiptRule.S3Action": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Framework": { + "BucketName": { + "markdownDescription": "The name of the Amazon S3 bucket for incoming email.", + "title": "BucketName", "type": "string" }, - "FrameworkVersion": { + "IamRoleArn": { + "markdownDescription": "The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket, optionally encrypting your mail via the provided customer managed key, and publishing to the Amazon SNS topic. This role should have access to the following APIs:\n\n- `s3:PutObject` , `kms:Encrypt` and `kms:GenerateDataKey` for the given Amazon S3 bucket.\n- `kms:GenerateDataKey` for the given AWS KMS customer managed key.\n- `sns:Publish` for the given Amazon SNS topic.\n\n> If an IAM role ARN is provided, the role (and only the role) is used to access all the given resources (Amazon S3 bucket, AWS KMS customer managed key and Amazon SNS topic). Therefore, setting up individual resource access permissions is not required.", + "title": "IamRoleArn", "type": "string" }, - "Image": { + "KmsKeyArn": { + "markdownDescription": "The customer managed key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the AWS managed key or a customer managed key that you created in AWS KMS as follows:\n\n- To use the AWS managed key, provide an ARN in the form of `arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses` . For example, if your AWS account ID is 123456789012 and you want to use the AWS managed key in the US West (Oregon) Region, the ARN of the AWS managed key would be `arn:aws:kms:us-west-2:123456789012:alias/aws/ses` . If you use the AWS managed key, you don't need to perform any extra steps to give Amazon SES permission to use the key.\n- To use a customer managed key that you created in AWS KMS, provide the ARN of the customer managed key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the [Amazon SES Developer Guide](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-permissions.html) .\n\nFor more information about key policies, see the [AWS KMS Developer Guide](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) . If you do not specify an AWS KMS key, Amazon SES does not encrypt your emails.\n\n> Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the [AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java/) and [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby/) only. For more information about client-side encryption using AWS KMS managed keys, see the [Amazon S3 Developer Guide](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html) .", + "title": "KmsKeyArn", "type": "string" }, - "ImageDigest": { + "ObjectKeyPrefix": { + "markdownDescription": "The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory name that enables you to store similar data under the same directory in a bucket.", + "title": "ObjectKeyPrefix", "type": "string" }, - "IsCheckpoint": { - "type": "boolean" - }, - "ModelInput": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ModelInput" - }, - "NearestModelName": { + "TopicArn": { + "markdownDescription": "The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", "type": "string" } }, "required": [ - "Image" + "BucketName" ], "type": "object" }, - "AWS::SageMaker::Algorithm.ParameterRange": { - "additionalProperties": false, - "properties": { - "CategoricalParameterRangeSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.CategoricalParameterRangeSpecification" - }, - "ContinuousParameterRangeSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ContinuousParameterRangeSpecification" - }, - "IntegerParameterRangeSpecification": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.IntegerParameterRangeSpecification" - } - }, - "type": "object" - }, - "AWS::SageMaker::Algorithm.TrainingSpecification": { + "AWS::SES::ReceiptRule.SNSAction": { "additionalProperties": false, "properties": { - "MetricDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.MetricDefinition" - }, - "type": "array" - }, - "SupportedHyperParameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.HyperParameterSpecification" - }, - "type": "array" - }, - "SupportedTrainingInstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SupportedTuningJobObjectiveMetrics": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.HyperParameterTuningJobObjective" - }, - "type": "array" - }, - "SupportsDistributedTraining": { - "type": "boolean" - }, - "TrainingChannels": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Algorithm.ChannelSpecification" - }, - "type": "array" - }, - "TrainingImage": { + "Encoding": { + "markdownDescription": "The encoding to use for the email within the Amazon SNS notification. The default value is `UTF-8` . Use `BASE64` if you need to preserve all special characters, especially when the original message uses a different encoding format.", + "title": "Encoding", "type": "string" }, - "TrainingImageDigest": { + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.", + "title": "TopicArn", "type": "string" } }, - "required": [ - "SupportedTrainingInstanceTypes", - "TrainingChannels", - "TrainingImage" - ], "type": "object" }, - "AWS::SageMaker::App": { + "AWS::SES::ReceiptRule.StopAction": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppName": { - "markdownDescription": "The name of the app.", - "title": "AppName", - "type": "string" - }, - "AppType": { - "markdownDescription": "The type of app.", - "title": "AppType", - "type": "string" - }, - "DomainId": { - "markdownDescription": "The domain ID.", - "title": "DomainId", - "type": "string" - }, - "RecoveryMode": { - "markdownDescription": "", - "title": "RecoveryMode", - "type": "boolean" - }, - "ResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec", - "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", - "title": "ResourceSpec" - }, - "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" - }, - "UserProfileName": { - "markdownDescription": "The user profile name.", - "title": "UserProfileName", - "type": "string" - } - }, - "required": [ - "AppName", - "AppType", - "DomainId", - "UserProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::App" - ], + "Scope": { + "markdownDescription": "The scope of the StopAction. The only acceptable value is `RuleSet` .", + "title": "Scope", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is taken. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) Amazon SNS operation.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", "type": "string" } }, "required": [ - "Type", - "Properties" + "Scope" ], "type": "object" }, - "AWS::SageMaker::App.ResourceSpec": { + "AWS::SES::ReceiptRule.WorkmailAction": { "additionalProperties": false, "properties": { - "InstanceType": { - "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", - "title": "InstanceType", - "type": "string" - }, - "LifecycleConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", - "title": "LifecycleConfigArn", - "type": "string" - }, - "SageMakerImageArn": { - "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", - "title": "SageMakerImageArn", + "OrganizationArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon WorkMail organization. Amazon WorkMail ARNs use the following format:\n\n`arn:aws:workmail:::organization/`\n\nYou can find the ID of your organization by using the [ListOrganizations](https://docs.aws.amazon.com/workmail/latest/APIReference/API_ListOrganizations.html) operation in Amazon WorkMail. Amazon WorkMail organization IDs begin with \" `m-` \", followed by a string of alphanumeric characters.\n\nFor information about Amazon WorkMail organizations, see the [Amazon WorkMail Administrator Guide](https://docs.aws.amazon.com/workmail/latest/adminguide/organizations_overview.html) .", + "title": "OrganizationArn", "type": "string" }, - "SageMakerImageVersionArn": { - "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", - "title": "SageMakerImageVersionArn", + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the WorkMail action is called. You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) operation in Amazon SNS.\n\nFor more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) .", + "title": "TopicArn", "type": "string" } }, + "required": [ + "OrganizationArn" + ], "type": "object" }, - "AWS::SageMaker::AppImageConfig": { + "AWS::SES::ReceiptRuleSet": { "additionalProperties": false, "properties": { "Condition": { @@ -357483,196 +325201,35 @@ "Properties": { "additionalProperties": false, "properties": { - "AppImageConfigName": { - "markdownDescription": "The name of the AppImageConfig. Must be unique to your account.", - "title": "AppImageConfigName", + "RuleSetName": { + "markdownDescription": "The name of the receipt rule set to make active. Setting this value to null disables all email receiving.", + "title": "RuleSetName", "type": "string" - }, - "CodeEditorAppImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.CodeEditorAppImageConfig", - "markdownDescription": "The configuration for the file system and the runtime, such as the environment variables and entry point.", - "title": "CodeEditorAppImageConfig" - }, - "JupyterLabAppImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.JupyterLabAppImageConfig", - "markdownDescription": "The configuration for the file system and the runtime, such as the environment variables and entry point.", - "title": "JupyterLabAppImageConfig" - }, - "KernelGatewayImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig", - "markdownDescription": "The configuration for the file system and kernels in the SageMaker AI image.", - "title": "KernelGatewayImageConfig" - }, - "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": [ - "AppImageConfigName" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::AppImageConfig" + "AWS::SES::ReceiptRuleSet" ], "type": "string" }, "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.CodeEditorAppImageConfig": { - "additionalProperties": false, - "properties": { - "ContainerConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.ContainerConfig", - "markdownDescription": "", - "title": "ContainerConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.ContainerConfig": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "The arguments for the container when you're running the application.", - "title": "ContainerArguments", - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "markdownDescription": "The entrypoint used to run the application in the container.", - "title": "ContainerEntrypoint", - "type": "array" - }, - "ContainerEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.CustomImageContainerEnvironmentVariable" - }, - "markdownDescription": "The environment variables to set in the container", - "title": "ContainerEnvironmentVariables", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.CustomImageContainerEnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "markdownDescription": "The key that identifies a container environment variable.", - "title": "Key", - "type": "string" - }, - "Value": { - "markdownDescription": "The value of the container environment variable.", - "title": "Value", - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "DefaultGid": { - "markdownDescription": "The default POSIX group ID (GID). If not specified, defaults to `100` .", - "title": "DefaultGid", - "type": "number" - }, - "DefaultUid": { - "markdownDescription": "The default POSIX user ID (UID). If not specified, defaults to `1000` .", - "title": "DefaultUid", - "type": "number" - }, - "MountPath": { - "markdownDescription": "The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to */home/sagemaker-user* .", - "title": "MountPath", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.JupyterLabAppImageConfig": { - "additionalProperties": false, - "properties": { - "ContainerConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.ContainerConfig", - "markdownDescription": "The configuration used to run the application image container.", - "title": "ContainerConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { - "additionalProperties": false, - "properties": { - "FileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig", - "markdownDescription": "The Amazon Elastic File System storage configuration for a SageMaker AI image.", - "title": "FileSystemConfig" - }, - "KernelSpecs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" - }, - "markdownDescription": "The specification of the Jupyter kernels in the image.", - "title": "KernelSpecs", - "type": "array" - } - }, - "required": [ - "KernelSpecs" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelSpec": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "markdownDescription": "The display name of the kernel.", - "title": "DisplayName", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the Jupyter kernel in the image. This value is case sensitive.", - "title": "Name", + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "Name" + "Type" ], "type": "object" }, - "AWS::SageMaker::Artifact": { + "AWS::SES::Template": { "additionalProperties": false, "properties": { "Condition": { @@ -357707,43 +325264,23 @@ "Properties": { "additionalProperties": false, "properties": { - "ArtifactName": { - "type": "string" - }, - "ArtifactType": { - "type": "string" - }, - "MetadataProperties": { - "$ref": "#/definitions/AWS::SageMaker::Artifact.MetadataProperties" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Source": { - "$ref": "#/definitions/AWS::SageMaker::Artifact.ArtifactSource" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array" + }, + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template", + "markdownDescription": "The content of the email, composed of a subject line and either an HTML part or a text-only part.", + "title": "Template" } }, - "required": [ - "ArtifactType", - "Source" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Artifact" + "AWS::SES::Template" ], "type": "string" }, @@ -357757,64 +325294,40 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Artifact.ArtifactSource": { - "additionalProperties": false, - "properties": { - "SourceTypes": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Artifact.ArtifactSourceType" - }, - "type": "array" - }, - "SourceUri": { - "type": "string" - } - }, - "required": [ - "SourceUri" - ], - "type": "object" - }, - "AWS::SageMaker::Artifact.ArtifactSourceType": { - "additionalProperties": false, - "properties": { - "SourceIdType": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "SourceIdType", - "Value" + "Type" ], "type": "object" }, - "AWS::SageMaker::Artifact.MetadataProperties": { + "AWS::SES::Template.Template": { "additionalProperties": false, "properties": { - "CommitId": { + "HtmlPart": { + "markdownDescription": "The HTML body of the email.", + "title": "HtmlPart", "type": "string" }, - "GeneratedBy": { + "SubjectPart": { + "markdownDescription": "The subject line of the email.", + "title": "SubjectPart", "type": "string" }, - "ProjectId": { + "TemplateName": { + "markdownDescription": "The name of the template. You will refer to this name when you send email using the `SendEmail` or `SendBulkEmail` operations.", + "title": "TemplateName", "type": "string" }, - "Repository": { + "TextPart": { + "markdownDescription": "The email body that is visible to recipients whose email clients do not display HTML content.", + "title": "TextPart", "type": "string" } }, + "required": [ + "SubjectPart" + ], "type": "object" }, - "AWS::SageMaker::AutoMLJob": { + "AWS::SES::Tenant": { "additionalProperties": false, "properties": { "Condition": { @@ -357849,42 +325362,36 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoMLJobConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobConfig" - }, - "AutoMLJobObjective": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobObjective" - }, - "GenerateCandidateDefinitionsOnly": { - "type": "boolean" - }, - "InputDataConfig": { + "ResourceAssociations": { "items": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLChannel" + "$ref": "#/definitions/AWS::SES::Tenant.ResourceAssociation" }, + "markdownDescription": "The list of resources to associate with the tenant.", + "title": "ResourceAssociations", "type": "array" }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig" - }, - "ProblemType": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "An array of objects that define the tags (keys and values) associated with the tenant.", + "title": "Tags", "type": "array" + }, + "TenantName": { + "markdownDescription": "The name of a tenant. The name can contain up to 64 alphanumeric characters, including letters, numbers, hyphens (-) and underscores (_) only.", + "title": "TenantName", + "type": "string" } }, + "required": [ + "TenantName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::AutoMLJob" + "AWS::SES::Tenant" ], "type": "string" }, @@ -357898,202 +325405,116 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLAlgorithmConfig": { + "AWS::SES::Tenant.ResourceAssociation": { "additionalProperties": false, "properties": { - "AutoMLAlgorithms": { - "items": { - "type": "string" - }, - "type": "array" + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource associated with the tenant.", + "title": "ResourceArn", + "type": "string" } }, "required": [ - "AutoMLAlgorithms" + "ResourceArn" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLCandidateGenerationConfig": { - "additionalProperties": false, - "properties": { - "AlgorithmsConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLAlgorithmConfig" - }, - "type": "array" - }, - "FeatureSpecificationS3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLChannel": { + "AWS::SES::VdmAttributes": { "additionalProperties": false, "properties": { - "ChannelType": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "ContentType": { + "Condition": { "type": "string" }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSource" - }, - "TargetAttributeName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - } - }, - "required": [ - "TargetAttributeName" - ], - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLS3DataSource" - } - }, - "required": [ - "S3DataSource" - ], - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig": { - "additionalProperties": false, - "properties": { - "ValidationFraction": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria": { - "additionalProperties": false, - "properties": { - "MaxAutoMLJobRuntimeInSeconds": { - "type": "number" - }, - "MaxCandidates": { - "type": "number" - }, - "MaxRuntimePerTrainingJobInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLJobConfig": { - "additionalProperties": false, - "properties": { - "CandidateGenerationConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLCandidateGenerationConfig" }, - "CompletionCriteria": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLJobCompletionCriteria" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DataSplitConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLDataSplitConfig" + "Metadata": { + "type": "object" }, - "Mode": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "DashboardAttributes": { + "$ref": "#/definitions/AWS::SES::VdmAttributes.DashboardAttributes", + "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Dashboard.", + "title": "DashboardAttributes" + }, + "GuardianAttributes": { + "$ref": "#/definitions/AWS::SES::VdmAttributes.GuardianAttributes", + "markdownDescription": "Specifies additional settings for your VDM configuration as applicable to the Guardian.", + "title": "GuardianAttributes" + } + }, + "type": "object" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLJobObjective": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - } - }, - "required": [ - "MetricName" - ], - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.AutoMLOutputDataConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { + "Type": { + "enum": [ + "AWS::SES::VdmAttributes" + ], "type": "string" }, - "S3OutputPath": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "S3OutputPath" + "Type" ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLS3DataSource": { + "AWS::SES::VdmAttributes.DashboardAttributes": { "additionalProperties": false, "properties": { - "S3DataType": { - "type": "string" - }, - "S3Uri": { + "EngagementMetrics": { + "markdownDescription": "Specifies the status of your VDM engagement metrics collection. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables engagement metrics for your account.\n- `DISABLED` \u2013 Amazon SES disables engagement metrics for your account.", + "title": "EngagementMetrics", "type": "string" } }, - "required": [ - "S3DataType", - "S3Uri" - ], "type": "object" }, - "AWS::SageMaker::AutoMLJob.AutoMLSecurityConfig": { + "AWS::SES::VdmAttributes.GuardianAttributes": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "VolumeKmsKeyId": { + "OptimizedSharedDelivery": { + "markdownDescription": "Specifies the status of your VDM optimized shared delivery. Can be one of the following:\n\n- `ENABLED` \u2013 Amazon SES enables optimized shared delivery for your account.\n- `DISABLED` \u2013 Amazon SES disables optimized shared delivery for your account.", + "title": "OptimizedSharedDelivery", "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::AutoMLJob.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], "type": "object" }, - "AWS::SageMaker::Cluster": { + "AWS::SMSVOICE::ConfigurationSet": { "additionalProperties": false, "properties": { "Condition": { @@ -358128,79 +325549,48 @@ "Properties": { "additionalProperties": false, "properties": { - "AutoScaling": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterAutoScalingConfig", - "markdownDescription": "", - "title": "AutoScaling" - }, - "ClusterName": { - "markdownDescription": "The name of the SageMaker HyperPod cluster.", - "title": "ClusterName", + "ConfigurationSetName": { + "markdownDescription": "The name of the ConfigurationSet.", + "title": "ConfigurationSetName", "type": "string" }, - "ClusterRole": { - "markdownDescription": "", - "title": "ClusterRole", + "DefaultSenderId": { + "markdownDescription": "The default sender ID used by the ConfigurationSet.", + "title": "DefaultSenderId", "type": "string" }, - "InstanceGroups": { + "EventDestinations": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceGroup" + "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.EventDestination" }, - "markdownDescription": "The instance groups of the SageMaker HyperPod cluster. To delete an instance group, remove it from the array.", - "title": "InstanceGroups", + "markdownDescription": "An array of EventDestination objects that describe any events to log and where to log them.", + "title": "EventDestinations", "type": "array" }, - "NodeProvisioningMode": { - "markdownDescription": "", - "title": "NodeProvisioningMode", - "type": "string" + "MessageFeedbackEnabled": { + "markdownDescription": "Set to true to enable feedback for the message.", + "title": "MessageFeedbackEnabled", + "type": "boolean" }, - "NodeRecovery": { - "markdownDescription": "Specifies whether to enable or disable the automatic node recovery feature of SageMaker HyperPod. Available values are `Automatic` for enabling and `None` for disabling.", - "title": "NodeRecovery", + "ProtectConfigurationId": { + "markdownDescription": "The unique identifier for the protect configuration.", + "title": "ProtectConfigurationId", "type": "string" }, - "Orchestrator": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.Orchestrator", - "markdownDescription": "The orchestrator type for the SageMaker HyperPod cluster. Currently, `'eks'` is the only available option.", - "title": "Orchestrator" - }, - "RestrictedInstanceGroups": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterRestrictedInstanceGroup" - }, - "markdownDescription": "", - "title": "RestrictedInstanceGroups", - "type": "array" - }, - "RestrictedInstanceGroupsConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.RestrictedInstanceGroupsConfig" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A tag object that consists of a key and an optional value, used to manage metadata for SageMaker AWS resources.\n\nYou can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see [AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html) .\n\nFor more information on adding metadata to your AWS resources with tagging, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) . For advice on best practices for managing AWS resources with tagging, see [Tagging Best Practices: Implement an Effective AWS Resource Tagging Strategy](https://docs.aws.amazon.com/https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) .", + "markdownDescription": "An array of key and value pair tags that's associated with the new configuration set.", "title": "Tags", "type": "array" - }, - "TieredStorageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.TieredStorageConfig", - "markdownDescription": "", - "title": "TieredStorageConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", - "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", - "title": "VpcConfig" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Cluster" + "AWS::SMSVOICE::ConfigurationSet" ], "type": "string" }, @@ -358218,673 +325608,711 @@ ], "type": "object" }, - "AWS::SageMaker::Cluster.AlarmDetails": { + "AWS::SMSVOICE::ConfigurationSet.CloudWatchLogsDestination": { "additionalProperties": false, "properties": { - "AlarmName": { - "markdownDescription": "The name of the alarm.", - "title": "AlarmName", + "IamRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management role that is able to write event data to an Amazon CloudWatch destination.", + "title": "IamRoleArn", + "type": "string" + }, + "LogGroupArn": { + "markdownDescription": "The name of the Amazon CloudWatch log group that you want to record events in.", + "title": "LogGroupArn", "type": "string" } }, "required": [ - "AlarmName" + "IamRoleArn", + "LogGroupArn" ], "type": "object" }, - "AWS::SageMaker::Cluster.AutoPatchConfig": { + "AWS::SMSVOICE::ConfigurationSet.EventDestination": { "additionalProperties": false, "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.DeploymentConfig" + "CloudWatchLogsDestination": { + "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.CloudWatchLogsDestination", + "markdownDescription": "An object that contains information about an event destination that sends logging events to Amazon CloudWatch logs.", + "title": "CloudWatchLogsDestination" }, - "PatchSchedule": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.PatchSchedule" + "Enabled": { + "markdownDescription": "When set to true events will be logged.", + "title": "Enabled", + "type": "boolean" }, - "PatchingStrategy": { + "EventDestinationName": { + "markdownDescription": "The name of the EventDestination.", + "title": "EventDestinationName", "type": "string" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.KinesisFirehoseDestination", + "markdownDescription": "An object that contains information about an event destination for logging to Amazon Data Firehose.", + "title": "KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of event types that determine which events to log.\n\n> The `TEXT_SENT` event type is not supported.", + "title": "MatchingEventTypes", + "type": "array" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::SMSVOICE::ConfigurationSet.SnsDestination", + "markdownDescription": "An object that contains information about an event destination that sends logging events to Amazon SNS.", + "title": "SnsDestination" } }, "required": [ - "PatchingStrategy" + "Enabled", + "EventDestinationName", + "MatchingEventTypes" ], "type": "object" }, - "AWS::SageMaker::Cluster.CapacitySizeConfig": { + "AWS::SMSVOICE::ConfigurationSet.KinesisFirehoseDestination": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "Specifies whether SageMaker should process the update by amount or percentage of instances.", - "title": "Type", + "DeliveryStreamArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the delivery stream.", + "title": "DeliveryStreamArn", "type": "string" }, - "Value": { - "markdownDescription": "Specifies the amount or percentage of instances SageMaker updates at a time.", - "title": "Value", - "type": "number" + "IamRoleArn": { + "markdownDescription": "The ARN of an AWS Identity and Access Management role that is able to write event data to an Amazon Data Firehose destination.", + "title": "IamRoleArn", + "type": "string" } }, "required": [ - "Type", - "Value" + "DeliveryStreamArn", + "IamRoleArn" ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterAutoScalingConfig": { + "AWS::SMSVOICE::ConfigurationSet.SnsDestination": { "additionalProperties": false, "properties": { - "AutoScalerType": { - "markdownDescription": "The type of autoscaler to use. Currently supported value is `Karpenter` .", - "title": "AutoScalerType", - "type": "string" - }, - "Mode": { - "markdownDescription": "Describes whether autoscaling is enabled or disabled for the cluster. Valid values are `Enable` and `Disable` .", - "title": "Mode", + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to.", + "title": "TopicArn", "type": "string" } }, "required": [ - "Mode" + "TopicArn" ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterCapacityRequirements": { - "additionalProperties": false, - "properties": { - "OnDemand": { - "markdownDescription": "Configuration options specific to On-Demand instances.", - "title": "OnDemand", - "type": "object" - }, - "Spot": { - "markdownDescription": "Configuration options specific to Spot instances.", - "title": "Spot", - "type": "object" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterEbsVolumeConfig": { + "AWS::SMSVOICE::OptOutList": { "additionalProperties": false, "properties": { - "RootVolume": { - "markdownDescription": "Specifies whether the configuration is for the cluster's root or secondary Amazon EBS volume. You can specify two `ClusterEbsVolumeConfig` fields to configure both the root and secondary volumes. Set the value to `True` if you'd like to provide your own customer managed AWS KMS key to encrypt the root volume. When `True` :\n\n- The configuration is applied to the root volume.\n- You can't specify the `VolumeSizeInGB` field. The size of the root volume is determined for you.\n- You must specify a KMS key ID for `VolumeKmsKeyId` to encrypt the root volume with your own KMS key instead of an AWS owned KMS key.\n\nOtherwise, by default, the value is `False` , and the following applies:\n\n- The configuration is applied to the secondary volume, while the root volume is encrypted with an AWS owned key.\n- You must specify the `VolumeSizeInGB` field.\n- You can optionally specify the `VolumeKmsKeyId` to encrypt the secondary volume with your own KMS key instead of an AWS owned KMS key.", - "title": "RootVolume", - "type": "boolean" - }, - "VolumeKmsKeyId": { - "markdownDescription": "The ID of a KMS key to encrypt the Amazon EBS volume.", - "title": "VolumeKmsKeyId", + "Condition": { "type": "string" }, - "VolumeSizeInGB": { - "markdownDescription": "The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker` .", - "title": "VolumeSizeInGB", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterFsxLustreConfig": { - "additionalProperties": false, - "properties": { - "DnsName": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "MountName": { - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MountPath": { - "type": "string" - } - }, - "required": [ - "DnsName", - "MountName" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterFsxOpenZfsConfig": { - "additionalProperties": false, - "properties": { - "DnsName": { + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "OptOutListName": { + "markdownDescription": "The name of the OptOutList.", + "title": "OptOutListName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of tags (key and value pairs) to associate with the new OptOutList.", + "title": "Tags", + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SMSVOICE::OptOutList" + ], "type": "string" }, - "MountPath": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DnsName" + "Type" ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterInstanceGroup": { + "AWS::SMSVOICE::PhoneNumber": { "additionalProperties": false, "properties": { - "AutoPatchConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.AutoPatchConfig" - }, - "CapacityRequirements": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterCapacityRequirements", - "markdownDescription": "", - "title": "CapacityRequirements" - }, - "CurrentCount": { - "markdownDescription": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.", - "title": "CurrentCount", - "type": "number" - }, - "ExecutionRole": { - "markdownDescription": "The execution role for the instance group to assume.", - "title": "ExecutionRole", + "Condition": { "type": "string" }, - "ImageId": { - "markdownDescription": "", - "title": "ImageId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "InstanceCount": { - "markdownDescription": "The number of instances in an instance group of the SageMaker HyperPod cluster.", - "title": "InstanceCount", - "type": "number" - }, - "InstanceGroupName": { - "markdownDescription": "The name of the instance group of a SageMaker HyperPod cluster.", - "title": "InstanceGroupName", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InstanceRequirements": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.InstanceRequirements" + "Metadata": { + "type": "object" }, - "InstanceStorageConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceStorageConfig" + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtectionEnabled": { + "markdownDescription": "By default this is set to false. When set to true the phone number 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" + }, + "MandatoryKeywords": { + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeywords", + "markdownDescription": "Creates or updates a `MandatoryKeyword` configuration on an origination phone number 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" + }, + "NumberCapabilities": { + "items": { + "type": "string" + }, + "markdownDescription": "Indicates if the phone number will be used for text messages, voice messages, or both.", + "title": "NumberCapabilities", + "type": "array" + }, + "NumberType": { + "markdownDescription": "The type of phone number to request.\n\n> The `ShortCode` number type is not supported in AWS CloudFormation .", + "title": "NumberType", + "type": "string" + }, + "OptOutListName": { + "markdownDescription": "The name of the OptOutList associated with the phone number.", + "title": "OptOutListName", + "type": "string" + }, + "OptionalKeywords": { + "items": { + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.OptionalKeyword" + }, + "markdownDescription": "A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, End User Messaging responds with a customizable message. Optional keywords are differentiated from mandatory keywords. 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" + }, + "SelfManagedOptOutsEnabled": { + "markdownDescription": "When set to false and 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 request. For more information see [Self-managed opt-outs](https://docs.aws.amazon.com/sms-voice/latest/userguide/opt-out-list-self-managed.html)", + "title": "SelfManagedOptOutsEnabled", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of tags (key and value pairs) to associate with the requested phone number.", + "title": "Tags", + "type": "array" + }, + "TwoWay": { + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.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" + } }, - "markdownDescription": "The configurations of additional storage specified to the instance group where the instance (node) is launched.", - "title": "InstanceStorageConfigs", - "type": "array" + "required": [ + "IsoCountryCode", + "MandatoryKeywords", + "NumberCapabilities", + "NumberType" + ], + "type": "object" }, - "InstanceType": { - "markdownDescription": "The instance type of the instance group of a SageMaker HyperPod cluster.", - "title": "InstanceType", + "Type": { + "enum": [ + "AWS::SMSVOICE::PhoneNumber" + ], "type": "string" }, - "KubernetesConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterKubernetesConfig", - "markdownDescription": "", - "title": "KubernetesConfig" - }, - "LifeCycleConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterLifeCycleConfig", - "markdownDescription": "The lifecycle configuration for a SageMaker HyperPod cluster.", - "title": "LifeCycleConfig" - }, - "MinInstanceCount": { - "markdownDescription": "", - "title": "MinInstanceCount", - "type": "number" - }, - "NetworkInterface": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterNetworkInterface" - }, - "OnStartDeepHealthChecks": { - "items": { - "type": "string" - }, - "markdownDescription": "A flag indicating whether deep health checks should be performed when the HyperPod cluster instance group is created or updated. Deep health checks are comprehensive, invasive tests that validate the health of the underlying hardware and infrastructure components.", - "title": "OnStartDeepHealthChecks", - "type": "array" - }, - "OverrideVpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", - "markdownDescription": "The customized Amazon VPC configuration at the instance group level that overrides the default Amazon VPC configuration of the SageMaker HyperPod cluster.", - "title": "OverrideVpcConfig" - }, - "ScheduledUpdateConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ScheduledUpdateConfig", - "markdownDescription": "", - "title": "ScheduledUpdateConfig" - }, - "SlurmConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterSlurmConfig" - }, - "ThreadsPerCore": { - "markdownDescription": "The number of threads per CPU core you specified under `CreateCluster` .", - "title": "ThreadsPerCore", - "type": "number" - }, - "TrainingPlanArn": { - "markdownDescription": "", - "title": "TrainingPlanArn", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ExecutionRole", - "InstanceCount", - "InstanceGroupName" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterInstanceStorageConfig": { + "AWS::SMSVOICE::PhoneNumber.MandatoryKeyword": { "additionalProperties": false, "properties": { - "EbsVolumeConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterEbsVolumeConfig", - "markdownDescription": "Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker` .", - "title": "EbsVolumeConfig" - }, - "FsxLustreConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterFsxLustreConfig" - }, - "FsxOpenZfsConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterFsxOpenZfsConfig" + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", + "type": "string" } }, + "required": [ + "Message" + ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterKubernetesConfig": { + "AWS::SMSVOICE::PhoneNumber.MandatoryKeywords": { "additionalProperties": false, "properties": { - "Labels": { - "additionalProperties": true, - "markdownDescription": "Key-value pairs of labels to be applied to cluster nodes.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Labels", - "type": "object" + "HELP": { + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeyword", + "markdownDescription": "Specifies the `HELP` keyword that customers use to obtain customer support for this phone number. For more information, see [Keywords](https://docs.aws.amazon.com/sms-voice/latest/userguide/keywords.html) in the End User Messaging User Guide.", + "title": "HELP" }, - "Taints": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterKubernetesTaint" - }, - "markdownDescription": "List of taints to be applied to cluster nodes.", - "title": "Taints", - "type": "array" + "STOP": { + "$ref": "#/definitions/AWS::SMSVOICE::PhoneNumber.MandatoryKeyword", + "markdownDescription": "Specifies the `STOP` keyword that customers use to opt out of receiving messages from this phone number. 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::SageMaker::Cluster.ClusterKubernetesTaint": { + "AWS::SMSVOICE::PhoneNumber.OptionalKeyword": { "additionalProperties": false, "properties": { - "Effect": { - "markdownDescription": "The effect of the taint. Valid values are `NoSchedule` , `PreferNoSchedule` , and `NoExecute` .", - "title": "Effect", + "Action": { + "markdownDescription": "The action to perform when the keyword is used.", + "title": "Action", "type": "string" }, - "Key": { - "markdownDescription": "The key of the taint.", - "title": "Key", + "Keyword": { + "markdownDescription": "The new keyword to add.", + "title": "Keyword", "type": "string" }, - "Value": { - "markdownDescription": "The value of the taint.", - "title": "Value", + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", "type": "string" } }, "required": [ - "Effect", - "Key" + "Action", + "Keyword", + "Message" ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterLifeCycleConfig": { + "AWS::SMSVOICE::PhoneNumber.TwoWay": { "additionalProperties": false, "properties": { - "OnCreate": { - "markdownDescription": "The file name of the entrypoint script of lifecycle scripts under `SourceS3Uri` . This entrypoint script runs during cluster creation.", - "title": "OnCreate", + "ChannelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", + "title": "ChannelArn", "type": "string" }, - "OnInitComplete": { + "ChannelRole": { + "markdownDescription": "An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.", + "title": "ChannelRole", "type": "string" }, - "SourceS3Uri": { - "markdownDescription": "An Amazon S3 bucket path where your lifecycle scripts are stored.\n\n> Make sure that the S3 bucket path starts with `s3://sagemaker-` . The [IAM role for SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) has the managed [`AmazonSageMakerClusterInstanceRolePolicy`](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html) attached, which allows access to S3 buckets with the specific prefix `sagemaker-` .", - "title": "SourceS3Uri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterNetworkInterface": { - "additionalProperties": false, - "properties": { - "InterfaceType": { - "type": "string" - } - }, - "required": [ - "InterfaceType" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterOrchestratorEksConfig": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.", - "title": "ClusterArn", - "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": [ - "ClusterArn" + "Enabled" ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig": { + "AWS::SMSVOICE::Pool": { "additionalProperties": false, "properties": { - "SlurmConfigStrategy": { + "Condition": { "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.ClusterRestrictedInstanceGroup": { - "additionalProperties": false, - "properties": { - "CurrentCount": { - "markdownDescription": "", - "title": "CurrentCount", - "type": "number" }, - "EnvironmentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.EnvironmentConfig", - "markdownDescription": "", - "title": "EnvironmentConfig" - }, - "ExecutionRole": { - "markdownDescription": "", - "title": "ExecutionRole", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "InstanceCount": { - "markdownDescription": "", - "title": "InstanceCount", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InstanceGroupName": { - "markdownDescription": "", - "title": "InstanceGroupName", - "type": "string" + "Metadata": { + "type": "object" }, - "InstanceStorageConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceStorageConfig" + "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", + "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" + } }, - "markdownDescription": "", - "title": "InstanceStorageConfigs", - "type": "array" + "required": [ + "MandatoryKeywords", + "OriginationIdentities" + ], + "type": "object" }, - "InstanceType": { - "markdownDescription": "", - "title": "InstanceType", + "Type": { + "enum": [ + "AWS::SMSVOICE::Pool" + ], "type": "string" }, - "OnStartDeepHealthChecks": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "OnStartDeepHealthChecks", - "type": "array" - }, - "OverrideVpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", - "markdownDescription": "", - "title": "OverrideVpcConfig" - }, - "ThreadsPerCore": { - "markdownDescription": "", - "title": "ThreadsPerCore", - "type": "number" - }, - "TrainingPlanArn": { - "markdownDescription": "", - "title": "TrainingPlanArn", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ExecutionRole", - "InstanceCount", - "InstanceGroupName", - "InstanceType" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Cluster.ClusterSlurmConfig": { + "AWS::SMSVOICE::Pool.MandatoryKeyword": { "additionalProperties": false, "properties": { - "NodeType": { + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", "type": "string" - }, - "PartitionNames": { - "items": { - "type": "string" - }, - "type": "array" } }, "required": [ - "NodeType" + "Message" ], "type": "object" }, - "AWS::SageMaker::Cluster.DeploymentConfig": { - "additionalProperties": false, - "properties": { - "AutoRollbackConfiguration": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.AlarmDetails" - }, - "markdownDescription": "Automatic rollback configuration for handling endpoint deployment failures and recovery.", - "title": "AutoRollbackConfiguration", - "type": "array" - }, - "RollingUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.RollingUpdatePolicy", - "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker endpoint.", - "title": "RollingUpdatePolicy" - }, - "WaitIntervalInSeconds": { - "markdownDescription": "", - "title": "WaitIntervalInSeconds", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.EnvironmentConfig": { - "additionalProperties": false, - "properties": { - "FSxLustreConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.FSxLustreConfig", - "markdownDescription": "Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.", - "title": "FSxLustreConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.FSxLustreConfig": { + "AWS::SMSVOICE::Pool.MandatoryKeywords": { "additionalProperties": false, "properties": { - "PerUnitStorageThroughput": { - "markdownDescription": "The throughput capacity of the Amazon FSx for Lustre file system, measured in MB/s per TiB of storage.", - "title": "PerUnitStorageThroughput", - "type": "number" + "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" }, - "SizeInGiB": { - "markdownDescription": "The storage capacity of the Amazon FSx for Lustre file system, specified in gibibytes (GiB).", - "title": "SizeInGiB", - "type": "number" - } - }, - "required": [ - "PerUnitStorageThroughput", - "SizeInGiB" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.InstanceRequirements": { - "additionalProperties": false, - "properties": { - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" + "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": [ - "InstanceTypes" + "HELP", + "STOP" ], "type": "object" }, - "AWS::SageMaker::Cluster.Orchestrator": { + "AWS::SMSVOICE::Pool.OptionalKeyword": { "additionalProperties": false, "properties": { - "Eks": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterOrchestratorEksConfig", - "markdownDescription": "The configuration of the Amazon EKS orchestrator cluster for the SageMaker HyperPod cluster.", - "title": "Eks" + "Action": { + "markdownDescription": "The action to perform when the keyword is used.", + "title": "Action", + "type": "string" }, - "Slurm": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.PatchSchedule": { - "additionalProperties": false, - "properties": { - "NextPatchDate": { + "Keyword": { + "markdownDescription": "The new keyword to add.", + "title": "Keyword", "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Cluster.RestrictedInstanceGroupsConfig": { - "additionalProperties": false, - "properties": { - "SharedEnvironmentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.SharedEnvironmentConfig" - } - }, - "required": [ - "SharedEnvironmentConfig" - ], - "type": "object" - }, - "AWS::SageMaker::Cluster.RollingUpdatePolicy": { - "additionalProperties": false, - "properties": { - "MaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.CapacitySizeConfig", - "markdownDescription": "Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.", - "title": "MaximumBatchSize" }, - "RollbackMaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.CapacitySizeConfig", - "markdownDescription": "Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.", - "title": "RollbackMaximumBatchSize" + "Message": { + "markdownDescription": "The message associated with the keyword.", + "title": "Message", + "type": "string" } }, "required": [ - "MaximumBatchSize" + "Action", + "Keyword", + "Message" ], "type": "object" }, - "AWS::SageMaker::Cluster.ScheduledUpdateConfig": { + "AWS::SMSVOICE::Pool.TwoWay": { "additionalProperties": false, "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.DeploymentConfig", - "markdownDescription": "The configuration to use when updating the AMI versions.", - "title": "DeploymentConfig" + "ChannelArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the two way channel.", + "title": "ChannelArn", + "type": "string" }, - "ScheduleExpression": { - "markdownDescription": "A cron expression that specifies the schedule that SageMaker follows when updating the AMI.", - "title": "ScheduleExpression", + "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": [ - "ScheduleExpression" + "Enabled" ], "type": "object" }, - "AWS::SageMaker::Cluster.SharedEnvironmentConfig": { + "AWS::SMSVOICE::ProtectConfiguration": { "additionalProperties": false, "properties": { - "FSxLustreConfig": { - "$ref": "#/definitions/AWS::SageMaker::Cluster.FSxLustreConfig" + "Condition": { + "type": "string" }, - "FSxLustreDeletionPolicy": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": [ - "FSxLustreDeletionPolicy" + "Type" ], "type": "object" }, - "AWS::SageMaker::Cluster.TieredStorageConfig": { + "AWS::SMSVOICE::ProtectConfiguration.CountryRule": { "additionalProperties": false, "properties": { - "InstanceMemoryAllocationPercentage": { - "markdownDescription": "", - "title": "InstanceMemoryAllocationPercentage", - "type": "number" + "CountryCode": { + "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", + "title": "CountryCode", + "type": "string" }, - "Mode": { - "markdownDescription": "", - "title": "Mode", + "ProtectStatus": { + "markdownDescription": "The types of protection that can be used.", + "title": "ProtectStatus", "type": "string" } }, "required": [ - "Mode" + "CountryCode", + "ProtectStatus" ], "type": "object" }, - "AWS::SageMaker::Cluster.VpcConfig": { + "AWS::SMSVOICE::ProtectConfiguration.CountryRuleSet": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "MMS": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" }, - "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", - "title": "SecurityGroupIds", + "markdownDescription": "The set of `CountryRule` s to control which destination countries End User Messaging can send your MMS messages to.", + "title": "MMS", "type": "array" }, - "Subnets": { + "SMS": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration.CountryRule" }, - "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", - "title": "Subnets", + "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" } }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], "type": "object" }, - "AWS::SageMaker::CodeRepository": { + "AWS::SMSVOICE::ResourcePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -358919,33 +326347,26 @@ "Properties": { "additionalProperties": false, "properties": { - "CodeRepositoryName": { - "markdownDescription": "The name of the Git repository.", - "title": "CodeRepositoryName", - "type": "string" - }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig", - "markdownDescription": "Configuration details for the Git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.", - "title": "GitConfig" + "PolicyDocument": { + "markdownDescription": "The JSON formatted resource-based policy to attach.", + "title": "PolicyDocument", + "type": "object" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "List of tags for Code Repository.", - "title": "Tags", - "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": [ - "GitConfig" + "PolicyDocument", + "ResourceArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::CodeRepository" + "AWS::SMSVOICE::ResourcePolicy" ], "type": "string" }, @@ -358964,31 +326385,7 @@ ], "type": "object" }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "markdownDescription": "The default branch for the Git repository.", - "title": "Branch", - "type": "string" - }, - "RepositoryUrl": { - "markdownDescription": "The URL where the Git repository is located.", - "title": "RepositoryUrl", - "type": "string" - }, - "SecretArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository. The secret must have a staging label of `AWSCURRENT` and must be in the following format:\n\n`{\"username\": *UserName* , \"password\": *Password* }`", - "title": "SecretArn", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::Context": { + "AWS::SMSVOICE::SenderId": { "additionalProperties": false, "properties": { "Condition": { @@ -359023,44 +326420,39 @@ "Properties": { "additionalProperties": false, "properties": { - "ContextName": { - "type": "string" + "DeletionProtectionEnabled": { + "markdownDescription": "By default this is set to false. When set to true the sender ID can't be deleted.", + "title": "DeletionProtectionEnabled", + "type": "boolean" }, - "ContextType": { + "IsoCountryCode": { + "markdownDescription": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.", + "title": "IsoCountryCode", "type": "string" }, - "Description": { + "SenderId": { + "markdownDescription": "The sender ID string to request.", + "title": "SenderId", "type": "string" }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Source": { - "$ref": "#/definitions/AWS::SageMaker::Context.Source" - }, "Tags": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Context.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "An array of tags (key and value pairs) to associate with the sender ID.", + "title": "Tags", "type": "array" } }, "required": [ - "ContextName", - "ContextType", - "Source" + "IsoCountryCode", + "SenderId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Context" + "AWS::SMSVOICE::SenderId" ], "type": "string" }, @@ -359079,41 +326471,7 @@ ], "type": "object" }, - "AWS::SageMaker::Context.Source": { - "additionalProperties": false, - "properties": { - "SourceId": { - "type": "string" - }, - "SourceType": { - "type": "string" - }, - "SourceUri": { - "type": "string" - } - }, - "required": [ - "SourceUri" - ], - "type": "object" - }, - "AWS::SageMaker::Context.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition": { + "AWS::SNS::Subscription": { "additionalProperties": false, "properties": { "Condition": { @@ -359148,77 +326506,71 @@ "Properties": { "additionalProperties": false, "properties": { - "DataQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification", - "markdownDescription": "Specifies the container that runs the monitoring job.", - "title": "DataQualityAppSpecification" - }, - "DataQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig", - "markdownDescription": "Configures the constraints and baselines for the monitoring job.", - "title": "DataQualityBaselineConfig" + "DeliveryPolicy": { + "markdownDescription": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message delivery retries](https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html) in the *Amazon Developer Guide* .", + "title": "DeliveryPolicy", + "type": "object" }, - "DataQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput", - "markdownDescription": "A list of inputs for the monitoring job. Currently endpoints are supported as monitoring inputs.", - "title": "DataQualityJobInput" + "Endpoint": { + "markdownDescription": "The subscription's endpoint. The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", + "title": "Endpoint", + "type": "string" }, - "DataQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig", - "markdownDescription": "The output configuration for monitoring jobs.", - "title": "DataQualityJobOutputConfig" + "FilterPolicy": { + "markdownDescription": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* and [Message filtering](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) in the *Amazon Developer Guide* .", + "title": "FilterPolicy", + "type": "object" }, - "EndpointName": { - "markdownDescription": "", - "title": "EndpointName", + "FilterPolicyScope": { + "markdownDescription": "This attribute lets you choose the filtering scope by using one of the following string value types:\n\n- `MessageAttributes` (default) - The filter is applied on the message attributes.\n- `MessageBody` - The filter is applied on the message body.\n\n> `Null` is not a valid value for `FilterPolicyScope` . To delete a filter policy, delete the `FilterPolicy` property but keep `FilterPolicyScope` property as is.", + "title": "FilterPolicyScope", "type": "string" }, - "JobDefinitionName": { - "markdownDescription": "The name for the monitoring job definition.", - "title": "JobDefinitionName", + "Protocol": { + "markdownDescription": "The subscription's protocol. For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", + "title": "Protocol", "type": "string" }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources", - "markdownDescription": "Identifies the resources to deploy for a monitoring job.", - "title": "JobResources" + "RawMessageDelivery": { + "markdownDescription": "When set to `true` , enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see `[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)` in the *Amazon API Reference* .", + "title": "RawMessageDelivery", + "type": "boolean" }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig", - "markdownDescription": "Specifies networking configuration for the monitoring job.", - "title": "NetworkConfig" + "RedrivePolicy": { + "markdownDescription": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.\n\nFor more information about the redrive policy and dead-letter queues, see [Amazon SQS dead-letter queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) in the *Amazon SQS Developer Guide* .", + "title": "RedrivePolicy", + "type": "object" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.", - "title": "RoleArn", + "Region": { + "markdownDescription": "For cross-region subscriptions, the region in which the topic resides.\n\nIf no region is specified, CloudFormation uses the region of the caller as the default.\n\nIf you perform an update operation that only updates the `Region` property of a `AWS::SNS::Subscription` resource, that operation will fail unless you are either:\n\n- Updating the `Region` from `NULL` to the caller region.\n- Updating the `Region` from the caller region to `NULL` .", + "title": "Region", "type": "string" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition", - "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", - "title": "StoppingCondition" + "ReplayPolicy": { + "markdownDescription": "Specifies whether Amazon resends the notification to the subscription when a message's attribute changes.", + "title": "ReplayPolicy", + "type": "object" }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", - "title": "Tags", - "type": "array" + "SubscriptionRoleArn": { + "markdownDescription": "This property applies only to Amazon Data Firehose delivery stream subscriptions. Specify the ARN of the IAM role that has the following:\n\n- Permission to write to the Amazon Data Firehose delivery stream\n- Amazon listed as a trusted entity\n\nSpecifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see [Fanout to Amazon Data Firehose delivery streams](https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html) in the *Amazon Developer Guide.*", + "title": "SubscriptionRoleArn", + "type": "string" + }, + "TopicArn": { + "markdownDescription": "The ARN of the topic to subscribe to.", + "title": "TopicArn", + "type": "string" } }, "required": [ - "DataQualityAppSpecification", - "DataQualityJobInput", - "DataQualityJobOutputConfig", - "JobResources", - "RoleArn" + "Protocol", + "TopicArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::DataQualityJobDefinition" + "AWS::SNS::Subscription" ], "type": "string" }, @@ -359237,403 +326589,261 @@ ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.BatchTransformInput": { - "additionalProperties": false, - "properties": { - "DataCapturedDestinationS3Uri": { - "markdownDescription": "The Amazon S3 location being used to capture the data.", - "title": "DataCapturedDestinationS3Uri", - "type": "string" - }, - "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DatasetFormat", - "markdownDescription": "The dataset format for your batch transform job.", - "title": "DatasetFormat" - }, - "ExcludeFeaturesAttribute": { - "markdownDescription": "The attributes of the input data to exclude from the analysis.", - "title": "ExcludeFeaturesAttribute", - "type": "string" - }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the batch transform data is available to the container.", - "title": "LocalPath", - "type": "string" - }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", - "type": "string" - }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", - "type": "string" - } - }, - "required": [ - "DataCapturedDestinationS3Uri", - "DatasetFormat", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { + "AWS::SNS::Topic": { "additionalProperties": false, "properties": { - "InstanceCount": { - "markdownDescription": "The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", - "title": "InstanceCount", - "type": "number" - }, - "InstanceType": { - "markdownDescription": "The ML compute instance type for the processing job.", - "title": "InstanceType", + "Condition": { "type": "string" }, - "VolumeKmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.", - "title": "VolumeKmsKeyId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "VolumeSizeInGB": { - "markdownDescription": "The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.", - "title": "VolumeSizeInGB", - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the constraints resource.", - "title": "S3Uri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.Csv": { - "additionalProperties": false, - "properties": { - "Header": { - "markdownDescription": "", - "title": "Header", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "The arguments to send to the container that the monitoring job runs.", - "title": "ContainerArguments", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "markdownDescription": "The entrypoint for a container used to run a monitoring job.", - "title": "ContainerEntrypoint", - "type": "array" + "Metadata": { + "type": "object" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the container that the monitoring job runs.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "ArchivePolicy": { + "markdownDescription": "The `ArchivePolicy` determines the number of days Amazon retains messages in FIFO topics. You can set a retention period ranging from 1 to 365 days. This property is only applicable to FIFO topics; attempting to use it with standard topics will result in a creation failure.", + "title": "ArchivePolicy", + "type": "object" + }, + "ContentBasedDeduplication": { + "markdownDescription": "`ContentBasedDeduplication` enables deduplication of messages based on their content for FIFO topics. By default, this property is set to false. If you create a FIFO topic with `ContentBasedDeduplication` set to false, you must provide a `MessageDeduplicationId` for each `Publish` action. When set to true, Amazon automatically generates a `MessageDeduplicationId` using a SHA-256 hash of the message body (excluding message attributes). You can optionally override this generated value by specifying a `MessageDeduplicationId` in the `Publish` action. Note that this property only applies to FIFO topics; using it with standard topics will cause the creation to fail.", + "title": "ContentBasedDeduplication", + "type": "boolean" + }, + "DataProtectionPolicy": { + "markdownDescription": "The body of the policy document you want to use for this topic.\n\nYou can only add one policy per topic.\n\nThe policy must be in JSON string format.\n\nLength Constraints: Maximum length of 30,720.", + "title": "DataProtectionPolicy", + "type": "object" + }, + "DeliveryStatusLogging": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.LoggingConfig" + }, + "markdownDescription": "The `DeliveryStatusLogging` configuration enables you to log the delivery status of messages sent from your Amazon SNS topic to subscribed endpoints with the following supported delivery protocols:\n\n- HTTP\n- Amazon Kinesis Data Firehose\n- AWS Lambda\n- Platform application endpoint\n- Amazon Simple Queue Service\n\nOnce configured, log entries are sent to Amazon CloudWatch Logs.", + "title": "DeliveryStatusLogging", + "type": "array" + }, + "DisplayName": { + "markdownDescription": "The display name to use for an Amazon topic with SMS subscriptions. The display name must be maximum 100 characters long, including hyphens (-), underscores (_), spaces, and tabs.", + "title": "DisplayName", + "type": "string" + }, + "FifoThroughputScope": { + "markdownDescription": "Specifies the throughput quota and deduplication behavior to apply for the FIFO topic. Valid values are `Topic` or `MessageGroup` .", + "title": "FifoThroughputScope", + "type": "string" + }, + "FifoTopic": { + "markdownDescription": "Set to true to create a FIFO topic.", + "title": "FifoTopic", + "type": "boolean" + }, + "KmsMasterKeyId": { + "markdownDescription": "The ID of an AWS managed customer master key (CMK) for Amazon or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms) . For more examples, see `[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)` in the *AWS Key Management Service API Reference* .\n\nThis property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html) .", + "title": "KmsMasterKeyId", + "type": "string" + }, + "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", + "type": "string" + }, + "Subscription": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + }, + "markdownDescription": "The Amazon subscriptions (endpoints) for this topic.\n\n> If you specify the `Subscription` property in the `AWS::SNS::Topic` resource and it creates an associated subscription resource, the associated subscription is not deleted when the `AWS::SNS::Topic` resource is deleted.", + "title": "Subscription", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The list of tags to add to a new topic.\n\n> To be able to tag a topic on creation, you must have the `sns:CreateTopic` and `sns:TagResource` permissions.", + "title": "Tags", + "type": "array" + }, + "TopicName": { + "markdownDescription": "The name of the topic you want to create. Topic names must include only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. FIFO topic names must end with `.fifo` .\n\nIf you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the topic 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 can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "title": "TopicName", + "type": "string" + }, + "TracingConfig": { + "markdownDescription": "Tracing mode of an Amazon topic. By default `TracingConfig` is set to `PassThrough` , and the topic passes through the tracing header it receives from an Amazon publisher to its subscriptions. If set to `Active` , Amazon will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true.", + "title": "TracingConfig", "type": "string" } }, - "title": "Environment", "type": "object" }, - "ImageUri": { - "markdownDescription": "The container image that the data quality monitoring job runs.", - "title": "ImageUri", - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", - "title": "PostAnalyticsProcessorSourceUri", + "Type": { + "enum": [ + "AWS::SNS::Topic" + ], "type": "string" }, - "RecordPreprocessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", - "title": "RecordPreprocessorSourceUri", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ImageUri" + "Type" ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "markdownDescription": "The name of the job that performs baselining for the data quality monitoring job.", - "title": "BaseliningJobName", - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource", - "markdownDescription": "The constraints resource for a monitoring job.", - "title": "ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource", - "markdownDescription": "Configuration for monitoring constraints and monitoring statistics. These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.", - "title": "StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { - "additionalProperties": false, - "properties": { - "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.BatchTransformInput", - "markdownDescription": "Input object for the batch transform job.", - "title": "BatchTransformInput" - }, - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput", - "markdownDescription": "Input object for the endpoint", - "title": "EndpointInput" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DatasetFormat": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Csv", - "markdownDescription": "", - "title": "Csv" - }, - "Json": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Json", - "markdownDescription": "", - "title": "Json" - }, - "Parquet": { - "markdownDescription": "", - "title": "Parquet", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { + "AWS::SNS::Topic.LoggingConfig": { "additionalProperties": false, "properties": { - "EndpointName": { - "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", - "title": "EndpointName", - "type": "string" - }, - "ExcludeFeaturesAttribute": { - "markdownDescription": "The attributes of the input data to exclude from the analysis.", - "title": "ExcludeFeaturesAttribute", + "FailureFeedbackRoleArn": { + "markdownDescription": "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch.", + "title": "FailureFeedbackRoleArn", "type": "string" }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", - "title": "LocalPath", + "Protocol": { + "markdownDescription": "Indicates one of the supported protocols for the Amazon SNS topic.\n\n> At least one of the other three `LoggingConfig` properties is recommend along with `Protocol` .", + "title": "Protocol", "type": "string" }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", + "SuccessFeedbackRoleArn": { + "markdownDescription": "The IAM role ARN to be used when logging successful message deliveries in Amazon CloudWatch.", + "title": "SuccessFeedbackRoleArn", "type": "string" }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", + "SuccessFeedbackSampleRate": { + "markdownDescription": "The percentage of successful message deliveries to be logged in Amazon CloudWatch. Valid percentage values range from 0 to 100.", + "title": "SuccessFeedbackSampleRate", "type": "string" } }, "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.Json": { - "additionalProperties": false, - "properties": { - "Line": { - "markdownDescription": "", - "title": "Line", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output", - "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", - "title": "S3Output" - } - }, - "required": [ - "S3Output" + "Protocol" ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { + "AWS::SNS::Topic.Subscription": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS ) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.", - "title": "KmsKeyId", + "Endpoint": { + "markdownDescription": "The endpoint that receives notifications from the Amazon topic. The endpoint value depends on the protocol that you specify. For more information, see the `Endpoint` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", + "title": "Endpoint", "type": "string" }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" - }, - "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", - "title": "MonitoringOutputs", - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig", - "markdownDescription": "The configuration for the cluster resources used to run the processing job.", - "title": "ClusterConfig" + "Protocol": { + "markdownDescription": "The subscription's protocol. For more information, see the `Protocol` parameter of the `[Subscribe](https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)` action in the *Amazon API Reference* .", + "title": "Protocol", + "type": "string" } }, "required": [ - "ClusterConfig" + "Endpoint", + "Protocol" ], "type": "object" }, - "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", - "title": "EnableInterContainerTrafficEncryption", - "type": "boolean" - }, - "EnableNetworkIsolation": { - "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", - "title": "EnableNetworkIsolation", - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig", - "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", - "title": "VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.S3Output": { + "AWS::SNS::TopicInlinePolicy": { "additionalProperties": false, "properties": { - "LocalPath": { - "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", - "title": "LocalPath", + "Condition": { "type": "string" }, - "S3UploadMode": { - "markdownDescription": "Whether to upload the results of the monitoring job continuously or after the job completes.", - "title": "S3UploadMode", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3Uri": { - "markdownDescription": "A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.", - "title": "S3Uri", - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the statistics resource.", - "title": "S3Uri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "markdownDescription": "The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.\n\nFor compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.\n\nFor all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.\n\nThe maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.", - "title": "MaxRuntimeInSeconds", - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", - "title": "SecurityGroupIds", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Subnets": { - "items": { - "type": "string" + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "markdownDescription": "A policy document that contains permissions to add to the specified Amazon topic.", + "title": "PolicyDocument", + "type": "object" + }, + "TopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the topic to which you want to add the policy.", + "title": "TopicArn", + "type": "string" + } }, - "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", - "title": "Subnets", - "type": "array" + "required": [ + "PolicyDocument", + "TopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::TopicInlinePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Device": { + "AWS::SNS::TopicPolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -359668,33 +326878,29 @@ "Properties": { "additionalProperties": false, "properties": { - "Device": { - "$ref": "#/definitions/AWS::SageMaker::Device.Device", - "markdownDescription": "Edge device you want to create.", - "title": "Device" - }, - "DeviceFleetName": { - "markdownDescription": "The name of the fleet the device belongs to.", - "title": "DeviceFleetName", - "type": "string" + "PolicyDocument": { + "markdownDescription": "A policy document that contains permissions to add to the specified SNS topics.", + "title": "PolicyDocument", + "type": "object" }, - "Tags": { + "Topics": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, - "markdownDescription": "An array of key-value pairs that contain metadata to help you categorize and organize your devices. Each tag consists of a key and a value, both of which you define.", - "title": "Tags", + "markdownDescription": "The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SNS::Topic](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)` resource.", + "title": "Topics", "type": "array" } }, "required": [ - "DeviceFleetName" + "PolicyDocument", + "Topics" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Device" + "AWS::SNS::TopicPolicy" ], "type": "string" }, @@ -359713,31 +326919,148 @@ ], "type": "object" }, - "AWS::SageMaker::Device.Device": { + "AWS::SQS::Queue": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "Description of the device.", - "title": "Description", + "Condition": { "type": "string" }, - "DeviceName": { - "markdownDescription": "The name of the device.", - "title": "DeviceName", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "IotThingName": { - "markdownDescription": "AWS Internet of Things (IoT) object name.", - "title": "IotThingName", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "markdownDescription": "For first-in-first-out (FIFO) queues, specifies whether to enable content-based deduplication. During the deduplication interval, Amazon SQS treats messages that are sent with identical content as duplicates and delivers only one copy of the message. For more information, see the `ContentBasedDeduplication` attribute for the `[CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html)` action in the *Amazon SQS API Reference* .", + "title": "ContentBasedDeduplication", + "type": "boolean" + }, + "DeduplicationScope": { + "markdownDescription": "For high throughput for FIFO queues, specifies whether message deduplication occurs at the message group or queue level. Valid values are `messageGroup` and `queue` .\n\nTo enable high throughput for a FIFO queue, set this attribute to `messageGroup` *and* set the `FifoThroughputLimit` attribute to `perMessageGroupId` . If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Amazon SQS Developer Guide* .", + "title": "DeduplicationScope", + "type": "string" + }, + "DelaySeconds": { + "markdownDescription": "The time in seconds for which the delivery of all messages in the queue is delayed. You can specify an integer value of `0` to `900` (15 minutes). The default value is `0` .", + "title": "DelaySeconds", + "type": "number" + }, + "FifoQueue": { + "markdownDescription": "If set to true, creates a FIFO queue. If you don't specify this property, Amazon SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Amazon SQS Developer Guide* .", + "title": "FifoQueue", + "type": "boolean" + }, + "FifoThroughputLimit": { + "markdownDescription": "For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are `perQueue` and `perMessageGroupId` .\n\nTo enable high throughput for a FIFO queue, set this attribute to `perMessageGroupId` *and* set the `DeduplicationScope` attribute to `messageGroup` . If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Amazon SQS Developer Guide* .", + "title": "FifoThroughputLimit", + "type": "string" + }, + "KmsDataKeyReusePeriodSeconds": { + "markdownDescription": "The length of time in seconds for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS again. The value must be an integer between 60 (1 minute) and 86,400 (24 hours). The default is 300 (5 minutes).\n\n> A shorter time period provides better security, but results in more calls to AWS , which might incur charges after Free Tier. For more information, see [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work) in the *Amazon SQS Developer Guide* .", + "title": "KmsDataKeyReusePeriodSeconds", + "type": "number" + }, + "KmsMasterKeyId": { + "markdownDescription": "The ID of an AWS Key Management Service (KMS) for Amazon SQS , or a custom KMS. To use the AWS managed KMS for Amazon SQS , specify a (default) alias ARN, alias name (for example `alias/aws/sqs` ), key ARN, or key ID. For more information, see the following:\n\n- [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Amazon SQS Developer Guide*\n- [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *Amazon SQS API Reference*\n- [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *AWS Key Management Service API Reference*\n- The Key Management Service (KMS) section of the [Security best practices for AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *AWS Key Management Service Developer Guide*", + "title": "KmsMasterKeyId", + "type": "string" + }, + "MaximumMessageSize": { + "markdownDescription": "The limit of how many bytes that a message can contain before Amazon SQS rejects it. You can specify an integer from 1,024 bytes (1 KiB) to 1,048,576 bytes (1 MiB).\nDefault: 1,048,576 bytes (1 MiB).", + "title": "MaximumMessageSize", + "type": "number" + }, + "MessageRetentionPeriod": { + "markdownDescription": "The number of seconds that Amazon SQS retains a message. You can specify an integer value from `60` seconds (1 minute) to `1,209,600` seconds (14 days). The default value is `345,600` seconds (4 days).", + "title": "MessageRetentionPeriod", + "type": "number" + }, + "QueueName": { + "markdownDescription": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the `.fifo` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Amazon SQS Developer Guide* .\n\nIf you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *CloudFormation User Guide* .\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 must replace the resource, specify a new name.", + "title": "QueueName", + "type": "string" + }, + "ReceiveMessageWaitTimeSeconds": { + "markdownDescription": "Specifies the duration, in seconds, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify an integer from 1 to 20. Short polling is used as the default or when you specify 0 for this property. For more information, see [Consuming messages using long polling](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling) in the *Amazon SQS Developer Guide* .", + "title": "ReceiveMessageWaitTimeSeconds", + "type": "number" + }, + "RedriveAllowPolicy": { + "markdownDescription": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n\n- `redrivePermission` : The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n\n- `allowAll` : (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n- `denyAll` : No source queues can specify this queue as the dead-letter queue.\n- `byQueue` : Only queues specified by the `sourceQueueArns` parameter can specify this queue as the dead-letter queue.\n- `sourceQueueArns` : The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the `redrivePermission` parameter is set to `byQueue` . You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the `redrivePermission` parameter to `allowAll` .", + "title": "RedriveAllowPolicy", + "type": "object" + }, + "RedrivePolicy": { + "markdownDescription": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n\n- `deadLetterTargetArn` : The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of `maxReceiveCount` is exceeded.\n- `maxReceiveCount` : The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the `ReceiveCount` for a message exceeds the `maxReceiveCount` for a queue, Amazon SQS moves the message to the dead-letter-queue.\n\n> The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue. \n\n*JSON*\n\n`{ \"deadLetterTargetArn\" : *String* , \"maxReceiveCount\" : *Integer* }`\n\n*YAML*\n\n`deadLetterTargetArn : *String*`\n\n`maxReceiveCount : *Integer*`", + "title": "RedrivePolicy", + "type": "object" + }, + "SqsManagedSseEnabled": { + "markdownDescription": "Enables server-side queue encryption using SQS owned encryption keys. Only one server-side encryption option is supported per queue (for example, [SSE-KMS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html) or [SSE-SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html) ). When `SqsManagedSseEnabled` is not defined, `SSE-SQS` encryption is enabled by default.", + "title": "SqsManagedSseEnabled", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags that you attach to this queue. For more information, see [Resource tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) in the *CloudFormation User Guide* .", + "title": "Tags", + "type": "array" + }, + "VisibilityTimeout": { + "markdownDescription": "The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue.\n\nValues must be from 0 to 43,200 seconds (12 hours). If you don't specify a value, AWS CloudFormation uses the default value of 30 seconds.\n\nFor more information about Amazon SQS queue visibility timeouts, see [Visibility timeout](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) in the *Amazon SQS Developer Guide* .", + "title": "VisibilityTimeout", + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DeviceName" + "Type" ], "type": "object" }, - "AWS::SageMaker::DeviceFleet": { + "AWS::SQS::QueueInlinePolicy": { "additionalProperties": false, "properties": { "Condition": { @@ -359772,45 +327095,26 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A description of the fleet.", - "title": "Description", - "type": "string" - }, - "DeviceFleetName": { - "markdownDescription": "Name of the device fleet.", - "title": "DeviceFleetName", - "type": "string" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig", - "markdownDescription": "The output configuration for storing sample data collected by the fleet.", - "title": "OutputConfig" + "PolicyDocument": { + "markdownDescription": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see [Using custom policies with the Amazon SQS access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Amazon SQS Developer Guide* .", + "title": "PolicyDocument", + "type": "object" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) that has access to AWS Internet of Things (IoT).", - "title": "RoleArn", + "Queue": { + "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html)` resource.", + "title": "Queue", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs that contain metadata to help you categorize and organize your device fleets. Each tag consists of a key and a value, both of which you define.", - "title": "Tags", - "type": "array" } }, "required": [ - "DeviceFleetName", - "OutputConfig", - "RoleArn" + "PolicyDocument", + "Queue" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::DeviceFleet" + "AWS::SQS::QueueInlinePolicy" ], "type": "string" }, @@ -359829,26 +327133,83 @@ ], "type": "object" }, - "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { + "AWS::SQS::QueuePolicy": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume after compilation job. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account.", - "title": "KmsKeyId", + "Condition": { "type": "string" }, - "S3OutputLocation": { - "markdownDescription": "The Amazon Simple Storage (S3) bucket URI.", - "title": "S3OutputLocation", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "markdownDescription": "A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see [Using custom policies with the Amazon SQS access policy language](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html) in the *Amazon SQS Developer Guide* .", + "title": "PolicyDocument", + "type": "object" + }, + "Queues": { + "items": { + "type": "string" + }, + "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the `[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)` function to specify an `[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)` resource.", + "title": "Queues", + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "S3OutputLocation" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Domain": { + "AWS::SSM::Association": { "additionalProperties": false, "properties": { "Condition": { @@ -359883,86 +327244,115 @@ "Properties": { "additionalProperties": false, "properties": { - "AppNetworkAccessType": { - "markdownDescription": "Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly` .\n\n- `PublicInternetOnly` - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI , which allows direct internet access\n- `VpcOnly` - All Studio traffic is through the specified VPC and subnets\n\n*Valid Values* : `PublicInternetOnly | VpcOnly`", - "title": "AppNetworkAccessType", + "ApplyOnlyAtCronInterval": { + "markdownDescription": "By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter is not supported for rate expressions.", + "title": "ApplyOnlyAtCronInterval", + "type": "boolean" + }, + "AssociationDispatchAssumeRole": { "type": "string" }, - "AppSecurityGroupManagement": { - "markdownDescription": "The entity that creates and manages the required security groups for inter-app communication in `VpcOnly` mode. Required when `CreateDomain.AppNetworkAccessType` is `VpcOnly` and `DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn` is provided. If setting up the domain for use with RStudio, this value must be set to `Service` .\n\n*Allowed Values* : `Service` | `Customer`", - "title": "AppSecurityGroupManagement", + "AssociationName": { + "markdownDescription": "Specify a descriptive name for the association.", + "title": "AssociationName", "type": "string" }, - "AuthMode": { - "markdownDescription": "The mode of authentication that members use to access the Domain.\n\n*Valid Values* : `SSO | IAM`", - "title": "AuthMode", + "AutomationTargetParameterName": { + "markdownDescription": "Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a tool in AWS Systems Manager .", + "title": "AutomationTargetParameterName", "type": "string" }, - "DefaultSpaceSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceSettings", - "markdownDescription": "The default settings for shared spaces that users create in the domain.\n\nSageMaker applies these settings only to shared spaces. It doesn't apply them to private spaces.", - "title": "DefaultSpaceSettings" + "CalendarNames": { + "items": { + "type": "string" + }, + "markdownDescription": "The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. The associations only run when that Change Calendar is open. For more information, see [AWS Systems Manager Change Calendar](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar) in the *AWS Systems Manager User Guide* .", + "title": "CalendarNames", + "type": "array" }, - "DefaultUserSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings", - "markdownDescription": "The default user settings.", - "title": "DefaultUserSettings" + "ComplianceSeverity": { + "markdownDescription": "The severity level that is assigned to the association.", + "title": "ComplianceSeverity", + "type": "string" }, - "DomainName": { - "markdownDescription": "The domain name.", - "title": "DomainName", + "DocumentVersion": { + "markdownDescription": "The version of the SSM document to associate with the target.\n\n> Note the following important information.\n> \n> - State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the `default` version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to `default` .\n> - `DocumentVersion` is not valid for documents owned by AWS , such as `AWS-RunPatchBaseline` or `AWS-UpdateSSMAgent` . If you specify `DocumentVersion` for an AWS document, the system returns the following error: \"Error occurred during operation 'CreateAssociation'.\" (RequestToken: , HandlerErrorCode: GeneralServiceException).", + "title": "DocumentVersion", "type": "string" }, - "DomainSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DomainSettings", - "markdownDescription": "A collection of settings that apply to the `SageMaker Domain` . These settings are specified through the `CreateDomain` API call.", - "title": "DomainSettings" + "InstanceId": { + "markdownDescription": "> `InstanceId` has been deprecated. To specify an instance ID for an association, use the `Targets` parameter. If you use the parameter `InstanceId` , you cannot use the parameters `AssociationName` , `DocumentVersion` , `MaxErrors` , `MaxConcurrency` , `OutputLocation` , or `ScheduleExpression` . To use these parameters, you must use the `Targets` parameter.\n> \n> Note that in some examples later in this page, `InstanceIds` is used as the tag-key name in a `Targets` filter. `InstanceId` is not used as a parameter. \n\nThe ID of the instance that the SSM document is associated with. You must specify the `InstanceId` or `Targets` property.", + "title": "InstanceId", + "type": "string" }, - "HomeEfsFileSystemCreation": { + "MaxConcurrency": { + "markdownDescription": "The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.\n\nIf a new managed node starts and attempts to run an association while Systems Manager is running `MaxConcurrency` associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for `MaxConcurrency` .", + "title": "MaxConcurrency", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "SageMaker uses AWS KMS to encrypt the EFS volume attached to the Domain with an AWS managed customer master key (CMK) by default. For more control, specify a customer managed CMK.\n\n*Length Constraints* : Maximum length of 2048.\n\n*Pattern* : `.*`", - "title": "KmsKeyId", + "MaxErrors": { + "markdownDescription": "The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set `MaxError` to 10%, then the system stops sending the request when the sixth error is received.\n\nExecutions that are already running an association when `MaxErrors` is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set `MaxConcurrency` to 1 so that executions proceed one at a time.", + "title": "MaxErrors", "type": "string" }, - "SubnetIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC subnets that Studio uses for communication.\n\n*Length Constraints* : Maximum length of 32.\n\n*Array members* : Minimum number of 1 item. Maximum number of 16 items.\n\n*Pattern* : `[-0-9a-zA-Z]+`", - "title": "SubnetIds", - "type": "array" + "Name": { + "markdownDescription": "The name of the SSM document that contains the configuration information for the instance. You can specify `Command` or `Automation` documents. The documents can be AWS -predefined documents, documents you created, or a document that is shared with you from another account. For SSM documents that are shared with you from other AWS accounts , you must specify the complete SSM document ARN, in the following format:\n\n`arn:partition:ssm:region:account-id:document/document-name`\n\nFor example: `arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document`\n\nFor AWS -predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, `AWS -ApplyPatchBaseline` or `My-Document` .", + "title": "Name", + "type": "string" }, - "TagPropagation": { - "markdownDescription": "", - "title": "TagPropagation", + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation", + "markdownDescription": "An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.", + "title": "OutputLocation" + }, + "Parameters": { + "markdownDescription": "The parameters for the runtime configuration of the document.", + "title": "Parameters", + "type": "object" + }, + "ScheduleExpression": { + "markdownDescription": "A cron expression that specifies a schedule when the association runs. The schedule runs in Coordinated Universal Time (UTC).", + "title": "ScheduleExpression", + "type": "string" + }, + "ScheduleOffset": { + "markdownDescription": "Number of days to wait after the scheduled day to run an association.", + "title": "ScheduleOffset", + "type": "number" + }, + "SyncCompliance": { + "markdownDescription": "The mode for generating association compliance. You can specify `AUTO` or `MANUAL` . In `AUTO` mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is `COMPLIANT` . If the association execution doesn't run successfully, the association is `NON-COMPLIANT` .\n\nIn `MANUAL` mode, you must specify the `AssociationId` as a parameter for the `PutComplianceItems` API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the `PutComplianceItems` API action.\n\nBy default, all associations use `AUTO` mode.", + "title": "SyncCompliance", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.\n\nTags that you specify for the Domain are also added to all apps that are launched in the Domain.\n\n*Array members* : Minimum number of 0 items. Maximum number of 50 items.", - "title": "Tags", "type": "array" }, - "VpcId": { - "markdownDescription": "The ID of the Amazon Virtual Private Cloud (Amazon VPC) that Studio uses for communication.\n\n*Length Constraints* : Maximum length of 32.\n\n*Pattern* : `[-0-9a-zA-Z]+`", - "title": "VpcId", - "type": "string" + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "markdownDescription": "The targets for the association. You must specify the `InstanceId` or `Targets` property. You can target all instances in an AWS account by specifying t he `InstanceIds` key with a value of `*` .\n\nSupported formats include the following.\n\n- `Key=InstanceIds,Values=,,`\n- `Key=tag-key,Values=,`\n\nTo view a JSON and a YAML example that targets all instances, see \"Create an association for all managed instances in an AWS account \" on the Examples page.", + "title": "Targets", + "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "markdownDescription": "The number of seconds the service should wait for the association status to show \"Success\" before proceeding with the stack execution. If the association status doesn't show \"Success\" after the specified number of seconds, then stack creation fails.\n\n> When you specify a value for the `WaitForSuccessTimeoutSeconds` , [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) for your CloudFormation stack\u2019s configuration might yield inaccurate results. If drift detection is important in your scenario, we recommend that you don\u2019t include `WaitForSuccessTimeoutSeconds` in your template.", + "title": "WaitForSuccessTimeoutSeconds", + "type": "number" } }, "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName" + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Domain" + "AWS::SSM::Association" ], "type": "string" }, @@ -359981,757 +327371,467 @@ ], "type": "object" }, - "AWS::SageMaker::Domain.AppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.IdleSettings", - "markdownDescription": "Settings related to idle shutdown of Studio applications.", - "title": "IdleSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.CodeEditorAppSettings": { - "additionalProperties": false, - "properties": { - "AppLifecycleManagement": { - "$ref": "#/definitions/AWS::SageMaker::Domain.AppLifecycleManagement", - "markdownDescription": "Settings that are used to configure and manage the lifecycle of CodeEditor applications.", - "title": "AppLifecycleManagement" - }, - "BuiltInLifecycleConfigArn": { - "markdownDescription": "The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.", - "title": "BuiltInLifecycleConfigArn", - "type": "string" - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "markdownDescription": "A list of custom SageMaker images that are configured to run as a Code Editor app.", - "title": "CustomImages", - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the Code Editor app.", - "title": "DefaultResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Code Editor application lifecycle configuration.", - "title": "LifecycleConfigArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.CodeRepository": { - "additionalProperties": false, - "properties": { - "RepositoryUrl": { - "markdownDescription": "The URL of the Git repository.", - "title": "RepositoryUrl", - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.CustomFileSystemConfig": { + "AWS::SSM::Association.InstanceAssociationOutputLocation": { "additionalProperties": false, "properties": { - "EFSFileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig", - "markdownDescription": "The settings for a custom Amazon EFS file system.", - "title": "EFSFileSystemConfig" - }, - "FSxLustreFileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.FSxLustreFileSystemConfig", - "markdownDescription": "The settings for a custom Amazon FSx for Lustre file system.", - "title": "FSxLustreFileSystemConfig" - }, - "S3FileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.S3FileSystemConfig", - "markdownDescription": "Configuration settings for a custom Amazon S3 file system.", - "title": "S3FileSystemConfig" + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation", + "markdownDescription": "`S3OutputLocation` is a property of the [InstanceAssociationOutputLocation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html) property that specifies an Amazon S3 bucket where you want to store the results of this request.", + "title": "S3Location" } }, "type": "object" }, - "AWS::SageMaker::Domain.CustomImage": { + "AWS::SSM::Association.S3OutputLocation": { "additionalProperties": false, "properties": { - "AppImageConfigName": { - "markdownDescription": "The name of the AppImageConfig.", - "title": "AppImageConfigName", - "type": "string" - }, - "ImageName": { - "markdownDescription": "The name of the CustomImage. Must be unique to your account.", - "title": "ImageName", + "OutputS3BucketName": { + "markdownDescription": "The name of the S3 bucket.", + "title": "OutputS3BucketName", "type": "string" }, - "ImageVersionNumber": { - "markdownDescription": "The version number of the CustomImage.", - "title": "ImageVersionNumber", - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.CustomPosixUserConfig": { - "additionalProperties": false, - "properties": { - "Gid": { - "markdownDescription": "The POSIX group ID.", - "title": "Gid", - "type": "number" - }, - "Uid": { - "markdownDescription": "The POSIX user ID.", - "title": "Uid", - "type": "number" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsVolumeSizeInGb": { - "markdownDescription": "The default size of the EBS storage volume for a space.", - "title": "DefaultEbsVolumeSizeInGb", - "type": "number" - }, - "MaximumEbsVolumeSizeInGb": { - "markdownDescription": "The maximum size of the EBS storage volume for a space.", - "title": "MaximumEbsVolumeSizeInGb", - "type": "number" - } - }, - "required": [ - "DefaultEbsVolumeSizeInGb", - "MaximumEbsVolumeSizeInGb" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.DefaultSpaceSettings": { - "additionalProperties": false, - "properties": { - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" - }, - "markdownDescription": "The settings for assigning a custom file system to a domain. Permitted users can access this file system in Amazon SageMaker AI Studio.", - "title": "CustomFileSystemConfigs", - "type": "array" - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig", - "markdownDescription": "", - "title": "CustomPosixUserConfig" - }, - "ExecutionRole": { - "markdownDescription": "The ARN of the execution role for the space.", - "title": "ExecutionRole", + "OutputS3KeyPrefix": { + "markdownDescription": "The S3 bucket subfolder.", + "title": "OutputS3KeyPrefix", "type": "string" }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings", - "markdownDescription": "", - "title": "JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings", - "markdownDescription": "The JupyterServer app settings.", - "title": "JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings", - "markdownDescription": "The KernelGateway app settings.", - "title": "KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "The security group IDs for the Amazon VPC that the space uses for communication.", - "title": "SecurityGroups", - "type": "array" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings", - "markdownDescription": "", - "title": "SpaceStorageSettings" - } - }, - "required": [ - "ExecutionRole" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "DefaultEbsStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings", - "markdownDescription": "The default EBS storage settings for a space.", - "title": "DefaultEbsStorageSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.DockerSettings": { - "additionalProperties": false, - "properties": { - "EnableDockerAccess": { - "markdownDescription": "Indicates whether the domain can access Docker.", - "title": "EnableDockerAccess", + "OutputS3Region": { + "markdownDescription": "The AWS Region of the S3 bucket.", + "title": "OutputS3Region", "type": "string" - }, - "VpcOnlyTrustedAccounts": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of AWS accounts that are trusted when the domain is created in VPC-only mode.", - "title": "VpcOnlyTrustedAccounts", - "type": "array" } }, "type": "object" }, - "AWS::SageMaker::Domain.DomainSettings": { + "AWS::SSM::Association.Target": { "additionalProperties": false, "properties": { - "DockerSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DockerSettings", - "markdownDescription": "A collection of settings that configure the domain's Docker interaction.", - "title": "DockerSettings" - }, - "ExecutionRoleIdentityConfig": { - "markdownDescription": "The configuration for attaching a SageMaker AI user profile name to the execution role as a [sts:SourceIdentity key](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html) .", - "title": "ExecutionRoleIdentityConfig", - "type": "string" - }, - "IpAddressType": { - "markdownDescription": "The IP address type for the domain. Specify `ipv4` for IPv4-only connectivity or `dualstack` for both IPv4 and IPv6 connectivity. When you specify `dualstack` , the subnet must support IPv6 CIDR blocks. If not specified, defaults to `ipv4` .", - "title": "IpAddressType", + "Key": { + "markdownDescription": "User-defined criteria for sending commands that target managed nodes that meet the criteria.", + "title": "Key", "type": "string" }, - "RStudioServerProDomainSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.RStudioServerProDomainSettings", - "markdownDescription": "A collection of settings that configure the `RStudioServerPro` Domain-level app.", - "title": "RStudioServerProDomainSettings" - }, - "SecurityGroupIds": { + "Values": { "items": { "type": "string" }, - "markdownDescription": "The security groups for the Amazon Virtual Private Cloud that the `Domain` uses for communication between Domain-level apps and user apps.", - "title": "SecurityGroupIds", + "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` .\n\nDepending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.", + "title": "Values", "type": "array" - }, - "UnifiedStudioSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.UnifiedStudioSettings", - "markdownDescription": "The settings that apply to an SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.", - "title": "UnifiedStudioSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.EFSFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "markdownDescription": "The ID of your Amazon EFS file system.", - "title": "FileSystemId", - "type": "string" - }, - "FileSystemPath": { - "markdownDescription": "The path to the file system directory that is accessible in Amazon SageMaker AI Studio. Permitted users can access only this directory and below.", - "title": "FileSystemPath", - "type": "string" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.FSxLustreFileSystemConfig": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "markdownDescription": "The globally unique, 17-digit, ID of the file system, assigned by Amazon FSx for Lustre.", - "title": "FileSystemId", - "type": "string" - }, - "FileSystemPath": { - "markdownDescription": "The path to the file system directory that is accessible in Amazon SageMaker Studio. Permitted users can access only this directory and below.", - "title": "FileSystemPath", - "type": "string" } }, "required": [ - "FileSystemId" + "Key", + "Values" ], "type": "object" }, - "AWS::SageMaker::Domain.HiddenSageMakerImage": { - "additionalProperties": false, - "properties": { - "SageMakerImageName": { - "markdownDescription": "The SageMaker image name that you are hiding from the Studio user interface.", - "title": "SageMakerImageName", - "type": "string" - }, - "VersionAliases": { - "items": { - "type": "string" - }, - "markdownDescription": "The version aliases you are hiding from the Studio user interface.", - "title": "VersionAliases", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.IdleSettings": { + "AWS::SSM::Document": { "additionalProperties": false, "properties": { - "IdleTimeoutInMinutes": { - "markdownDescription": "The time that SageMaker waits after the application becomes idle before shutting it down.", - "title": "IdleTimeoutInMinutes", - "type": "number" - }, - "LifecycleManagement": { - "markdownDescription": "Indicates whether idle shutdown is activated for the application type.", - "title": "LifecycleManagement", + "Condition": { "type": "string" }, - "MaxIdleTimeoutInMinutes": { - "markdownDescription": "The maximum value in minutes that custom idle shutdown can be set to by the user.", - "title": "MaxIdleTimeoutInMinutes", - "type": "number" - }, - "MinIdleTimeoutInMinutes": { - "markdownDescription": "The minimum value in minutes that custom idle shutdown can be set to by the user.", - "title": "MinIdleTimeoutInMinutes", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.JupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "AppLifecycleManagement": { - "$ref": "#/definitions/AWS::SageMaker::Domain.AppLifecycleManagement", - "markdownDescription": "Indicates whether idle shutdown is activated for JupyterLab applications.", - "title": "AppLifecycleManagement" - }, - "BuiltInLifecycleConfigArn": { - "markdownDescription": "The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.", - "title": "BuiltInLifecycleConfigArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "CodeRepositories": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" - }, - "markdownDescription": "A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.", - "title": "CodeRepositories", - "type": "array" - }, - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "markdownDescription": "A list of custom SageMaker images that are configured to run as a JupyterLab app.", - "title": "CustomImages", - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.", - "title": "DefaultResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the lifecycle configurations attached to the user profile or domain. To remove a lifecycle config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.", - "title": "DefaultResourceSpec" - }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a KernelGateway app.\n\nThe maximum number of custom images are as follows.\n\n- On a domain level: 200\n- On a space level: 5\n- On a user profile level: 5", - "title": "CustomImages", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.\n\n> The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.", - "title": "DefaultResourceSpec" + "Metadata": { + "type": "object" }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.RSessionAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + "Properties": { + "additionalProperties": false, + "properties": { + "Attachments": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" + }, + "markdownDescription": "A list of key-value pairs that describe attachments to a version of a document.", + "title": "Attachments", + "type": "array" + }, + "Content": { + "markdownDescription": "The content for the new SSM document in JSON or YAML. For more information about the schemas for SSM document content, see [SSM document schema features and examples](https://docs.aws.amazon.com/systems-manager/latest/userguide/document-schemas-features.html) in the *AWS Systems Manager User Guide* .\n\n> This parameter also supports `String` data types.", + "title": "Content", + "type": "object" + }, + "DocumentFormat": { + "markdownDescription": "Specify the document format for the request. `JSON` is the default format.", + "title": "DocumentFormat", + "type": "string" + }, + "DocumentType": { + "markdownDescription": "The type of document to create.", + "title": "DocumentType", + "type": "string" + }, + "Name": { + "markdownDescription": "A name for the SSM document.\n\n> You can't use the following strings as document name prefixes. These are reserved by AWS for use as document name prefixes:\n> \n> - `aws`\n> - `amazon`\n> - `amzn`\n> - `AWSEC2`\n> - `AWSConfigRemediation`\n> - `AWSSupport`", + "title": "Name", + "type": "string" + }, + "Requires": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" + }, + "markdownDescription": "A list of SSM documents required by a document. This parameter is used exclusively by AWS AppConfig . When a user creates an AWS AppConfig configuration in an SSM document, the user must also specify a required document for validation purposes. In this case, an `ApplicationConfiguration` document requires an `ApplicationConfigurationSchema` document for validation purposes. For more information, see [What is AWS AppConfig ?](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) in the *AWS AppConfig User Guide* .", + "title": "Requires", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "AWS CloudFormation resource tags to apply to the document. Use tags to help you identify and categorize resources.", + "title": "Tags", + "type": "array" + }, + "TargetType": { + "markdownDescription": "Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: `/AWS::EC2::Instance` . If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see [AWS resource and property types reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) in the *AWS CloudFormation User Guide* .", + "title": "TargetType", + "type": "string" + }, + "UpdateMethod": { + "markdownDescription": "If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced. `Replace` is the default method. If you specify `NewVersion` for the `UpdateMethod` parameter, and the `Name` of the document does not match an existing resource, a new document is created. When you specify `NewVersion` , the default version of the document is changed to the newly created version.", + "title": "UpdateMethod", + "type": "string" + }, + "VersionName": { + "markdownDescription": "An optional field specifying the version of the artifact you are creating with the document. For example, `Release12.1` . This value is unique across all versions of a document, and can't be changed.", + "title": "VersionName", + "type": "string" + } }, - "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a RSession app.", - "title": "CustomImages", - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", - "title": "DefaultResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.RStudioServerProAppSettings": { - "additionalProperties": false, - "properties": { - "AccessStatus": { - "markdownDescription": "Indicates whether the current user has access to the `RStudioServerPro` app.", - "title": "AccessStatus", - "type": "string" - }, - "UserGroup": { - "markdownDescription": "The level of permissions that the user has within the `RStudioServerPro` app. This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.", - "title": "UserGroup", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.RStudioServerProDomainSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", - "markdownDescription": "A collection that defines the default `InstanceType` , `SageMakerImageArn` , and `SageMakerImageVersionArn` for the Domain.", - "title": "DefaultResourceSpec" - }, - "DomainExecutionRoleArn": { - "markdownDescription": "The ARN of the execution role for the `RStudioServerPro` Domain-level app.", - "title": "DomainExecutionRoleArn", - "type": "string" + "required": [ + "Content" + ], + "type": "object" }, - "RStudioConnectUrl": { - "markdownDescription": "A URL pointing to an RStudio Connect server.", - "title": "RStudioConnectUrl", + "Type": { + "enum": [ + "AWS::SSM::Document" + ], "type": "string" }, - "RStudioPackageManagerUrl": { - "markdownDescription": "A URL pointing to an RStudio Package Manager server.", - "title": "RStudioPackageManagerUrl", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "DomainExecutionRoleArn" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::Domain.ResourceSpec": { + "AWS::SSM::Document.AttachmentsSource": { "additionalProperties": false, "properties": { - "InstanceType": { - "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", - "title": "InstanceType", - "type": "string" - }, - "LifecycleConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", - "title": "LifecycleConfigArn", - "type": "string" - }, - "SageMakerImageArn": { - "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", - "title": "SageMakerImageArn", + "Key": { + "markdownDescription": "The key of a key-value pair that identifies the location of an attachment to a document.", + "title": "Key", "type": "string" }, - "SageMakerImageVersionArn": { - "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", - "title": "SageMakerImageVersionArn", + "Name": { + "markdownDescription": "The name of the document attachment file.", + "title": "Name", "type": "string" }, - "TrainingPlanArn": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value of a key-value pair that identifies the location of an attachment to a document. The format for *Value* depends on the type of key you specify.\n\n- For the key *SourceUrl* , the value is an S3 bucket location. For example:\n\n`\"Values\": [ \"s3://amzn-s3-demo-bucket/my-prefix\" ]`\n- For the key *S3FileUrl* , the value is a file in an S3 bucket. For example:\n\n`\"Values\": [ \"s3://amzn-s3-demo-bucket/my-prefix/my-file.py\" ]`\n- For the key *AttachmentReference* , the value is constructed from the name of another SSM document in your account, a version number of that document, and a file attached to that document version that you want to reuse. For example:\n\n`\"Values\": [ \"MyOtherDocument/3/my-other-file.py\" ]`\n\nHowever, if the SSM document is shared with you from another account, the full SSM document ARN must be specified instead of the document name only. For example:\n\n`\"Values\": [ \"arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py\" ]`", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::Domain.S3FileSystemConfig": { + "AWS::SSM::Document.DocumentRequires": { "additionalProperties": false, "properties": { - "MountPath": { - "markdownDescription": "The file system path where the Amazon S3 storage location will be mounted within the Amazon SageMaker Studio environment.", - "title": "MountPath", + "Name": { + "markdownDescription": "The name of the required SSM document. The name can be an Amazon Resource Name (ARN).", + "title": "Name", "type": "string" }, - "S3Uri": { - "markdownDescription": "The Amazon S3 URI of the S3 file system configuration.", - "title": "S3Uri", + "Version": { + "markdownDescription": "The document version required by the current document.", + "title": "Version", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::Domain.SharingSettings": { + "AWS::SSM::MaintenanceWindow": { "additionalProperties": false, "properties": { - "NotebookOutputOption": { - "markdownDescription": "Whether to include the notebook cell output when sharing the notebook. The default is `Disabled` .", - "title": "NotebookOutputOption", + "Condition": { "type": "string" }, - "S3KmsKeyId": { - "markdownDescription": "When `NotebookOutputOption` is `Allowed` , the AWS Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.", - "title": "S3KmsKeyId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3OutputPath": { - "markdownDescription": "When `NotebookOutputOption` is `Allowed` , the Amazon S3 bucket used to store the shared notebook snapshots.", - "title": "S3OutputPath", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.StudioWebPortalSettings": { - "additionalProperties": false, - "properties": { - "HiddenAppTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The [Applications supported in Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-apps.html) that are hidden from the Studio left navigation pane.", - "title": "HiddenAppTypes", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "HiddenInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The instance types you are hiding from the Studio user interface.", - "title": "HiddenInstanceTypes", - "type": "array" + "Metadata": { + "type": "object" }, - "HiddenMlTools": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "AllowUnassociatedTargets": { + "markdownDescription": "Enables a maintenance window task to run on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the maintenance window.", + "title": "AllowUnassociatedTargets", + "type": "boolean" + }, + "Cutoff": { + "markdownDescription": "The number of hours before the end of the maintenance window that AWS Systems Manager stops scheduling new tasks for execution.", + "title": "Cutoff", + "type": "number" + }, + "Description": { + "markdownDescription": "A description of the maintenance window.", + "title": "Description", + "type": "string" + }, + "Duration": { + "markdownDescription": "The duration of the maintenance window in hours.", + "title": "Duration", + "type": "number" + }, + "EndDate": { + "markdownDescription": "The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive.", + "title": "EndDate", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the maintenance window.", + "title": "Name", + "type": "string" + }, + "Schedule": { + "markdownDescription": "The schedule of the maintenance window in the form of a cron or rate expression.", + "title": "Schedule", + "type": "string" + }, + "ScheduleOffset": { + "markdownDescription": "The number of days to wait to run a maintenance window after the scheduled cron expression date and time.", + "title": "ScheduleOffset", + "type": "number" + }, + "ScheduleTimezone": { + "markdownDescription": "The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format.", + "title": "ScheduleTimezone", + "type": "string" + }, + "StartDate": { + "markdownDescription": "The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. `StartDate` allows you to delay activation of the maintenance window until the specified future date.", + "title": "StartDate", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a maintenance window to identify the type of tasks it will run, the types of targets, and the environment it will run in.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "The machine learning tools that are hidden from the Studio left navigation pane.", - "title": "HiddenMlTools", - "type": "array" + "required": [ + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" + ], + "type": "object" }, - "HiddenSageMakerImageVersionAliases": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.HiddenSageMakerImage" - }, - "markdownDescription": "The version aliases you are hiding from the Studio user interface.", - "title": "HiddenSageMakerImageVersionAliases", - "type": "array" + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::Domain.UnifiedStudioSettings": { + "AWS::SSM::MaintenanceWindowTarget": { "additionalProperties": false, "properties": { - "DomainAccountId": { - "markdownDescription": "The ID of the AWS account that has the Amazon SageMaker Unified Studio domain. The default value, if you don't specify an ID, is the ID of the account that has the Amazon SageMaker AI domain.", - "title": "DomainAccountId", + "Condition": { "type": "string" }, - "DomainId": { - "markdownDescription": "The ID of the Amazon SageMaker Unified Studio domain associated with this domain.", - "title": "DomainId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "DomainRegion": { - "markdownDescription": "The AWS Region where the domain is located in Amazon SageMaker Unified Studio. The default value, if you don't specify a Region, is the Region where the Amazon SageMaker AI domain is located.", - "title": "DomainRegion", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "EnvironmentId": { - "markdownDescription": "The ID of the environment that Amazon SageMaker Unified Studio associates with the domain.", - "title": "EnvironmentId", - "type": "string" + "Metadata": { + "type": "object" }, - "ProjectId": { - "markdownDescription": "The ID of the Amazon SageMaker Unified Studio project that corresponds to the domain.", - "title": "ProjectId", - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "markdownDescription": "A description for the target.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name for the maintenance window target.", + "title": "Name", + "type": "string" + }, + "OwnerInformation": { + "markdownDescription": "A user-provided value that will be included in any Amazon CloudWatch Events events that are raised while running tasks for these targets in this maintenance window.", + "title": "OwnerInformation", + "type": "string" + }, + "ResourceType": { + "markdownDescription": "The type of target that is being registered with the maintenance window.", + "title": "ResourceType", + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + }, + "markdownDescription": "The targets to register with the maintenance window. In other words, the instances to run commands on when the maintenance window runs.\n\nYou must specify targets by using the `WindowTargetIds` parameter.", + "title": "Targets", + "type": "array" + }, + "WindowId": { + "markdownDescription": "The ID of the maintenance window to register the target with.", + "title": "WindowId", + "type": "string" + } + }, + "required": [ + "ResourceType", + "Targets", + "WindowId" + ], + "type": "object" }, - "ProjectS3Path": { - "markdownDescription": "The location where Amazon S3 stores temporary execution data and other artifacts for the project that corresponds to the domain.", - "title": "ProjectS3Path", + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTarget" + ], "type": "string" }, - "StudioWebPortalAccess": { - "markdownDescription": "Sets whether you can access the domain in Amazon SageMaker Studio:\n\n- **ENABLED** - You can access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it in both studio interfaces.\n- **DISABLED** - You can't access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it only in that studio interface.\n\nTo migrate a domain to Amazon SageMaker Unified Studio, you specify the UnifiedStudioSettings data type when you use the UpdateDomain action.", - "title": "StudioWebPortalAccess", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::Domain.UserSettings": { + "AWS::SSM::MaintenanceWindowTarget.Targets": { "additionalProperties": false, "properties": { - "AutoMountHomeEFS": { - "markdownDescription": "Indicates whether auto-mounting of an EFS volume is supported for the user profile. The `DefaultAsDomain` value is only supported for user profiles. Do not use the `DefaultAsDomain` value when setting this parameter for a domain.\n\nSageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.", - "title": "AutoMountHomeEFS", - "type": "string" - }, - "CodeEditorAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings", - "markdownDescription": "The Code Editor application settings.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "CodeEditorAppSettings" - }, - "CustomFileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" - }, - "markdownDescription": "The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker AI Studio.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "CustomFileSystemConfigs", - "type": "array" - }, - "CustomPosixUserConfig": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig", - "markdownDescription": "Details about the POSIX identity that is used for file system operations.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "CustomPosixUserConfig" - }, - "DefaultLandingUri": { - "markdownDescription": "The default experience that the user is directed to when accessing the domain. The supported values are:\n\n- `studio::` : Indicates that Studio is the default experience. This value can only be passed if `StudioWebPortal` is set to `ENABLED` .\n- `app:JupyterServer:` : Indicates that Studio Classic is the default experience.", - "title": "DefaultLandingUri", - "type": "string" - }, - "ExecutionRole": { - "markdownDescription": "The execution role for the user.\n\nSageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.", - "title": "ExecutionRole", + "Key": { + "markdownDescription": "User-defined criteria for sending commands that target managed nodes that meet the criteria.", + "title": "Key", "type": "string" }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings", - "markdownDescription": "The settings for the JupyterLab application.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings", - "markdownDescription": "The Jupyter server's app settings.", - "title": "JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings", - "markdownDescription": "The kernel gateway app settings.", - "title": "KernelGatewayAppSettings" - }, - "RSessionAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.RSessionAppSettings", - "markdownDescription": "A collection of settings that configure the `RSessionGateway` app.", - "title": "RSessionAppSettings" - }, - "RStudioServerProAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.RStudioServerProAppSettings", - "markdownDescription": "A collection of settings that configure user interaction with the `RStudioServerPro` app.", - "title": "RStudioServerProAppSettings" - }, - "SecurityGroups": { + "Values": { "items": { "type": "string" }, - "markdownDescription": "The security groups for the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.\n\nOptional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .\n\nRequired when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` , unless specified as part of the `DefaultUserSettings` for the domain.\n\nAmazon SageMaker AI adds a security group to allow NFS traffic from Amazon SageMaker AI Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "SecurityGroups", + "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` .\n\nDepending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50.", + "title": "Values", "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings", - "markdownDescription": "Specifies options for sharing Amazon SageMaker AI Studio notebooks.", - "title": "SharingSettings" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings", - "markdownDescription": "The storage settings for a space.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", - "title": "SpaceStorageSettings" - }, - "StudioWebPortal": { - "markdownDescription": "Whether the user can access Studio. If this value is set to `DISABLED` , the user cannot access Studio, even if that is the default experience for the domain.", - "title": "StudioWebPortal", - "type": "string" - }, - "StudioWebPortalSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.StudioWebPortalSettings", - "markdownDescription": "Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.", - "title": "StudioWebPortalSettings" } }, "required": [ - "ExecutionRole" + "Key", + "Values" ], "type": "object" }, - "AWS::SageMaker::Endpoint": { + "AWS::SSM::MaintenanceWindowTask": { "additionalProperties": false, "properties": { "Condition": { @@ -360766,51 +327866,91 @@ "Properties": { "additionalProperties": false, "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig", - "markdownDescription": "The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.", - "title": "DeploymentConfig" + "CutoffBehavior": { + "markdownDescription": "The specification for whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached.", + "title": "CutoffBehavior", + "type": "string" }, - "EndpointConfigName": { - "markdownDescription": "The name of the [AWS::SageMaker::EndpointConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html) resource that specifies the configuration for the endpoint. For more information, see [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) .", - "title": "EndpointConfigName", + "Description": { + "markdownDescription": "A description of the task.", + "title": "Description", "type": "string" }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "markdownDescription": "When you are updating endpoint resources with [RetainAllVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-RetainAllVariantProperties) whose value is set to `true` , `ExcludeRetainedVariantProperties` specifies the list of type [VariantProperty](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html) to override with the values provided by `EndpointConfig` . If you don't specify a value for `ExcludeAllVariantProperties` , no variant properties are overridden. Don't use this property when creating new endpoint resources or when `RetainAllVariantProperties` is set to `false` .", - "title": "ExcludeRetainedVariantProperties", - "type": "array" + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo", + "markdownDescription": "> `LoggingInfo` has been deprecated. To specify an Amazon S3 bucket to contain logs for Run Command tasks, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` options in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [AWS ::SSM::MaintenanceWindowTask MaintenanceWindowRunCommandParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html) . \n\nInformation about an Amazon S3 bucket to write Run Command task-level logs to.", + "title": "LoggingInfo" }, - "RetainAllVariantProperties": { - "markdownDescription": "When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set `RetainAllVariantProperties` to `true` . To use the variant properties specified in a new `EndpointConfig` call when updating an endpoint, set `RetainAllVariantProperties` to `false` . Use this property only when updating endpoint resources, not when creating new endpoint resources.", - "title": "RetainAllVariantProperties", - "type": "boolean" + "MaxConcurrency": { + "markdownDescription": "The maximum number of targets this task can be run for, in parallel.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases.\n> \n> For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task.", + "title": "MaxConcurrency", + "type": "string" }, - "RetainDeploymentConfig": { - "markdownDescription": "Specifies whether to reuse the last deployment configuration. The default value is false (the configuration is not reused).", - "title": "RetainDeploymentConfig", - "type": "boolean" + "MaxErrors": { + "markdownDescription": "The maximum number of errors allowed before this task stops being scheduled.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases.\n> \n> For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task.", + "title": "MaxErrors", + "type": "string" }, - "Tags": { + "Name": { + "markdownDescription": "The task name.", + "title": "Name", + "type": "string" + }, + "Priority": { + "markdownDescription": "The priority of the task in the maintenance window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.", + "title": "Priority", + "type": "number" + }, + "ServiceRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` .\n\nHowever, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* .", + "title": "ServiceRoleArn", + "type": "string" + }, + "Targets": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", - "title": "Tags", + "markdownDescription": "The targets, either instances or window target IDs.\n\n- Specify instances using `Key=InstanceIds,Values= *instanceid1* , *instanceid2*` .\n- Specify window target IDs using `Key=WindowTargetIds,Values= *window-target-id-1* , *window-target-id-2*` .", + "title": "Targets", "type": "array" + }, + "TaskArn": { + "markdownDescription": "The resource that the task uses during execution.\n\nFor `RUN_COMMAND` and `AUTOMATION` task types, `TaskArn` is the SSM document name or Amazon Resource Name (ARN).\n\nFor `LAMBDA` tasks, `TaskArn` is the function name or ARN.\n\nFor `STEP_FUNCTIONS` tasks, `TaskArn` is the state machine ARN.", + "title": "TaskArn", + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters", + "markdownDescription": "The parameters to pass to the task when it runs. Populate only the fields that match the task type. All other fields should be empty.\n\n> When you update a maintenance window task that has options specified in `TaskInvocationParameters` , you must provide again all the `TaskInvocationParameters` values that you want to retain. The values you do not specify again are removed. For example, suppose that when you registered a Run Command task, you specified `TaskInvocationParameters` values for `Comment` , `NotificationConfig` , and `OutputS3BucketName` . If you update the maintenance window task and specify only a different `OutputS3BucketName` value, the values for `Comment` and `NotificationConfig` are removed.", + "title": "TaskInvocationParameters" + }, + "TaskParameters": { + "markdownDescription": "> `TaskParameters` has been deprecated. To specify parameters to pass to a task when it runs, instead use the `Parameters` option in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [MaintenanceWindowTaskInvocationParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_MaintenanceWindowTaskInvocationParameters.html) . \n\nThe parameters to pass to the task when it runs.", + "title": "TaskParameters", + "type": "object" + }, + "TaskType": { + "markdownDescription": "The type of task. Valid values: `RUN_COMMAND` , `AUTOMATION` , `LAMBDA` , `STEP_FUNCTIONS` .", + "title": "TaskType", + "type": "string" + }, + "WindowId": { + "markdownDescription": "The ID of the maintenance window where the task is registered.", + "title": "WindowId", + "type": "string" } }, "required": [ - "EndpointConfigName" + "Priority", + "TaskArn", + "TaskType", + "WindowId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Endpoint" + "AWS::SSM::MaintenanceWindowTask" ], "type": "string" }, @@ -360829,173 +327969,238 @@ ], "type": "object" }, - "AWS::SageMaker::Endpoint.Alarm": { + "AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig": { "additionalProperties": false, "properties": { - "AlarmName": { - "markdownDescription": "The name of a CloudWatch alarm in your account.", - "title": "AlarmName", + "CloudWatchLogGroupName": { + "markdownDescription": "The name of the CloudWatch Logs log group where you want to send command output. If you don't specify a group name, AWS Systems Manager automatically creates a log group for you. The log group uses the following naming format:\n\n`aws/ssm/ *SystemsManagerDocumentName*`", + "title": "CloudWatchLogGroupName", "type": "string" + }, + "CloudWatchOutputEnabled": { + "markdownDescription": "Enables Systems Manager to send command output to CloudWatch Logs.", + "title": "CloudWatchOutputEnabled", + "type": "boolean" } }, - "required": [ - "AlarmName" - ], "type": "object" }, - "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { "additionalProperties": false, "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" - }, - "markdownDescription": "List of CloudWatch alarms in your account that are configured to monitor metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker rolls back the deployment.", - "title": "Alarms", - "type": "array" + "Region": { + "markdownDescription": "The AWS Region where the S3 bucket is located.", + "title": "Region", + "type": "string" + }, + "S3Bucket": { + "markdownDescription": "The name of an S3 bucket where execution logs are stored.", + "title": "S3Bucket", + "type": "string" + }, + "S3Prefix": { + "markdownDescription": "The Amazon S3 bucket subfolder.", + "title": "S3Prefix", + "type": "string" } }, "required": [ - "Alarms" + "Region", + "S3Bucket" ], "type": "object" }, - "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { "additionalProperties": false, "properties": { - "MaximumExecutionTimeoutInSeconds": { - "markdownDescription": "Maximum execution timeout for the deployment. Note that the timeout value should be larger than the total waiting time specified in `TerminationWaitInSeconds` and `WaitIntervalInSeconds` .", - "title": "MaximumExecutionTimeoutInSeconds", - "type": "number" - }, - "TerminationWaitInSeconds": { - "markdownDescription": "Additional waiting time in seconds after the completion of an endpoint deployment before terminating the old endpoint fleet. Default is 0.", - "title": "TerminationWaitInSeconds", - "type": "number" + "DocumentVersion": { + "markdownDescription": "The version of an Automation runbook to use during task execution.", + "title": "DocumentVersion", + "type": "string" }, - "TrafficRoutingConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig", - "markdownDescription": "Defines the traffic routing strategy to shift traffic from the old fleet to the new fleet during an endpoint deployment.", - "title": "TrafficRoutingConfiguration" + "Parameters": { + "markdownDescription": "The parameters for the `AUTOMATION` type task.", + "title": "Parameters", + "type": "object" } }, - "required": [ - "TrafficRoutingConfiguration" - ], "type": "object" }, - "AWS::SageMaker::Endpoint.CapacitySize": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { "additionalProperties": false, "properties": { - "Type": { - "markdownDescription": "Specifies the endpoint capacity type.\n\n- `INSTANCE_COUNT` : The endpoint activates based on the number of instances.\n- `CAPACITY_PERCENT` : The endpoint activates based on the specified percentage of capacity.", - "title": "Type", + "ClientContext": { + "markdownDescription": "Client-specific information to pass to the AWS Lambda function that you're invoking. You can then use the `context` variable to process the client information in your AWS Lambda function.", + "title": "ClientContext", "type": "string" }, - "Value": { - "markdownDescription": "Defines the capacity size, either as a number of instances or a capacity percentage.", - "title": "Value", - "type": "number" + "Payload": { + "markdownDescription": "JSON to provide to your AWS Lambda function as input.\n\n> Although `Type` is listed as \"String\" for this property, the payload content must be formatted as a Base64-encoded binary data object. \n\n*Length Constraint:* 4096", + "title": "Payload", + "type": "string" + }, + "Qualifier": { + "markdownDescription": "An AWS Lambda function version or alias name. If you specify a function version, the action uses the qualified function Amazon Resource Name (ARN) to invoke a specific Lambda function. If you specify an alias name, the action uses the alias ARN to invoke the Lambda function version that the alias points to.", + "title": "Qualifier", + "type": "string" } }, - "required": [ - "Type", - "Value" - ], "type": "object" }, - "AWS::SageMaker::Endpoint.DeploymentConfig": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { "additionalProperties": false, "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig", - "markdownDescription": "Automatic rollback configuration for handling endpoint deployment failures and recovery.", - "title": "AutoRollbackConfiguration" + "CloudWatchOutputConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.CloudWatchOutputConfig", + "markdownDescription": "Configuration options for sending command output to Amazon CloudWatch Logs.", + "title": "CloudWatchOutputConfig" }, - "BlueGreenUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy", - "markdownDescription": "Update policy for a blue/green deployment. If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.", - "title": "BlueGreenUpdatePolicy" + "Comment": { + "markdownDescription": "Information about the command or commands to run.", + "title": "Comment", + "type": "string" }, - "RollingUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.RollingUpdatePolicy", - "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker endpoint.", - "title": "RollingUpdatePolicy" + "DocumentHash": { + "markdownDescription": "The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.", + "title": "DocumentHash", + "type": "string" + }, + "DocumentHashType": { + "markdownDescription": "The SHA-256 or SHA-1 hash type. SHA-1 hashes are deprecated.", + "title": "DocumentHashType", + "type": "string" + }, + "DocumentVersion": { + "markdownDescription": "The AWS Systems Manager document (SSM document) version to use in the request. You can specify `$DEFAULT` , `$LATEST` , or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:\n\n`--document-version \"\\$DEFAULT\"`\n\n`--document-version \"\\$LATEST\"`\n\n`--document-version \"3\"`", + "title": "DocumentVersion", + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig", + "markdownDescription": "Configurations for sending notifications about command status changes on a per-managed node basis.", + "title": "NotificationConfig" + }, + "OutputS3BucketName": { + "markdownDescription": "The name of the Amazon Simple Storage Service (Amazon S3) bucket.", + "title": "OutputS3BucketName", + "type": "string" + }, + "OutputS3KeyPrefix": { + "markdownDescription": "The S3 bucket subfolder.", + "title": "OutputS3KeyPrefix", + "type": "string" + }, + "Parameters": { + "markdownDescription": "The parameters for the `RUN_COMMAND` task execution.\n\nThe supported parameters are the same as those for the `SendCommand` API call. For more information, see [SendCommand](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) in the *AWS Systems Manager API Reference* .", + "title": "Parameters", + "type": "object" + }, + "ServiceRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` .\n\nHowever, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* .", + "title": "ServiceRoleArn", + "type": "string" + }, + "TimeoutSeconds": { + "markdownDescription": "If this time is reached and the command hasn't already started running, it doesn't run.", + "title": "TimeoutSeconds", + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::Endpoint.RollingUpdatePolicy": { + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { "additionalProperties": false, "properties": { - "MaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", - "markdownDescription": "Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.", - "title": "MaximumBatchSize" + "Input": { + "markdownDescription": "The inputs for the `STEP_FUNCTIONS` task.", + "title": "Input", + "type": "string" }, - "MaximumExecutionTimeoutInSeconds": { - "markdownDescription": "The time limit for the total deployment. Exceeding this limit causes a timeout.", - "title": "MaximumExecutionTimeoutInSeconds", - "type": "number" + "Name": { + "markdownDescription": "The name of the `STEP_FUNCTIONS` task.", + "title": "Name", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "additionalProperties": false, + "properties": { + "NotificationArn": { + "markdownDescription": "An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. Run Command pushes notifications about command status changes to this topic.", + "title": "NotificationArn", + "type": "string" }, - "RollbackMaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", - "markdownDescription": "Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.", - "title": "RollbackMaximumBatchSize" + "NotificationEvents": { + "items": { + "type": "string" + }, + "markdownDescription": "The different events that you can receive notifications for. These events include the following: `All` (events), `InProgress` , `Success` , `TimedOut` , `Cancelled` , `Failed` . To learn more about these events, see [Configuring Amazon SNS Notifications for AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html) in the *AWS Systems Manager User Guide* .", + "title": "NotificationEvents", + "type": "array" }, - "WaitIntervalInSeconds": { - "markdownDescription": "The length of the baking period, during which SageMaker monitors alarms for each batch on the new fleet.", - "title": "WaitIntervalInSeconds", - "type": "number" + "NotificationType": { + "markdownDescription": "The notification type.\n\n- `Command` : Receive notification when the status of a command changes.\n- `Invocation` : For commands sent to multiple instances, receive notification on a per-instance basis when the status of a command changes.", + "title": "NotificationType", + "type": "string" } }, "required": [ - "MaximumBatchSize", - "WaitIntervalInSeconds" + "NotificationArn" ], "type": "object" }, - "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "AWS::SSM::MaintenanceWindowTask.Target": { "additionalProperties": false, "properties": { - "CanarySize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", - "markdownDescription": "Batch size for the first step to turn on traffic on the new endpoint fleet. `Value` must be less than or equal to 50% of the variant's total instance count.", - "title": "CanarySize" - }, - "LinearStepSize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", - "markdownDescription": "Batch size for each step to turn on traffic on the new endpoint fleet. `Value` must be 10-50% of the variant's total instance count.", - "title": "LinearStepSize" - }, - "Type": { - "markdownDescription": "Traffic routing strategy type.\n\n- `ALL_AT_ONCE` : Endpoint traffic shifts to the new fleet in a single step.\n- `CANARY` : Endpoint traffic shifts to the new fleet in two steps. The first step is the canary, which is a small portion of the traffic. The second step is the remainder of the traffic.\n- `LINEAR` : Endpoint traffic shifts to the new fleet in n steps of a configurable size.", - "title": "Type", + "Key": { + "markdownDescription": "User-defined criteria for sending commands that target instances that meet the criteria. `Key` can be `InstanceIds` or `WindowTargetIds` . For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* .", + "title": "Key", "type": "string" }, - "WaitIntervalInSeconds": { - "markdownDescription": "The waiting time (in seconds) between incremental steps to turn on traffic on the new endpoint fleet.", - "title": "WaitIntervalInSeconds", - "type": "number" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "User-defined criteria that maps to `Key` . For example, if you specify `InstanceIds` , you can specify `i-1234567890abcdef0,i-9876543210abcdef0` to run a command on two EC2 instances. For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* .", + "title": "Values", + "type": "array" } }, "required": [ - "Type" + "Key", + "Values" ], "type": "object" }, - "AWS::SageMaker::Endpoint.VariantProperty": { + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { "additionalProperties": false, "properties": { - "VariantPropertyType": { - "markdownDescription": "The type of variant property. The supported values are:\n\n- `DesiredInstanceCount` : Overrides the existing variant instance counts using the [InitialInstanceCount](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialInstanceCount) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .\n- `DesiredWeight` : Overrides the existing variant weights using the [InitialVariantWeight](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialVariantWeight) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .\n- `DataCaptureConfig` : (Not currently supported.)", - "title": "VariantPropertyType", - "type": "string" + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters", + "markdownDescription": "The parameters for an `AUTOMATION` task type.", + "title": "MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters", + "markdownDescription": "The parameters for a `LAMBDA` task type.", + "title": "MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters", + "markdownDescription": "The parameters for a `RUN_COMMAND` task type.", + "title": "MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters", + "markdownDescription": "The parameters for a `STEP_FUNCTIONS` task type.", + "title": "MaintenanceWindowStepFunctionsParameters" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig": { + "AWS::SSM::Parameter": { "additionalProperties": false, "properties": { "Condition": { @@ -361030,76 +328235,67 @@ "Properties": { "additionalProperties": false, "properties": { - "AsyncInferenceConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceConfig", - "markdownDescription": "Specifies configuration for how an endpoint performs asynchronous inference.", - "title": "AsyncInferenceConfig" - }, - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig", - "markdownDescription": "Specifies how to capture endpoint data for model monitor. The data capture configuration applies to all production variants hosted at the endpoint.", - "title": "DataCaptureConfig" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "EndpointConfigName": { - "markdownDescription": "The name of the endpoint configuration.", - "title": "EndpointConfigName", + "AllowedPattern": { + "markdownDescription": "A regular expression used to validate the parameter value. For example, for `String` types with values restricted to numbers, you can specify the following: `AllowedPattern=^\\d+$`", + "title": "AllowedPattern", "type": "string" }, - "ExecutionRoleArn": { + "DataType": { + "markdownDescription": "The data type of the parameter, such as `text` or `aws:ec2:image` . The default is `text` .", + "title": "DataType", "type": "string" }, - "ExplainerConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig", - "markdownDescription": "A parameter to activate explainers.", - "title": "ExplainerConfig" - }, - "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`\n\nThe KMS key policy must grant permission to the IAM role that you specify in your `CreateEndpoint` , `UpdateEndpoint` requests. For more information, refer to the AWS Key Management Service section [Using Key Policies in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `KmsKeyId` when using an instance type with local storage. If any of the models that you specify in the `ProductionVariants` parameter use nitro-based instances with local storage, do not specify a value for the `KmsKeyId` parameter. If you specify a value for `KmsKeyId` when using any nitro-based instances with local storage, the call to `CreateEndpointConfig` fails.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .", - "title": "KmsKeyId", + "Description": { + "markdownDescription": "Information about the parameter.", + "title": "Description", "type": "string" }, - "MetricsConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.MetricsConfig" - }, - "ProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "markdownDescription": "A list of `ProductionVariant` objects, one for each model that you want to host at this endpoint.", - "title": "ProductionVariants", - "type": "array" + "Name": { + "markdownDescription": "The name of the parameter.\n\n> The reported maximum length of 2048 characters for a parameter name includes 1037 characters that are reserved for internal use by Systems Manager . The maximum length for a parameter name that you specify is 1011 characters.\n> \n> This count of 1011 characters includes the characters in the ARN that precede the name you specify. This ARN length will vary depending on your partition and Region. For example, the following 45 characters count toward the 1011 character maximum for a parameter created in the US East (Ohio) Region: `arn:aws:ssm:us-east-2:111122223333:parameter/` .", + "title": "Name", + "type": "string" }, - "ShadowProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "markdownDescription": "Array of `ProductionVariant` objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on `ProductionVariants` . If you use this field, you can only specify one variant for `ProductionVariants` and one variant for `ShadowProductionVariants` .", - "title": "ShadowProductionVariants", - "type": "array" + "Policies": { + "markdownDescription": "Information about the policies assigned to a parameter.\n\n[Assigning parameter policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) in the *AWS Systems Manager User Guide* .", + "title": "Policies", + "type": "string" }, "Tags": { - "items": { - "$ref": "#/definitions/Tag" + "additionalProperties": true, + "markdownDescription": "Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .", "title": "Tags", - "type": "array" + "type": "object" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" + "Tier": { + "markdownDescription": "The parameter tier.", + "title": "Tier", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of parameter.\n\n> Parameters of type `SecureString` are not supported by AWS CloudFormation .", + "title": "Type", + "type": "string" + }, + "Value": { + "markdownDescription": "The parameter value.\n\n> If type is `StringList` , the system returns a comma-separated string with no spaces between commas in the `Value` field.", + "title": "Value", + "type": "string" } }, "required": [ - "ProductionVariants" + "Type", + "Value" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::EndpointConfig" + "AWS::SSM::Parameter" ], "type": "string" }, @@ -361118,598 +328314,710 @@ ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.AsyncInferenceClientConfig": { - "additionalProperties": false, - "properties": { - "MaxConcurrentInvocationsPerInstance": { - "markdownDescription": "The maximum number of concurrent requests sent by the SageMaker client to the model container. If no value is provided, SageMaker will choose an optimal value for you.", - "title": "MaxConcurrentInvocationsPerInstance", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.AsyncInferenceConfig": { - "additionalProperties": false, - "properties": { - "ClientConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceClientConfig", - "markdownDescription": "Configures the behavior of the client used by SageMaker to interact with the model container during asynchronous inference.", - "title": "ClientConfig" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceOutputConfig", - "markdownDescription": "Specifies the configuration for asynchronous inference invocation outputs.", - "title": "OutputConfig" - } - }, - "required": [ - "OutputConfig" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig": { + "AWS::SSM::PatchBaseline": { "additionalProperties": false, "properties": { - "ErrorTopic": { - "markdownDescription": "Amazon SNS topic to post a notification to when an inference fails. If no topic is provided, no notification is sent on failure.", - "title": "ErrorTopic", + "Condition": { "type": "string" }, - "IncludeInferenceResponseIn": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon SNS topics where you want the inference response to be included.\n\n> The inference response is included only if the response size is less than or equal to 128 KB.", - "title": "IncludeInferenceResponseIn", - "type": "array" - }, - "SuccessTopic": { - "markdownDescription": "Amazon SNS topic to post a notification to when an inference completes successfully. If no topic is provided, no notification is sent on success.", - "title": "SuccessTopic", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.AsyncInferenceOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.", - "title": "KmsKeyId", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig", - "markdownDescription": "Specifies the configuration for notifications of inference results for asynchronous inference.", - "title": "NotificationConfig" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "S3FailurePath": { - "markdownDescription": "The Amazon S3 location to upload failure inference responses to.", - "title": "S3FailurePath", + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup", + "markdownDescription": "A set of rules used to include patches in the baseline.", + "title": "ApprovalRules" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of explicitly approved patches for the baseline.\n\nFor information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* .", + "title": "ApprovedPatches", + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { + "markdownDescription": "Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is `UNSPECIFIED` .", + "title": "ApprovedPatchesComplianceLevel", + "type": "string" + }, + "ApprovedPatchesEnableNonSecurity": { + "markdownDescription": "Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is `false` . Applies to Linux managed nodes only.", + "title": "ApprovedPatchesEnableNonSecurity", + "type": "boolean" + }, + "AvailableSecurityUpdatesComplianceStatus": { + "markdownDescription": "Indicates the status you want to assign to security patches that are available but not approved because they don't meet the installation criteria specified in the patch baseline.\n\nExample scenario: Security patches that you might want installed can be skipped if you have specified a long period to wait after a patch is released before installation. If an update to the patch is released during your specified waiting period, the waiting period for installing the patch starts over. If the waiting period is too long, multiple versions of the patch could be released but never installed.\n\nSupported for Windows Server managed nodes only.", + "title": "AvailableSecurityUpdatesComplianceStatus", + "type": "string" + }, + "DefaultBaseline": { + "markdownDescription": "Indicates whether this is the default baseline. AWS Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.", + "title": "DefaultBaseline", + "type": "boolean" + }, + "Description": { + "markdownDescription": "A description of the patch baseline.", + "title": "Description", + "type": "string" + }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup", + "markdownDescription": "A set of global filters used to include patches in the baseline.\n\n> The `GlobalFilters` parameter can be configured only by using the AWS CLI or an AWS SDK. It can't be configured from the Patch Manager console, and its value isn't displayed in the console.", + "title": "GlobalFilters" + }, + "Name": { + "markdownDescription": "The name of the patch baseline.", + "title": "Name", + "type": "string" + }, + "OperatingSystem": { + "markdownDescription": "Defines the operating system the patch baseline applies to. The default value is `WINDOWS` .", + "title": "OperatingSystem", + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The name of the patch group to be registered with the patch baseline.", + "title": "PatchGroups", + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of explicitly rejected patches for the baseline.\n\nFor information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* .", + "title": "RejectedPatches", + "type": "array" + }, + "RejectedPatchesAction": { + "markdownDescription": "The action for Patch Manager to take on patches included in the `RejectedPackages` list.\n\n- **ALLOW_AS_DEPENDENCY** - *Linux and macOS* : A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as `INSTALLED_OTHER` . This is the default action if no option is specified.\n\n*Windows Server* : Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as `INSTALLED_OTHER` . Any package not already installed on the node is skipped. This is the default action if no option is specified.\n- **BLOCK** - *All OSs* : Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances.\n\nState value assignment for patch compliance:\n\n- If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as `INSTALLED_REJECTED` .\n- If an update attempts to install a dependency package that is now rejected by the baseline, when previous versions of the package were not rejected, the package being updated is reported as `MISSING` for `SCAN` operations and as `FAILED` for `INSTALL` operations.", + "title": "RejectedPatchesAction", + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "markdownDescription": "Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.", + "title": "Sources", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::PatchBaseline" + ], "type": "string" }, - "S3OutputPath": { - "markdownDescription": "The Amazon S3 location to upload inference responses to.", - "title": "S3OutputPath", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CapacityReservationConfig": { + "AWS::SSM::PatchBaseline.PatchFilter": { "additionalProperties": false, "properties": { - "CapacityReservationPreference": { + "Key": { + "markdownDescription": "The key for the filter.\n\nFor information about valid keys, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", + "title": "Key", "type": "string" }, - "MlReservationArn": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value for the filter key.\n\nFor information about valid values for each key based on operating system type, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", + "title": "Values", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "AWS::SSM::PatchBaseline.PatchFilterGroup": { "additionalProperties": false, "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the CSV content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.", - "title": "CsvContentTypes", - "type": "array" - }, - "JsonContentTypes": { + "PatchFilters": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" }, - "markdownDescription": "A list of the JSON content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.", - "title": "JsonContentTypes", + "markdownDescription": "The set of patch filters that make up the group.", + "title": "PatchFilters", "type": "array" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { + "AWS::SSM::PatchBaseline.PatchSource": { "additionalProperties": false, "properties": { - "CaptureMode": { - "markdownDescription": "Specifies whether the endpoint captures input data or output data.", - "title": "CaptureMode", + "Configuration": { + "markdownDescription": "The value of the repo configuration.\n\n*Example for yum repositories*\n\n`[main]`\n\n`name=MyCustomRepository`\n\n`baseurl=https://my-custom-repository`\n\n`enabled=1`\n\nFor information about other options available for your yum repository configuration, see [dnf.conf(5)](https://docs.aws.amazon.com/https://man7.org/linux/man-pages/man5/dnf.conf.5.html) on the *man7.org* website.\n\n*Examples for Ubuntu Server and Debian Server*\n\n`deb http://security.ubuntu.com/ubuntu jammy main`\n\n`deb https://site.example.com/debian distribution component1 component2 component3`\n\nRepo information for Ubuntu Server repositories must be specifed in a single line. For more examples and information, see [jammy (5) sources.list.5.gz](https://docs.aws.amazon.com/https://manpages.ubuntu.com/manpages/jammy/man5/sources.list.5.html) on the *Ubuntu Server Manuals* website and [sources.list format](https://docs.aws.amazon.com/https://wiki.debian.org/SourcesList#sources.list_format) on the *Debian Wiki* .", + "title": "Configuration", + "type": "string" + }, + "Name": { + "markdownDescription": "The name specified to identify the patch source.", + "title": "Name", "type": "string" + }, + "Products": { + "items": { + "type": "string" + }, + "markdownDescription": "The specific operating system versions a patch repository applies to, such as \"Ubuntu16.04\", \"RedhatEnterpriseLinux7.2\" or \"Suse12.7\". For lists of supported product values, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* .", + "title": "Products", + "type": "array" } }, - "required": [ - "CaptureMode" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig": { + "AWS::SSM::PatchBaseline.Rule": { "additionalProperties": false, "properties": { - "EnableExplanations": { - "markdownDescription": "A JMESPath boolean expression used to filter which records to explain. Explanations are activated by default. See [`EnableExplanations`](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-enable) for additional information.", - "title": "EnableExplanations", + "ApproveAfterDays": { + "markdownDescription": "The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. For example, a value of `7` means that patches are approved seven days after they are released.\n\nPatch Manager evaluates patch release dates using Coordinated Universal Time (UTC). If the day represented by `7` is `2025-11-16` , patches released between `2025-11-16T00:00:00Z` and `2025-11-16T23:59:59Z` will be included in the approval.\n\nThis parameter is marked as `Required: No` , but your request must include a value for either `ApproveAfterDays` or `ApproveUntilDate` .\n\nNot supported for Debian Server or Ubuntu Server.\n\n> Use caution when setting this value for Windows Server patch baselines. Because patch updates that are replaced by later updates are removed, setting too broad a value for this parameter can result in crucial patches not being installed. For more information, see the *Windows Server* tab in the topic [How security patches are selected](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-selecting-patches.html) in the *AWS Systems Manager User Guide* .", + "title": "ApproveAfterDays", + "type": "number" + }, + "ApproveUntilDate": { + "markdownDescription": "The cutoff date for auto approval of released patches. Any patches released on or before this date are installed automatically.\n\nEnter dates in the format `YYYY-MM-DD` . For example, `2025-11-16` .\n\nPatch Manager evaluates patch release dates using Coordinated Universal Time (UTC). If you enter the date `2025-11-16` , patches released between `2025-11-16T00:00:00Z` and `2025-11-16T23:59:59Z` will be included in the approval.\n\nThis parameter is marked as `Required: No` , but your request must include a value for either `ApproveUntilDate` or `ApproveAfterDays` .\n\nNot supported for Debian Server or Ubuntu Server.\n\n> Use caution when setting this value for Windows Server patch baselines. Because patch updates that are replaced by later updates are removed, setting too broad a value for this parameter can result in crucial patches not being installed. For more information, see the *Windows Server* tab in the topic [How security patches are selected](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-selecting-patches.html) in the *AWS Systems Manager User Guide* .", + "title": "ApproveUntilDate", "type": "string" }, - "InferenceConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyInferenceConfig", - "markdownDescription": "The inference configuration parameter for the model container.", - "title": "InferenceConfig" + "ComplianceLevel": { + "markdownDescription": "A compliance severity level for all approved patches in a patch baseline. Valid compliance severity levels include the following: `UNSPECIFIED` , `CRITICAL` , `HIGH` , `MEDIUM` , `LOW` , and `INFORMATIONAL` .", + "title": "ComplianceLevel", + "type": "string" }, - "ShapConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyShapConfig", - "markdownDescription": "The configuration for SHAP analysis.", - "title": "ShapConfig" + "EnableNonSecurity": { + "markdownDescription": "For managed nodes identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is `false` . Applies to Linux managed nodes only.", + "title": "EnableNonSecurity", + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup", + "markdownDescription": "The patch filter group that defines the criteria for the rule.", + "title": "PatchFilterGroup" } }, - "required": [ - "ShapConfig" - ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ClarifyInferenceConfig": { + "AWS::SSM::PatchBaseline.RuleGroup": { "additionalProperties": false, "properties": { - "ContentTemplate": { - "markdownDescription": "A template string used to format a JSON record into an acceptable model container input. For example, a `ContentTemplate` string `'{\"myfeatures\":$features}'` will format a list of features `[1,2,3]` into the record string `'{\"myfeatures\":[1,2,3]}'` . Required only when the model container input is in JSON Lines format.", - "title": "ContentTemplate", - "type": "string" - }, - "FeatureHeaders": { - "items": { - "type": "string" - }, - "markdownDescription": "The names of the features. If provided, these are included in the endpoint response payload to help readability of the `InvokeEndpoint` output. See the [Response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information.", - "title": "FeatureHeaders", - "type": "array" - }, - "FeatureTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of data types of the features (optional). Applicable only to NLP explainability. If provided, `FeatureTypes` must have at least one `'text'` string (for example, `['text']` ). If `FeatureTypes` is not provided, the explainer infers the feature types based on the baseline data. The feature types are included in the endpoint response payload. For additional information see the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information.", - "title": "FeatureTypes", - "type": "array" - }, - "FeaturesAttribute": { - "markdownDescription": "Provides the JMESPath expression to extract the features from a model container input in JSON Lines format. For example, if `FeaturesAttribute` is the JMESPath expression `'myfeatures'` , it extracts a list of features `[1,2,3]` from request data `'{\"myfeatures\":[1,2,3]}'` .", - "title": "FeaturesAttribute", - "type": "string" - }, - "LabelAttribute": { - "markdownDescription": "A JMESPath expression used to locate the list of label headers in the model container output.\n\n*Example* : If the model container output of a batch request is `'{\"labels\":[\"cat\",\"dog\",\"fish\"],\"probability\":[0.6,0.3,0.1]}'` , then set `LabelAttribute` to `'labels'` to extract the list of label headers `[\"cat\",\"dog\",\"fish\"]`", - "title": "LabelAttribute", - "type": "string" - }, - "LabelHeaders": { + "PatchRules": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" }, - "markdownDescription": "For multiclass classification problems, the label headers are the names of the classes. Otherwise, the label header is the name of the predicted label. These are used to help readability for the output of the `InvokeEndpoint` API. See the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information. If there are no label headers in the model container output, provide them manually using this parameter.", - "title": "LabelHeaders", + "markdownDescription": "The rules that make up the rule group.", + "title": "PatchRules", "type": "array" - }, - "LabelIndex": { - "markdownDescription": "A zero-based index used to extract a label header or list of label headers from model container output in CSV format.\n\n*Example for a multiclass model:* If the model container output consists of label headers followed by probabilities: `'\"[\\'cat\\',\\'dog\\',\\'fish\\']\",\"[0.1,0.6,0.3]\"'` , set `LabelIndex` to `0` to select the label headers `['cat','dog','fish']` .", - "title": "LabelIndex", - "type": "number" - }, - "MaxPayloadInMB": { - "markdownDescription": "The maximum payload size (MB) allowed of a request from the explainer to the model container. Defaults to `6` MB.", - "title": "MaxPayloadInMB", - "type": "number" - }, - "MaxRecordCount": { - "markdownDescription": "The maximum number of records in a request that the model container can process when querying the model container for the predictions of a [synthetic dataset](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-synthetic) . A record is a unit of input data that inference can be made on, for example, a single line in CSV data. If `MaxRecordCount` is `1` , the model container expects one record per request. A value of 2 or greater means that the model expects batch requests, which can reduce overhead and speed up the inferencing process. If this parameter is not provided, the explainer will tune the record count per request according to the model container's capacity at runtime.", - "title": "MaxRecordCount", - "type": "number" - }, - "ProbabilityAttribute": { - "markdownDescription": "A JMESPath expression used to extract the probability (or score) from the model container output if the model container is in JSON Lines format.\n\n*Example* : If the model container output of a single request is `'{\"predicted_label\":1,\"probability\":0.6}'` , then set `ProbabilityAttribute` to `'probability'` .", - "title": "ProbabilityAttribute", - "type": "string" - }, - "ProbabilityIndex": { - "markdownDescription": "A zero-based index used to extract a probability value (score) or list from model container output in CSV format. If this value is not provided, the entire model container output will be treated as a probability value (score) or list.\n\n*Example for a single class model:* If the model container output consists of a string-formatted prediction label followed by its probability: `'1,0.6'` , set `ProbabilityIndex` to `1` to select the probability value `0.6` .\n\n*Example for a multiclass model:* If the model container output consists of a string-formatted prediction label followed by its probability: `'\"[\\'cat\\',\\'dog\\',\\'fish\\']\",\"[0.1,0.6,0.3]\"'` , set `ProbabilityIndex` to `1` to select the probability values `[0.1,0.6,0.3]` .", - "title": "ProbabilityIndex", - "type": "number" } }, "type": "object" }, - "AWS::SageMaker::EndpointConfig.ClarifyShapBaselineConfig": { + "AWS::SSM::ResourceDataSync": { "additionalProperties": false, "properties": { - "MimeType": { - "markdownDescription": "The MIME type of the baseline data. Choose from `'text/csv'` or `'application/jsonlines'` . Defaults to `'text/csv'` .", - "title": "MimeType", + "Condition": { "type": "string" }, - "ShapBaseline": { - "markdownDescription": "The inline SHAP baseline data in string format. `ShapBaseline` can have one or multiple records to be used as the baseline dataset. The format of the SHAP baseline file should be the same format as the training dataset. For example, if the training dataset is in CSV format and each record contains four features, and all features are numerical, then the format of the baseline data should also share these characteristics. For natural language processing (NLP) of text columns, the baseline value should be the value used to replace the unit of text specified by the `Granularity` of the `TextConfig` parameter. The size limit for `ShapBasline` is 4 KB. Use the `ShapBaselineUri` parameter if you want to provide more than 4 KB of baseline data.", - "title": "ShapBaseline", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ShapBaselineUri": { - "markdownDescription": "The uniform resource identifier (URI) of the S3 bucket where the SHAP baseline file is stored. The format of the SHAP baseline file should be the same format as the format of the training dataset. For example, if the training dataset is in CSV format, and each record in the training dataset has four features, and all features are numerical, then the baseline file should also have this same format. Each record should contain only the features. If you are using a virtual private cloud (VPC), the `ShapBaselineUri` should be accessible to the VPC. For more information about setting up endpoints with Amazon Virtual Private Cloud, see [Give SageMaker access to Resources in your Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", - "title": "ShapBaselineUri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ClarifyShapConfig": { - "additionalProperties": false, - "properties": { - "NumberOfSamples": { - "markdownDescription": "The number of samples to be used for analysis by the Kernal SHAP algorithm.\n\n> The number of samples determines the size of the synthetic dataset, which has an impact on latency of explainability requests. For more information, see the *Synthetic data* of [Configure and create an endpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html) .", - "title": "NumberOfSamples", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "Seed": { - "markdownDescription": "The starting value used to initialize the random number generator in the explainer. Provide a value for this parameter to obtain a deterministic SHAP result.", - "title": "Seed", - "type": "number" + "Metadata": { + "type": "object" }, - "ShapBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyShapBaselineConfig", - "markdownDescription": "The configuration for the SHAP baseline of the Kernal SHAP algorithm.", - "title": "ShapBaselineConfig" + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The name of the S3 bucket where the aggregated data is stored.", + "title": "BucketName", + "type": "string" + }, + "BucketPrefix": { + "markdownDescription": "An Amazon S3 prefix for the bucket.", + "title": "BucketPrefix", + "type": "string" + }, + "BucketRegion": { + "markdownDescription": "The AWS Region with the S3 bucket targeted by the resource data sync.", + "title": "BucketRegion", + "type": "string" + }, + "KMSKeyArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an encryption key for a destination in Amazon S3 . You can use a KMS key to encrypt inventory data in Amazon S3 . You must specify a key that exist in the same AWS Region as the destination Amazon S3 bucket.", + "title": "KMSKeyArn", + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination", + "markdownDescription": "Configuration information for the target S3 bucket.", + "title": "S3Destination" + }, + "SyncFormat": { + "markdownDescription": "A supported sync format. The following format is currently supported: JsonSerDe", + "title": "SyncFormat", + "type": "string" + }, + "SyncName": { + "markdownDescription": "A name for the resource data sync.", + "title": "SyncName", + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource", + "markdownDescription": "Information about the source where the data was synchronized.", + "title": "SyncSource" + }, + "SyncType": { + "markdownDescription": "The type of resource data sync. If `SyncType` is `SyncToDestination` , then the resource data sync synchronizes data to an S3 bucket. If the `SyncType` is `SyncFromSource` then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions .", + "title": "SyncType", + "type": "string" + } + }, + "required": [ + "SyncName" + ], + "type": "object" }, - "TextConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyTextConfig", - "markdownDescription": "A parameter that indicates if text features are treated as text and explanations are provided for individual units of text. Required for natural language processing (NLP) explainability only.", - "title": "TextConfig" + "Type": { + "enum": [ + "AWS::SSM::ResourceDataSync" + ], + "type": "string" }, - "UseLogit": { - "markdownDescription": "A Boolean toggle to indicate if you want to use the logit function (true) or log-odds units (false) for model predictions. Defaults to false.", - "title": "UseLogit", - "type": "boolean" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "ShapBaselineConfig" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ClarifyTextConfig": { + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { "additionalProperties": false, "properties": { - "Granularity": { - "markdownDescription": "The unit of granularity for the analysis of text features. For example, if the unit is `'token'` , then each token (like a word in English) of the text is treated as a feature. SHAP values are computed for each unit/feature.", - "title": "Granularity", + "OrganizationSourceType": { + "markdownDescription": "If an AWS organization is present, this is either `OrganizationalUnits` or `EntireOrganization` . For `OrganizationalUnits` , the data is aggregated from a set of organization units. For `EntireOrganization` , the data is aggregated from the entire AWS organization.", + "title": "OrganizationSourceType", "type": "string" }, - "Language": { - "markdownDescription": "Specifies the language of the text features in [ISO 639-1](https://docs.aws.amazon.com/ https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) or [ISO 639-3](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_639-3) code of a supported language.\n\n> For a mix of multiple languages, use code `'xx'` .", - "title": "Language", - "type": "string" + "OrganizationalUnits": { + "items": { + "type": "string" + }, + "markdownDescription": "The AWS Organizations organization units included in the sync.", + "title": "OrganizationalUnits", + "type": "array" } }, "required": [ - "Granularity", - "Language" + "OrganizationSourceType" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.CoreDumpConfig": { + "AWS::SSM::ResourceDataSync.S3Destination": { "additionalProperties": false, "properties": { - "DestinationS3Uri": { + "BucketName": { + "markdownDescription": "The name of the S3 bucket where the aggregated data is stored.", + "title": "BucketName", "type": "string" }, - "KmsKeyId": { + "BucketPrefix": { + "markdownDescription": "An Amazon S3 prefix for the bucket.", + "title": "BucketPrefix", + "type": "string" + }, + "BucketRegion": { + "markdownDescription": "The AWS Region with the S3 bucket targeted by the resource data sync.", + "title": "BucketRegion", + "type": "string" + }, + "KMSKeyArn": { + "markdownDescription": "The ARN of an encryption key for a destination in Amazon S3. Must belong to the same Region as the destination S3 bucket.", + "title": "KMSKeyArn", + "type": "string" + }, + "SyncFormat": { + "markdownDescription": "A supported sync format. The following format is currently supported: JsonSerDe", + "title": "SyncFormat", "type": "string" } }, "required": [ - "DestinationS3Uri" + "BucketName", + "BucketRegion", + "SyncFormat" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "AWS::SSM::ResourceDataSync.SyncSource": { "additionalProperties": false, "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader", - "markdownDescription": "A list of the JSON and CSV content type that the endpoint captures.", - "title": "CaptureContentTypeHeader" + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource", + "markdownDescription": "Information about the AwsOrganizationsSource resource data sync source. A sync source of this type can synchronize data from AWS Organizations .", + "title": "AwsOrganizationsSource" }, - "CaptureOptions": { + "IncludeFutureRegions": { + "markdownDescription": "Whether to automatically synchronize and aggregate data from new AWS Regions when those Regions come online.", + "title": "IncludeFutureRegions", + "type": "boolean" + }, + "SourceRegions": { "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + "type": "string" }, - "markdownDescription": "Specifies whether the endpoint captures input data to your model, output data from your model, or both.", - "title": "CaptureOptions", + "markdownDescription": "The `SyncSource` AWS Regions included in the resource data sync.", + "title": "SourceRegions", "type": "array" }, - "DestinationS3Uri": { - "markdownDescription": "The S3 bucket where model monitor stores captured data.", - "title": "DestinationS3Uri", - "type": "string" - }, - "EnableCapture": { - "markdownDescription": "Set to `True` to enable data capture.", - "title": "EnableCapture", - "type": "boolean" - }, - "InitialSamplingPercentage": { - "markdownDescription": "The percentage of data to capture.", - "title": "InitialSamplingPercentage", - "type": "number" - }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the captured data at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the Amazon Simple Storage Service Developer Guide. The KMS key policy must grant permission to the IAM role that you specify in your CreateModel (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see Using Key Policies in AWS KMS (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the AWS Key Management Service Developer Guide.", - "title": "KmsKeyId", + "SourceType": { + "markdownDescription": "The type of data source for the resource data sync. `SourceType` is either `AwsOrganizations` (if an organization is present in AWS Organizations ) or `SingleAccountMultiRegions` .", + "title": "SourceType", "type": "string" } }, "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" + "SourceRegions", + "SourceType" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ExplainerConfig": { - "additionalProperties": false, - "properties": { - "ClarifyExplainerConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig", - "markdownDescription": "A member of `ExplainerConfig` that contains configuration parameters for the SageMaker Clarify explainer.", - "title": "ClarifyExplainerConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.InstancePool": { + "AWS::SSM::ResourcePolicy": { "additionalProperties": false, "properties": { - "InstanceType": { + "Condition": { "type": "string" }, - "ModelNameOverride": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Priority": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "Priority" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { - "additionalProperties": false, - "properties": { - "MaxInstanceCount": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "MinInstanceCount": { - "type": "number" + "Metadata": { + "type": "object" }, - "ScaleInPolicy": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ScaleInPolicy" + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "markdownDescription": "A policy you want to associate with a resource.", + "title": "Policy", + "type": "object" + }, + "ResourceArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the resource to which you want to attach a policy.", + "title": "ResourceArn", + "type": "string" + } + }, + "required": [ + "Policy", + "ResourceArn" + ], + "type": "object" }, - "Status": { + "Type": { + "enum": [ + "AWS::SSM::ResourcePolicy" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.MetricsConfig": { - "additionalProperties": false, - "properties": { - "EnableDetailedObservability": { - "type": "boolean" - }, - "EnableEnhancedMetrics": { - "type": "boolean" - }, - "MetricPublishFrequencyInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.PrefixAwareRoutingConfig": { - "additionalProperties": false, - "properties": { - "ConcurrencyThreshold": { - "type": "number" }, - "PrefixLength": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "AWS::SSMContacts::Contact": { "additionalProperties": false, "properties": { - "CapacityReservationConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CapacityReservationConfig" - }, - "ContainerStartupHealthCheckTimeoutInSeconds": { - "markdownDescription": "The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests) .", - "title": "ContainerStartupHealthCheckTimeoutInSeconds", - "type": "number" - }, - "CoreDumpConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CoreDumpConfig" - }, - "EnableSSMAccess": { - "markdownDescription": "You can use this parameter to turn on native AWS Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoint. You can turn on or turn off SSM access for a production variant behind an existing endpoint by creating a new endpoint configuration and calling `UpdateEndpoint` .", - "title": "EnableSSMAccess", - "type": "boolean" + "Condition": { + "type": "string" }, - "InferenceAmiVersion": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "InitialInstanceCount": { - "markdownDescription": "Number of instances to launch initially.", - "title": "InitialInstanceCount", - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "InitialVariantWeight": { - "markdownDescription": "Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. The traffic to a production variant is determined by the ratio of the `VariantWeight` to the sum of all `VariantWeight` values across all ProductionVariants. If unspecified, it defaults to 1.0.", - "title": "InitialVariantWeight", - "type": "number" + "Metadata": { + "type": "object" }, - "InstancePools": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.InstancePool" + "Properties": { + "additionalProperties": false, + "properties": { + "Alias": { + "markdownDescription": "The unique and identifiable alias of the contact or escalation plan.", + "title": "Alias", + "type": "string" + }, + "DisplayName": { + "markdownDescription": "The full name of the contact or escalation plan.", + "title": "DisplayName", + "type": "string" + }, + "Plan": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" + }, + "markdownDescription": "A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts.", + "title": "Plan", + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + }, + "Type": { + "markdownDescription": "The type of contact.\n\n- `PERSONAL` : A single, individual contact.\n- `ESCALATION` : An escalation plan.\n- `ONCALL_SCHEDULE` : An on-call schedule.", + "title": "Type", + "type": "string" + } }, - "type": "array" - }, - "InstanceType": { - "markdownDescription": "The ML compute instance type.", - "title": "InstanceType", - "type": "string" - }, - "ManagedInstanceScaling": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" - }, - "ModelDataDownloadTimeoutInSeconds": { - "markdownDescription": "The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this production variant.", - "title": "ModelDataDownloadTimeoutInSeconds", - "type": "number" + "required": [ + "Alias", + "DisplayName", + "Type" + ], + "type": "object" }, - "ModelName": { - "markdownDescription": "The name of the model that you want to host. This is the name that you specified when creating the model.", - "title": "ModelName", + "Type": { + "enum": [ + "AWS::SSMContacts::Contact" + ], "type": "string" }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" - }, - "ServerlessConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig", - "markdownDescription": "The serverless configuration for an endpoint. Specifies a serverless endpoint configuration instead of an instance-based endpoint configuration.", - "title": "ServerlessConfig" - }, - "VariantInstanceProvisionTimeoutInSeconds": { - "type": "number" - }, - "VariantName": { - "markdownDescription": "The name of the production variant.", - "title": "VariantName", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" - }, - "VolumeSizeInGB": { - "markdownDescription": "The size, in GB, of the ML storage volume attached to individual inference instance associated with the production variant. Currently only Amazon EBS gp2 storage volumes are supported.", - "title": "VolumeSizeInGB", - "type": "number" } }, "required": [ - "VariantName" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.RoutingConfig": { + "AWS::SSMContacts::Contact.ChannelTargetInfo": { "additionalProperties": false, "properties": { - "PrefixAwareRoutingConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.PrefixAwareRoutingConfig" - }, - "RoutingStrategy": { + "ChannelId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact channel.", + "title": "ChannelId", "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ScaleInPolicy": { - "additionalProperties": false, - "properties": { - "CooldownInMinutes": { - "type": "number" }, - "MaximumStepSize": { + "RetryIntervalInMinutes": { + "markdownDescription": "The number of minutes to wait before retrying to send engagement if the engagement initially failed.", + "title": "RetryIntervalInMinutes", "type": "number" - }, - "Strategy": { - "type": "string" } }, "required": [ - "Strategy" + "ChannelId", + "RetryIntervalInMinutes" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.ServerlessConfig": { + "AWS::SSMContacts::Contact.ContactTargetInfo": { "additionalProperties": false, "properties": { - "MaxConcurrency": { - "markdownDescription": "The maximum number of concurrent invocations your serverless endpoint can process.", - "title": "MaxConcurrency", - "type": "number" - }, - "MemorySizeInMB": { - "markdownDescription": "The memory size of your serverless endpoint. Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.", - "title": "MemorySizeInMB", - "type": "number" + "ContactId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", + "title": "ContactId", + "type": "string" }, - "ProvisionedConcurrency": { - "markdownDescription": "The amount of provisioned concurrency to allocate for the serverless endpoint. Should be less than or equal to `MaxConcurrency` .\n\n> This field is not supported for serverless endpoint recommendations for Inference Recommender jobs. For more information about creating an Inference Recommender job, see [CreateInferenceRecommendationsJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html) .", - "title": "ProvisionedConcurrency", - "type": "number" + "IsEssential": { + "markdownDescription": "A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.", + "title": "IsEssential", + "type": "boolean" } }, "required": [ - "MaxConcurrency", - "MemorySizeInMB" + "ContactId", + "IsEssential" ], "type": "object" }, - "AWS::SageMaker::EndpointConfig.VpcConfig": { + "AWS::SSMContacts::Contact.Stage": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { + "DurationInMinutes": { + "markdownDescription": "The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.", + "title": "DurationInMinutes", + "type": "number" + }, + "RotationIds": { "items": { "type": "string" }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.", + "title": "RotationIds", "type": "array" }, - "Subnets": { + "Targets": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" }, + "markdownDescription": "The contacts or contact methods that the escalation plan or engagement plan is engaging.", + "title": "Targets", "type": "array" } }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], "type": "object" }, - "AWS::SageMaker::Experiment": { + "AWS::SSMContacts::Contact.Targets": { + "additionalProperties": false, + "properties": { + "ChannelTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo", + "markdownDescription": "Information about the contact channel that Incident Manager engages.", + "title": "ChannelTargetInfo" + }, + "ContactTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo", + "markdownDescription": "The contact that Incident Manager is engaging during an incident.", + "title": "ContactTargetInfo" + } + }, + "type": "object" + }, + "AWS::SSMContacts::ContactChannel": { "additionalProperties": false, "properties": { "Condition": { @@ -361744,30 +329052,43 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { + "ChannelAddress": { + "markdownDescription": "The details that Incident Manager uses when trying to engage the contact channel.", + "title": "ChannelAddress", "type": "string" }, - "DisplayName": { + "ChannelName": { + "markdownDescription": "The name of the contact channel.", + "title": "ChannelName", + "type": "string" + }, + "ChannelType": { + "markdownDescription": "The type of the contact channel. Incident Manager supports three contact methods:\n\n- SMS\n- VOICE\n- EMAIL", + "title": "ChannelType", "type": "string" }, - "ExperimentName": { + "ContactId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact you are adding the contact channel to.", + "title": "ContactId", "type": "string" }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Experiment.TagsItems" - }, - "type": "array" + "DeferActivation": { + "markdownDescription": "If you want to activate the channel at a later time, you can choose to defer activation. Incident Manager can't engage your contact channel until it has been activated.", + "title": "DeferActivation", + "type": "boolean" } }, "required": [ - "ExperimentName" + "ChannelAddress", + "ChannelName", + "ChannelType", + "ContactId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Experiment" + "AWS::SSMContacts::ContactChannel" ], "type": "string" }, @@ -361786,23 +329107,7 @@ ], "type": "object" }, - "AWS::SageMaker::Experiment.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup": { + "AWS::SSMContacts::Plan": { "additionalProperties": false, "properties": { "Condition": { @@ -361837,74 +329142,36 @@ "Properties": { "additionalProperties": false, "properties": { - "Description": { - "markdownDescription": "A free form description of a `FeatureGroup` .", - "title": "Description", - "type": "string" - }, - "EventTimeFeatureName": { - "markdownDescription": "The name of the feature that stores the `EventTime` of a Record in a `FeatureGroup` .\n\nA `EventTime` is point in time when a new event occurs that corresponds to the creation or update of a `Record` in `FeatureGroup` . All `Records` in the `FeatureGroup` must have a corresponding `EventTime` .", - "title": "EventTimeFeatureName", + "ContactId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", + "title": "ContactId", "type": "string" }, - "FeatureDefinitions": { + "RotationIds": { "items": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" + "type": "string" }, - "markdownDescription": "A list of `Feature` s. Each `Feature` must include a `FeatureName` and a `FeatureType` .\n\nValid `FeatureType` s are `Integral` , `Fractional` and `String` .\n\n`FeatureName` s cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .\n\nYou can create up to 2,500 `FeatureDefinition` s per `FeatureGroup` .", - "title": "FeatureDefinitions", + "markdownDescription": "The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.", + "title": "RotationIds", "type": "array" }, - "FeatureGroupName": { - "markdownDescription": "The name of the `FeatureGroup` .", - "title": "FeatureGroupName", - "type": "string" - }, - "OfflineStoreConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OfflineStoreConfig", - "markdownDescription": "The configuration of an `OfflineStore` .", - "title": "OfflineStoreConfig" - }, - "OnlineStoreConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OnlineStoreConfig", - "markdownDescription": "The configuration of an `OnlineStore` .", - "title": "OnlineStoreConfig" - }, - "RecordIdentifierFeatureName": { - "markdownDescription": "The name of the `Feature` whose value uniquely identifies a `Record` defined in the `FeatureGroup` `FeatureDefinitions` .", - "title": "RecordIdentifierFeatureName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.", - "title": "RoleArn", - "type": "string" - }, - "Tags": { + "Stages": { "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AWS::SSMContacts::Plan.Stage" }, - "markdownDescription": "Tags used to define a `FeatureGroup` .", - "title": "Tags", + "markdownDescription": "A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods.", + "title": "Stages", "type": "array" - }, - "ThroughputConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.ThroughputConfig", - "markdownDescription": "Used to set feature group throughput configuration. There are two modes: `ON_DEMAND` and `PROVISIONED` . With on-demand mode, you are charged for data reads and writes that your application performs on your feature group. You do not need to specify read and write throughput because Feature Store accommodates your workloads as they ramp up and down. You can switch a feature group to on-demand only once in a 24 hour period. With provisioned throughput mode, you specify the read and write capacity per second that you expect your application to require, and you are billed based on those limits. Exceeding provisioned throughput will result in your requests being throttled.\n\nNote: `PROVISIONED` throughput mode is supported only for feature groups that are offline-only, or use the [`Standard`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html#sagemaker-Type-OnlineStoreConfig-StorageType) tier online store.", - "title": "ThroughputConfig" } }, "required": [ - "EventTimeFeatureName", - "FeatureDefinitions", - "FeatureGroupName", - "RecordIdentifierFeatureName" + "ContactId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::FeatureGroup" + "AWS::SSMContacts::Plan" ], "type": "string" }, @@ -361923,178 +329190,85 @@ ], "type": "object" }, - "AWS::SageMaker::FeatureGroup.DataCatalogConfig": { + "AWS::SSMContacts::Plan.ChannelTargetInfo": { "additionalProperties": false, "properties": { - "Catalog": { - "markdownDescription": "The name of the Glue table catalog.", - "title": "Catalog", - "type": "string" - }, - "Database": { - "markdownDescription": "The name of the Glue table database.", - "title": "Database", + "ChannelId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact channel.", + "title": "ChannelId", "type": "string" }, - "TableName": { - "markdownDescription": "The name of the Glue table.", - "title": "TableName", - "type": "string" + "RetryIntervalInMinutes": { + "markdownDescription": "The number of minutes to wait before retrying to send engagement if the engagement initially failed.", + "title": "RetryIntervalInMinutes", + "type": "number" } }, "required": [ - "Catalog", - "Database", - "TableName" + "ChannelId", + "RetryIntervalInMinutes" ], "type": "object" }, - "AWS::SageMaker::FeatureGroup.FeatureDefinition": { + "AWS::SSMContacts::Plan.ContactTargetInfo": { "additionalProperties": false, "properties": { - "FeatureName": { - "markdownDescription": "The name of a feature. The type must be a string. `FeatureName` cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .\n\nThe name:\n\n- Must start with an alphanumeric character.\n- Can only include alphanumeric characters, underscores, and hyphens. Spaces are not allowed.", - "title": "FeatureName", - "type": "string" - }, - "FeatureType": { - "markdownDescription": "The value type of a feature. Valid values are Integral, Fractional, or String.", - "title": "FeatureType", + "ContactId": { + "markdownDescription": "The Amazon Resource Name (ARN) of the contact.", + "title": "ContactId", "type": "string" - } - }, - "required": [ - "FeatureName", - "FeatureType" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.OfflineStoreConfig": { - "additionalProperties": false, - "properties": { - "DataCatalogConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.DataCatalogConfig", - "markdownDescription": "The meta data of the Glue table that is autogenerated when an `OfflineStore` is created.", - "title": "DataCatalogConfig" - }, - "DisableGlueTableCreation": { - "markdownDescription": "Set to `True` to disable the automatic creation of an AWS Glue table when configuring an `OfflineStore` . If set to `False` , Feature Store will name the `OfflineStore` Glue table following [Athena's naming recommendations](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) .\n\nThe default value is `False` .", - "title": "DisableGlueTableCreation", - "type": "boolean" - }, - "S3StorageConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.S3StorageConfig", - "markdownDescription": "The Amazon Simple Storage (Amazon S3) location of `OfflineStore` .", - "title": "S3StorageConfig" }, - "TableFormat": { - "markdownDescription": "Format for the offline store table. Supported formats are Glue (Default) and [Apache Iceberg](https://docs.aws.amazon.com/https://iceberg.apache.org/) .", - "title": "TableFormat", - "type": "string" - } - }, - "required": [ - "S3StorageConfig" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.OnlineStoreConfig": { - "additionalProperties": false, - "properties": { - "EnableOnlineStore": { - "markdownDescription": "Turn `OnlineStore` off by specifying `False` for the `EnableOnlineStore` flag. Turn `OnlineStore` on by specifying `True` for the `EnableOnlineStore` flag.\n\nThe default value is `False` .", - "title": "EnableOnlineStore", + "IsEssential": { + "markdownDescription": "A Boolean value determining if the contact's acknowledgement stops the progress of stages in the plan.", + "title": "IsEssential", "type": "boolean" - }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OnlineStoreSecurityConfig", - "markdownDescription": "Use to specify KMS Key ID ( `KMSKeyId` ) for at-rest encryption of your `OnlineStore` .", - "title": "SecurityConfig" - }, - "StorageType": { - "markdownDescription": "Option for different tiers of low latency storage for real-time data retrieval.\n\n- `Standard` : A managed low latency data store for feature groups.\n- `InMemory` : A managed data store for feature groups that supports very low latency retrieval.", - "title": "StorageType", - "type": "string" - }, - "TtlDuration": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.TtlDuration", - "markdownDescription": "Time to live duration, where the record is hard deleted after the expiration time is reached; `ExpiresAt` = `EventTime` + `TtlDuration` . For information on HardDelete, see the [DeleteRecord](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html) API in the Amazon SageMaker API Reference guide.", - "title": "TtlDuration" - } - }, - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.OnlineStoreSecurityConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service (KMS) key ARN that SageMaker Feature Store uses to encrypt the Amazon S3 objects at rest using Amazon S3 server-side encryption.\n\nThe caller (either user or IAM role) of `CreateFeatureGroup` must have below permissions to the `OnlineStore` `KmsKeyId` :\n\n- `\"kms:Encrypt\"`\n- `\"kms:Decrypt\"`\n- `\"kms:DescribeKey\"`\n- `\"kms:CreateGrant\"`\n- `\"kms:RetireGrant\"`\n- `\"kms:ReEncryptFrom\"`\n- `\"kms:ReEncryptTo\"`\n- `\"kms:GenerateDataKey\"`\n- `\"kms:ListAliases\"`\n- `\"kms:ListGrants\"`\n- `\"kms:RevokeGrant\"`\n\nThe caller (either user or IAM role) to all DataPlane operations ( `PutRecord` , `GetRecord` , `DeleteRecord` ) must have the following permissions to the `KmsKeyId` :\n\n- `\"kms:Decrypt\"`", - "title": "KmsKeyId", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.S3StorageConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service (KMS) key ARN of the key used to encrypt any objects written into the `OfflineStore` S3 location.\n\nThe IAM `roleARN` that is passed as a parameter to `CreateFeatureGroup` must have below permissions to the `KmsKeyId` :\n\n- `\"kms:GenerateDataKey\"`", - "title": "KmsKeyId", - "type": "string" - }, - "S3Uri": { - "markdownDescription": "The S3 URI, or location in Amazon S3, of `OfflineStore` .\n\nS3 URIs have a format similar to the following: `s3://example-bucket/prefix/` .", - "title": "S3Uri", - "type": "string" } }, "required": [ - "S3Uri" + "ContactId", + "IsEssential" ], "type": "object" }, - "AWS::SageMaker::FeatureGroup.ThroughputConfig": { + "AWS::SSMContacts::Plan.Stage": { "additionalProperties": false, "properties": { - "ProvisionedReadCapacityUnits": { - "markdownDescription": "For provisioned feature groups with online store enabled, this indicates the read throughput you are billed for and can consume without throttling.\n\nThis field is not applicable for on-demand feature groups.", - "title": "ProvisionedReadCapacityUnits", - "type": "number" - }, - "ProvisionedWriteCapacityUnits": { - "markdownDescription": "For provisioned feature groups, this indicates the write throughput you are billed for and can consume without throttling.\n\nThis field is not applicable for on-demand feature groups.", - "title": "ProvisionedWriteCapacityUnits", + "DurationInMinutes": { + "markdownDescription": "The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.", + "title": "DurationInMinutes", "type": "number" }, - "ThroughputMode": { - "markdownDescription": "The mode used for your feature group throughput: `ON_DEMAND` or `PROVISIONED` .", - "title": "ThroughputMode", - "type": "string" + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Plan.Targets" + }, + "markdownDescription": "The contacts or contact methods that the escalation plan or engagement plan is engaging.", + "title": "Targets", + "type": "array" } }, "required": [ - "ThroughputMode" + "DurationInMinutes" ], "type": "object" }, - "AWS::SageMaker::FeatureGroup.TtlDuration": { + "AWS::SSMContacts::Plan.Targets": { "additionalProperties": false, "properties": { - "Unit": { - "markdownDescription": "`TtlDuration` time unit.", - "title": "Unit", - "type": "string" + "ChannelTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Plan.ChannelTargetInfo", + "markdownDescription": "Information about the contact channel that Incident Manager engages.", + "title": "ChannelTargetInfo" }, - "Value": { - "markdownDescription": "`TtlDuration` time value.", - "title": "Value", - "type": "number" + "ContactTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Plan.ContactTargetInfo", + "markdownDescription": "Information about the contact that Incident Manager engages.", + "title": "ContactTargetInfo" } }, "type": "object" }, - "AWS::SageMaker::Hub": { + "AWS::SSMContacts::Rotation": { "additionalProperties": false, "properties": { "Condition": { @@ -362129,40 +329303,55 @@ "Properties": { "additionalProperties": false, "properties": { - "HubDescription": { - "type": "string" - }, - "HubDisplayName": { - "type": "string" - }, - "HubName": { - "type": "string" - }, - "HubSearchKeywords": { + "ContactIds": { "items": { "type": "string" }, + "markdownDescription": "The Amazon Resource Names (ARNs) of the contacts to add to the rotation.\n\n> Only the `PERSONAL` contact type is supported. The contact types `ESCALATION` and `ONCALL_SCHEDULE` are not supported for this operation. \n\nThe order in which you list the contacts is their shift order in the rotation schedule.", + "title": "ContactIds", "type": "array" }, - "S3StorageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Hub.S3StorageConfig" + "Name": { + "markdownDescription": "The name for the rotation.", + "title": "Name", + "type": "string" + }, + "Recurrence": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.RecurrenceSettings", + "markdownDescription": "Information about the rule that specifies when shift team members rotate.", + "title": "Recurrence" + }, + "StartTime": { + "markdownDescription": "The date and time the rotation goes into effect.", + "title": "StartTime", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "Optional metadata to assign to the rotation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For more information, see [Tagging Incident Manager resources](https://docs.aws.amazon.com/incident-manager/latest/userguide/tagging.html) in the *Incident Manager User Guide* .", + "title": "Tags", "type": "array" + }, + "TimeZoneId": { + "markdownDescription": "The time zone to base the rotation\u2019s activity on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the [Time Zone Database](https://docs.aws.amazon.com/https://www.iana.org/time-zones) on the IANA website.\n\n> Designators for time zones that don\u2019t support Daylight Savings Time rules, such as Pacific Standard Time (PST), are not supported.", + "title": "TimeZoneId", + "type": "string" } }, "required": [ - "HubDescription", - "HubName" + "ContactIds", + "Name", + "Recurrence", + "StartTime", + "TimeZoneId" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Hub" + "AWS::SSMContacts::Rotation" ], "type": "string" }, @@ -362181,16 +329370,142 @@ ], "type": "object" }, - "AWS::SageMaker::Hub.S3StorageConfig": { + "AWS::SSMContacts::Rotation.CoverageTime": { "additionalProperties": false, "properties": { - "S3OutputPath": { + "EndTime": { + "markdownDescription": "Information about when an on-call rotation shift ends.", + "title": "EndTime", + "type": "string" + }, + "StartTime": { + "markdownDescription": "Information about when an on-call rotation shift begins.", + "title": "StartTime", + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::SSMContacts::Rotation.MonthlySetting": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "markdownDescription": "The day of the month when monthly recurring on-call rotations begin.", + "title": "DayOfMonth", + "type": "number" + }, + "HandOffTime": { + "markdownDescription": "The time of day when a monthly recurring on-call shift rotation begins.", + "title": "HandOffTime", + "type": "string" + } + }, + "required": [ + "DayOfMonth", + "HandOffTime" + ], + "type": "object" + }, + "AWS::SSMContacts::Rotation.RecurrenceSettings": { + "additionalProperties": false, + "properties": { + "DailySettings": { + "items": { + "type": "string" + }, + "markdownDescription": "Information about on-call rotations that recur daily.", + "title": "DailySettings", + "type": "array" + }, + "MonthlySettings": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.MonthlySetting" + }, + "markdownDescription": "Information about on-call rotations that recur monthly.", + "title": "MonthlySettings", + "type": "array" + }, + "NumberOfOnCalls": { + "markdownDescription": "The number of contacts, or shift team members designated to be on call concurrently during a shift. For example, in an on-call schedule that contains ten contacts, a value of `2` designates that two of them are on call at any given time.", + "title": "NumberOfOnCalls", + "type": "number" + }, + "RecurrenceMultiplier": { + "markdownDescription": "The number of days, weeks, or months a single rotation lasts.", + "title": "RecurrenceMultiplier", + "type": "number" + }, + "ShiftCoverages": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.ShiftCoverage" + }, + "markdownDescription": "Information about the days of the week included in on-call rotation coverage.", + "title": "ShiftCoverages", + "type": "array" + }, + "WeeklySettings": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.WeeklySetting" + }, + "markdownDescription": "Information about on-call rotations that recur weekly.", + "title": "WeeklySettings", + "type": "array" + } + }, + "required": [ + "NumberOfOnCalls", + "RecurrenceMultiplier" + ], + "type": "object" + }, + "AWS::SSMContacts::Rotation.ShiftCoverage": { + "additionalProperties": false, + "properties": { + "CoverageTimes": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Rotation.CoverageTime" + }, + "markdownDescription": "The start and end times of the shift.", + "title": "CoverageTimes", + "type": "array" + }, + "DayOfWeek": { + "markdownDescription": "A list of days on which the schedule is active.", + "title": "DayOfWeek", + "type": "string" + } + }, + "required": [ + "CoverageTimes", + "DayOfWeek" + ], + "type": "object" + }, + "AWS::SSMContacts::Rotation.WeeklySetting": { + "additionalProperties": false, + "properties": { + "DayOfWeek": { + "markdownDescription": "The day of the week when weekly recurring on-call shift rotations begins.", + "title": "DayOfWeek", + "type": "string" + }, + "HandOffTime": { + "markdownDescription": "The time of day when a weekly recurring on-call shift rotation begins.", + "title": "HandOffTime", "type": "string" } }, + "required": [ + "DayOfWeek", + "HandOffTime" + ], "type": "object" }, - "AWS::SageMaker::HubContentVersion": { + "AWS::SSMGuiConnect::Preferences": { "additionalProperties": false, "properties": { "Condition": { @@ -362225,21 +329540,17 @@ "Properties": { "additionalProperties": false, "properties": { - "HubContentName": { - "type": "string" - }, - "HubContentType": { - "type": "string" - }, - "HubName": { - "type": "string" + "ConnectionRecordingPreferences": { + "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.ConnectionRecordingPreferences", + "markdownDescription": "The set of preferences used for recording RDP connections in the requesting AWS account and AWS Region . This includes details such as which S3 bucket recordings are stored in.", + "title": "ConnectionRecordingPreferences" } }, "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::HubContentVersion" + "AWS::SSMGuiConnect::Preferences" ], "type": "string" }, @@ -362257,7 +329568,64 @@ ], "type": "object" }, - "AWS::SageMaker::HumanTaskUi": { + "AWS::SSMGuiConnect::Preferences.ConnectionRecordingPreferences": { + "additionalProperties": false, + "properties": { + "KMSKeyArn": { + "markdownDescription": "The ARN of a AWS key that is used to encrypt data while it is being processed by the service. This key must exist in the same AWS Region as the node you start an RDP connection to.", + "title": "KMSKeyArn", + "type": "string" + }, + "RecordingDestinations": { + "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.RecordingDestinations", + "markdownDescription": "Determines where recordings of RDP connections are stored.", + "title": "RecordingDestinations" + } + }, + "required": [ + "KMSKeyArn", + "RecordingDestinations" + ], + "type": "object" + }, + "AWS::SSMGuiConnect::Preferences.RecordingDestinations": { + "additionalProperties": false, + "properties": { + "S3Buckets": { + "items": { + "$ref": "#/definitions/AWS::SSMGuiConnect::Preferences.S3Bucket" + }, + "markdownDescription": "The S3 bucket where RDP connection recordings are stored.", + "title": "S3Buckets", + "type": "array" + } + }, + "required": [ + "S3Buckets" + ], + "type": "object" + }, + "AWS::SSMGuiConnect::Preferences.S3Bucket": { + "additionalProperties": false, + "properties": { + "BucketName": { + "markdownDescription": "The name of the S3 bucket where RDP connection recordings are stored.", + "title": "BucketName", + "type": "string" + }, + "BucketOwner": { + "markdownDescription": "The AWS account number that owns the S3 bucket.", + "title": "BucketOwner", + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketOwner" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet": { "additionalProperties": false, "properties": { "Condition": { @@ -362292,27 +329660,36 @@ "Properties": { "additionalProperties": false, "properties": { - "HumanTaskUiName": { - "type": "string" + "DeletionProtected": { + "markdownDescription": "Determines if the replication set deletion protection is enabled or not. If deletion protection is enabled, you can't delete the last Region in the replication set.", + "title": "DeletionProtected", + "type": "boolean" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" + }, + "markdownDescription": "Specifies the Regions of the replication set.", + "title": "Regions", + "type": "array" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of tags to add to the replication set.", + "title": "Tags", "type": "array" - }, - "UiTemplate": { - "$ref": "#/definitions/AWS::SageMaker::HumanTaskUi.UiTemplate" } }, "required": [ - "HumanTaskUiName" + "Regions" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::HumanTaskUi" + "AWS::SSMIncidents::ReplicationSet" ], "type": "string" }, @@ -362331,19 +329708,37 @@ ], "type": "object" }, - "AWS::SageMaker::HumanTaskUi.UiTemplate": { + "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { "additionalProperties": false, "properties": { - "Content": { + "SseKmsKeyId": { + "markdownDescription": "The AWS Key Management Service key ID to use to encrypt your replication set.", + "title": "SseKmsKeyId", "type": "string" } }, "required": [ - "Content" + "SseKmsKeyId" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob": { + "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { + "additionalProperties": false, + "properties": { + "RegionConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration", + "markdownDescription": "Specifies the Region configuration.", + "title": "RegionConfiguration" + }, + "RegionName": { + "markdownDescription": "Specifies the region name to add to the replication set.", + "title": "RegionName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan": { "additionalProperties": false, "properties": { "Condition": { @@ -362378,43 +329773,68 @@ "Properties": { "additionalProperties": false, "properties": { - "Autotune": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.Autotune" + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" + }, + "markdownDescription": "The actions that the response plan starts at the beginning of an incident.", + "title": "Actions", + "type": "array" }, - "HyperParameterTuningJobConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobConfig" + "ChatChannel": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel", + "markdownDescription": "The chat channel used for collaboration during an incident.", + "title": "ChatChannel" }, - "HyperParameterTuningJobName": { + "DisplayName": { + "markdownDescription": "The human readable name of the response plan.", + "title": "DisplayName", "type": "string" }, - "Tags": { + "Engagements": { "items": { - "$ref": "#/definitions/Tag" + "type": "string" }, + "markdownDescription": "The Amazon Resource Name (ARN) for the contacts and escalation plans that the response plan engages during an incident.", + "title": "Engagements", "type": "array" }, - "TrainingJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.TrainingJobDefinition" + "IncidentTemplate": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate", + "markdownDescription": "Details used to create an incident when using this response plan.", + "title": "IncidentTemplate" }, - "TrainingJobDefinitions": { + "Integrations": { "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.TrainingJobDefinition" + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Integration" }, + "markdownDescription": "Information about third-party services integrated into the response plan.", + "title": "Integrations", "type": "array" }, - "WarmStartConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobWarmStartConfig" + "Name": { + "markdownDescription": "The name of the response plan.", + "title": "Name", + "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": [ - "HyperParameterTuningJobConfig", - "HyperParameterTuningJobName" + "IncidentTemplate", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::HyperParameterTuningJob" + "AWS::SSMIncidents::ResponsePlan" ], "type": "string" }, @@ -362433,659 +329853,648 @@ ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.AlgorithmSpecification": { + "AWS::SSMIncidents::ResponsePlan.Action": { "additionalProperties": false, "properties": { - "AlgorithmName": { - "type": "string" - }, - "MetricDefinitions": { + "SsmAutomation": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation", + "markdownDescription": "Details about the Systems Manager automation document that will be used as a runbook during an incident.", + "title": "SsmAutomation" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.ChatChannel": { + "additionalProperties": false, + "properties": { + "ChatbotSns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.MetricDefinitionsItems" + "type": "string" }, + "markdownDescription": "The Amazon targets that uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel by using the Amazon topics", + "title": "ChatbotSns", "type": "array" - }, - "TrainingImage": { - "type": "string" - }, - "TrainingInputMode": { - "type": "string" } }, - "required": [ - "TrainingInputMode" - ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.AutoParametersItems": { + "AWS::SSMIncidents::ResponsePlan.DynamicSsmParameter": { "additionalProperties": false, "properties": { - "Name": { + "Key": { + "markdownDescription": "The key parameter to use when running the Systems Manager Automation runbook.", + "title": "Key", "type": "string" }, - "ValueHint": { - "type": "string" + "Value": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.DynamicSsmParameterValue", + "markdownDescription": "The dynamic parameter value.", + "title": "Value" } }, "required": [ - "Name", - "ValueHint" + "Key", + "Value" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.Autotune": { + "AWS::SSMIncidents::ResponsePlan.DynamicSsmParameterValue": { "additionalProperties": false, "properties": { - "Mode": { + "Variable": { + "markdownDescription": "Variable dynamic parameters. A parameter value is determined when an incident is created.", + "title": "Variable", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.BestObjectiveNotImproving": { - "additionalProperties": false, - "properties": { - "MaxNumberOfTrainingJobsNotImproving": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.CategoricalParameterRangesItems": { + "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { "additionalProperties": false, "properties": { - "Name": { + "DedupeString": { + "markdownDescription": "Used to create only one incident record for an incident.", + "title": "DedupeString", "type": "string" }, - "Values": { + "Impact": { + "markdownDescription": "Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan.\n\n**Possible impacts:** - `1` - Critical impact, this typically relates to full application failure that impacts many to all customers.\n- `2` - High impact, partial application failure with impact to many customers.\n- `3` - Medium impact, the application is providing reduced service to customers.\n- `4` - Low impact, customer might aren't impacted by the problem yet.\n- `5` - No impact, customers aren't currently impacted but urgent action is needed to avoid impact.", + "title": "Impact", + "type": "number" + }, + "IncidentTags": { "items": { - "type": "string" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "Tags to assign to the template. When the `StartIncident` API action is called, Incident Manager assigns the tags specified in the template to the incident.", + "title": "IncidentTags", "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.CheckpointConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.ContinuousParameterRangesItems": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "string" }, - "MinValue": { - "type": "string" + "NotificationTargets": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" + }, + "markdownDescription": "The Amazon Simple Notification Service ( Amazon ) targets that uses to notify the chat channel of updates to an incident. You can also make updates to the incident through the chat channel using the Amazon topics.", + "title": "NotificationTargets", + "type": "array" }, - "Name": { + "Summary": { + "markdownDescription": "The summary describes what has happened during the incident.", + "title": "Summary", "type": "string" }, - "ScalingType": { + "Title": { + "markdownDescription": "The title of the incident is a brief and easily recognizable.", + "title": "Title", "type": "string" } }, "required": [ - "MaxValue", - "MinValue", - "Name" + "Impact", + "Title" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.ConvergenceDetected": { - "additionalProperties": false, - "properties": { - "CompleteOnConvergence": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.DataSource": { + "AWS::SSMIncidents::ResponsePlan.Integration": { "additionalProperties": false, "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.S3DataSource" + "PagerDutyConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.PagerDutyConfiguration", + "markdownDescription": "Information about the PagerDuty service where the response plan creates an incident.", + "title": "PagerDutyConfiguration" } }, "required": [ - "S3DataSource" + "PagerDutyConfiguration" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobConfig": { + "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { "additionalProperties": false, "properties": { - "HyperParameterTuningJobObjective": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobObjective" - }, - "ParameterRanges": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ParameterRanges" - }, - "RandomSeed": { - "type": "number" - }, - "ResourceLimits": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ResourceLimits" - }, - "Strategy": { - "type": "string" - }, - "StrategyConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.StrategyConfig" - }, - "TrainingJobEarlyStoppingType": { + "SnsTopicArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon topic.", + "title": "SnsTopicArn", "type": "string" - }, - "TuningJobCompletionCriteria": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.TuningJobCompletionCriteria" } }, - "required": [ - "ResourceLimits", - "Strategy" - ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobObjective": { + "AWS::SSMIncidents::ResponsePlan.PagerDutyConfiguration": { "additionalProperties": false, "properties": { - "MetricName": { + "Name": { + "markdownDescription": "The name of the PagerDuty configuration.", + "title": "Name", "type": "string" }, - "Type": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.HyperParameterTuningJobWarmStartConfig": { - "additionalProperties": false, - "properties": { - "ParentHyperParameterTuningJobs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ParentHyperParameterTuningJobsItems" - }, - "type": "array" + "PagerDutyIncidentConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.PagerDutyIncidentConfiguration", + "markdownDescription": "Details about the PagerDuty service associated with the configuration.", + "title": "PagerDutyIncidentConfiguration" }, - "WarmStartType": { + "SecretId": { + "markdownDescription": "The ID of the AWS Secrets Manager secret that stores your PagerDuty key, either a General Access REST API Key or User Token REST API Key, and other user credentials.", + "title": "SecretId", "type": "string" } }, "required": [ - "ParentHyperParameterTuningJobs", - "WarmStartType" + "Name", + "PagerDutyIncidentConfiguration", + "SecretId" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.HyperbandStrategyConfig": { - "additionalProperties": false, - "properties": { - "MaxResource": { - "type": "number" - }, - "MinResource": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.InputDataConfigItems": { + "AWS::SSMIncidents::ResponsePlan.PagerDutyIncidentConfiguration": { "additionalProperties": false, "properties": { - "ChannelName": { + "ServiceId": { + "markdownDescription": "The ID of the PagerDuty service that the response plan associates with an incident when it launches.", + "title": "ServiceId", "type": "string" - }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.DataSource" } }, "required": [ - "ChannelName", - "DataSource" + "ServiceId" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.InstanceGroupsItems": { + "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceGroupName": { + "DocumentName": { + "markdownDescription": "The automation document's name.", + "title": "DocumentName", "type": "string" }, - "InstanceType": { + "DocumentVersion": { + "markdownDescription": "The version of the runbook to use when running.", + "title": "DocumentVersion", "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceGroupName", - "InstanceType" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.InstancePlacementConfig": { - "additionalProperties": false, - "properties": { - "EnableMultipleJobs": { - "type": "boolean" }, - "PlacementSpecifications": { + "DynamicParameters": { "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.PlacementSpecificationsItems" + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.DynamicSsmParameter" }, + "markdownDescription": "The key-value pairs to resolve dynamic parameter values when processing a Systems Manager Automation runbook.", + "title": "DynamicParameters", "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.IntegerParameterRangesItems": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "string" }, - "MinValue": { - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" + }, + "markdownDescription": "The key-value pair parameters to use when running the runbook.", + "title": "Parameters", + "type": "array" }, - "Name": { + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the role that the automation document will assume when running commands.", + "title": "RoleArn", "type": "string" }, - "ScalingType": { + "TargetAccount": { + "markdownDescription": "The account that the automation document will be run in. This can be in either the management account or an application account.", + "title": "TargetAccount", "type": "string" } }, "required": [ - "MaxValue", - "MinValue", - "Name" + "DocumentName", + "RoleArn" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.MetricDefinitionsItems": { + "AWS::SSMIncidents::ResponsePlan.SsmParameter": { "additionalProperties": false, "properties": { - "Name": { + "Key": { + "markdownDescription": "The key parameter to use when running the Automation runbook.", + "title": "Key", "type": "string" }, - "Regex": { - "type": "string" + "Values": { + "items": { + "type": "string" + }, + "markdownDescription": "The value parameter to use when running the Automation runbook.", + "title": "Values", + "type": "array" } }, "required": [ - "Name", - "Regex" + "Key", + "Values" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.ObjectiveStatusCounters": { - "additionalProperties": false, - "properties": { - "Failed": { - "type": "number" - }, - "Pending": { - "type": "number" - }, - "Succeeded": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.OutputDataConfig": { + "AWS::SSMQuickSetup::ConfigurationManager": { "additionalProperties": false, "properties": { - "CompressionType": { + "Condition": { "type": "string" }, - "KmsKeyId": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3OutputPath": { - "type": "string" - } - }, - "required": [ - "S3OutputPath" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.ParameterRanges": { - "additionalProperties": false, - "properties": { - "AutoParameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.AutoParametersItems" - }, - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "CategoricalParameterRanges": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.CategoricalParameterRangesItems" - }, - "type": "array" + "Metadata": { + "type": "object" }, - "ContinuousParameterRanges": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ContinuousParameterRangesItems" + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SSMQuickSetup::ConfigurationManager.ConfigurationDefinition" + }, + "markdownDescription": "The definition of the Quick Setup configuration that the configuration manager deploys.", + "title": "ConfigurationDefinitions", + "type": "array" + }, + "Description": { + "markdownDescription": "The description of the configuration.", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the configuration", + "title": "Name", + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "Key-value pairs of metadata to assign to the configuration manager.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" + } }, - "type": "array" + "required": [ + "ConfigurationDefinitions" + ], + "type": "object" }, - "IntegerParameterRanges": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.IntegerParameterRangesItems" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.ParentHyperParameterTuningJobsItems": { - "additionalProperties": false, - "properties": { - "HyperParameterTuningJobName": { + "Type": { + "enum": [ + "AWS::SSMQuickSetup::ConfigurationManager" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.PlacementSpecificationsItems": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" }, - "UltraServerId": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "InstanceCount" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.ResourceConfig": { + "AWS::SSMQuickSetup::ConfigurationManager.ConfigurationDefinition": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceGroups": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.InstanceGroupsItems" - }, - "type": "array" - }, - "InstancePlacementConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.InstancePlacementConfig" + "LocalDeploymentAdministrationRoleArn": { + "markdownDescription": "The ARN of the IAM role used to administrate local configuration deployments.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only for organizational deployments of types other than `AWSQuickSetupType-PatchPolicy` . A value must be provided when you are running an organizational deployment for a patch policy or running any type of deployment for a single account.", + "title": "LocalDeploymentAdministrationRoleArn", + "type": "string" }, - "InstanceType": { + "LocalDeploymentExecutionRoleName": { + "markdownDescription": "The name of the IAM role used to deploy local configurations.\n\n> Although this element is listed as \"Required: No\", a value can be omitted only for organizational deployments of types other than `AWSQuickSetupType-PatchPolicy` . A value must be provided when you are running an organizational deployment for a patch policy or running any type of deployment for a single account.", + "title": "LocalDeploymentExecutionRoleName", "type": "string" }, - "KeepAlivePeriodInSeconds": { - "type": "number" + "Parameters": { + "additionalProperties": true, + "markdownDescription": "The parameters for the configuration definition type. Parameters for configuration definitions vary based the configuration type. The following lists outline the parameters for each configuration type.\n\n- **AWS Config Recording (Type: AWS QuickSetupType-CFGRecording)** - - `RecordAllResources`\n\n- Description: (Optional) A boolean value that determines whether all supported resources are recorded. The default value is \" `true` \".\n- `ResourceTypesToRecord`\n\n- Description: (Optional) A comma separated list of resource types you want to record.\n- `RecordGlobalResourceTypes`\n\n- Description: (Optional) A boolean value that determines whether global resources are recorded with all resource configurations. The default value is \" `false` \".\n- `GlobalResourceTypesRegion`\n\n- Description: (Optional) Determines the AWS Region where global resources are recorded.\n- `UseCustomBucket`\n\n- Description: (Optional) A boolean value that determines whether a custom Amazon S3 bucket is used for delivery. The default value is \" `false` \".\n- `DeliveryBucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want AWS Config to deliver configuration snapshots and configuration history files to.\n- `DeliveryBucketPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `NotificationOptions`\n\n- Description: (Optional) Determines the notification configuration for the recorder. The valid values are `NoStreaming` , `UseExistingTopic` , and `CreateTopic` . The default value is `NoStreaming` .\n- `CustomDeliveryTopicAccountId`\n\n- Description: (Optional) The ID of the AWS account where the Amazon SNS topic you want to use for notifications resides. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `CustomDeliveryTopicName`\n\n- Description: (Optional) The name of the Amazon SNS topic you want to use for notifications. You must specify a value for this parameter if you use the `UseExistingTopic` notification option.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(7 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Change Manager (Type: AWS QuickSetupType-SSMChangeMgr)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `JobFunction`\n\n- Description: (Required) The name for the Change Manager job function.\n- `PermissionType`\n\n- Description: (Optional) Specifies whether you want to use default administrator permissions for the job function role, or provide a custom IAM policy. The valid values are `CustomPermissions` and `AdminPermissions` . The default value for the parameter is `CustomerPermissions` .\n- `CustomPermissions`\n\n- Description: (Optional) A JSON string containing the IAM policy you want your job function to use. You must provide a value for this parameter if you specify `CustomPermissions` for the `PermissionType` parameter.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Conformance Packs (Type: AWS QuickSetupType-CFGCPacks)** - - `DelegatedAccountId`\n\n- Description: (Optional) The ID of the delegated administrator account. This parameter is required for Organization deployments.\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `none` \".\n- `CPackNames`\n\n- Description: (Required) A comma separated list of AWS Config conformance packs.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) The ID of the root of your Organization. This configuration type doesn't currently support choosing specific OUs. The configuration will be deployed to all the OUs in the Organization.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Default Host Management Configuration (Type: AWS QuickSetupType-DHMC)** - - `UpdateSsmAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **DevOps\u00a0Guru (Type: AWS QuickSetupType-DevOpsGuru)** - - `AnalyseAllResources`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru analyzes all CloudFormation stacks in the account. The default value is \" `false` \".\n- `EnableSnsNotifications`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru sends notifications when an insight is created. The default value is \" `true` \".\n- `EnableSsmOpsItems`\n\n- Description: (Optional) A boolean value that determines whether DevOps\u00a0Guru creates an OpsCenter OpsItem when an insight is created. The default value is \" `true` \".\n- `EnableDriftRemediation`\n\n- Description: (Optional) A boolean value that determines whether a drift remediation schedule is used. The default value is \" `false` \".\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(1 days)` , and `none` . The default value is \" `none` \".\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Distributor (Type: AWS QuickSetupType-Distributor)** - - `PackagesToInstall`\n\n- Description: (Required) A comma separated list of packages you want to install on the target instances. The valid values are `AWSEFSTools` , `AWSCWAgent` , and `AWSEC2LaunchAgent` .\n- `RemediationSchedule`\n\n- Description: (Optional) A rate expression that defines the schedule for drift remediation. The valid values are `rate(30 days)` , `rate(14 days)` , `rate(2 days)` , and `none` . The default value is \" `rate(30 days)` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Host Management (Type: AWS QuickSetupType-SSMHostMgmt)** - - `UpdateSsmAgent`\n\n- Description: (Optional) A boolean value that determines whether the SSM Agent is updated on the target instances every 2 weeks. The default value is \" `true` \".\n- `UpdateEc2LaunchAgent`\n\n- Description: (Optional) A boolean value that determines whether the EC2 Launch agent is updated on the target instances every month. The default value is \" `false` \".\n- `CollectInventory`\n\n- Description: (Optional) A boolean value that determines whether instance metadata is collected on the target instances every 30 minutes. The default value is \" `true` \".\n- `ScanInstances`\n\n- Description: (Optional) A boolean value that determines whether the target instances are scanned daily for available patches. The default value is \" `true` \".\n- `InstallCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is installed on the target instances. The default value is \" `false` \".\n- `UpdateCloudWatchAgent`\n\n- Description: (Optional) A boolean value that determines whether the Amazon CloudWatch agent is updated on the target instances every month. The default value is \" `false` \".\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Optional) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Optional) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Optional) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **OpsCenter (Type: AWS QuickSetupType-SSMOpsCenter)** - - `DelegatedAccountId`\n\n- Description: (Required) The ID of the delegated administrator account.\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Patch Policy (Type: AWS QuickSetupType-PatchPolicy)** - - `PatchPolicyName`\n\n- Description: (Required) A name for the patch policy. The value you provide is applied to target Amazon EC2 instances as a tag.\n- `SelectedPatchBaselines`\n\n- Description: (Required) An array of JSON objects containing the information for the patch baselines to include in your patch policy.\n- `PatchBaselineUseDefault`\n\n- Description: (Optional) A value that determines whether the selected patch baselines are all AWS provided. Supported values are `default` and `custom` .\n- `PatchBaselineRegion`\n\n- Description: (Required) The AWS Region where the patch baseline exist.\n- `ConfigurationOptionsPatchOperation`\n\n- Description: (Optional) Determines whether target instances scan for available patches, or scan and install available patches. The valid values are `Scan` and `ScanAndInstall` . The default value for the parameter is `Scan` .\n- `ConfigurationOptionsScanValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances scan for available patches.\n- `ConfigurationOptionsInstallValue`\n\n- Description: (Optional) A cron expression that is used as the schedule for when instances install available patches.\n- `ConfigurationOptionsScanNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `ConfigurationOptionsInstallNextInterval`\n\n- Description: (Optional) A boolean value that determines whether instances should scan for available patches at the next cron interval. The default value is \" `false` \".\n- `RebootOption`\n\n- Description: (Optional) Determines whether instances are rebooted after patches are installed. Valid values are `RebootIfNeeded` and `NoReboot` .\n- `IsPolicyAttachAllowed`\n\n- Description: (Optional) A boolean value that determines whether Quick Setup attaches policies to instances profiles already associated with the target instances. The default value is \" `false` \".\n- `OutputLogEnableS3`\n\n- Description: (Optional) A boolean value that determines whether command output logs are sent to Amazon S3.\n- `OutputS3Location`\n\n- Description: (Optional) Information about the Amazon S3 bucket where you want to store the output details of the request.\n\n- `OutputBucketRegion`\n\n- Description: (Optional) The AWS Region where the Amazon S3 bucket you want to deliver command output to is located.\n- `OutputS3BucketName`\n\n- Description: (Optional) The name of the Amazon S3 bucket you want to deliver command output to.\n- `OutputS3KeyPrefix`\n\n- Description: (Optional) The key prefix you want to use in the custom Amazon S3 bucket.\n- `TargetType`\n\n- Description: (Optional) Determines how instances are targeted for local account deployments. Don't specify a value for this parameter if you're deploying to OUs. The valid values are `*` , `InstanceIds` , `ResourceGroups` , and `Tags` . Use `*` to target all instances in the account.\n- `TargetInstances`\n\n- Description: (Optional) A comma separated list of instance IDs. You must provide a value for this parameter if you specify `InstanceIds` for the `TargetType` parameter.\n- `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target. You must provide a value for this parameter if you specify `Tags` for the `TargetType` parameter.\n- `ResourceGroupName`\n\n- Description: (Required) The name of the resource group associated with the instances you want to target. You must provide a value for this parameter if you specify `ResourceGroups` for the `TargetType` parameter.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Explorer (Type: AWS QuickSetupType-ResourceExplorer)** - - `SelectedAggregatorRegion`\n\n- Description: (Required) The AWS Region where you want to create the aggregator index.\n- `ReplaceExistingAggregator`\n\n- Description: (Required) A boolean value that determines whether to demote an existing aggregator if it is in a Region that differs from the value you specify for the `SelectedAggregatorRegion` .\n- `TargetOrganizationalUnits`\n\n- Description: (Required) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.\n- **Resource Scheduler (Type: AWS QuickSetupType-Scheduler)** - - `TargetTagKey`\n\n- Description: (Required) The tag key assigned to the instances you want to target.\n- `TargetTagValue`\n\n- Description: (Required) The value of the tag key assigned to the instances you want to target.\n- `ICalendarString`\n\n- Description: (Required) An iCalendar formatted string containing the schedule you want Change Manager to use.\n- `TargetAccounts`\n\n- Description: (Optional) The ID of the AWS account initiating the configuration deployment. You only need to provide a value for this parameter if you want to deploy the configuration locally. A value must be provided for either `TargetAccounts` or `TargetOrganizationalUnits` .\n- `TargetOrganizationalUnits`\n\n- Description: (Optional) A comma separated list of organizational units (OUs) you want to deploy the configuration to.\n- `TargetRegions`\n\n- Description: (Required) A comma separated list of AWS Regions you want to deploy the configuration to.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Parameters", + "type": "object" }, - "TrainingPlanArn": { + "Type": { + "markdownDescription": "The type of the Quick Setup configuration.", + "title": "Type", "type": "string" }, - "VolumeKmsKeyId": { + "TypeVersion": { + "markdownDescription": "The version of the Quick Setup type used.", + "title": "TypeVersion", "type": "string" }, - "VolumeSizeInGB": { - "type": "number" + "id": { + "markdownDescription": "The ID of the configuration definition.", + "title": "id", + "type": "string" } }, "required": [ - "VolumeSizeInGB" + "Parameters", + "Type" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.ResourceLimits": { + "AWS::SSMQuickSetup::ConfigurationManager.StatusSummary": { "additionalProperties": false, "properties": { - "MaxNumberOfTrainingJobs": { - "type": "number" - }, - "MaxParallelTrainingJobs": { - "type": "number" + "LastUpdatedAt": { + "markdownDescription": "The datetime stamp when the status was last updated.", + "title": "LastUpdatedAt", + "type": "string" }, - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxParallelTrainingJobs" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.RetryStrategy": { - "additionalProperties": false, - "properties": { - "MaximumRetryAttempts": { - "type": "number" - } - }, - "required": [ - "MaximumRetryAttempts" - ], - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.S3DataSource": { - "additionalProperties": false, - "properties": { - "S3DataDistributionType": { + "Status": { + "markdownDescription": "The current status.", + "title": "Status", "type": "string" }, - "S3DataType": { + "StatusDetails": { + "additionalProperties": true, + "markdownDescription": "Details about the status.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "StatusDetails", + "type": "object" + }, + "StatusMessage": { + "markdownDescription": "When applicable, returns an informational message relevant to the current status and status type of the status summary object. We don't recommend implementing parsing logic around this value since the messages returned can vary in format.", + "title": "StatusMessage", "type": "string" }, - "S3Uri": { + "StatusType": { + "markdownDescription": "The type of a status summary.", + "title": "StatusType", "type": "string" } }, "required": [ - "S3DataType", - "S3Uri" + "LastUpdatedAt", + "StatusType" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxPendingTimeInSeconds": { - "type": "number" - }, - "MaxRuntimeInSeconds": { - "type": "number" - }, - "MaxWaitTimeInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.StrategyConfig": { - "additionalProperties": false, - "properties": { - "HyperbandStrategyConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.HyperbandStrategyConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.TrainingJobDefinition": { + "AWS::SSMQuickSetup::LifecycleAutomation": { "additionalProperties": false, "properties": { - "AlgorithmSpecification": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.AlgorithmSpecification" - }, - "CheckpointConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.CheckpointConfig" - }, - "DefinitionName": { + "Condition": { "type": "string" }, - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableManagedSpotTraining": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "Environment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" } - }, - "type": "object" - }, - "HyperParameterRanges": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ParameterRanges" - }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.InputDataConfigItems" - }, - "type": "array" - }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.OutputDataConfig" - }, - "ResourceConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ResourceConfig" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.RetryStrategy" + ] }, - "RoleArn": { - "type": "string" + "Metadata": { + "type": "object" }, - "StaticHyperParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "Properties": { + "additionalProperties": false, + "properties": { + "AutomationDocument": { + "markdownDescription": "The name of the SSM Automation document to execute in response to CloudFormation lifecycle events (CREATE, UPDATE, DELETE).", + "title": "AutomationDocument", + "type": "string" + }, + "AutomationParameters": { + "markdownDescription": "A map of key-value parameters passed to the Automation document during execution. Each parameter name maps to a list of values, even for single values. Parameters can include configuration-specific values for your automation workflow.", + "title": "AutomationParameters", + "type": "object" + }, + "ResourceKey": { + "markdownDescription": "A unique identifier used for generating the SSM Association name. This ensures uniqueness when multiple lifecycle automation resources exist in the same stack.", + "title": "ResourceKey", "type": "string" + }, + "Tags": { + "additionalProperties": true, + "markdownDescription": "Tags applied to the underlying SSM Association created by this resource. Tags help identify and organize automation executions.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Tags", + "type": "object" } }, + "required": [ + "AutomationDocument", + "AutomationParameters", + "ResourceKey" + ], "type": "object" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.StoppingCondition" - }, - "TuningObjective": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.TuningObjective" + "Type": { + "enum": [ + "AWS::SSMQuickSetup::LifecycleAutomation" + ], + "type": "string" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.VpcConfig" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "AlgorithmSpecification", - "OutputDataConfig", - "RoleArn", - "StoppingCondition" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.TrainingJobStatusCounters": { + "AWS::SSO::Application": { "additionalProperties": false, "properties": { - "Completed": { - "type": "number" + "Condition": { + "type": "string" }, - "InProgress": { - "type": "number" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "NonRetryableError": { - "type": "number" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "RetryableError": { - "type": "number" + "Metadata": { + "type": "object" }, - "Stopped": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::HyperParameterTuningJob.TuningJobCompletionCriteria": { - "additionalProperties": false, - "properties": { - "BestObjectiveNotImproving": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.BestObjectiveNotImproving" + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationProviderArn": { + "markdownDescription": "The ARN of the application provider for this application.", + "title": "ApplicationProviderArn", + "type": "string" + }, + "Description": { + "markdownDescription": "The description of the application.", + "title": "Description", + "type": "string" + }, + "InstanceArn": { + "markdownDescription": "The ARN of the instance of IAM Identity Center that is configured with this application.", + "title": "InstanceArn", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the application.", + "title": "Name", + "type": "string" + }, + "PortalOptions": { + "$ref": "#/definitions/AWS::SSO::Application.PortalOptionsConfiguration", + "markdownDescription": "A structure that describes the options for the access portal associated with this application.", + "title": "PortalOptions" + }, + "Status": { + "markdownDescription": "The current status of the application in this instance of IAM Identity Center.", + "title": "Status", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Specifies tags to be attached to the application.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ApplicationProviderArn", + "InstanceArn", + "Name" + ], + "type": "object" }, - "ConvergenceDetected": { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob.ConvergenceDetected" + "Type": { + "enum": [ + "AWS::SSO::Application" + ], + "type": "string" }, - "TargetObjectiveMetricValue": { - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.TuningObjective": { + "AWS::SSO::Application.PortalOptionsConfiguration": { "additionalProperties": false, "properties": { - "MetricName": { - "type": "string" + "SignInOptions": { + "$ref": "#/definitions/AWS::SSO::Application.SignInOptions", + "markdownDescription": "A structure that describes the sign-in options for the access portal.", + "title": "SignInOptions" }, - "Type": { + "Visibility": { + "markdownDescription": "Indicates whether this application is visible in the access portal.", + "title": "Visibility", "type": "string" } }, - "required": [ - "MetricName", - "Type" - ], "type": "object" }, - "AWS::SageMaker::HyperParameterTuningJob.VpcConfig": { + "AWS::SSO::Application.SignInOptions": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "ApplicationUrl": { + "markdownDescription": "The URL that accepts authentication requests for an application. This is a required parameter if the `Origin` parameter is `APPLICATION` .", + "title": "ApplicationUrl", + "type": "string" }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" + "Origin": { + "markdownDescription": "This determines how IAM Identity Center navigates the user to the target application. It can be one of the following values:\n\n- `APPLICATION` : IAM Identity Center redirects the customer to the configured `ApplicationUrl` .\n- `IDENTITY_CENTER` : IAM Identity Center uses SAML identity-provider initiated authentication to sign the customer directly into a SAML-based application.", + "title": "Origin", + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "Origin" ], "type": "object" }, - "AWS::SageMaker::Image": { + "AWS::SSO::ApplicationAssignment": { "additionalProperties": false, "properties": { "Condition": { @@ -363120,44 +330529,32 @@ "Properties": { "additionalProperties": false, "properties": { - "ImageDescription": { - "markdownDescription": "The description of the image.", - "title": "ImageDescription", - "type": "string" - }, - "ImageDisplayName": { - "markdownDescription": "The display name of the image.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.\n\n*Pattern* : `^\\S(.*\\S)?$`", - "title": "ImageDisplayName", + "ApplicationArn": { + "markdownDescription": "The ARN of the application that has principals assigned.", + "title": "ApplicationArn", "type": "string" }, - "ImageName": { - "markdownDescription": "The name of the Image. Must be unique by region in your account.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 63.\n\n*Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`", - "title": "ImageName", + "PrincipalId": { + "markdownDescription": "The unique identifier of the principal assigned to the application.", + "title": "PrincipalId", "type": "string" }, - "ImageRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.\n\n*Length Constraints* : Minimum length of 20. Maximum length of 2048.\n\n*Pattern* : `^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$`", - "title": "ImageRoleArn", + "PrincipalType": { + "markdownDescription": "The type of the principal assigned to the application.", + "title": "PrincipalType", "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\n*Array Members* : Minimum number of 0 items. Maximum number of 50 items.", - "title": "Tags", - "type": "array" } }, "required": [ - "ImageName", - "ImageRoleArn" + "ApplicationArn", + "PrincipalId", + "PrincipalType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Image" + "AWS::SSO::ApplicationAssignment" ], "type": "string" }, @@ -363176,7 +330573,7 @@ ], "type": "object" }, - "AWS::SageMaker::ImageVersion": { + "AWS::SSO::Assignment": { "additionalProperties": false, "properties": { "Condition": { @@ -363211,74 +330608,50 @@ "Properties": { "additionalProperties": false, "properties": { - "Alias": { - "markdownDescription": "", - "title": "Alias", - "type": "string" - }, - "Aliases": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "Aliases", - "type": "array" - }, - "BaseImage": { - "markdownDescription": "The container image that the SageMaker image version is based on.", - "title": "BaseImage", - "type": "string" - }, - "Horovod": { - "markdownDescription": "", - "title": "Horovod", - "type": "boolean" - }, - "ImageName": { - "markdownDescription": "The name of the parent image.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 63.\n\n*Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`", - "title": "ImageName", - "type": "string" - }, - "JobType": { - "markdownDescription": "", - "title": "JobType", + "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" }, - "MLFramework": { - "markdownDescription": "", - "title": "MLFramework", + "PermissionSetArn": { + "markdownDescription": "The ARN of the permission set.", + "title": "PermissionSetArn", "type": "string" }, - "Processor": { - "markdownDescription": "", - "title": "Processor", + "PrincipalId": { + "markdownDescription": "An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the [IAM Identity Center Identity Store API Reference](https://docs.aws.amazon.com//singlesignon/latest/IdentityStoreAPIReference/welcome.html) .", + "title": "PrincipalId", "type": "string" }, - "ProgrammingLang": { - "markdownDescription": "", - "title": "ProgrammingLang", + "PrincipalType": { + "markdownDescription": "The entity type for which the assignment will be created.", + "title": "PrincipalType", "type": "string" }, - "ReleaseNotes": { - "markdownDescription": "", - "title": "ReleaseNotes", + "TargetId": { + "markdownDescription": "TargetID is an AWS account identifier, (For example, 123456789012).", + "title": "TargetId", "type": "string" }, - "VendorGuidance": { - "markdownDescription": "", - "title": "VendorGuidance", + "TargetType": { + "markdownDescription": "The entity type for which the assignment will be created.", + "title": "TargetType", "type": "string" } }, "required": [ - "BaseImage", - "ImageName" + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ImageVersion" + "AWS::SSO::Assignment" ], "type": "string" }, @@ -363297,7 +330670,7 @@ ], "type": "object" }, - "AWS::SageMaker::InferenceComponent": { + "AWS::SSO::Instance": { "additionalProperties": false, "properties": { "Condition": { @@ -363332,59 +330705,25 @@ "Properties": { "additionalProperties": false, "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig", - "markdownDescription": "The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.", - "title": "DeploymentConfig" - }, - "EndpointArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the endpoint that hosts the inference component.", - "title": "EndpointArn", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint that hosts the inference component.", - "title": "EndpointName", - "type": "string" - }, - "InferenceComponentName": { - "markdownDescription": "The name of the inference component.", - "title": "InferenceComponentName", + "Name": { + "markdownDescription": "The name of the Identity Center instance.", + "title": "Name", "type": "string" }, - "RuntimeConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig", - "markdownDescription": "", - "title": "RuntimeConfig" - }, - "Specification": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification", - "markdownDescription": "", - "title": "Specification" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "Specifies tags to be attached to the instance of IAM Identity Center.", "title": "Tags", "type": "array" - }, - "VariantName": { - "markdownDescription": "The name of the production variant that hosts the inference component.", - "title": "VariantName", - "type": "string" } }, - "required": [ - "EndpointName", - "Specification" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::InferenceComponent" + "AWS::SSO::Instance" ], "type": "string" }, @@ -363398,252 +330737,123 @@ } }, "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "markdownDescription": "The name of a CloudWatch alarm in your account.", - "title": "AlarmName", - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.AutoRollbackConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.Alarm" - }, - "markdownDescription": "", - "title": "Alarms", - "type": "array" - } - }, - "required": [ - "Alarms" + "Type" ], "type": "object" }, - "AWS::SageMaker::InferenceComponent.DeployedImage": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { "additionalProperties": false, "properties": { - "ResolutionTime": { - "markdownDescription": "The date and time when the image path for the model resolved to the `ResolvedImage`", - "title": "ResolutionTime", - "type": "string" - }, - "ResolvedImage": { - "markdownDescription": "The specific digest path of the image hosted in this `ProductionVariant` .", - "title": "ResolvedImage", + "Condition": { "type": "string" }, - "SpecifiedImage": { - "markdownDescription": "The image path you specified when you created the model.", - "title": "SpecifiedImage", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize": { - "additionalProperties": false, - "properties": { - "Type": { - "markdownDescription": "Specifies the endpoint capacity type.\n\n- **COPY_COUNT** - The endpoint activates based on the number of inference component copies.\n- **CAPACITY_PERCENT** - The endpoint activates based on the specified percentage of capacity.", - "title": "Type", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "Value": { - "markdownDescription": "Defines the capacity size, either as a number of inference component copies or a capacity percentage.", - "title": "Value", - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { - "additionalProperties": false, - "properties": { - "MaxMemoryRequiredInMb": { - "markdownDescription": "The maximum MB of memory to allocate to run a model that you assign to an inference component.", - "title": "MaxMemoryRequiredInMb", - "type": "number" - }, - "MinMemoryRequiredInMb": { - "markdownDescription": "The minimum MB of memory to allocate to run a model that you assign to an inference component.", - "title": "MinMemoryRequiredInMb", - "type": "number" - }, - "NumberOfAcceleratorDevicesRequired": { - "markdownDescription": "The number of accelerators to allocate to run a model that you assign to an inference component. Accelerators include GPUs and AWS Inferentia.", - "title": "NumberOfAcceleratorDevicesRequired", - "type": "number" - }, - "NumberOfCpuCoresRequired": { - "markdownDescription": "The number of CPU cores to allocate to run a model that you assign to an inference component.", - "title": "NumberOfCpuCoresRequired", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { - "additionalProperties": false, - "properties": { - "ArtifactUrl": { - "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).", - "title": "ArtifactUrl", - "type": "string" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "DeployedImage": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage", - "markdownDescription": "", - "title": "DeployedImage" + "Metadata": { + "type": "object" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "The environment variables to set in the Docker container. Each key and value in the Environment string-to-string map can have length of up to 1024. We support up to 16 entries in the map.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { + "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" } }, - "title": "Environment", + "required": [ + "InstanceArn" + ], "type": "object" }, - "Image": { - "markdownDescription": "The Amazon Elastic Container Registry (Amazon ECR) path where the Docker image for the model is stored.", - "title": "Image", + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig": { - "additionalProperties": false, - "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.AutoRollbackConfiguration", - "markdownDescription": "", - "title": "AutoRollbackConfiguration" - }, - "RollingUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy", - "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker AI endpoint.", - "title": "RollingUpdatePolicy" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy": { - "additionalProperties": false, - "properties": { - "MaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize", - "markdownDescription": "The batch size for each rolling step in the deployment process. For each step, SageMaker AI provisions capacity on the new endpoint fleet, routes traffic to that fleet, and terminates capacity on the old endpoint fleet. The value must be between 5% to 50% of the copy count of the inference component.", - "title": "MaximumBatchSize" - }, - "MaximumExecutionTimeoutInSeconds": { - "markdownDescription": "The time limit for the total deployment. Exceeding this limit causes a timeout.", - "title": "MaximumExecutionTimeoutInSeconds", - "type": "number" - }, - "RollbackMaximumBatchSize": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize", - "markdownDescription": "The batch size for a rollback to the old endpoint fleet. If this field is absent, the value is set to the default, which is 100% of the total capacity. When the default is used, SageMaker AI provisions the entire capacity of the old fleet at once during rollback.", - "title": "RollbackMaximumBatchSize" - }, - "WaitIntervalInSeconds": { - "markdownDescription": "The length of the baking period, during which SageMaker AI monitors alarms for each batch on the new fleet.", - "title": "WaitIntervalInSeconds", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { - "additionalProperties": false, - "properties": { - "CopyCount": { - "markdownDescription": "The number of runtime copies of the model container to deploy with the inference component. Each copy can serve inference requests.", - "title": "CopyCount", - "type": "number" - }, - "CurrentCopyCount": { - "markdownDescription": "", - "title": "CurrentCopyCount", - "type": "number" }, - "DesiredCopyCount": { - "markdownDescription": "", - "title": "DesiredCopyCount", - "type": "number" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { "additionalProperties": false, "properties": { - "BaseInferenceComponentName": { - "markdownDescription": "The name of an existing inference component that is to contain the inference component that you're creating with your request.\n\nSpecify this parameter only if your request is meant to create an adapter inference component. An adapter inference component contains the path to an adapter model. The purpose of the adapter model is to tailor the inference output of a base foundation model, which is hosted by the base inference component. The adapter inference component uses the compute resources that you assigned to the base inference component.\n\nWhen you create an adapter inference component, use the `Container` parameter to specify the location of the adapter artifacts. In the parameter value, use the `ArtifactUrl` parameter of the `InferenceComponentContainerSpecification` data type.\n\nBefore you can create an adapter inference component, you must have an existing inference component that contains the foundation model that you want to adapt.", - "title": "BaseInferenceComponentName", - "type": "string" - }, - "ComputeResourceRequirements": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements", - "markdownDescription": "The compute resources allocated to run the model, plus any adapter models, that you assign to the inference component.\n\nOmit this parameter if your request is meant to create an adapter inference component. An adapter inference component is loaded by a base inference component, and it uses the compute resources of the base inference component.", - "title": "ComputeResourceRequirements" - }, - "Container": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification", - "markdownDescription": "Defines a container that provides the runtime environment for a model that you deploy with an inference component.", - "title": "Container" - }, - "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", + "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" }, - "StartupParameters": { - "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters", - "markdownDescription": "Settings that take effect while the model container starts up.", - "title": "StartupParameters" + "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::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { "additionalProperties": false, "properties": { - "ContainerStartupHealthCheckTimeoutInSeconds": { - "markdownDescription": "The timeout value, in seconds, for your inference container to pass health check by Amazon S3 Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests) .", - "title": "ContainerStartupHealthCheckTimeoutInSeconds", - "type": "number" - }, - "ModelDataDownloadTimeoutInSeconds": { - "markdownDescription": "The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this inference component.", - "title": "ModelDataDownloadTimeoutInSeconds", - "type": "number" + "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::SageMaker::InferenceExperiment": { + "AWS::SSO::PermissionSet": { "additionalProperties": false, "properties": { "Condition": { @@ -363678,90 +330888,75 @@ "Properties": { "additionalProperties": false, "properties": { - "DataStorageConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.DataStorageConfig", - "markdownDescription": "The Amazon S3 location and configuration for storing inference request and response data.", - "title": "DataStorageConfig" + "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 inference experiment.", + "markdownDescription": "The description of the `PermissionSet` .", "title": "Description", "type": "string" }, - "DesiredState": { - "markdownDescription": "The desired state of the experiment after stopping. The possible states are the following:\n\n- `Completed` : The experiment completed successfully\n- `Cancelled` : The experiment was canceled", - "title": "DesiredState", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint.", - "title": "EndpointName", - "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" }, - "KmsKey": { - "markdownDescription": "The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.", - "title": "KmsKey", + "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" }, - "ModelVariants": { + "ManagedPolicies": { "items": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ModelVariantConfig" + "type": "string" }, - "markdownDescription": "An array of `ModelVariantConfigSummary` objects. There is one for each variant in the inference experiment. Each `ModelVariantConfigSummary` object in the array describes the infrastructure configuration for deploying the corresponding variant.", - "title": "ModelVariants", + "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 inference experiment.", + "markdownDescription": "The name of the permission set.", "title": "Name", "type": "string" }, - "RoleArn": { - "markdownDescription": "The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and manage Amazon SageMaker Inference endpoints for model deployment.", - "title": "RoleArn", - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.InferenceExperimentSchedule", - "markdownDescription": "The duration for which the inference experiment ran or will run.\n\nThe maximum duration that you can set for an inference experiment is 30 days.", - "title": "Schedule" + "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" }, - "ShadowModeConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ShadowModeConfig", - "markdownDescription": "The configuration of `ShadowMode` inference experiment type, which shows the production variant that takes all the inference requests, and the shadow variant to which Amazon SageMaker replicates a percentage of the inference requests. For the shadow variant it also shows the percentage of requests that Amazon SageMaker replicates.", - "title": "ShadowModeConfig" + "RelayStateType": { + "markdownDescription": "Used to redirect users within the application during the federation authentication process.", + "title": "RelayStateType", + "type": "string" }, - "StatusReason": { - "markdownDescription": "The error message for the inference experiment status result.", - "title": "StatusReason", + "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": "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 attach to the new `PermissionSet` .", "title": "Tags", "type": "array" - }, - "Type": { - "markdownDescription": "The type of the inference experiment.", - "title": "Type", - "type": "string" } }, "required": [ - "EndpointName", - "ModelVariants", - "Name", - "RoleArn", - "Type" + "InstanceArn", + "Name" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::InferenceExperiment" + "AWS::SSO::PermissionSet" ], "type": "string" }, @@ -363780,202 +330975,42 @@ ], "type": "object" }, - "AWS::SageMaker::InferenceExperiment.CaptureContentTypeHeader": { - "additionalProperties": false, - "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of all content type headers that Amazon SageMaker AI will treat as CSV and capture accordingly.", - "title": "CsvContentTypes", - "type": "array" - }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The list of all content type headers that SageMaker AI will treat as JSON and capture accordingly.", - "title": "JsonContentTypes", - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.DataStorageConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.CaptureContentTypeHeader", - "markdownDescription": "Configuration specifying how to treat different headers. If no headers are specified SageMaker will by default base64 encode when capturing the data.", - "title": "ContentType" - }, - "Destination": { - "markdownDescription": "The Amazon S3 bucket where the inference request and response data is stored.", - "title": "Destination", - "type": "string" - }, - "KmsKey": { - "markdownDescription": "The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.", - "title": "KmsKey", - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.EndpointMetadata": { - "additionalProperties": false, - "properties": { - "EndpointConfigName": { - "markdownDescription": "The name of the endpoint configuration.", - "title": "EndpointConfigName", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint.", - "title": "EndpointName", - "type": "string" - }, - "EndpointStatus": { - "markdownDescription": "The status of the endpoint. For possible values of the status of an endpoint, see [](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferenceexperiment-endpointmetadata.html#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus) .", - "title": "EndpointStatus", - "type": "string" - } - }, - "required": [ - "EndpointName" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.InferenceExperimentSchedule": { - "additionalProperties": false, - "properties": { - "EndTime": { - "markdownDescription": "The timestamp at which the inference experiment ended or will end.", - "title": "EndTime", - "type": "string" - }, - "StartTime": { - "markdownDescription": "The timestamp at which the inference experiment started or will start.", - "title": "StartTime", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.ModelInfrastructureConfig": { - "additionalProperties": false, - "properties": { - "InfrastructureType": { - "markdownDescription": "The inference option to which to deploy your model. Possible values are the following:\n\n- `RealTime` : Deploy to real-time inference.", - "title": "InfrastructureType", - "type": "string" - }, - "RealTimeInferenceConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.RealTimeInferenceConfig", - "markdownDescription": "The infrastructure configuration for deploying the model to real-time inference.", - "title": "RealTimeInferenceConfig" - } - }, - "required": [ - "InfrastructureType", - "RealTimeInferenceConfig" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.ModelVariantConfig": { - "additionalProperties": false, - "properties": { - "InfrastructureConfig": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ModelInfrastructureConfig", - "markdownDescription": "The configuration for the infrastructure that the model will be deployed to.", - "title": "InfrastructureConfig" - }, - "ModelName": { - "markdownDescription": "The name of the Amazon SageMaker Model entity.", - "title": "ModelName", - "type": "string" - }, - "VariantName": { - "markdownDescription": "The name of the variant.", - "title": "VariantName", - "type": "string" - } - }, - "required": [ - "InfrastructureConfig", - "ModelName", - "VariantName" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.RealTimeInferenceConfig": { + "AWS::SSO::PermissionSet.CustomerManagedPolicyReference": { "additionalProperties": false, "properties": { - "InstanceCount": { - "markdownDescription": "The number of instances of the type specified by `InstanceType` .", - "title": "InstanceCount", - "type": "number" - }, - "InstanceType": { - "markdownDescription": "The instance type the model is deployed to.", - "title": "InstanceType", + "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" - } - }, - "required": [ - "InstanceCount", - "InstanceType" - ], - "type": "object" - }, - "AWS::SageMaker::InferenceExperiment.ShadowModeConfig": { - "additionalProperties": false, - "properties": { - "ShadowModelVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ShadowModelVariantConfig" - }, - "markdownDescription": "List of shadow variant configurations.", - "title": "ShadowModelVariants", - "type": "array" }, - "SourceModelVariantName": { - "markdownDescription": "The name of the production variant, which takes all the inference requests.", - "title": "SourceModelVariantName", + "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": [ - "ShadowModelVariants", - "SourceModelVariantName" + "Name" ], "type": "object" }, - "AWS::SageMaker::InferenceExperiment.ShadowModelVariantConfig": { + "AWS::SSO::PermissionSet.PermissionsBoundary": { "additionalProperties": false, "properties": { - "SamplingPercentage": { - "markdownDescription": "The percentage of inference requests that Amazon SageMaker replicates from the production variant to the shadow variant.", - "title": "SamplingPercentage", - "type": "number" + "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" }, - "ShadowModelVariantName": { - "markdownDescription": "The name of the shadow variant.", - "title": "ShadowModelVariantName", + "ManagedPolicyArn": { + "markdownDescription": "The AWS managed policy ARN that you want to attach to a permission set as a permissions boundary.", + "title": "ManagedPolicyArn", "type": "string" } }, - "required": [ - "SamplingPercentage", - "ShadowModelVariantName" - ], "type": "object" }, - "AWS::SageMaker::MlflowApp": { + "AWS::SageMaker::App": { "additionalProperties": false, "properties": { "Condition": { @@ -364010,38 +331045,56 @@ "Properties": { "additionalProperties": false, "properties": { - "ArtifactStoreUri": { + "AppName": { + "markdownDescription": "The name of the app.", + "title": "AppName", "type": "string" }, - "ModelRegistrationMode": { + "AppType": { + "markdownDescription": "The type of app.", + "title": "AppType", "type": "string" }, - "Name": { + "DomainId": { + "markdownDescription": "The domain ID.", + "title": "DomainId", "type": "string" }, - "RoleArn": { - "type": "string" + "RecoveryMode": { + "markdownDescription": "", + "title": "RecoveryMode", + "type": "boolean" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec", + "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", + "title": "ResourceSpec" }, "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" }, - "WeeklyMaintenanceWindowStart": { + "UserProfileName": { + "markdownDescription": "The user profile name.", + "title": "UserProfileName", "type": "string" } }, "required": [ - "ArtifactStoreUri", - "Name", - "RoleArn" + "AppName", + "AppType", + "DomainId", + "UserProfileName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MlflowApp" + "AWS::SageMaker::App" ], "type": "string" }, @@ -364060,7 +331113,33 @@ ], "type": "object" }, - "AWS::SageMaker::MlflowTrackingServer": { + "AWS::SageMaker::App.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", + "title": "InstanceType", + "type": "string" + }, + "LifecycleConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", + "title": "LifecycleConfigArn", + "type": "string" + }, + "SageMakerImageArn": { + "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", + "title": "SageMakerImageArn", + "type": "string" + }, + "SageMakerImageVersionArn": { + "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", + "title": "SageMakerImageVersionArn", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -364095,60 +331174,43 @@ "Properties": { "additionalProperties": false, "properties": { - "ArtifactStoreUri": { - "markdownDescription": "", - "title": "ArtifactStoreUri", + "AppImageConfigName": { + "markdownDescription": "The name of the AppImageConfig. Must be unique to your account.", + "title": "AppImageConfigName", "type": "string" }, - "AutomaticModelRegistration": { - "markdownDescription": "", - "title": "AutomaticModelRegistration", - "type": "boolean" + "CodeEditorAppImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.CodeEditorAppImageConfig", + "markdownDescription": "The configuration for the file system and the runtime, such as the environment variables and entry point.", + "title": "CodeEditorAppImageConfig" }, - "MlflowVersion": { - "markdownDescription": "", - "title": "MlflowVersion", - "type": "string" + "JupyterLabAppImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.JupyterLabAppImageConfig", + "markdownDescription": "The configuration for the file system and the runtime, such as the environment variables and entry point.", + "title": "JupyterLabAppImageConfig" }, - "RoleArn": { - "markdownDescription": "", - "title": "RoleArn", - "type": "string" + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig", + "markdownDescription": "The configuration for the file system and kernels in the SageMaker AI image.", + "title": "KernelGatewayImageConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "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" - }, - "TrackingServerName": { - "markdownDescription": "", - "title": "TrackingServerName", - "type": "string" - }, - "TrackingServerSize": { - "markdownDescription": "", - "title": "TrackingServerSize", - "type": "string" - }, - "WeeklyMaintenanceWindowStart": { - "markdownDescription": "", - "title": "WeeklyMaintenanceWindowStart", - "type": "string" } }, "required": [ - "ArtifactStoreUri", - "RoleArn", - "TrackingServerName" + "AppImageConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MlflowTrackingServer" + "AWS::SageMaker::AppImageConfig" ], "type": "string" }, @@ -364162,12 +331224,146 @@ } }, "required": [ - "Type", - "Properties" + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.CodeEditorAppImageConfig": { + "additionalProperties": false, + "properties": { + "ContainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.ContainerConfig", + "markdownDescription": "", + "title": "ContainerConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.ContainerConfig": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "markdownDescription": "The arguments for the container when you're running the application.", + "title": "ContainerArguments", + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "markdownDescription": "The entrypoint used to run the application in the container.", + "title": "ContainerEntrypoint", + "type": "array" + }, + "ContainerEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.CustomImageContainerEnvironmentVariable" + }, + "markdownDescription": "The environment variables to set in the container", + "title": "ContainerEnvironmentVariables", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.CustomImageContainerEnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "markdownDescription": "The key that identifies a container environment variable.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the container environment variable.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "DefaultGid": { + "markdownDescription": "The default POSIX group ID (GID). If not specified, defaults to `100` .", + "title": "DefaultGid", + "type": "number" + }, + "DefaultUid": { + "markdownDescription": "The default POSIX user ID (UID). If not specified, defaults to `1000` .", + "title": "DefaultUid", + "type": "number" + }, + "MountPath": { + "markdownDescription": "The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to */home/sagemaker-user* .", + "title": "MountPath", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.JupyterLabAppImageConfig": { + "additionalProperties": false, + "properties": { + "ContainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.ContainerConfig", + "markdownDescription": "The configuration used to run the application image container.", + "title": "ContainerConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { + "additionalProperties": false, + "properties": { + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig", + "markdownDescription": "The Amazon Elastic File System storage configuration for a SageMaker AI image.", + "title": "FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "markdownDescription": "The specification of the Jupyter kernels in the image.", + "title": "KernelSpecs", + "type": "array" + } + }, + "required": [ + "KernelSpecs" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelSpec": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "markdownDescription": "The display name of the kernel.", + "title": "DisplayName", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the Jupyter kernel in the image. This value is case sensitive.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" ], "type": "object" }, - "AWS::SageMaker::Model": { + "AWS::SageMaker::Cluster": { "additionalProperties": false, "properties": { "Condition": { @@ -364202,50 +331398,71 @@ "Properties": { "additionalProperties": false, "properties": { - "Containers": { + "AutoScaling": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterAutoScalingConfig", + "markdownDescription": "", + "title": "AutoScaling" + }, + "ClusterName": { + "markdownDescription": "The name of the SageMaker HyperPod cluster.", + "title": "ClusterName", + "type": "string" + }, + "ClusterRole": { + "markdownDescription": "", + "title": "ClusterRole", + "type": "string" + }, + "InstanceGroups": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceGroup" }, - "markdownDescription": "Specifies the containers in the inference pipeline.", - "title": "Containers", + "markdownDescription": "The instance groups of the SageMaker HyperPod cluster. To delete an instance group, remove it from the array.", + "title": "InstanceGroups", "type": "array" }, - "EnableNetworkIsolation": { - "markdownDescription": "Isolates the model container. No inbound or outbound network calls can be made to or from the model container.", - "title": "EnableNetworkIsolation", - "type": "boolean" + "NodeProvisioningMode": { + "markdownDescription": "", + "title": "NodeProvisioningMode", + "type": "string" }, - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see [SageMaker Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .\n\n> To be able to pass this role to SageMaker, the caller of this API must have the `iam:PassRole` permission.", - "title": "ExecutionRoleArn", + "NodeRecovery": { + "markdownDescription": "Specifies whether to enable or disable the automatic node recovery feature of SageMaker HyperPod. Available values are `Automatic` for enabling and `None` for disabling.", + "title": "NodeRecovery", "type": "string" }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig", - "markdownDescription": "Specifies details of how containers in a multi-container endpoint are called.", - "title": "InferenceExecutionConfig" + "Orchestrator": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.Orchestrator", + "markdownDescription": "The orchestrator type for the SageMaker HyperPod cluster. Currently, `'eks'` is the only available option.", + "title": "Orchestrator" }, - "ModelName": { - "markdownDescription": "The name of the new model.", - "title": "ModelName", - "type": "string" + "RestrictedInstanceGroups": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterRestrictedInstanceGroup" + }, + "markdownDescription": "", + "title": "RestrictedInstanceGroups", + "type": "array" }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition", - "markdownDescription": "The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.", - "title": "PrimaryContainer" + "RestrictedInstanceGroupsConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.RestrictedInstanceGroupsConfig" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "markdownDescription": "A tag object that consists of a key and an optional value, used to manage metadata for SageMaker AWS resources.\n\nYou can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see [AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html) .\n\nFor more information on adding metadata to your AWS resources with tagging, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) . For advice on best practices for managing AWS resources with tagging, see [Tagging Best Practices: Implement an Effective AWS Resource Tagging Strategy](https://docs.aws.amazon.com/https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) .", "title": "Tags", "type": "array" }, + "TieredStorageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.TieredStorageConfig", + "markdownDescription": "", + "title": "TieredStorageConfig" + }, "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig", - "markdownDescription": "A [VpcConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html) object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. `VpcConfig` is used in hosting services and in batch transform. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html) .", + "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", + "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", "title": "VpcConfig" } }, @@ -364253,7 +331470,7 @@ }, "Type": { "enum": [ - "AWS::SageMaker::Model" + "AWS::SageMaker::Cluster" ], "type": "string" }, @@ -364271,199 +331488,617 @@ ], "type": "object" }, - "AWS::SageMaker::Model.ContainerDefinition": { + "AWS::SageMaker::Cluster.AlarmDetails": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "markdownDescription": "This parameter is ignored for models that contain only a `PrimaryContainer` .\n\nWhen a `ContainerDefinition` is part of an inference pipeline, the value of the parameter uniquely identifies the container for the purposes of logging and metrics. For information, see [Use Logs and Metrics to Monitor an Inference Pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipeline-logs-metrics.html) . If you don't specify a value for this parameter for a `ContainerDefinition` that is part of an inference pipeline, a unique name is automatically assigned based on the position of the `ContainerDefinition` in the pipeline. If you specify a value for the `ContainerHostName` for any `ContainerDefinition` that is part of an inference pipeline, you must specify a value for the `ContainerHostName` parameter of every `ContainerDefinition` in that pipeline.", - "title": "ContainerHostname", + "AlarmName": { + "markdownDescription": "The name of the alarm.", + "title": "AlarmName", "type": "string" - }, - "Environment": { - "markdownDescription": "The environment variables to set in the Docker container. Don't include any sensitive data in your environment variables.\n\nThe maximum length of each key and value in the `Environment` map is 1024 bytes. The maximum length of all keys and values in the map, combined, is 32 KB. If you pass multiple containers to a `CreateModel` request, then the maximum length of all of their maps, combined, is also 32 KB.", - "title": "Environment", - "type": "object" - }, - "Image": { - "markdownDescription": "The path where inference code is stored. This can be either in Amazon EC2 Container Registry or in a Docker registry that is accessible from the same VPC that you configure for your endpoint. If you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .\n\n> The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.", - "title": "Image", + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.CapacitySizeConfig": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "Specifies whether SageMaker should process the update by amount or percentage of instances.", + "title": "Type", "type": "string" }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig", - "markdownDescription": "Specifies whether the model container is in Amazon ECR or a private Docker registry accessible from your Amazon Virtual Private Cloud (VPC). For information about storing containers in a private Docker registry, see [Use a Private Docker Registry for Real-Time Inference Containers](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-containers-inference-private.html) .\n\n> The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.", - "title": "ImageConfig" - }, - "InferenceSpecificationName": { - "markdownDescription": "The inference specification name in the model package version.", - "title": "InferenceSpecificationName", + "Value": { + "markdownDescription": "Specifies the amount or percentage of instances SageMaker updates at a time.", + "title": "Value", + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterAutoScalingConfig": { + "additionalProperties": false, + "properties": { + "AutoScalerType": { + "markdownDescription": "The type of autoscaler to use. Currently supported value is `Karpenter` .", + "title": "AutoScalerType", "type": "string" }, "Mode": { - "markdownDescription": "Whether the container hosts a single model or multiple models.", + "markdownDescription": "Describes whether autoscaling is enabled or disabled for the cluster. Valid values are `Enable` and `Disable` .", "title": "Mode", "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterCapacityRequirements": { + "additionalProperties": false, + "properties": { + "OnDemand": { + "markdownDescription": "Configuration options specific to On-Demand instances.", + "title": "OnDemand", + "type": "object" }, - "ModelDataSource": { - "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource", - "markdownDescription": "Specifies the location of ML model data to deploy.\n\n> Currently you cannot use `ModelDataSource` in conjunction with SageMaker batch transform, SageMaker serverless endpoints, SageMaker multi-model endpoints, and SageMaker Marketplace.", - "title": "ModelDataSource" + "Spot": { + "markdownDescription": "Configuration options specific to Spot instances.", + "title": "Spot", + "type": "object" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterEbsVolumeConfig": { + "additionalProperties": false, + "properties": { + "RootVolume": { + "markdownDescription": "Specifies whether the configuration is for the cluster's root or secondary Amazon EBS volume. You can specify two `ClusterEbsVolumeConfig` fields to configure both the root and secondary volumes. Set the value to `True` if you'd like to provide your own customer managed AWS KMS key to encrypt the root volume. When `True` :\n\n- The configuration is applied to the root volume.\n- You can't specify the `VolumeSizeInGB` field. The size of the root volume is determined for you.\n- You must specify a KMS key ID for `VolumeKmsKeyId` to encrypt the root volume with your own KMS key instead of an AWS owned KMS key.\n\nOtherwise, by default, the value is `False` , and the following applies:\n\n- The configuration is applied to the secondary volume, while the root volume is encrypted with an AWS owned key.\n- You must specify the `VolumeSizeInGB` field.\n- You can optionally specify the `VolumeKmsKeyId` to encrypt the secondary volume with your own KMS key instead of an AWS owned KMS key.", + "title": "RootVolume", + "type": "boolean" }, - "ModelDataUrl": { - "markdownDescription": "The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). The S3 path is required for SageMaker built-in algorithms, but not if you use your own algorithms. For more information on built-in algorithms, see [Common Parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html) .\n\n> The model artifacts must be in an S3 bucket that is in the same region as the model or endpoint you are creating. \n\nIf you provide a value for this parameter, SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your AWS account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see [Activating and Deactivating AWS STS in an AWS Region](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) in the *AWS Identity and Access Management User Guide* .\n\n> If you use a built-in algorithm to create a model, SageMaker requires that you provide a S3 path to the model artifacts in `ModelDataUrl` .", - "title": "ModelDataUrl", + "VolumeKmsKeyId": { + "markdownDescription": "The ID of a KMS key to encrypt the Amazon EBS volume.", + "title": "VolumeKmsKeyId", "type": "string" }, - "ModelPackageName": { - "markdownDescription": "The name or Amazon Resource Name (ARN) of the model package to use to create the model.", - "title": "ModelPackageName", + "VolumeSizeInGB": { + "markdownDescription": "The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker` .", + "title": "VolumeSizeInGB", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterFsxLustreConfig": { + "additionalProperties": false, + "properties": { + "DnsName": { "type": "string" }, - "MultiModelConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig", - "markdownDescription": "Specifies additional configuration for multi-model endpoints.", - "title": "MultiModelConfig" + "MountName": { + "type": "string" + }, + "MountPath": { + "type": "string" } }, + "required": [ + "DnsName", + "MountName" + ], "type": "object" }, - "AWS::SageMaker::Model.HubAccessConfig": { + "AWS::SageMaker::Cluster.ClusterFsxOpenZfsConfig": { "additionalProperties": false, "properties": { - "HubContentArn": { - "markdownDescription": "The ARN of your private model hub content. This should be a `ModelReference` resource type that points to a SageMaker JumpStart public hub model.", - "title": "HubContentArn", + "DnsName": { + "type": "string" + }, + "MountPath": { "type": "string" } }, "required": [ - "HubContentArn" + "DnsName" ], "type": "object" }, - "AWS::SageMaker::Model.ImageConfig": { + "AWS::SageMaker::Cluster.ClusterInstanceGroup": { "additionalProperties": false, "properties": { - "RepositoryAccessMode": { - "markdownDescription": "Set this to one of the following values:\n\n- `Platform` - The model image is hosted in Amazon ECR.\n- `Vpc` - The model image is hosted in a private Docker registry in your VPC.", - "title": "RepositoryAccessMode", + "CapacityRequirements": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterCapacityRequirements", + "markdownDescription": "", + "title": "CapacityRequirements" + }, + "CurrentCount": { + "markdownDescription": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.", + "title": "CurrentCount", + "type": "number" + }, + "ExecutionRole": { + "markdownDescription": "The execution role for the instance group to assume.", + "title": "ExecutionRole", "type": "string" }, - "RepositoryAuthConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig", - "markdownDescription": "(Optional) Specifies an authentication configuration for the private docker registry where your model image is hosted. Specify a value for this property only if you specified `Vpc` as the value for the `RepositoryAccessMode` field, and the private Docker registry where the model image is hosted requires authentication.", - "title": "RepositoryAuthConfig" + "ImageId": { + "markdownDescription": "", + "title": "ImageId", + "type": "string" + }, + "InstanceCount": { + "markdownDescription": "The number of instances in an instance group of the SageMaker HyperPod cluster.", + "title": "InstanceCount", + "type": "number" + }, + "InstanceGroupName": { + "markdownDescription": "The name of the instance group of a SageMaker HyperPod cluster.", + "title": "InstanceGroupName", + "type": "string" + }, + "InstanceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.InstanceRequirements" + }, + "InstanceStorageConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceStorageConfig" + }, + "markdownDescription": "The configurations of additional storage specified to the instance group where the instance (node) is launched.", + "title": "InstanceStorageConfigs", + "type": "array" + }, + "InstanceType": { + "markdownDescription": "The instance type of the instance group of a SageMaker HyperPod cluster.", + "title": "InstanceType", + "type": "string" + }, + "KubernetesConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterKubernetesConfig", + "markdownDescription": "", + "title": "KubernetesConfig" + }, + "LifeCycleConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterLifeCycleConfig", + "markdownDescription": "The lifecycle configuration for a SageMaker HyperPod cluster.", + "title": "LifeCycleConfig" + }, + "MinInstanceCount": { + "markdownDescription": "", + "title": "MinInstanceCount", + "type": "number" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterNetworkInterface" + }, + "OnStartDeepHealthChecks": { + "items": { + "type": "string" + }, + "markdownDescription": "A flag indicating whether deep health checks should be performed when the HyperPod cluster instance group is created or updated. Deep health checks are comprehensive, invasive tests that validate the health of the underlying hardware and infrastructure components.", + "title": "OnStartDeepHealthChecks", + "type": "array" + }, + "OverrideVpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", + "markdownDescription": "The customized Amazon VPC configuration at the instance group level that overrides the default Amazon VPC configuration of the SageMaker HyperPod cluster.", + "title": "OverrideVpcConfig" + }, + "ScheduledUpdateConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ScheduledUpdateConfig", + "markdownDescription": "", + "title": "ScheduledUpdateConfig" + }, + "SlurmConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterSlurmConfig" + }, + "ThreadsPerCore": { + "markdownDescription": "The number of threads per CPU core you specified under `CreateCluster` .", + "title": "ThreadsPerCore", + "type": "number" + }, + "TrainingPlanArn": { + "markdownDescription": "", + "title": "TrainingPlanArn", + "type": "string" } }, "required": [ - "RepositoryAccessMode" + "ExecutionRole", + "InstanceCount", + "InstanceGroupName" ], "type": "object" }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { + "AWS::SageMaker::Cluster.ClusterInstanceStorageConfig": { "additionalProperties": false, "properties": { - "Mode": { - "markdownDescription": "How containers in a multi-container are run. The following values are valid.\n\n- `Serial` - Containers run as a serial pipeline.\n- `Direct` - Only the individual container that you specify is run.", - "title": "Mode", + "EbsVolumeConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterEbsVolumeConfig", + "markdownDescription": "Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to `/opt/sagemaker` .", + "title": "EbsVolumeConfig" + }, + "FsxLustreConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterFsxLustreConfig" + }, + "FsxOpenZfsConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterFsxOpenZfsConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterKubernetesConfig": { + "additionalProperties": false, + "properties": { + "Labels": { + "additionalProperties": true, + "markdownDescription": "Key-value pairs of labels to be applied to cluster nodes.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Labels", + "type": "object" + }, + "Taints": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterKubernetesTaint" + }, + "markdownDescription": "List of taints to be applied to cluster nodes.", + "title": "Taints", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterKubernetesTaint": { + "additionalProperties": false, + "properties": { + "Effect": { + "markdownDescription": "The effect of the taint. Valid values are `NoSchedule` , `PreferNoSchedule` , and `NoExecute` .", + "title": "Effect", + "type": "string" + }, + "Key": { + "markdownDescription": "The key of the taint.", + "title": "Key", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of the taint.", + "title": "Value", "type": "string" } }, "required": [ - "Mode" + "Effect", + "Key" ], "type": "object" }, - "AWS::SageMaker::Model.ModelAccessConfig": { + "AWS::SageMaker::Cluster.ClusterLifeCycleConfig": { "additionalProperties": false, "properties": { - "AcceptEula": { - "markdownDescription": "Specifies agreement to the model end-user license agreement (EULA). The `AcceptEula` value must be explicitly defined as `True` in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", - "title": "AcceptEula", - "type": "boolean" + "OnCreate": { + "markdownDescription": "The file name of the entrypoint script of lifecycle scripts under `SourceS3Uri` . This entrypoint script runs during cluster creation.", + "title": "OnCreate", + "type": "string" + }, + "OnInitComplete": { + "type": "string" + }, + "SourceS3Uri": { + "markdownDescription": "An Amazon S3 bucket path where your lifecycle scripts are stored.\n\n> Make sure that the S3 bucket path starts with `s3://sagemaker-` . The [IAM role for SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-prerequisites.html#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod) has the managed [`AmazonSageMakerClusterInstanceRolePolicy`](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-cluster.html) attached, which allows access to S3 buckets with the specific prefix `sagemaker-` .", + "title": "SourceS3Uri", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.ClusterNetworkInterface": { + "additionalProperties": false, + "properties": { + "InterfaceType": { + "type": "string" } }, "required": [ - "AcceptEula" + "InterfaceType" ], "type": "object" }, - "AWS::SageMaker::Model.ModelDataSource": { + "AWS::SageMaker::Cluster.ClusterOrchestratorEksConfig": { "additionalProperties": false, "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource", - "markdownDescription": "Specifies the S3 location of ML model data to deploy.", - "title": "S3DataSource" + "ClusterArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.", + "title": "ClusterArn", + "type": "string" } }, "required": [ - "S3DataSource" + "ClusterArn" ], "type": "object" }, - "AWS::SageMaker::Model.MultiModelConfig": { + "AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig": { "additionalProperties": false, "properties": { - "ModelCacheSetting": { - "markdownDescription": "Whether to cache models for a multi-model endpoint. By default, multi-model endpoints cache models so that a model does not have to be loaded into memory each time it is invoked. Some use cases do not benefit from model caching. For example, if an endpoint hosts a large number of models that are each invoked infrequently, the endpoint might perform better if you disable model caching. To disable model caching, set the value of this parameter to Disabled.", - "title": "ModelCacheSetting", + "SlurmConfigStrategy": { "type": "string" } }, "type": "object" }, - "AWS::SageMaker::Model.RepositoryAuthConfig": { + "AWS::SageMaker::Cluster.ClusterRestrictedInstanceGroup": { "additionalProperties": false, "properties": { - "RepositoryCredentialsProviderArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Lambda function that provides credentials to authenticate to the private Docker registry where your model image is hosted. For information about how to create an AWS Lambda function, see [Create a Lambda function with the console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html) in the *AWS Lambda Developer Guide* .", - "title": "RepositoryCredentialsProviderArn", + "CurrentCount": { + "markdownDescription": "", + "title": "CurrentCount", + "type": "number" + }, + "EnvironmentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.EnvironmentConfig", + "markdownDescription": "", + "title": "EnvironmentConfig" + }, + "ExecutionRole": { + "markdownDescription": "", + "title": "ExecutionRole", + "type": "string" + }, + "InstanceCount": { + "markdownDescription": "", + "title": "InstanceCount", + "type": "number" + }, + "InstanceGroupName": { + "markdownDescription": "", + "title": "InstanceGroupName", + "type": "string" + }, + "InstanceStorageConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterInstanceStorageConfig" + }, + "markdownDescription": "", + "title": "InstanceStorageConfigs", + "type": "array" + }, + "InstanceType": { + "markdownDescription": "", + "title": "InstanceType", + "type": "string" + }, + "OnStartDeepHealthChecks": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "OnStartDeepHealthChecks", + "type": "array" + }, + "OverrideVpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.VpcConfig", + "markdownDescription": "", + "title": "OverrideVpcConfig" + }, + "ThreadsPerCore": { + "markdownDescription": "", + "title": "ThreadsPerCore", + "type": "number" + }, + "TrainingPlanArn": { + "markdownDescription": "", + "title": "TrainingPlanArn", "type": "string" } }, "required": [ - "RepositoryCredentialsProviderArn" + "ExecutionRole", + "InstanceCount", + "InstanceGroupName", + "InstanceType" ], "type": "object" }, - "AWS::SageMaker::Model.S3DataSource": { + "AWS::SageMaker::Cluster.ClusterSlurmConfig": { "additionalProperties": false, "properties": { - "CompressionType": { - "markdownDescription": "", - "title": "CompressionType", + "NodeType": { "type": "string" }, - "HubAccessConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.HubAccessConfig", - "markdownDescription": "The configuration for a private hub model reference that points to a SageMaker JumpStart public hub model.", - "title": "HubAccessConfig" + "PartitionNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "NodeType" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.AlarmDetails" + }, + "markdownDescription": "Automatic rollback configuration for handling endpoint deployment failures and recovery.", + "title": "AutoRollbackConfiguration", + "type": "array" }, - "ModelAccessConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ModelAccessConfig", + "RollingUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.RollingUpdatePolicy", + "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker endpoint.", + "title": "RollingUpdatePolicy" + }, + "WaitIntervalInSeconds": { "markdownDescription": "", - "title": "ModelAccessConfig" + "title": "WaitIntervalInSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.EnvironmentConfig": { + "additionalProperties": false, + "properties": { + "FSxLustreConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.FSxLustreConfig", + "markdownDescription": "Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.", + "title": "FSxLustreConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.FSxLustreConfig": { + "additionalProperties": false, + "properties": { + "PerUnitStorageThroughput": { + "markdownDescription": "The throughput capacity of the Amazon FSx for Lustre file system, measured in MB/s per TiB of storage.", + "title": "PerUnitStorageThroughput", + "type": "number" }, - "S3DataType": { - "markdownDescription": "If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.\n\nIf you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.\n\nIf you choose `AugmentedManifestFile` , `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .\n\nIf you choose `Converse` , `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.", - "title": "S3DataType", + "SizeInGiB": { + "markdownDescription": "The storage capacity of the Amazon FSx for Lustre file system, specified in gibibytes (GiB).", + "title": "SizeInGiB", + "type": "number" + } + }, + "required": [ + "PerUnitStorageThroughput", + "SizeInGiB" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.InstanceRequirements": { + "additionalProperties": false, + "properties": { + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceTypes" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.Orchestrator": { + "additionalProperties": false, + "properties": { + "Eks": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterOrchestratorEksConfig", + "markdownDescription": "The configuration of the Amazon EKS orchestrator cluster for the SageMaker HyperPod cluster.", + "title": "Eks" + }, + "Slurm": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.ClusterOrchestratorSlurmConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Cluster.RestrictedInstanceGroupsConfig": { + "additionalProperties": false, + "properties": { + "SharedEnvironmentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.SharedEnvironmentConfig" + } + }, + "required": [ + "SharedEnvironmentConfig" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.RollingUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.CapacitySizeConfig", + "markdownDescription": "Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.", + "title": "MaximumBatchSize" + }, + "RollbackMaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.CapacitySizeConfig", + "markdownDescription": "Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.", + "title": "RollbackMaximumBatchSize" + } + }, + "required": [ + "MaximumBatchSize" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.ScheduledUpdateConfig": { + "additionalProperties": false, + "properties": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.DeploymentConfig", + "markdownDescription": "The configuration to use when updating the AMI versions.", + "title": "DeploymentConfig" + }, + "ScheduleExpression": { + "markdownDescription": "A cron expression that specifies the schedule that SageMaker follows when updating the AMI.", + "title": "ScheduleExpression", "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.SharedEnvironmentConfig": { + "additionalProperties": false, + "properties": { + "FSxLustreConfig": { + "$ref": "#/definitions/AWS::SageMaker::Cluster.FSxLustreConfig" }, - "S3Uri": { - "markdownDescription": "Depending on the value specified for the `S3DataType` , identifies either a key name prefix or a manifest. For example:\n\n- A key name prefix might look like this: `s3://bucketname/exampleprefix/`\n- A manifest might look like this: `s3://bucketname/example.manifest`\n\nA manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.\n\nThe following code example shows a valid manifest format:\n\n`[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},`\n\n`\"relative/path/to/custdata-1\",`\n\n`\"relative/path/custdata-2\",`\n\n`...`\n\n`\"relative/path/custdata-N\"`\n\n`]`\n\nThis JSON is equivalent to the following `S3Uri` list:\n\n`s3://customer_bucket/some/prefix/relative/path/to/custdata-1`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-2`\n\n`...`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-N`\n\nThe complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.\n\nYour input bucket must be located in same AWS region as your training job.", - "title": "S3Uri", + "FSxLustreDeletionPolicy": { "type": "string" } }, "required": [ - "CompressionType", - "S3DataType", - "S3Uri" + "FSxLustreDeletionPolicy" ], "type": "object" }, - "AWS::SageMaker::Model.VpcConfig": { + "AWS::SageMaker::Cluster.TieredStorageConfig": { + "additionalProperties": false, + "properties": { + "InstanceMemoryAllocationPercentage": { + "markdownDescription": "", + "title": "InstanceMemoryAllocationPercentage", + "type": "number" + }, + "Mode": { + "markdownDescription": "", + "title": "Mode", + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Cluster.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -364489,7 +332124,111 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition": { + "AWS::SageMaker::CodeRepository": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeRepositoryName": { + "markdownDescription": "The name of the Git repository.", + "title": "CodeRepositoryName", + "type": "string" + }, + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig", + "markdownDescription": "Configuration details for the Git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.", + "title": "GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "List of tags for Code Repository.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "GitConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::CodeRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository.GitConfig": { + "additionalProperties": false, + "properties": { + "Branch": { + "markdownDescription": "The default branch for the Git repository.", + "title": "Branch", + "type": "string" + }, + "RepositoryUrl": { + "markdownDescription": "The URL where the Git repository is located.", + "title": "RepositoryUrl", + "type": "string" + }, + "SecretArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository. The secret must have a staging label of `AWSCURRENT` and must be in the following format:\n\n`{\"username\": *UserName* , \"password\": *Password* }`", + "title": "SecretArn", + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -364524,44 +332263,44 @@ "Properties": { "additionalProperties": false, "properties": { + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification", + "markdownDescription": "Specifies the container that runs the monitoring job.", + "title": "DataQualityAppSpecification" + }, + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig", + "markdownDescription": "Configures the constraints and baselines for the monitoring job.", + "title": "DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput", + "markdownDescription": "A list of inputs for the monitoring job. Currently endpoints are supported as monitoring inputs.", + "title": "DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig", + "markdownDescription": "The output configuration for monitoring jobs.", + "title": "DataQualityJobOutputConfig" + }, "EndpointName": { "markdownDescription": "", "title": "EndpointName", "type": "string" }, "JobDefinitionName": { - "markdownDescription": "The name of the bias job definition. The name must be unique within an AWS Region in the AWS account.", + "markdownDescription": "The name for the monitoring job definition.", "title": "JobDefinitionName", "type": "string" }, "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources", "markdownDescription": "Identifies the resources to deploy for a monitoring job.", "title": "JobResources" }, - "ModelBiasAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification", - "markdownDescription": "Configures the model bias job to run a specified Docker container image.", - "title": "ModelBiasAppSpecification" - }, - "ModelBiasBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig", - "markdownDescription": "The baseline configuration for a model bias job.", - "title": "ModelBiasBaselineConfig" - }, - "ModelBiasJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput", - "markdownDescription": "Inputs for the model bias job.", - "title": "ModelBiasJobInput" - }, - "ModelBiasJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig", - "markdownDescription": "The output configuration for monitoring jobs.", - "title": "ModelBiasJobOutputConfig" - }, "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig", - "markdownDescription": "Networking options for a model bias job.", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig", + "markdownDescription": "Specifies networking configuration for the monitoring job.", "title": "NetworkConfig" }, "RoleArn": { @@ -364570,7 +332309,7 @@ "type": "string" }, "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition", "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", "title": "StoppingCondition" }, @@ -364584,17 +332323,17 @@ } }, "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", "JobResources", - "ModelBiasAppSpecification", - "ModelBiasJobInput", - "ModelBiasJobOutputConfig", "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelBiasJobDefinition" + "AWS::SageMaker::DataQualityJobDefinition" ], "type": "string" }, @@ -364613,7 +332352,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.BatchTransformInput": { + "AWS::SageMaker::DataQualityJobDefinition.BatchTransformInput": { "additionalProperties": false, "properties": { "DataCapturedDestinationS3Uri": { @@ -364622,23 +332361,13 @@ "type": "string" }, "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.DatasetFormat", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DatasetFormat", "markdownDescription": "The dataset format for your batch transform job.", "title": "DatasetFormat" }, - "EndTimeOffset": { - "markdownDescription": "If specified, monitoring jobs subtract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", - "title": "EndTimeOffset", - "type": "string" - }, - "FeaturesAttribute": { - "markdownDescription": "The attributes of the input data that are the input features.", - "title": "FeaturesAttribute", - "type": "string" - }, - "InferenceAttribute": { - "markdownDescription": "The attribute of the input data that represents the ground truth label.", - "title": "InferenceAttribute", + "ExcludeFeaturesAttribute": { + "markdownDescription": "The attributes of the input data to exclude from the analysis.", + "title": "ExcludeFeaturesAttribute", "type": "string" }, "LocalPath": { @@ -364646,16 +332375,6 @@ "title": "LocalPath", "type": "string" }, - "ProbabilityAttribute": { - "markdownDescription": "In a classification problem, the attribute that represents the class probability.", - "title": "ProbabilityAttribute", - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "markdownDescription": "The threshold for the class probability to be evaluated as a positive result.", - "title": "ProbabilityThresholdAttribute", - "type": "number" - }, "S3DataDistributionType": { "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", "title": "S3DataDistributionType", @@ -364665,11 +332384,6 @@ "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", "title": "S3InputMode", "type": "string" - }, - "StartTimeOffset": { - "markdownDescription": "If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", - "title": "StartTimeOffset", - "type": "string" } }, "required": [ @@ -364679,7 +332393,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { "InstanceCount": { @@ -364710,7 +332424,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { "S3Uri": { @@ -364721,7 +332435,7 @@ }, "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.Csv": { + "AWS::SageMaker::DataQualityJobDefinition.Csv": { "additionalProperties": false, "properties": { "Header": { @@ -364732,109 +332446,28 @@ }, "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.DatasetFormat": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Csv", - "markdownDescription": "", - "title": "Csv" - }, - "Json": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Json", - "markdownDescription": "", - "title": "Json" - }, - "Parquet": { - "markdownDescription": "", - "title": "Parquet", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { "additionalProperties": false, "properties": { - "EndTimeOffset": { - "markdownDescription": "If specified, monitoring jobs substract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", - "title": "EndTimeOffset", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", - "title": "EndpointName", - "type": "string" - }, - "FeaturesAttribute": { - "markdownDescription": "The attributes of the input data that are the input features.", - "title": "FeaturesAttribute", - "type": "string" - }, - "InferenceAttribute": { - "markdownDescription": "The attribute of the input data that represents the ground truth label.", - "title": "InferenceAttribute", - "type": "string" - }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", - "title": "LocalPath", - "type": "string" - }, - "ProbabilityAttribute": { - "markdownDescription": "In a classification problem, the attribute that represents the class probability.", - "title": "ProbabilityAttribute", - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "markdownDescription": "The threshold for the class probability to be evaluated as a positive result.", - "title": "ProbabilityThresholdAttribute", - "type": "number" - }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", - "type": "string" - }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", - "type": "string" + "ContainerArguments": { + "items": { + "type": "string" + }, + "markdownDescription": "The arguments to send to the container that the monitoring job runs.", + "title": "ContainerArguments", + "type": "array" }, - "StartTimeOffset": { - "markdownDescription": "If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", - "title": "StartTimeOffset", - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.Json": { - "additionalProperties": false, - "properties": { - "Line": { - "markdownDescription": "", - "title": "Line", - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "markdownDescription": "JSON formatted S3 file that defines bias parameters. For more information on this JSON configuration file, see [Configure bias parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-bias-parameters.html) .", - "title": "ConfigUri", - "type": "string" + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "markdownDescription": "The entrypoint for a container used to run a monitoring job.", + "title": "ContainerEntrypoint", + "type": "array" }, "Environment": { "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the Docker container.", + "markdownDescription": "Sets the environment variables in the container that the monitoring job runs.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" @@ -364844,76 +332477,135 @@ "type": "object" }, "ImageUri": { - "markdownDescription": "The container image to be run by the model bias job.", + "markdownDescription": "The container image that the data quality monitoring job runs.", "title": "ImageUri", "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", + "title": "PostAnalyticsProcessorSourceUri", + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", + "title": "RecordPreprocessorSourceUri", + "type": "string" } }, "required": [ - "ConfigUri", "ImageUri" ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { "additionalProperties": false, "properties": { "BaseliningJobName": { - "markdownDescription": "The name of the baseline model bias job.", + "markdownDescription": "The name of the job that performs baselining for the data quality monitoring job.", "title": "BaseliningJobName", "type": "string" }, "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource", "markdownDescription": "The constraints resource for a monitoring job.", "title": "ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource", + "markdownDescription": "Configuration for monitoring constraints and monitoring statistics. These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.", + "title": "StatisticsResource" } }, "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { "additionalProperties": false, "properties": { "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.BatchTransformInput", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.BatchTransformInput", "markdownDescription": "Input object for the batch transform job.", "title": "BatchTransformInput" }, "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput", "markdownDescription": "Input object for the endpoint", "title": "EndpointInput" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DatasetFormat": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Csv", + "markdownDescription": "", + "title": "Csv" }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input", - "markdownDescription": "Location of ground truth labels to use in model bias job.", - "title": "GroundTruthS3Input" + "Json": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Json", + "markdownDescription": "", + "title": "Json" + }, + "Parquet": { + "markdownDescription": "", + "title": "Parquet", + "type": "boolean" } }, - "required": [ - "GroundTruthS3Input" - ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "S3Uri": { - "markdownDescription": "The address of the Amazon S3 location of the ground truth labels.", - "title": "S3Uri", + "EndpointName": { + "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", + "title": "EndpointName", + "type": "string" + }, + "ExcludeFeaturesAttribute": { + "markdownDescription": "The attributes of the input data to exclude from the analysis.", + "title": "ExcludeFeaturesAttribute", + "type": "string" + }, + "LocalPath": { + "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", + "title": "LocalPath", + "type": "string" + }, + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", + "type": "string" + }, + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", "type": "string" } }, "required": [ - "S3Uri" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { + "AWS::SageMaker::DataQualityJobDefinition.Json": { + "additionalProperties": false, + "properties": { + "Line": { + "markdownDescription": "", + "title": "Line", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output", "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", "title": "S3Output" } @@ -364923,7 +332615,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { "KmsKeyId": { @@ -364933,7 +332625,7 @@ }, "MonitoringOutputs": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" }, "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", "title": "MonitoringOutputs", @@ -364945,11 +332637,11 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig", "markdownDescription": "The configuration for the cluster resources used to run the processing job.", "title": "ClusterConfig" } @@ -364959,7 +332651,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { "EnableInterContainerTrafficEncryption": { @@ -364973,18 +332665,18 @@ "type": "boolean" }, "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig", + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig", "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", "title": "VpcConfig" } }, "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { "additionalProperties": false, "properties": { "LocalPath": { - "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. `LocalPath` is an absolute path for the output data.", + "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", "title": "LocalPath", "type": "string" }, @@ -365005,7 +332697,18 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the statistics resource.", + "title": "S3Uri", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { "MaxRuntimeInSeconds": { @@ -365019,7 +332722,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -365045,7 +332748,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelCard": { + "AWS::SageMaker::Device": { "additionalProperties": false, "properties": { "Condition": { @@ -365080,55 +332783,33 @@ "Properties": { "additionalProperties": false, "properties": { - "Content": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.Content", - "markdownDescription": "The content of the model card. Content uses the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .", - "title": "Content" - }, - "CreatedBy": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.UserContext", - "markdownDescription": "Information about the user who created or modified one or more of the following:\n\n- Experiment\n- Trial\n- Trial component\n- Lineage group\n- Project\n- Model Card", - "title": "CreatedBy" - }, - "LastModifiedBy": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.UserContext", - "markdownDescription": "", - "title": "LastModifiedBy" - }, - "ModelCardName": { - "markdownDescription": "The unique name of the model card.", - "title": "ModelCardName", - "type": "string" + "Device": { + "$ref": "#/definitions/AWS::SageMaker::Device.Device", + "markdownDescription": "Edge device you want to create.", + "title": "Device" }, - "ModelCardStatus": { - "markdownDescription": "The approval status of the model card within your organization. Different organizations might have different criteria for model card review and approval.\n\n- `Draft` : The model card is a work in progress.\n- `PendingReview` : The model card is pending review.\n- `Approved` : The model card is approved.\n- `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.", - "title": "ModelCardStatus", + "DeviceFleetName": { + "markdownDescription": "The name of the fleet the device belongs to.", + "title": "DeviceFleetName", "type": "string" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.SecurityConfig", - "markdownDescription": "The security configuration used to protect model card data.", - "title": "SecurityConfig" - }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Key-value pairs used to manage metadata for the model card.", + "markdownDescription": "An array of key-value pairs that contain metadata to help you categorize and organize your devices. Each tag consists of a key and a value, both of which you define.", "title": "Tags", "type": "array" } }, "required": [ - "Content", - "ModelCardName", - "ModelCardStatus" + "DeviceFleetName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelCard" + "AWS::SageMaker::Device" ], "type": "string" }, @@ -365147,662 +332828,1025 @@ ], "type": "object" }, - "AWS::SageMaker::ModelCard.AdditionalInformation": { + "AWS::SageMaker::Device.Device": { "additionalProperties": false, "properties": { - "CaveatsAndRecommendations": { - "markdownDescription": "Caveats and recommendations for those who might use this model in their applications.", - "title": "CaveatsAndRecommendations", + "Description": { + "markdownDescription": "Description of the device.", + "title": "Description", "type": "string" }, - "CustomDetails": { - "additionalProperties": true, - "markdownDescription": "Any additional information to document about the model.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "CustomDetails", - "type": "object" + "DeviceName": { + "markdownDescription": "The name of the device.", + "title": "DeviceName", + "type": "string" }, - "EthicalConsiderations": { - "markdownDescription": "Any ethical considerations documented by the model card author.", - "title": "EthicalConsiderations", + "IotThingName": { + "markdownDescription": "AWS Internet of Things (IoT) object name.", + "title": "IotThingName", "type": "string" } }, + "required": [ + "DeviceName" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.BusinessDetails": { + "AWS::SageMaker::DeviceFleet": { "additionalProperties": false, "properties": { - "BusinessProblem": { - "markdownDescription": "The specific business problem that the model is trying to solve.", - "title": "BusinessProblem", + "Condition": { "type": "string" }, - "BusinessStakeholders": { - "markdownDescription": "The relevant stakeholders for the model.", - "title": "BusinessStakeholders", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "LineOfBusiness": { - "markdownDescription": "The broader business need that the model is serving.", - "title": "LineOfBusiness", + "DependsOn": { + "anyOf": [ + { + "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 fleet.", + "title": "Description", + "type": "string" + }, + "DeviceFleetName": { + "markdownDescription": "Name of the device fleet.", + "title": "DeviceFleetName", + "type": "string" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig", + "markdownDescription": "The output configuration for storing sample data collected by the fleet.", + "title": "OutputConfig" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) that has access to AWS Internet of Things (IoT).", + "title": "RoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs that contain metadata to help you categorize and organize your device fleets. Each tag consists of a key and a value, both of which you define.", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "DeviceFleetName", + "OutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DeviceFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.Container": { + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { "additionalProperties": false, "properties": { - "Image": { - "markdownDescription": "", - "title": "Image", - "type": "string" - }, - "ModelDataUrl": { - "markdownDescription": "", - "title": "ModelDataUrl", + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume after compilation job. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account.", + "title": "KmsKeyId", "type": "string" }, - "NearestModelName": { - "markdownDescription": "", - "title": "NearestModelName", + "S3OutputLocation": { + "markdownDescription": "The Amazon Simple Storage (S3) bucket URI.", + "title": "S3OutputLocation", "type": "string" } }, "required": [ - "Image" + "S3OutputLocation" ], "type": "object" }, - "AWS::SageMaker::ModelCard.Content": { + "AWS::SageMaker::Domain": { "additionalProperties": false, "properties": { - "AdditionalInformation": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.AdditionalInformation", - "markdownDescription": "Additional information about the model.", - "title": "AdditionalInformation" + "Condition": { + "type": "string" }, - "BusinessDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.BusinessDetails", - "markdownDescription": "Information about how the model supports business goals.", - "title": "BusinessDetails" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "EvaluationDetails": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.EvaluationDetail" - }, - "markdownDescription": "An overview about the model's evaluation.", - "title": "EvaluationDetails", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "IntendedUses": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.IntendedUses", - "markdownDescription": "The intended usage of the model.", - "title": "IntendedUses" + "Metadata": { + "type": "object" }, - "ModelOverview": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelOverview", - "markdownDescription": "An overview about the model", - "title": "ModelOverview" + "Properties": { + "additionalProperties": false, + "properties": { + "AppNetworkAccessType": { + "markdownDescription": "Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly` .\n\n- `PublicInternetOnly` - Non-EFS traffic is through a VPC managed by Amazon SageMaker AI , which allows direct internet access\n- `VpcOnly` - All Studio traffic is through the specified VPC and subnets\n\n*Valid Values* : `PublicInternetOnly | VpcOnly`", + "title": "AppNetworkAccessType", + "type": "string" + }, + "AppSecurityGroupManagement": { + "markdownDescription": "The entity that creates and manages the required security groups for inter-app communication in `VpcOnly` mode. Required when `CreateDomain.AppNetworkAccessType` is `VpcOnly` and `DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn` is provided. If setting up the domain for use with RStudio, this value must be set to `Service` .\n\n*Allowed Values* : `Service` | `Customer`", + "title": "AppSecurityGroupManagement", + "type": "string" + }, + "AuthMode": { + "markdownDescription": "The mode of authentication that members use to access the Domain.\n\n*Valid Values* : `SSO | IAM`", + "title": "AuthMode", + "type": "string" + }, + "DefaultSpaceSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceSettings", + "markdownDescription": "The default settings for shared spaces that users create in the domain.\n\nSageMaker applies these settings only to shared spaces. It doesn't apply them to private spaces.", + "title": "DefaultSpaceSettings" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings", + "markdownDescription": "The default user settings.", + "title": "DefaultUserSettings" + }, + "DomainName": { + "markdownDescription": "The domain name.", + "title": "DomainName", + "type": "string" + }, + "DomainSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DomainSettings", + "markdownDescription": "A collection of settings that apply to the `SageMaker Domain` . These settings are specified through the `CreateDomain` API call.", + "title": "DomainSettings" + }, + "HomeEfsFileSystemCreation": { + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "SageMaker uses AWS KMS to encrypt the EFS volume attached to the Domain with an AWS managed customer master key (CMK) by default. For more control, specify a customer managed CMK.\n\n*Length Constraints* : Maximum length of 2048.\n\n*Pattern* : `.*`", + "title": "KmsKeyId", + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC subnets that Studio uses for communication.\n\n*Length Constraints* : Maximum length of 32.\n\n*Array members* : Minimum number of 1 item. Maximum number of 16 items.\n\n*Pattern* : `[-0-9a-zA-Z]+`", + "title": "SubnetIds", + "type": "array" + }, + "TagPropagation": { + "markdownDescription": "", + "title": "TagPropagation", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Tags to associated with the Domain. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.\n\nTags that you specify for the Domain are also added to all apps that are launched in the Domain.\n\n*Array members* : Minimum number of 0 items. Maximum number of 50 items.", + "title": "Tags", + "type": "array" + }, + "VpcId": { + "markdownDescription": "The ID of the Amazon Virtual Private Cloud (Amazon VPC) that Studio uses for communication.\n\n*Length Constraints* : Maximum length of 32.\n\n*Pattern* : `[-0-9a-zA-Z]+`", + "title": "VpcId", + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName" + ], + "type": "object" }, - "ModelPackageDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelPackageDetails", - "markdownDescription": "", - "title": "ModelPackageDetails" + "Type": { + "enum": [ + "AWS::SageMaker::Domain" + ], + "type": "string" }, - "TrainingDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingDetails", - "markdownDescription": "An overview about model training.", - "title": "TrainingDetails" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.EvaluationDetail": { + "AWS::SageMaker::Domain.AppLifecycleManagement": { "additionalProperties": false, "properties": { - "Datasets": { - "items": { - "type": "string" - }, - "markdownDescription": "The location of the datasets used to evaluate the model.", - "title": "Datasets", - "type": "array" - }, - "EvaluationJobArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the evaluation job.", - "title": "EvaluationJobArn", - "type": "string" + "IdleSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.IdleSettings", + "markdownDescription": "Settings related to idle shutdown of Studio applications.", + "title": "IdleSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "AppLifecycleManagement": { + "$ref": "#/definitions/AWS::SageMaker::Domain.AppLifecycleManagement", + "markdownDescription": "Settings that are used to configure and manage the lifecycle of CodeEditor applications.", + "title": "AppLifecycleManagement" }, - "EvaluationObservation": { - "markdownDescription": "Any observations made during the model evaluation.", - "title": "EvaluationObservation", + "BuiltInLifecycleConfigArn": { + "markdownDescription": "The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.", + "title": "BuiltInLifecycleConfigArn", "type": "string" }, - "Metadata": { - "additionalProperties": true, - "markdownDescription": "Additional attributes associated with the evaluation results.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" }, - "title": "Metadata", - "type": "object" + "markdownDescription": "A list of custom SageMaker images that are configured to run as a Code Editor app.", + "title": "CustomImages", + "type": "array" }, - "MetricGroups": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the Code Editor app.", + "title": "DefaultResourceSpec" + }, + "LifecycleConfigArns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.MetricGroup" + "type": "string" }, - "markdownDescription": "An evaluation Metric Group object.", - "title": "MetricGroups", + "markdownDescription": "The Amazon Resource Name (ARN) of the Code Editor application lifecycle configuration.", + "title": "LifecycleConfigArns", "type": "array" - }, - "Name": { - "markdownDescription": "The evaluation job name.", - "title": "Name", + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.CodeRepository": { + "additionalProperties": false, + "properties": { + "RepositoryUrl": { + "markdownDescription": "The URL of the Git repository.", + "title": "RepositoryUrl", "type": "string" } }, "required": [ - "Name" + "RepositoryUrl" ], "type": "object" }, - "AWS::SageMaker::ModelCard.Function": { + "AWS::SageMaker::Domain.CustomFileSystemConfig": { "additionalProperties": false, "properties": { - "Condition": { - "markdownDescription": "An optional description of any conditions of your objective function metric.", - "title": "Condition", - "type": "string" + "EFSFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.EFSFileSystemConfig", + "markdownDescription": "The settings for a custom Amazon EFS file system.", + "title": "EFSFileSystemConfig" }, - "Facet": { - "markdownDescription": "The metric of the model's objective function. For example, *loss* or *rmse* . The following list shows examples of the values that you can specify for the metric:\n\n- `ACCURACY`\n- `AUC`\n- `LOSS`\n- `MAE`\n- `RMSE`", - "title": "Facet", - "type": "string" + "FSxLustreFileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.FSxLustreFileSystemConfig", + "markdownDescription": "The settings for a custom Amazon FSx for Lustre file system.", + "title": "FSxLustreFileSystemConfig" }, - "Function": { - "markdownDescription": "The optimization direction of the model's objective function. You must specify one of the following values:\n\n- `Maximize`\n- `Minimize`", - "title": "Function", - "type": "string" + "S3FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.S3FileSystemConfig", + "markdownDescription": "Configuration settings for a custom Amazon S3 file system.", + "title": "S3FileSystemConfig" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.InferenceEnvironment": { + "AWS::SageMaker::Domain.CustomImage": { "additionalProperties": false, "properties": { - "ContainerImage": { - "items": { - "type": "string" - }, - "markdownDescription": "The container used to run the inference environment.", - "title": "ContainerImage", - "type": "array" + "AppImageConfigName": { + "markdownDescription": "The name of the AppImageConfig.", + "title": "AppImageConfigName", + "type": "string" + }, + "ImageName": { + "markdownDescription": "The name of the CustomImage. Must be unique to your account.", + "title": "ImageName", + "type": "string" + }, + "ImageVersionNumber": { + "markdownDescription": "The version number of the CustomImage.", + "title": "ImageVersionNumber", + "type": "number" } }, + "required": [ + "AppImageConfigName", + "ImageName" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.InferenceSpecification": { + "AWS::SageMaker::Domain.CustomPosixUserConfig": { "additionalProperties": false, "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.Container" - }, - "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", - "title": "Containers", - "type": "array" + "Gid": { + "markdownDescription": "The POSIX group ID.", + "title": "Gid", + "type": "number" + }, + "Uid": { + "markdownDescription": "The POSIX user ID.", + "title": "Uid", + "type": "number" } }, "required": [ - "Containers" + "Gid", + "Uid" ], "type": "object" }, - "AWS::SageMaker::ModelCard.IntendedUses": { + "AWS::SageMaker::Domain.DefaultEbsStorageSettings": { "additionalProperties": false, "properties": { - "ExplanationsForRiskRating": { - "markdownDescription": "An explanation of why your organization categorizes the model with its risk rating.", - "title": "ExplanationsForRiskRating", - "type": "string" - }, - "FactorsAffectingModelEfficiency": { - "markdownDescription": "Factors affecting model efficacy.", - "title": "FactorsAffectingModelEfficiency", - "type": "string" - }, - "IntendedUses": { - "markdownDescription": "The intended use cases for the model.", - "title": "IntendedUses", - "type": "string" - }, - "PurposeOfModel": { - "markdownDescription": "The general purpose of the model.", - "title": "PurposeOfModel", - "type": "string" + "DefaultEbsVolumeSizeInGb": { + "markdownDescription": "The default size of the EBS storage volume for a space.", + "title": "DefaultEbsVolumeSizeInGb", + "type": "number" }, - "RiskRating": { - "markdownDescription": "Your organization's risk rating. You can specify one the following values as the risk rating:\n\n- High\n- Medium\n- Low\n- Unknown", - "title": "RiskRating", - "type": "string" + "MaximumEbsVolumeSizeInGb": { + "markdownDescription": "The maximum size of the EBS storage volume for a space.", + "title": "MaximumEbsVolumeSizeInGb", + "type": "number" } }, + "required": [ + "DefaultEbsVolumeSizeInGb", + "MaximumEbsVolumeSizeInGb" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.MetricDataItems": { + "AWS::SageMaker::Domain.DefaultSpaceSettings": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "markdownDescription": "The settings for assigning a custom file system to a domain. Permitted users can access this file system in Amazon SageMaker AI Studio.", + "title": "CustomFileSystemConfigs", + "type": "array" }, - "Notes": { - "type": "string" + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig", + "markdownDescription": "", + "title": "CustomPosixUserConfig" }, - "Type": { + "ExecutionRole": { + "markdownDescription": "The ARN of the execution role for the space.", + "title": "ExecutionRole", "type": "string" }, - "Value": { - "type": "object" + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings", + "markdownDescription": "", + "title": "JupyterLabAppSettings" }, - "XAxisName": { - "items": { - "type": "string" - }, - "type": "array" + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings", + "markdownDescription": "The JupyterServer app settings.", + "title": "JupyterServerAppSettings" }, - "YAxisName": { + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings", + "markdownDescription": "The KernelGateway app settings.", + "title": "KernelGatewayAppSettings" + }, + "SecurityGroups": { "items": { "type": "string" }, + "markdownDescription": "The security group IDs for the Amazon VPC that the space uses for communication.", + "title": "SecurityGroups", "type": "array" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings", + "markdownDescription": "", + "title": "SpaceStorageSettings" } }, "required": [ - "Name", - "Type", - "Value" + "ExecutionRole" ], "type": "object" }, - "AWS::SageMaker::ModelCard.MetricGroup": { + "AWS::SageMaker::Domain.DefaultSpaceStorageSettings": { "additionalProperties": false, "properties": { - "MetricData": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.MetricDataItems" - }, - "markdownDescription": "A list of metric objects. The `MetricDataItems` list can have one of the following values:\n\n- `bar_chart_metric`\n- `matrix_metric`\n- `simple_metric`\n- `linear_graph_metric`\n\nFor more information about the metric schema, see the definition section of the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .", - "title": "MetricData", - "type": "array" - }, - "Name": { - "markdownDescription": "The metric group name.", - "title": "Name", - "type": "string" + "DefaultEbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultEbsStorageSettings", + "markdownDescription": "The default EBS storage settings for a space.", + "title": "DefaultEbsStorageSettings" } }, - "required": [ - "MetricData", - "Name" - ], "type": "object" }, - "AWS::SageMaker::ModelCard.ModelOverview": { + "AWS::SageMaker::Domain.DockerSettings": { "additionalProperties": false, "properties": { - "AlgorithmType": { - "markdownDescription": "The algorithm used to solve the problem.", - "title": "AlgorithmType", + "EnableDockerAccess": { + "markdownDescription": "Indicates whether the domain can access Docker.", + "title": "EnableDockerAccess", "type": "string" }, - "InferenceEnvironment": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.InferenceEnvironment", - "markdownDescription": "An overview about model inference.", - "title": "InferenceEnvironment" - }, - "ModelArtifact": { + "VpcOnlyTrustedAccounts": { "items": { "type": "string" }, - "markdownDescription": "The location of the model artifact.", - "title": "ModelArtifact", + "markdownDescription": "The list of AWS accounts that are trusted when the domain is created in VPC-only mode.", + "title": "VpcOnlyTrustedAccounts", "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.DomainSettings": { + "additionalProperties": false, + "properties": { + "DockerSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DockerSettings", + "markdownDescription": "A collection of settings that configure the domain's Docker interaction.", + "title": "DockerSettings" }, - "ModelCreator": { - "markdownDescription": "The creator of the model.", - "title": "ModelCreator", + "ExecutionRoleIdentityConfig": { + "markdownDescription": "The configuration for attaching a SageMaker AI user profile name to the execution role as a [sts:SourceIdentity key](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html) .", + "title": "ExecutionRoleIdentityConfig", "type": "string" }, - "ModelDescription": { - "markdownDescription": "A description of the model.", - "title": "ModelDescription", + "IpAddressType": { + "markdownDescription": "The IP address type for the domain. Specify `ipv4` for IPv4-only connectivity or `dualstack` for both IPv4 and IPv6 connectivity. When you specify `dualstack` , the subnet must support IPv6 CIDR blocks. If not specified, defaults to `ipv4` .", + "title": "IpAddressType", "type": "string" }, - "ModelId": { - "markdownDescription": "The SageMaker AI Model ARN or non- SageMaker AI Model ID.", - "title": "ModelId", - "type": "string" + "RStudioServerProDomainSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.RStudioServerProDomainSettings", + "markdownDescription": "A collection of settings that configure the `RStudioServerPro` Domain-level app.", + "title": "RStudioServerProDomainSettings" }, - "ModelName": { - "markdownDescription": "The name of the model.", - "title": "ModelName", - "type": "string" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The security groups for the Amazon Virtual Private Cloud that the `Domain` uses for communication between Domain-level apps and user apps.", + "title": "SecurityGroupIds", + "type": "array" }, - "ModelOwner": { - "markdownDescription": "The owner of the model.", - "title": "ModelOwner", + "UnifiedStudioSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UnifiedStudioSettings", + "markdownDescription": "The settings that apply to an SageMaker AI domain when you use it in Amazon SageMaker Unified Studio.", + "title": "UnifiedStudioSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.EFSFileSystemConfig": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "markdownDescription": "The ID of your Amazon EFS file system.", + "title": "FileSystemId", "type": "string" }, - "ModelVersion": { - "markdownDescription": "The version of the model.", - "title": "ModelVersion", - "type": "number" - }, - "ProblemType": { - "markdownDescription": "The problem being solved with the model.", - "title": "ProblemType", + "FileSystemPath": { + "markdownDescription": "The path to the file system directory that is accessible in Amazon SageMaker AI Studio. Permitted users can access only this directory and below.", + "title": "FileSystemPath", "type": "string" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.ModelPackageCreator": { + "AWS::SageMaker::Domain.FSxLustreFileSystemConfig": { "additionalProperties": false, "properties": { - "UserProfileName": { - "markdownDescription": "", - "title": "UserProfileName", + "FileSystemId": { + "markdownDescription": "The globally unique, 17-digit, ID of the file system, assigned by Amazon FSx for Lustre.", + "title": "FileSystemId", + "type": "string" + }, + "FileSystemPath": { + "markdownDescription": "The path to the file system directory that is accessible in Amazon SageMaker Studio. Permitted users can access only this directory and below.", + "title": "FileSystemPath", "type": "string" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, - "AWS::SageMaker::ModelCard.ModelPackageDetails": { + "AWS::SageMaker::Domain.HiddenSageMakerImage": { "additionalProperties": false, "properties": { - "ApprovalDescription": { - "markdownDescription": "", - "title": "ApprovalDescription", + "SageMakerImageName": { + "markdownDescription": "The SageMaker image name that you are hiding from the Studio user interface.", + "title": "SageMakerImageName", "type": "string" }, - "CreatedBy": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelPackageCreator", - "markdownDescription": "", - "title": "CreatedBy" + "VersionAliases": { + "items": { + "type": "string" + }, + "markdownDescription": "The version aliases you are hiding from the Studio user interface.", + "title": "VersionAliases", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.IdleSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeoutInMinutes": { + "markdownDescription": "The time that SageMaker waits after the application becomes idle before shutting it down.", + "title": "IdleTimeoutInMinutes", + "type": "number" }, - "Domain": { - "markdownDescription": "", - "title": "Domain", + "LifecycleManagement": { + "markdownDescription": "Indicates whether idle shutdown is activated for the application type.", + "title": "LifecycleManagement", "type": "string" }, - "InferenceSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.InferenceSpecification", - "markdownDescription": "", - "title": "InferenceSpecification" - }, - "ModelApprovalStatus": { - "markdownDescription": "", - "title": "ModelApprovalStatus", - "type": "string" + "MaxIdleTimeoutInMinutes": { + "markdownDescription": "The maximum value in minutes that custom idle shutdown can be set to by the user.", + "title": "MaxIdleTimeoutInMinutes", + "type": "number" }, - "ModelPackageArn": { - "markdownDescription": "", - "title": "ModelPackageArn", - "type": "string" + "MinIdleTimeoutInMinutes": { + "markdownDescription": "The minimum value in minutes that custom idle shutdown can be set to by the user.", + "title": "MinIdleTimeoutInMinutes", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "AppLifecycleManagement": { + "$ref": "#/definitions/AWS::SageMaker::Domain.AppLifecycleManagement", + "markdownDescription": "Indicates whether idle shutdown is activated for JupyterLab applications.", + "title": "AppLifecycleManagement" }, - "ModelPackageDescription": { - "markdownDescription": "", - "title": "ModelPackageDescription", + "BuiltInLifecycleConfigArn": { + "markdownDescription": "The lifecycle configuration that runs before the default lifecycle configuration. It can override changes made in the default lifecycle configuration.", + "title": "BuiltInLifecycleConfigArn", "type": "string" }, - "ModelPackageGroupName": { - "markdownDescription": "", - "title": "ModelPackageGroupName", - "type": "string" + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeRepository" + }, + "markdownDescription": "A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.", + "title": "CodeRepositories", + "type": "array" }, - "ModelPackageName": { - "markdownDescription": "", - "title": "ModelPackageName", - "type": "string" + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "markdownDescription": "A list of custom SageMaker images that are configured to run as a JupyterLab app.", + "title": "CustomImages", + "type": "array" }, - "ModelPackageStatus": { - "markdownDescription": "", - "title": "ModelPackageStatus", - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.", + "title": "DefaultResourceSpec" }, - "ModelPackageVersion": { - "markdownDescription": "", - "title": "ModelPackageVersion", - "type": "number" + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the lifecycle configurations attached to the user profile or domain. To remove a lifecycle config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.", + "title": "DefaultResourceSpec" }, - "SourceAlgorithms": { + "LifecycleConfigArns": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.SourceAlgorithm" + "type": "string" }, - "markdownDescription": "", - "title": "SourceAlgorithms", + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a KernelGateway app.\n\nThe maximum number of custom images are as follows.\n\n- On a domain level: 200\n- On a space level: 5\n- On a user profile level: 5", + "title": "CustomImages", "type": "array" }, - "Task": { - "markdownDescription": "", - "title": "Task", - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.\n\n> The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.", + "title": "DefaultResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.ObjectiveFunction": { + "AWS::SageMaker::Domain.RSessionAppSettings": { "additionalProperties": false, "properties": { - "Function": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.Function", - "markdownDescription": "A function object that details optimization direction, metric, and additional descriptions.", - "title": "Function" + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a RSession app.", + "title": "CustomImages", + "type": "array" }, - "Notes": { - "markdownDescription": "Notes about the object function, including other considerations for possible objective functions.", - "title": "Notes", - "type": "string" + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", + "title": "DefaultResourceSpec" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.SecurityConfig": { + "AWS::SageMaker::Domain.RStudioServerProAppSettings": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "A AWS Key Management Service [key ID](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id) used to encrypt a model card.", - "title": "KmsKeyId", + "AccessStatus": { + "markdownDescription": "Indicates whether the current user has access to the `RStudioServerPro` app.", + "title": "AccessStatus", + "type": "string" + }, + "UserGroup": { + "markdownDescription": "The level of permissions that the user has within the `RStudioServerPro` app. This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.", + "title": "UserGroup", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.SourceAlgorithm": { + "AWS::SageMaker::Domain.RStudioServerProDomainSettings": { "additionalProperties": false, "properties": { - "AlgorithmName": { - "markdownDescription": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.", - "title": "AlgorithmName", + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec", + "markdownDescription": "A collection that defines the default `InstanceType` , `SageMakerImageArn` , and `SageMakerImageVersionArn` for the Domain.", + "title": "DefaultResourceSpec" + }, + "DomainExecutionRoleArn": { + "markdownDescription": "The ARN of the execution role for the `RStudioServerPro` Domain-level app.", + "title": "DomainExecutionRoleArn", "type": "string" }, - "ModelDataUrl": { - "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.", - "title": "ModelDataUrl", + "RStudioConnectUrl": { + "markdownDescription": "A URL pointing to an RStudio Connect server.", + "title": "RStudioConnectUrl", + "type": "string" + }, + "RStudioPackageManagerUrl": { + "markdownDescription": "A URL pointing to an RStudio Package Manager server.", + "title": "RStudioPackageManagerUrl", "type": "string" } }, "required": [ - "AlgorithmName" + "DomainExecutionRoleArn" ], "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingDetails": { + "AWS::SageMaker::Domain.ResourceSpec": { "additionalProperties": false, "properties": { - "ObjectiveFunction": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.ObjectiveFunction", - "markdownDescription": "The function that is optimized during model training.", - "title": "ObjectiveFunction" + "InstanceType": { + "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", + "title": "InstanceType", + "type": "string" }, - "TrainingJobDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingJobDetails", - "markdownDescription": "Details about any associated training jobs.", - "title": "TrainingJobDetails" + "LifecycleConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", + "title": "LifecycleConfigArn", + "type": "string" }, - "TrainingObservations": { - "markdownDescription": "Any observations about training.", - "title": "TrainingObservations", + "SageMakerImageArn": { + "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", + "title": "SageMakerImageArn", + "type": "string" + }, + "SageMakerImageVersionArn": { + "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", + "title": "SageMakerImageVersionArn", + "type": "string" + }, + "TrainingPlanArn": { "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingEnvironment": { + "AWS::SageMaker::Domain.S3FileSystemConfig": { "additionalProperties": false, "properties": { - "ContainerImage": { - "items": { - "type": "string" - }, - "markdownDescription": "SageMaker AI inference image URI.", - "title": "ContainerImage", - "type": "array" + "MountPath": { + "markdownDescription": "The file system path where the Amazon S3 storage location will be mounted within the Amazon SageMaker Studio environment.", + "title": "MountPath", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "The Amazon S3 URI of the S3 file system configuration.", + "title": "S3Uri", + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingHyperParameter": { + "AWS::SageMaker::Domain.SharingSettings": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the hyper parameter.", - "title": "Name", + "NotebookOutputOption": { + "markdownDescription": "Whether to include the notebook cell output when sharing the notebook. The default is `Disabled` .", + "title": "NotebookOutputOption", "type": "string" }, - "Value": { - "markdownDescription": "The value specified for the hyper parameter.", - "title": "Value", + "S3KmsKeyId": { + "markdownDescription": "When `NotebookOutputOption` is `Allowed` , the AWS Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.", + "title": "S3KmsKeyId", + "type": "string" + }, + "S3OutputPath": { + "markdownDescription": "When `NotebookOutputOption` is `Allowed` , the Amazon S3 bucket used to store the shared notebook snapshots.", + "title": "S3OutputPath", "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingJobDetails": { + "AWS::SageMaker::Domain.StudioWebPortalSettings": { "additionalProperties": false, "properties": { - "HyperParameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingHyperParameter" - }, - "markdownDescription": "The hyper parameters used in the training job.", - "title": "HyperParameters", - "type": "array" - }, - "TrainingArn": { - "markdownDescription": "The SageMaker AI training job Amazon Resource Name (ARN)", - "title": "TrainingArn", - "type": "string" - }, - "TrainingDatasets": { + "HiddenAppTypes": { "items": { "type": "string" }, - "markdownDescription": "The location of the datasets used to train the model.", - "title": "TrainingDatasets", + "markdownDescription": "The [Applications supported in Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-apps.html) that are hidden from the Studio left navigation pane.", + "title": "HiddenAppTypes", "type": "array" }, - "TrainingEnvironment": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingEnvironment", - "markdownDescription": "The SageMaker AI training job image URI.", - "title": "TrainingEnvironment" - }, - "TrainingMetrics": { + "HiddenInstanceTypes": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingMetric" + "type": "string" }, - "markdownDescription": "The SageMaker AI training job results.", - "title": "TrainingMetrics", + "markdownDescription": "The instance types you are hiding from the Studio user interface.", + "title": "HiddenInstanceTypes", "type": "array" }, - "UserProvidedHyperParameters": { + "HiddenMlTools": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingHyperParameter" + "type": "string" }, - "markdownDescription": "Additional hyper parameters that you've specified when training the model.", - "title": "UserProvidedHyperParameters", + "markdownDescription": "The machine learning tools that are hidden from the Studio left navigation pane.", + "title": "HiddenMlTools", "type": "array" }, - "UserProvidedTrainingMetrics": { + "HiddenSageMakerImageVersionAliases": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingMetric" + "$ref": "#/definitions/AWS::SageMaker::Domain.HiddenSageMakerImage" }, - "markdownDescription": "Custom training job results.", - "title": "UserProvidedTrainingMetrics", + "markdownDescription": "The version aliases you are hiding from the Studio user interface.", + "title": "HiddenSageMakerImageVersionAliases", "type": "array" } }, "type": "object" }, - "AWS::SageMaker::ModelCard.TrainingMetric": { + "AWS::SageMaker::Domain.UnifiedStudioSettings": { "additionalProperties": false, "properties": { - "Name": { - "markdownDescription": "The name of the result from the SageMaker AI training job.", - "title": "Name", + "DomainAccountId": { + "markdownDescription": "The ID of the AWS account that has the Amazon SageMaker Unified Studio domain. The default value, if you don't specify an ID, is the ID of the account that has the Amazon SageMaker AI domain.", + "title": "DomainAccountId", "type": "string" }, - "Notes": { - "markdownDescription": "Any additional notes describing the result of the training job.", - "title": "Notes", + "DomainId": { + "markdownDescription": "The ID of the Amazon SageMaker Unified Studio domain associated with this domain.", + "title": "DomainId", "type": "string" }, - "Value": { - "markdownDescription": "The value of a result from the SageMaker AI training job.", - "title": "Value", - "type": "number" + "DomainRegion": { + "markdownDescription": "The AWS Region where the domain is located in Amazon SageMaker Unified Studio. The default value, if you don't specify a Region, is the Region where the Amazon SageMaker AI domain is located.", + "title": "DomainRegion", + "type": "string" + }, + "EnvironmentId": { + "markdownDescription": "The ID of the environment that Amazon SageMaker Unified Studio associates with the domain.", + "title": "EnvironmentId", + "type": "string" + }, + "ProjectId": { + "markdownDescription": "The ID of the Amazon SageMaker Unified Studio project that corresponds to the domain.", + "title": "ProjectId", + "type": "string" + }, + "ProjectS3Path": { + "markdownDescription": "The location where Amazon S3 stores temporary execution data and other artifacts for the project that corresponds to the domain.", + "title": "ProjectS3Path", + "type": "string" + }, + "StudioWebPortalAccess": { + "markdownDescription": "Sets whether you can access the domain in Amazon SageMaker Studio:\n\n- **ENABLED** - You can access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it in both studio interfaces.\n- **DISABLED** - You can't access the domain in Amazon SageMaker Studio. If you migrate the domain to Amazon SageMaker Unified Studio, you can access it only in that studio interface.\n\nTo migrate a domain to Amazon SageMaker Unified Studio, you specify the UnifiedStudioSettings data type when you use the UpdateDomain action.", + "title": "StudioWebPortalAccess", + "type": "string" } }, - "required": [ - "Name", - "Value" - ], "type": "object" }, - "AWS::SageMaker::ModelCard.UserContext": { + "AWS::SageMaker::Domain.UserSettings": { "additionalProperties": false, "properties": { - "DomainId": { - "markdownDescription": "The domain associated with the user.", - "title": "DomainId", + "AutoMountHomeEFS": { + "markdownDescription": "Indicates whether auto-mounting of an EFS volume is supported for the user profile. The `DefaultAsDomain` value is only supported for user profiles. Do not use the `DefaultAsDomain` value when setting this parameter for a domain.\n\nSageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.", + "title": "AutoMountHomeEFS", "type": "string" }, - "UserProfileArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the user's profile.", - "title": "UserProfileArn", + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CodeEditorAppSettings", + "markdownDescription": "The Code Editor application settings.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "CodeEditorAppSettings" + }, + "CustomFileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomFileSystemConfig" + }, + "markdownDescription": "The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker AI Studio.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "CustomFileSystemConfigs", + "type": "array" + }, + "CustomPosixUserConfig": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomPosixUserConfig", + "markdownDescription": "Details about the POSIX identity that is used for file system operations.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "CustomPosixUserConfig" + }, + "DefaultLandingUri": { + "markdownDescription": "The default experience that the user is directed to when accessing the domain. The supported values are:\n\n- `studio::` : Indicates that Studio is the default experience. This value can only be passed if `StudioWebPortal` is set to `ENABLED` .\n- `app:JupyterServer:` : Indicates that Studio Classic is the default experience.", + "title": "DefaultLandingUri", "type": "string" }, - "UserProfileName": { - "markdownDescription": "The name of the user's profile.", - "title": "UserProfileName", + "ExecutionRole": { + "markdownDescription": "The execution role for the user.\n\nSageMaker applies this setting only to private spaces that the user creates in the domain. SageMaker doesn't apply this setting to shared spaces.", + "title": "ExecutionRole", + "type": "string" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterLabAppSettings", + "markdownDescription": "The settings for the JupyterLab application.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings", + "markdownDescription": "The Jupyter server's app settings.", + "title": "JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings", + "markdownDescription": "The kernel gateway app settings.", + "title": "KernelGatewayAppSettings" + }, + "RSessionAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.RSessionAppSettings", + "markdownDescription": "A collection of settings that configure the `RSessionGateway` app.", + "title": "RSessionAppSettings" + }, + "RStudioServerProAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.RStudioServerProAppSettings", + "markdownDescription": "A collection of settings that configure user interaction with the `RStudioServerPro` app.", + "title": "RStudioServerProAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "The security groups for the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.\n\nOptional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .\n\nRequired when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` , unless specified as part of the `DefaultUserSettings` for the domain.\n\nAmazon SageMaker AI adds a security group to allow NFS traffic from Amazon SageMaker AI Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "SecurityGroups", + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings", + "markdownDescription": "Specifies options for sharing Amazon SageMaker AI Studio notebooks.", + "title": "SharingSettings" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.DefaultSpaceStorageSettings", + "markdownDescription": "The storage settings for a space.\n\nSageMaker applies these settings only to private spaces that the user creates in the domain. SageMaker doesn't apply these settings to shared spaces.", + "title": "SpaceStorageSettings" + }, + "StudioWebPortal": { + "markdownDescription": "Whether the user can access Studio. If this value is set to `DISABLED` , the user cannot access Studio, even if that is the default experience for the domain.", + "title": "StudioWebPortal", "type": "string" + }, + "StudioWebPortalSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.StudioWebPortalSettings", + "markdownDescription": "Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.", + "title": "StudioWebPortalSettings" } }, + "required": [ + "ExecutionRole" + ], "type": "object" }, - "AWS::SageMaker::ModelCardExportJob": { + "AWS::SageMaker::Endpoint": { "additionalProperties": false, "properties": { "Condition": { @@ -365837,29 +333881,56 @@ "Properties": { "additionalProperties": false, "properties": { - "ModelCardExportJobName": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig", + "markdownDescription": "The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.", + "title": "DeploymentConfig" + }, + "EndpointConfigName": { + "markdownDescription": "The name of the [AWS::SageMaker::EndpointConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html) resource that specifies the configuration for the endpoint. For more information, see [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) .", + "title": "EndpointConfigName", "type": "string" }, - "ModelCardName": { + "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" }, - "ModelCardVersion": { - "type": "number" + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "markdownDescription": "When you are updating endpoint resources with [RetainAllVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-RetainAllVariantProperties) whose value is set to `true` , `ExcludeRetainedVariantProperties` specifies the list of type [VariantProperty](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html) to override with the values provided by `EndpointConfig` . If you don't specify a value for `ExcludeAllVariantProperties` , no variant properties are overridden. Don't use this property when creating new endpoint resources or when `RetainAllVariantProperties` is set to `false` .", + "title": "ExcludeRetainedVariantProperties", + "type": "array" }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelCardExportJob.ModelCardExportOutputConfig" + "RetainAllVariantProperties": { + "markdownDescription": "When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set `RetainAllVariantProperties` to `true` . To use the variant properties specified in a new `EndpointConfig` call when updating an endpoint, set `RetainAllVariantProperties` to `false` . Use this property only when updating endpoint resources, not when creating new endpoint resources.", + "title": "RetainAllVariantProperties", + "type": "boolean" + }, + "RetainDeploymentConfig": { + "markdownDescription": "Specifies whether to reuse the last deployment configuration. The default value is false (the configuration is not reused).", + "title": "RetainDeploymentConfig", + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "title": "Tags", + "type": "array" } }, "required": [ - "ModelCardExportJobName", - "ModelCardName", - "OutputConfig" + "EndpointConfigName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelCardExportJob" + "AWS::SageMaker::Endpoint" ], "type": "string" }, @@ -365878,31 +333949,173 @@ ], "type": "object" }, - "AWS::SageMaker::ModelCardExportJob.ModelCardExportArtifacts": { + "AWS::SageMaker::Endpoint.Alarm": { "additionalProperties": false, "properties": { - "S3ExportArtifacts": { + "AlarmName": { + "markdownDescription": "The name of a CloudWatch alarm in your account.", + "title": "AlarmName", "type": "string" } }, "required": [ - "S3ExportArtifacts" + "AlarmName" ], "type": "object" }, - "AWS::SageMaker::ModelCardExportJob.ModelCardExportOutputConfig": { + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { "additionalProperties": false, "properties": { - "S3OutputPath": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "markdownDescription": "List of CloudWatch alarms in your account that are configured to monitor metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker rolls back the deployment.", + "title": "Alarms", + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "markdownDescription": "Maximum execution timeout for the deployment. Note that the timeout value should be larger than the total waiting time specified in `TerminationWaitInSeconds` and `WaitIntervalInSeconds` .", + "title": "MaximumExecutionTimeoutInSeconds", + "type": "number" + }, + "TerminationWaitInSeconds": { + "markdownDescription": "Additional waiting time in seconds after the completion of an endpoint deployment before terminating the old endpoint fleet. Default is 0.", + "title": "TerminationWaitInSeconds", + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig", + "markdownDescription": "Defines the traffic routing strategy to shift traffic from the old fleet to the new fleet during an endpoint deployment.", + "title": "TrafficRoutingConfiguration" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "markdownDescription": "Specifies the endpoint capacity type.\n\n- `INSTANCE_COUNT` : The endpoint activates based on the number of instances.\n- `CAPACITY_PERCENT` : The endpoint activates based on the specified percentage of capacity.", + "title": "Type", "type": "string" + }, + "Value": { + "markdownDescription": "Defines the capacity size, either as a number of instances or a capacity percentage.", + "title": "Value", + "type": "number" } }, "required": [ - "S3OutputPath" + "Type", + "Value" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition": { + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig", + "markdownDescription": "Automatic rollback configuration for handling endpoint deployment failures and recovery.", + "title": "AutoRollbackConfiguration" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy", + "markdownDescription": "Update policy for a blue/green deployment. If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.", + "title": "BlueGreenUpdatePolicy" + }, + "RollingUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.RollingUpdatePolicy", + "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker endpoint.", + "title": "RollingUpdatePolicy" + } + }, + "type": "object" + }, + "AWS::SageMaker::Endpoint.RollingUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", + "markdownDescription": "Batch size for each rolling step to provision capacity and turn on traffic on the new endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between 5% to 50% of the variant's total instance count.", + "title": "MaximumBatchSize" + }, + "MaximumExecutionTimeoutInSeconds": { + "markdownDescription": "The time limit for the total deployment. Exceeding this limit causes a timeout.", + "title": "MaximumExecutionTimeoutInSeconds", + "type": "number" + }, + "RollbackMaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", + "markdownDescription": "Batch size for rollback to the old endpoint fleet. Each rolling step to provision capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new endpoint fleet. If this field is absent, the default value will be set to 100% of total capacity which means to bring up the whole capacity of the old fleet at once during rollback.", + "title": "RollbackMaximumBatchSize" + }, + "WaitIntervalInSeconds": { + "markdownDescription": "The length of the baking period, during which SageMaker monitors alarms for each batch on the new fleet.", + "title": "WaitIntervalInSeconds", + "type": "number" + } + }, + "required": [ + "MaximumBatchSize", + "WaitIntervalInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", + "markdownDescription": "Batch size for the first step to turn on traffic on the new endpoint fleet. `Value` must be less than or equal to 50% of the variant's total instance count.", + "title": "CanarySize" + }, + "LinearStepSize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize", + "markdownDescription": "Batch size for each step to turn on traffic on the new endpoint fleet. `Value` must be 10-50% of the variant's total instance count.", + "title": "LinearStepSize" + }, + "Type": { + "markdownDescription": "Traffic routing strategy type.\n\n- `ALL_AT_ONCE` : Endpoint traffic shifts to the new fleet in a single step.\n- `CANARY` : Endpoint traffic shifts to the new fleet in two steps. The first step is the canary, which is a small portion of the traffic. The second step is the remainder of the traffic.\n- `LINEAR` : Endpoint traffic shifts to the new fleet in n steps of a configurable size.", + "title": "Type", + "type": "string" + }, + "WaitIntervalInSeconds": { + "markdownDescription": "The waiting time (in seconds) between incremental steps to turn on traffic on the new endpoint fleet.", + "title": "WaitIntervalInSeconds", + "type": "number" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "markdownDescription": "The type of variant property. The supported values are:\n\n- `DesiredInstanceCount` : Overrides the existing variant instance counts using the [InitialInstanceCount](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialInstanceCount) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .\n- `DesiredWeight` : Overrides the existing variant weights using the [InitialVariantWeight](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialVariantWeight) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .\n- `DataCaptureConfig` : (Not currently supported.)", + "title": "VariantPropertyType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { "additionalProperties": false, "properties": { "Condition": { @@ -365937,77 +334150,73 @@ "Properties": { "additionalProperties": false, "properties": { - "EndpointName": { - "markdownDescription": "", - "title": "EndpointName", - "type": "string" - }, - "JobDefinitionName": { - "markdownDescription": "The name of the model explainability job definition. The name must be unique within an AWS Region in the AWS account.", - "title": "JobDefinitionName", - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources", - "markdownDescription": "Identifies the resources to deploy for a monitoring job.", - "title": "JobResources" + "AsyncInferenceConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceConfig", + "markdownDescription": "Specifies configuration for how an endpoint performs asynchronous inference.", + "title": "AsyncInferenceConfig" }, - "ModelExplainabilityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification", - "markdownDescription": "Configures the model explainability job to run a specified Docker container image.", - "title": "ModelExplainabilityAppSpecification" + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig", + "markdownDescription": "Specifies how to capture endpoint data for model monitor. The data capture configuration applies to all production variants hosted at the endpoint.", + "title": "DataCaptureConfig" }, - "ModelExplainabilityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig", - "markdownDescription": "The baseline configuration for a model explainability job.", - "title": "ModelExplainabilityBaselineConfig" + "EnableNetworkIsolation": { + "type": "boolean" }, - "ModelExplainabilityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput", - "markdownDescription": "Inputs for the model explainability job.", - "title": "ModelExplainabilityJobInput" + "EndpointConfigName": { + "markdownDescription": "The name of the endpoint configuration.", + "title": "EndpointConfigName", + "type": "string" }, - "ModelExplainabilityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig", - "markdownDescription": "The output configuration for monitoring jobs.", - "title": "ModelExplainabilityJobOutputConfig" + "ExecutionRoleArn": { + "type": "string" }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig", - "markdownDescription": "Networking options for a model explainability job.", - "title": "NetworkConfig" + "ExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ExplainerConfig", + "markdownDescription": "A parameter to activate explainers.", + "title": "ExplainerConfig" }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.", - "title": "RoleArn", + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`\n\nThe KMS key policy must grant permission to the IAM role that you specify in your `CreateEndpoint` , `UpdateEndpoint` requests. For more information, refer to the AWS Key Management Service section [Using Key Policies in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `KmsKeyId` when using an instance type with local storage. If any of the models that you specify in the `ProductionVariants` parameter use nitro-based instances with local storage, do not specify a value for the `KmsKeyId` parameter. If you specify a value for `KmsKeyId` when using any nitro-based instances with local storage, the call to `CreateEndpointConfig` fails.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .", + "title": "KmsKeyId", "type": "string" }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition", - "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", - "title": "StoppingCondition" + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "markdownDescription": "A list of `ProductionVariant` objects, one for each model that you want to host at this endpoint.", + "title": "ProductionVariants", + "type": "array" + }, + "ShadowProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "markdownDescription": "Array of `ProductionVariant` objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on `ProductionVariants` . If you use this field, you can only specify one variant for `ProductionVariants` and one variant for `ShadowProductionVariants` .", + "title": "ShadowProductionVariants", + "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) .", + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .", "title": "Tags", "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.VpcConfig" } }, "required": [ - "JobResources", - "ModelExplainabilityAppSpecification", - "ModelExplainabilityJobInput", - "ModelExplainabilityJobOutputConfig", - "RoleArn" + "ProductionVariants" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelExplainabilityJobDefinition" + "AWS::SageMaker::EndpointConfig" ], "type": "string" }, @@ -366026,377 +334235,529 @@ ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.BatchTransformInput": { + "AWS::SageMaker::EndpointConfig.AsyncInferenceClientConfig": { "additionalProperties": false, "properties": { - "DataCapturedDestinationS3Uri": { - "markdownDescription": "The Amazon S3 location being used to capture the data.", - "title": "DataCapturedDestinationS3Uri", - "type": "string" - }, - "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.DatasetFormat", - "markdownDescription": "The dataset format for your batch transform job.", - "title": "DatasetFormat" + "MaxConcurrentInvocationsPerInstance": { + "markdownDescription": "The maximum number of concurrent requests sent by the SageMaker client to the model container. If no value is provided, SageMaker will choose an optimal value for you.", + "title": "MaxConcurrentInvocationsPerInstance", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.AsyncInferenceConfig": { + "additionalProperties": false, + "properties": { + "ClientConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceClientConfig", + "markdownDescription": "Configures the behavior of the client used by SageMaker to interact with the model container during asynchronous inference.", + "title": "ClientConfig" }, - "FeaturesAttribute": { - "markdownDescription": "The attributes of the input data that are the input features.", - "title": "FeaturesAttribute", + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceOutputConfig", + "markdownDescription": "Specifies the configuration for asynchronous inference invocation outputs.", + "title": "OutputConfig" + } + }, + "required": [ + "OutputConfig" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig": { + "additionalProperties": false, + "properties": { + "ErrorTopic": { + "markdownDescription": "Amazon SNS topic to post a notification to when an inference fails. If no topic is provided, no notification is sent on failure.", + "title": "ErrorTopic", "type": "string" }, - "InferenceAttribute": { - "markdownDescription": "The attribute of the input data that represents the ground truth label.", - "title": "InferenceAttribute", - "type": "string" + "IncludeInferenceResponseIn": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon SNS topics where you want the inference response to be included.\n\n> The inference response is included only if the response size is less than or equal to 128 KB.", + "title": "IncludeInferenceResponseIn", + "type": "array" }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the batch transform data is available to the container.", - "title": "LocalPath", + "SuccessTopic": { + "markdownDescription": "Amazon SNS topic to post a notification to when an inference completes successfully. If no topic is provided, no notification is sent on success.", + "title": "SuccessTopic", "type": "string" - }, - "ProbabilityAttribute": { - "markdownDescription": "In a classification problem, the attribute that represents the class probability.", - "title": "ProbabilityAttribute", + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.AsyncInferenceOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.", + "title": "KmsKeyId", "type": "string" }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", + "NotificationConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.AsyncInferenceNotificationConfig", + "markdownDescription": "Specifies the configuration for notifications of inference results for asynchronous inference.", + "title": "NotificationConfig" + }, + "S3FailurePath": { + "markdownDescription": "The Amazon S3 location to upload failure inference responses to.", + "title": "S3FailurePath", "type": "string" }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", + "S3OutputPath": { + "markdownDescription": "The Amazon S3 location to upload inference responses to.", + "title": "S3OutputPath", "type": "string" } }, - "required": [ - "DataCapturedDestinationS3Uri", - "DatasetFormat", - "LocalPath" - ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { + "AWS::SageMaker::EndpointConfig.CapacityReservationConfig": { "additionalProperties": false, "properties": { - "InstanceCount": { - "markdownDescription": "The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", - "title": "InstanceCount", - "type": "number" - }, - "InstanceType": { - "markdownDescription": "The ML compute instance type for the processing job.", - "title": "InstanceType", + "CapacityReservationPreference": { "type": "string" }, - "VolumeKmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.", - "title": "VolumeKmsKeyId", + "MlReservationArn": { "type": "string" - }, - "VolumeSizeInGB": { - "markdownDescription": "The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.", - "title": "VolumeSizeInGB", - "type": "number" } }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { "additionalProperties": false, "properties": { - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the constraints resource.", - "title": "S3Uri", - "type": "string" + "CsvContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the CSV content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.", + "title": "CsvContentTypes", + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the JSON content types of the data that the endpoint captures. For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.", + "title": "JsonContentTypes", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Csv": { + "AWS::SageMaker::EndpointConfig.CaptureOption": { "additionalProperties": false, "properties": { - "Header": { - "markdownDescription": "", - "title": "Header", - "type": "boolean" + "CaptureMode": { + "markdownDescription": "Specifies whether the endpoint captures input data or output data.", + "title": "CaptureMode", + "type": "string" } }, + "required": [ + "CaptureMode" + ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.DatasetFormat": { + "AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig": { "additionalProperties": false, "properties": { - "Csv": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Csv", - "markdownDescription": "", - "title": "Csv" + "EnableExplanations": { + "markdownDescription": "A JMESPath boolean expression used to filter which records to explain. Explanations are activated by default. See [`EnableExplanations`](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-enable) for additional information.", + "title": "EnableExplanations", + "type": "string" }, - "Json": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Json", - "markdownDescription": "", - "title": "Json" + "InferenceConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyInferenceConfig", + "markdownDescription": "The inference configuration parameter for the model container.", + "title": "InferenceConfig" }, - "Parquet": { - "markdownDescription": "", - "title": "Parquet", - "type": "boolean" + "ShapConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyShapConfig", + "markdownDescription": "The configuration for SHAP analysis.", + "title": "ShapConfig" } }, + "required": [ + "ShapConfig" + ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "AWS::SageMaker::EndpointConfig.ClarifyFeatureType": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ClarifyHeader": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ClarifyInferenceConfig": { "additionalProperties": false, "properties": { - "EndpointName": { - "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", - "title": "EndpointName", + "ContentTemplate": { + "markdownDescription": "A template string used to format a JSON record into an acceptable model container input. For example, a `ContentTemplate` string `'{\"myfeatures\":$features}'` will format a list of features `[1,2,3]` into the record string `'{\"myfeatures\":[1,2,3]}'` . Required only when the model container input is in JSON Lines format.", + "title": "ContentTemplate", "type": "string" }, + "FeatureHeaders": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyHeader" + }, + "markdownDescription": "The names of the features. If provided, these are included in the endpoint response payload to help readability of the `InvokeEndpoint` output. See the [Response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information.", + "title": "FeatureHeaders", + "type": "array" + }, + "FeatureTypes": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyFeatureType" + }, + "markdownDescription": "A list of data types of the features (optional). Applicable only to NLP explainability. If provided, `FeatureTypes` must have at least one `'text'` string (for example, `['text']` ). If `FeatureTypes` is not provided, the explainer infers the feature types based on the baseline data. The feature types are included in the endpoint response payload. For additional information see the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information.", + "title": "FeatureTypes", + "type": "array" + }, "FeaturesAttribute": { - "markdownDescription": "The attributes of the input data that are the input features.", + "markdownDescription": "Provides the JMESPath expression to extract the features from a model container input in JSON Lines format. For example, if `FeaturesAttribute` is the JMESPath expression `'myfeatures'` , it extracts a list of features `[1,2,3]` from request data `'{\"myfeatures\":[1,2,3]}'` .", "title": "FeaturesAttribute", "type": "string" }, - "InferenceAttribute": { - "markdownDescription": "The attribute of the input data that represents the ground truth label.", - "title": "InferenceAttribute", + "LabelAttribute": { + "markdownDescription": "A JMESPath expression used to locate the list of label headers in the model container output.\n\n*Example* : If the model container output of a batch request is `'{\"labels\":[\"cat\",\"dog\",\"fish\"],\"probability\":[0.6,0.3,0.1]}'` , then set `LabelAttribute` to `'labels'` to extract the list of label headers `[\"cat\",\"dog\",\"fish\"]`", + "title": "LabelAttribute", "type": "string" }, - "LocalPath": { - "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", - "title": "LocalPath", - "type": "string" + "LabelHeaders": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyHeader" + }, + "markdownDescription": "For multiclass classification problems, the label headers are the names of the classes. Otherwise, the label header is the name of the predicted label. These are used to help readability for the output of the `InvokeEndpoint` API. See the [response](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-invoke-endpoint.html#clarify-online-explainability-response) section under *Invoke the endpoint* in the Developer Guide for more information. If there are no label headers in the model container output, provide them manually using this parameter.", + "title": "LabelHeaders", + "type": "array" + }, + "LabelIndex": { + "markdownDescription": "A zero-based index used to extract a label header or list of label headers from model container output in CSV format.\n\n*Example for a multiclass model:* If the model container output consists of label headers followed by probabilities: `'\"[\\'cat\\',\\'dog\\',\\'fish\\']\",\"[0.1,0.6,0.3]\"'` , set `LabelIndex` to `0` to select the label headers `['cat','dog','fish']` .", + "title": "LabelIndex", + "type": "number" + }, + "MaxPayloadInMB": { + "markdownDescription": "The maximum payload size (MB) allowed of a request from the explainer to the model container. Defaults to `6` MB.", + "title": "MaxPayloadInMB", + "type": "number" + }, + "MaxRecordCount": { + "markdownDescription": "The maximum number of records in a request that the model container can process when querying the model container for the predictions of a [synthetic dataset](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html#clarify-online-explainability-create-endpoint-synthetic) . A record is a unit of input data that inference can be made on, for example, a single line in CSV data. If `MaxRecordCount` is `1` , the model container expects one record per request. A value of 2 or greater means that the model expects batch requests, which can reduce overhead and speed up the inferencing process. If this parameter is not provided, the explainer will tune the record count per request according to the model container's capacity at runtime.", + "title": "MaxRecordCount", + "type": "number" }, "ProbabilityAttribute": { - "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "markdownDescription": "A JMESPath expression used to extract the probability (or score) from the model container output if the model container is in JSON Lines format.\n\n*Example* : If the model container output of a single request is `'{\"predicted_label\":1,\"probability\":0.6}'` , then set `ProbabilityAttribute` to `'probability'` .", "title": "ProbabilityAttribute", "type": "string" }, - "S3DataDistributionType": { - "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", - "title": "S3DataDistributionType", - "type": "string" - }, - "S3InputMode": { - "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", - "title": "S3InputMode", - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Json": { - "additionalProperties": false, - "properties": { - "Line": { - "markdownDescription": "", - "title": "Line", - "type": "boolean" + "ProbabilityIndex": { + "markdownDescription": "A zero-based index used to extract a probability value (score) or list from model container output in CSV format. If this value is not provided, the entire model container output will be treated as a probability value (score) or list.\n\n*Example for a single class model:* If the model container output consists of a string-formatted prediction label followed by its probability: `'1,0.6'` , set `ProbabilityIndex` to `1` to select the probability value `0.6` .\n\n*Example for a multiclass model:* If the model container output consists of a string-formatted prediction label followed by its probability: `'\"[\\'cat\\',\\'dog\\',\\'fish\\']\",\"[0.1,0.6,0.3]\"'` , set `ProbabilityIndex` to `1` to select the probability values `[0.1,0.6,0.3]` .", + "title": "ProbabilityIndex", + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { + "AWS::SageMaker::EndpointConfig.ClarifyShapBaselineConfig": { "additionalProperties": false, "properties": { - "ConfigUri": { - "markdownDescription": "JSON formatted Amazon S3 file that defines explainability parameters. For more information on this JSON configuration file, see [Configure model explainability parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-model-explainability-parameters.html) .", - "title": "ConfigUri", + "MimeType": { + "markdownDescription": "The MIME type of the baseline data. Choose from `'text/csv'` or `'application/jsonlines'` . Defaults to `'text/csv'` .", + "title": "MimeType", "type": "string" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the Docker container.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Environment", - "type": "object" + "ShapBaseline": { + "markdownDescription": "The inline SHAP baseline data in string format. `ShapBaseline` can have one or multiple records to be used as the baseline dataset. The format of the SHAP baseline file should be the same format as the training dataset. For example, if the training dataset is in CSV format and each record contains four features, and all features are numerical, then the format of the baseline data should also share these characteristics. For natural language processing (NLP) of text columns, the baseline value should be the value used to replace the unit of text specified by the `Granularity` of the `TextConfig` parameter. The size limit for `ShapBasline` is 4 KB. Use the `ShapBaselineUri` parameter if you want to provide more than 4 KB of baseline data.", + "title": "ShapBaseline", + "type": "string" }, - "ImageUri": { - "markdownDescription": "The container image to be run by the model explainability job.", - "title": "ImageUri", + "ShapBaselineUri": { + "markdownDescription": "The uniform resource identifier (URI) of the S3 bucket where the SHAP baseline file is stored. The format of the SHAP baseline file should be the same format as the format of the training dataset. For example, if the training dataset is in CSV format, and each record in the training dataset has four features, and all features are numerical, then the baseline file should also have this same format. Each record should contain only the features. If you are using a virtual private cloud (VPC), the `ShapBaselineUri` should be accessible to the VPC. For more information about setting up endpoints with Amazon Virtual Private Cloud, see [Give SageMaker access to Resources in your Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", + "title": "ShapBaselineUri", "type": "string" } }, - "required": [ - "ConfigUri", - "ImageUri" - ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { + "AWS::SageMaker::EndpointConfig.ClarifyShapConfig": { "additionalProperties": false, "properties": { - "BaseliningJobName": { - "markdownDescription": "The name of the baseline model explainability job.", - "title": "BaseliningJobName", - "type": "string" + "NumberOfSamples": { + "markdownDescription": "The number of samples to be used for analysis by the Kernal SHAP algorithm.\n\n> The number of samples determines the size of the synthetic dataset, which has an impact on latency of explainability requests. For more information, see the *Synthetic data* of [Configure and create an endpoint](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-online-explainability-create-endpoint.html) .", + "title": "NumberOfSamples", + "type": "number" }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource", - "markdownDescription": "The constraints resource for a model explainability job.", - "title": "ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { - "additionalProperties": false, - "properties": { - "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.BatchTransformInput", - "markdownDescription": "Input object for the batch transform job.", - "title": "BatchTransformInput" + "Seed": { + "markdownDescription": "The starting value used to initialize the random number generator in the explainer. Provide a value for this parameter to obtain a deterministic SHAP result.", + "title": "Seed", + "type": "number" }, - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput", - "markdownDescription": "Input object for the endpoint", - "title": "EndpointInput" + "ShapBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyShapBaselineConfig", + "markdownDescription": "The configuration for the SHAP baseline of the Kernal SHAP algorithm.", + "title": "ShapBaselineConfig" + }, + "TextConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyTextConfig", + "markdownDescription": "A parameter that indicates if text features are treated as text and explanations are provided for individual units of text. Required for natural language processing (NLP) explainability only.", + "title": "TextConfig" + }, + "UseLogit": { + "markdownDescription": "A Boolean toggle to indicate if you want to use the logit function (true) or log-odds units (false) for model predictions. Defaults to false.", + "title": "UseLogit", + "type": "boolean" } }, + "required": [ + "ShapBaselineConfig" + ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { + "AWS::SageMaker::EndpointConfig.ClarifyTextConfig": { "additionalProperties": false, "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output", - "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", - "title": "S3Output" + "Granularity": { + "markdownDescription": "The unit of granularity for the analysis of text features. For example, if the unit is `'token'` , then each token (like a word in English) of the text is treated as a feature. SHAP values are computed for each unit/feature.", + "title": "Granularity", + "type": "string" + }, + "Language": { + "markdownDescription": "Specifies the language of the text features in [ISO 639-1](https://docs.aws.amazon.com/ https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) or [ISO 639-3](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_639-3) code of a supported language.\n\n> For a mix of multiple languages, use code `'xx'` .", + "title": "Language", + "type": "string" } }, "required": [ - "S3Output" + "Granularity", + "Language" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS ) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.", - "title": "KmsKeyId", - "type": "string" + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader", + "markdownDescription": "A list of the JSON and CSV content type that the endpoint captures.", + "title": "CaptureContentTypeHeader" }, - "MonitoringOutputs": { + "CaptureOptions": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" }, - "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", - "title": "MonitoringOutputs", + "markdownDescription": "Specifies whether the endpoint captures input data to your model, output data from your model, or both.", + "title": "CaptureOptions", "type": "array" + }, + "DestinationS3Uri": { + "markdownDescription": "The S3 bucket where model monitor stores captured data.", + "title": "DestinationS3Uri", + "type": "string" + }, + "EnableCapture": { + "markdownDescription": "Set to `True` to enable data capture.", + "title": "EnableCapture", + "type": "boolean" + }, + "InitialSamplingPercentage": { + "markdownDescription": "The percentage of data to capture.", + "title": "InitialSamplingPercentage", + "type": "number" + }, + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the captured data at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats: Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab Alias name: alias/ExampleAlias Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the Amazon Simple Storage Service Developer Guide. The KMS key policy must grant permission to the IAM role that you specify in your CreateModel (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see Using Key Policies in AWS KMS (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the AWS Key Management Service Developer Guide.", + "title": "KmsKeyId", + "type": "string" } }, "required": [ - "MonitoringOutputs" + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { + "AWS::SageMaker::EndpointConfig.ExplainerConfig": { "additionalProperties": false, "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig", - "markdownDescription": "The configuration for the cluster resources used to run the processing job.", - "title": "ClusterConfig" + "ClarifyExplainerConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ClarifyExplainerConfig", + "markdownDescription": "A member of `ExplainerConfig` that contains configuration parameters for the SageMaker Clarify explainer.", + "title": "ClarifyExplainerConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.InstancePools": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "ModelNameOverride": { + "type": "string" + }, + "Priority": { + "type": "number" } }, "required": [ - "ClusterConfig" + "InstanceType", + "Priority" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { + "AWS::SageMaker::EndpointConfig.ManagedInstanceScaling": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", - "title": "EnableInterContainerTrafficEncryption", - "type": "boolean" + "MaxInstanceCount": { + "type": "number" }, - "EnableNetworkIsolation": { - "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", - "title": "EnableNetworkIsolation", - "type": "boolean" + "MinInstanceCount": { + "type": "number" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig", - "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", - "title": "VpcConfig" + "Status": { + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { + "AWS::SageMaker::EndpointConfig.ProductionVariant": { "additionalProperties": false, "properties": { - "LocalPath": { - "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", - "title": "LocalPath", + "CapacityReservationConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CapacityReservationConfig" + }, + "ContainerStartupHealthCheckTimeoutInSeconds": { + "markdownDescription": "The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests) .", + "title": "ContainerStartupHealthCheckTimeoutInSeconds", + "type": "number" + }, + "EnableSSMAccess": { + "markdownDescription": "You can use this parameter to turn on native AWS Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoint. You can turn on or turn off SSM access for a production variant behind an existing endpoint by creating a new endpoint configuration and calling `UpdateEndpoint` .", + "title": "EnableSSMAccess", + "type": "boolean" + }, + "InferenceAmiVersion": { "type": "string" }, - "S3UploadMode": { - "markdownDescription": "Whether to upload the results of the monitoring job continuously or after the job completes.", - "title": "S3UploadMode", + "InitialInstanceCount": { + "markdownDescription": "Number of instances to launch initially.", + "title": "InitialInstanceCount", + "type": "number" + }, + "InitialVariantWeight": { + "markdownDescription": "Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. The traffic to a production variant is determined by the ratio of the `VariantWeight` to the sum of all `VariantWeight` values across all ProductionVariants. If unspecified, it defaults to 1.0.", + "title": "InitialVariantWeight", + "type": "number" + }, + "InstancePools": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.InstancePools" + }, + "type": "array" + }, + "InstanceType": { + "markdownDescription": "The ML compute instance type.", + "title": "InstanceType", "type": "string" }, - "S3Uri": { - "markdownDescription": "A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.", - "title": "S3Uri", + "ManagedInstanceScaling": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ManagedInstanceScaling" + }, + "ModelDataDownloadTimeoutInSeconds": { + "markdownDescription": "The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this production variant.", + "title": "ModelDataDownloadTimeoutInSeconds", + "type": "number" + }, + "ModelName": { + "markdownDescription": "The name of the model that you want to host. This is the name that you specified when creating the model.", + "title": "ModelName", + "type": "string" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.RoutingConfig" + }, + "ServerlessConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ServerlessConfig", + "markdownDescription": "The serverless configuration for an endpoint. Specifies a serverless endpoint configuration instead of an instance-based endpoint configuration.", + "title": "ServerlessConfig" + }, + "VariantInstanceProvisionTimeoutInSeconds": { + "type": "number" + }, + "VariantName": { + "markdownDescription": "The name of the production variant.", + "title": "VariantName", "type": "string" + }, + "VolumeSizeInGB": { + "markdownDescription": "The size, in GB, of the ML storage volume attached to individual inference instance associated with the production variant. Currently only Amazon EBS gp2 storage volumes are supported.", + "title": "VolumeSizeInGB", + "type": "number" } }, "required": [ - "LocalPath", - "S3Uri" + "VariantName" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { + "AWS::SageMaker::EndpointConfig.RoutingConfig": { "additionalProperties": false, "properties": { - "MaxRuntimeInSeconds": { - "markdownDescription": "The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.\n\nFor compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.\n\nFor all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.\n\nThe maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.", - "title": "MaxRuntimeInSeconds", + "RoutingStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ServerlessConfig": { + "additionalProperties": false, + "properties": { + "MaxConcurrency": { + "markdownDescription": "The maximum number of concurrent invocations your serverless endpoint can process.", + "title": "MaxConcurrency", + "type": "number" + }, + "MemorySizeInMB": { + "markdownDescription": "The memory size of your serverless endpoint. Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.", + "title": "MemorySizeInMB", + "type": "number" + }, + "ProvisionedConcurrency": { + "markdownDescription": "The amount of provisioned concurrency to allocate for the serverless endpoint. Should be less than or equal to `MaxConcurrency` .\n\n> This field is not supported for serverless endpoint recommendations for Inference Recommender jobs. For more information about creating an Inference Recommender job, see [CreateInferenceRecommendationsJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateInferenceRecommendationsJob.html) .", + "title": "ProvisionedConcurrency", "type": "number" } }, "required": [ - "MaxRuntimeInSeconds" + "MaxConcurrency", + "MemorySizeInMB" ], "type": "object" }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { + "AWS::SageMaker::EndpointConfig.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { "items": { "type": "string" }, - "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", - "title": "SecurityGroupIds", "type": "array" }, "Subnets": { "items": { "type": "string" }, - "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", - "title": "Subnets", "type": "array" } }, @@ -366406,7 +334767,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelPackage": { + "AWS::SageMaker::FeatureGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -366441,157 +334802,74 @@ "Properties": { "additionalProperties": false, "properties": { - "AdditionalInferenceSpecifications": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition" - }, - "markdownDescription": "An array of additional Inference Specification objects.", - "title": "AdditionalInferenceSpecifications", - "type": "array" - }, - "AdditionalInferenceSpecificationsToAdd": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition" - }, - "markdownDescription": "An array of additional Inference Specification objects to be added to the existing array. The total number of additional Inference Specification objects cannot exceed 15. Each additional Inference Specification object specifies artifacts based on this model package that can be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.", - "title": "AdditionalInferenceSpecificationsToAdd", - "type": "array" - }, - "ApprovalDescription": { - "markdownDescription": "A description provided when the model approval is set.", - "title": "ApprovalDescription", + "Description": { + "markdownDescription": "A free form description of a `FeatureGroup` .", + "title": "Description", "type": "string" }, - "CertifyForMarketplace": { - "markdownDescription": "Whether the model package is to be certified to be listed on AWS Marketplace. For information about listing model packages on AWS Marketplace, see [List Your Algorithm or Model Package on AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-mkt-list.html) .", - "title": "CertifyForMarketplace", - "type": "boolean" - }, - "ClientToken": { - "markdownDescription": "A unique token that guarantees that the call to this API is idempotent.", - "title": "ClientToken", + "EventTimeFeatureName": { + "markdownDescription": "The name of the feature that stores the `EventTime` of a Record in a `FeatureGroup` .\n\nA `EventTime` is point in time when a new event occurs that corresponds to the creation or update of a `Record` in `FeatureGroup` . All `Records` in the `FeatureGroup` must have a corresponding `EventTime` .", + "title": "EventTimeFeatureName", "type": "string" }, - "CustomerMetadataProperties": { - "additionalProperties": true, - "markdownDescription": "The metadata properties for the model package.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "FeatureDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" }, - "title": "CustomerMetadataProperties", - "type": "object" - }, - "Domain": { - "markdownDescription": "The machine learning domain of your model package and its components. Common machine learning domains include computer vision and natural language processing.", - "title": "Domain", - "type": "string" - }, - "DriftCheckBaselines": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckBaselines", - "markdownDescription": "Represents the drift check baselines that can be used when the model monitor is set using the model package.", - "title": "DriftCheckBaselines" - }, - "InferenceSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.InferenceSpecification", - "markdownDescription": "Defines how to perform inference generation after a training job is run.", - "title": "InferenceSpecification" - }, - "MetadataProperties": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetadataProperties", - "markdownDescription": "Metadata properties of the tracking entity, trial, or trial component.", - "title": "MetadataProperties" - }, - "ModelApprovalStatus": { - "markdownDescription": "The approval status of the model. This can be one of the following values.\n\n- `APPROVED` - The model is approved\n- `REJECTED` - The model is rejected.\n- `PENDING_MANUAL_APPROVAL` - The model is waiting for manual approval.", - "title": "ModelApprovalStatus", - "type": "string" - }, - "ModelCard": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelCard", - "markdownDescription": "An Amazon SageMaker Model Card.", - "title": "ModelCard" - }, - "ModelMetrics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelMetrics", - "markdownDescription": "Metrics for the model.", - "title": "ModelMetrics" - }, - "ModelPackageDescription": { - "markdownDescription": "The description of the model package.", - "title": "ModelPackageDescription", - "type": "string" - }, - "ModelPackageGroupName": { - "markdownDescription": "The model group to which the model belongs.", - "title": "ModelPackageGroupName", - "type": "string" + "markdownDescription": "A list of `Feature` s. Each `Feature` must include a `FeatureName` and a `FeatureType` .\n\nValid `FeatureType` s are `Integral` , `Fractional` and `String` .\n\n`FeatureName` s cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .\n\nYou can create up to 2,500 `FeatureDefinition` s per `FeatureGroup` .", + "title": "FeatureDefinitions", + "type": "array" }, - "ModelPackageName": { - "markdownDescription": "The name of the model package. The name can be as follows:\n\n- For a versioned model, the name is automatically generated by SageMaker Model Registry and follows the format ' `ModelPackageGroupName/ModelPackageVersion` '.\n- For an unversioned model, you must provide the name.", - "title": "ModelPackageName", + "FeatureGroupName": { + "markdownDescription": "The name of the `FeatureGroup` .", + "title": "FeatureGroupName", "type": "string" }, - "ModelPackageStatusDetails": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageStatusDetails", - "markdownDescription": "Specifies the validation and image scan statuses of the model package.", - "title": "ModelPackageStatusDetails" - }, - "ModelPackageVersion": { - "markdownDescription": "The version number of a versioned model.", - "title": "ModelPackageVersion", - "type": "number" - }, - "SamplePayloadUrl": { - "markdownDescription": "The Amazon Simple Storage Service path where the sample payload are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).", - "title": "SamplePayloadUrl", - "type": "string" + "OfflineStoreConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OfflineStoreConfig", + "markdownDescription": "The configuration of an `OfflineStore` .", + "title": "OfflineStoreConfig" }, - "SecurityConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SecurityConfig", - "markdownDescription": "", - "title": "SecurityConfig" + "OnlineStoreConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OnlineStoreConfig", + "markdownDescription": "The configuration of an `OnlineStore` .", + "title": "OnlineStoreConfig" }, - "SkipModelValidation": { - "markdownDescription": "Indicates if you want to skip model validation.", - "title": "SkipModelValidation", + "RecordIdentifierFeatureName": { + "markdownDescription": "The name of the `Feature` whose value uniquely identifies a `Record` defined in the `FeatureGroup` `FeatureDefinitions` .", + "title": "RecordIdentifierFeatureName", "type": "string" }, - "SourceAlgorithmSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SourceAlgorithmSpecification", - "markdownDescription": "A list of algorithms that were used to create a model package.", - "title": "SourceAlgorithmSpecification" - }, - "SourceUri": { - "markdownDescription": "The URI of the source for the model package.", - "title": "SourceUri", + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.", + "title": "RoleArn", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of the tags associated with the model package. For more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference Guide* .", + "markdownDescription": "Tags used to define a `FeatureGroup` .", "title": "Tags", "type": "array" }, - "Task": { - "markdownDescription": "The machine learning task your model package accomplishes. Common machine learning tasks include object detection and image classification.", - "title": "Task", - "type": "string" - }, - "ValidationSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ValidationSpecification", - "markdownDescription": "Specifies batch transform jobs that SageMaker runs to validate your model package.", - "title": "ValidationSpecification" + "ThroughputConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.ThroughputConfig", + "markdownDescription": "Used to set feature group throughput configuration. There are two modes: `ON_DEMAND` and `PROVISIONED` . With on-demand mode, you are charged for data reads and writes that your application performs on your feature group. You do not need to specify read and write throughput because Feature Store accommodates your workloads as they ramp up and down. You can switch a feature group to on-demand only once in a 24 hour period. With provisioned throughput mode, you specify the read and write capacity per second that you expect your application to require, and you are billed based on those limits. Exceeding provisioned throughput will result in your requests being throttled.\n\nNote: `PROVISIONED` throughput mode is supported only for feature groups that are offline-only, or use the [`Standard`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html#sagemaker-Type-OnlineStoreConfig-StorageType) tier online store.", + "title": "ThroughputConfig" } }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelPackage" + "AWS::SageMaker::FeatureGroup" ], "type": "string" }, @@ -366605,449 +334883,614 @@ } }, "required": [ - "Type" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition": { + "AWS::SageMaker::FeatureGroup.DataCatalogConfig": { "additionalProperties": false, "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition" - }, - "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", - "title": "Containers", - "type": "array" - }, - "Description": { - "markdownDescription": "A description of the additional Inference specification", - "title": "Description", + "Catalog": { + "markdownDescription": "The name of the Glue table catalog.", + "title": "Catalog", "type": "string" }, - "Name": { - "markdownDescription": "A unique name to identify the additional inference specification. The name must be unique within the list of your additional inference specifications for a particular model package.", - "title": "Name", + "Database": { + "markdownDescription": "The name of the Glue table database.", + "title": "Database", "type": "string" }, - "SupportedContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The supported MIME types for the input data.", - "title": "SupportedContentTypes", - "type": "array" - }, - "SupportedRealtimeInferenceInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the instance types that are used to generate inferences in real-time.", - "title": "SupportedRealtimeInferenceInstanceTypes", - "type": "array" - }, - "SupportedResponseMIMETypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The supported MIME types for the output data.", - "title": "SupportedResponseMIMETypes", - "type": "array" - }, - "SupportedTransformInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.", - "title": "SupportedTransformInstanceTypes", - "type": "array" + "TableName": { + "markdownDescription": "The name of the Glue table.", + "title": "TableName", + "type": "string" } }, "required": [ - "Containers", - "Name" + "Catalog", + "Database", + "TableName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.Bias": { + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { "additionalProperties": false, "properties": { - "PostTrainingReport": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The post-training bias report for a model.", - "title": "PostTrainingReport" - }, - "PreTrainingReport": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The pre-training bias report for a model.", - "title": "PreTrainingReport" + "FeatureName": { + "markdownDescription": "The name of a feature. The type must be a string. `FeatureName` cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .\n\nThe name:\n\n- Must start with an alphanumeric character.\n- Can only include alphanumeric characters, underscores, and hyphens. Spaces are not allowed.", + "title": "FeatureName", + "type": "string" }, - "Report": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The bias report for a model", - "title": "Report" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelPackage.DataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.S3DataSource", - "markdownDescription": "The S3 location of the data source that is associated with a channel.", - "title": "S3DataSource" + "FeatureType": { + "markdownDescription": "The value type of a feature. Valid values are Integral, Fractional, or String.", + "title": "FeatureType", + "type": "string" } }, "required": [ - "S3DataSource" + "FeatureName", + "FeatureType" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckBaselines": { + "AWS::SageMaker::FeatureGroup.OfflineStoreConfig": { "additionalProperties": false, "properties": { - "Bias": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckBias", - "markdownDescription": "Represents the drift check bias baselines that can be used when the model monitor is set using the model package.", - "title": "Bias" + "DataCatalogConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.DataCatalogConfig", + "markdownDescription": "The meta data of the Glue table that is autogenerated when an `OfflineStore` is created.", + "title": "DataCatalogConfig" }, - "Explainability": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckExplainability", - "markdownDescription": "Represents the drift check explainability baselines that can be used when the model monitor is set using the model package.", - "title": "Explainability" + "DisableGlueTableCreation": { + "markdownDescription": "Set to `True` to disable the automatic creation of an AWS Glue table when configuring an `OfflineStore` . If set to `False` , Feature Store will name the `OfflineStore` Glue table following [Athena's naming recommendations](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) .\n\nThe default value is `False` .", + "title": "DisableGlueTableCreation", + "type": "boolean" }, - "ModelDataQuality": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckModelDataQuality", - "markdownDescription": "Represents the drift check model data quality baselines that can be used when the model monitor is set using the model package.", - "title": "ModelDataQuality" + "S3StorageConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.S3StorageConfig", + "markdownDescription": "The Amazon Simple Storage (Amazon S3) location of `OfflineStore` .", + "title": "S3StorageConfig" }, - "ModelQuality": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckModelQuality", - "markdownDescription": "Represents the drift check model quality baselines that can be used when the model monitor is set using the model package.", - "title": "ModelQuality" + "TableFormat": { + "markdownDescription": "Format for the offline store table. Supported formats are Glue (Default) and [Apache Iceberg](https://docs.aws.amazon.com/https://iceberg.apache.org/) .", + "title": "TableFormat", + "type": "string" } }, + "required": [ + "S3StorageConfig" + ], "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckBias": { + "AWS::SageMaker::FeatureGroup.OnlineStoreConfig": { "additionalProperties": false, "properties": { - "ConfigFile": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.FileSource", - "markdownDescription": "The bias config file for a model.", - "title": "ConfigFile" + "EnableOnlineStore": { + "markdownDescription": "Turn `OnlineStore` off by specifying `False` for the `EnableOnlineStore` flag. Turn `OnlineStore` on by specifying `True` for the `EnableOnlineStore` flag.\n\nThe default value is `False` .", + "title": "EnableOnlineStore", + "type": "boolean" }, - "PostTrainingConstraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The post-training constraints.", - "title": "PostTrainingConstraints" + "SecurityConfig": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.OnlineStoreSecurityConfig", + "markdownDescription": "Use to specify KMS Key ID ( `KMSKeyId` ) for at-rest encryption of your `OnlineStore` .", + "title": "SecurityConfig" }, - "PreTrainingConstraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The pre-training constraints.", - "title": "PreTrainingConstraints" + "StorageType": { + "markdownDescription": "Option for different tiers of low latency storage for real-time data retrieval.\n\n- `Standard` : A managed low latency data store for feature groups.\n- `InMemory` : A managed data store for feature groups that supports very low latency retrieval.", + "title": "StorageType", + "type": "string" + }, + "TtlDuration": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.TtlDuration", + "markdownDescription": "Time to live duration, where the record is hard deleted after the expiration time is reached; `ExpiresAt` = `EventTime` + `TtlDuration` . For information on HardDelete, see the [DeleteRecord](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html) API in the Amazon SageMaker API Reference guide.", + "title": "TtlDuration" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckExplainability": { + "AWS::SageMaker::FeatureGroup.OnlineStoreSecurityConfig": { "additionalProperties": false, "properties": { - "ConfigFile": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.FileSource", - "markdownDescription": "The explainability config file for the model.", - "title": "ConfigFile" - }, - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check explainability constraints.", - "title": "Constraints" + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service (KMS) key ARN that SageMaker Feature Store uses to encrypt the Amazon S3 objects at rest using Amazon S3 server-side encryption.\n\nThe caller (either user or IAM role) of `CreateFeatureGroup` must have below permissions to the `OnlineStore` `KmsKeyId` :\n\n- `\"kms:Encrypt\"`\n- `\"kms:Decrypt\"`\n- `\"kms:DescribeKey\"`\n- `\"kms:CreateGrant\"`\n- `\"kms:RetireGrant\"`\n- `\"kms:ReEncryptFrom\"`\n- `\"kms:ReEncryptTo\"`\n- `\"kms:GenerateDataKey\"`\n- `\"kms:ListAliases\"`\n- `\"kms:ListGrants\"`\n- `\"kms:RevokeGrant\"`\n\nThe caller (either user or IAM role) to all DataPlane operations ( `PutRecord` , `GetRecord` , `DeleteRecord` ) must have the following permissions to the `KmsKeyId` :\n\n- `\"kms:Decrypt\"`", + "title": "KmsKeyId", + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckModelDataQuality": { + "AWS::SageMaker::FeatureGroup.S3StorageConfig": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check model data quality constraints.", - "title": "Constraints" + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service (KMS) key ARN of the key used to encrypt any objects written into the `OfflineStore` S3 location.\n\nThe IAM `roleARN` that is passed as a parameter to `CreateFeatureGroup` must have below permissions to the `KmsKeyId` :\n\n- `\"kms:GenerateDataKey\"`", + "title": "KmsKeyId", + "type": "string" }, - "Statistics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check model data quality statistics.", - "title": "Statistics" + "S3Uri": { + "markdownDescription": "The S3 URI, or location in Amazon S3, of `OfflineStore` .\n\nS3 URIs have a format similar to the following: `s3://example-bucket/prefix/` .", + "title": "S3Uri", + "type": "string" } }, + "required": [ + "S3Uri" + ], "type": "object" }, - "AWS::SageMaker::ModelPackage.DriftCheckModelQuality": { + "AWS::SageMaker::FeatureGroup.ThroughputConfig": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check model quality constraints.", - "title": "Constraints" + "ProvisionedReadCapacityUnits": { + "markdownDescription": "For provisioned feature groups with online store enabled, this indicates the read throughput you are billed for and can consume without throttling.\n\nThis field is not applicable for on-demand feature groups.", + "title": "ProvisionedReadCapacityUnits", + "type": "number" }, - "Statistics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The drift check model quality statistics.", - "title": "Statistics" + "ProvisionedWriteCapacityUnits": { + "markdownDescription": "For provisioned feature groups, this indicates the write throughput you are billed for and can consume without throttling.\n\nThis field is not applicable for on-demand feature groups.", + "title": "ProvisionedWriteCapacityUnits", + "type": "number" + }, + "ThroughputMode": { + "markdownDescription": "The mode used for your feature group throughput: `ON_DEMAND` or `PROVISIONED` .", + "title": "ThroughputMode", + "type": "string" } }, + "required": [ + "ThroughputMode" + ], "type": "object" }, - "AWS::SageMaker::ModelPackage.Explainability": { + "AWS::SageMaker::FeatureGroup.TtlDuration": { "additionalProperties": false, "properties": { - "Report": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "The explainability report for a model.", - "title": "Report" + "Unit": { + "markdownDescription": "`TtlDuration` time unit.", + "title": "Unit", + "type": "string" + }, + "Value": { + "markdownDescription": "`TtlDuration` time value.", + "title": "Value", + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.FileSource": { + "AWS::SageMaker::Image": { "additionalProperties": false, "properties": { - "ContentDigest": { - "markdownDescription": "The digest of the file source.", - "title": "ContentDigest", + "Condition": { "type": "string" }, - "ContentType": { - "markdownDescription": "The type of content stored in the file source.", - "title": "ContentType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3Uri": { - "markdownDescription": "The Amazon S3 URI for the file source.", - "title": "S3Uri", - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelPackage.InferenceSpecification": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition" - }, - "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", - "title": "Containers", - "type": "array" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] }, - "SupportedContentTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The supported MIME types for the input data.", - "title": "SupportedContentTypes", - "type": "array" + "Metadata": { + "type": "object" }, - "SupportedRealtimeInferenceInstanceTypes": { - "items": { - "type": "string" + "Properties": { + "additionalProperties": false, + "properties": { + "ImageDescription": { + "markdownDescription": "The description of the image.", + "title": "ImageDescription", + "type": "string" + }, + "ImageDisplayName": { + "markdownDescription": "The display name of the image.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 128.\n\n*Pattern* : `^\\S(.*\\S)?$`", + "title": "ImageDisplayName", + "type": "string" + }, + "ImageName": { + "markdownDescription": "The name of the Image. Must be unique by region in your account.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 63.\n\n*Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`", + "title": "ImageName", + "type": "string" + }, + "ImageRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.\n\n*Length Constraints* : Minimum length of 20. Maximum length of 2048.\n\n*Pattern* : `^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$`", + "title": "ImageRoleArn", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\n*Array Members* : Minimum number of 0 items. Maximum number of 50 items.", + "title": "Tags", + "type": "array" + } }, - "markdownDescription": "A list of the instance types that are used to generate inferences in real-time.\n\nThis parameter is required for unversioned models, and optional for versioned models.", - "title": "SupportedRealtimeInferenceInstanceTypes", - "type": "array" + "required": [ + "ImageName", + "ImageRoleArn" + ], + "type": "object" }, - "SupportedResponseMIMETypes": { - "items": { - "type": "string" - }, - "markdownDescription": "The supported MIME types for the output data.", - "title": "SupportedResponseMIMETypes", - "type": "array" + "Type": { + "enum": [ + "AWS::SageMaker::Image" + ], + "type": "string" }, - "SupportedTransformInstanceTypes": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.\n\nThis parameter is required for unversioned models, and optional for versioned models.", - "title": "SupportedTransformInstanceTypes", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, "required": [ - "Containers", - "SupportedContentTypes", - "SupportedResponseMIMETypes" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.MetadataProperties": { + "AWS::SageMaker::ImageVersion": { "additionalProperties": false, "properties": { - "CommitId": { - "markdownDescription": "The commit ID.", - "title": "CommitId", + "Condition": { "type": "string" }, - "GeneratedBy": { - "markdownDescription": "The entity this entity was generated by.", - "title": "GeneratedBy", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "ProjectId": { - "markdownDescription": "The project ID.", - "title": "ProjectId", + "DependsOn": { + "anyOf": [ + { + "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": "", + "title": "Alias", + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "Aliases", + "type": "array" + }, + "BaseImage": { + "markdownDescription": "The container image that the SageMaker image version is based on.", + "title": "BaseImage", + "type": "string" + }, + "Horovod": { + "markdownDescription": "", + "title": "Horovod", + "type": "boolean" + }, + "ImageName": { + "markdownDescription": "The name of the parent image.\n\n*Length Constraints* : Minimum length of 1. Maximum length of 63.\n\n*Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`", + "title": "ImageName", + "type": "string" + }, + "JobType": { + "markdownDescription": "", + "title": "JobType", + "type": "string" + }, + "MLFramework": { + "markdownDescription": "", + "title": "MLFramework", + "type": "string" + }, + "Processor": { + "markdownDescription": "", + "title": "Processor", + "type": "string" + }, + "ProgrammingLang": { + "markdownDescription": "", + "title": "ProgrammingLang", + "type": "string" + }, + "ReleaseNotes": { + "markdownDescription": "", + "title": "ReleaseNotes", + "type": "string" + }, + "VendorGuidance": { + "markdownDescription": "", + "title": "VendorGuidance", + "type": "string" + } + }, + "required": [ + "BaseImage", + "ImageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ImageVersion" + ], "type": "string" }, - "Repository": { - "markdownDescription": "The repository.", - "title": "Repository", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::ModelPackage.MetricsSource": { + "AWS::SageMaker::InferenceComponent": { "additionalProperties": false, "properties": { - "ContentDigest": { - "markdownDescription": "The hash key used for the metrics source.", - "title": "ContentDigest", + "Condition": { "type": "string" }, - "ContentType": { - "markdownDescription": "The metric source content type.", - "title": "ContentType", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "S3Uri": { - "markdownDescription": "The S3 URI for the metrics source.", - "title": "S3Uri", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig", + "markdownDescription": "The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.", + "title": "DeploymentConfig" + }, + "EndpointArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the endpoint that hosts the inference component.", + "title": "EndpointArn", + "type": "string" + }, + "EndpointName": { + "markdownDescription": "The name of the endpoint that hosts the inference component.", + "title": "EndpointName", + "type": "string" + }, + "InferenceComponentName": { + "markdownDescription": "The name of the inference component.", + "title": "InferenceComponentName", + "type": "string" + }, + "RuntimeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig", + "markdownDescription": "", + "title": "RuntimeConfig" + }, + "Specification": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentSpecification", + "markdownDescription": "", + "title": "Specification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + }, + "VariantName": { + "markdownDescription": "The name of the production variant that hosts the inference component.", + "title": "VariantName", + "type": "string" + } + }, + "required": [ + "EndpointName", + "Specification" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ContentType", - "S3Uri" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelAccessConfig": { + "AWS::SageMaker::InferenceComponent.Alarm": { "additionalProperties": false, "properties": { - "AcceptEula": { - "markdownDescription": "Specifies agreement to the model end-user license agreement (EULA). The `AcceptEula` value must be explicitly defined as `True` in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", - "title": "AcceptEula", - "type": "boolean" + "AlarmName": { + "markdownDescription": "The name of a CloudWatch alarm in your account.", + "title": "AlarmName", + "type": "string" } }, "required": [ - "AcceptEula" + "AlarmName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelCard": { + "AWS::SageMaker::InferenceComponent.AutoRollbackConfiguration": { "additionalProperties": false, "properties": { - "ModelCardContent": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.Alarm" + }, "markdownDescription": "", - "title": "ModelCardContent", - "type": "string" - }, - "ModelCardStatus": { - "markdownDescription": "The approval status of the model card within your organization. Different organizations might have different criteria for model card review and approval.\n\n- `Draft` : The model card is a work in progress.\n- `PendingReview` : The model card is pending review.\n- `Approved` : The model card is approved.\n- `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.", - "title": "ModelCardStatus", - "type": "string" + "title": "Alarms", + "type": "array" } }, "required": [ - "ModelCardContent", - "ModelCardStatus" + "Alarms" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelDataQuality": { + "AWS::SageMaker::InferenceComponent.DeployedImage": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "Data quality constraints for a model.", - "title": "Constraints" + "ResolutionTime": { + "markdownDescription": "The date and time when the image path for the model resolved to the `ResolvedImage`", + "title": "ResolutionTime", + "type": "string" }, - "Statistics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "Data quality statistics for a model.", - "title": "Statistics" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelPackage.ModelDataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.S3ModelDataSource", - "markdownDescription": "Specifies the S3 location of ML model data to deploy.", - "title": "S3DataSource" + "ResolvedImage": { + "markdownDescription": "The specific digest path of the image hosted in this `ProductionVariant` .", + "title": "ResolvedImage", + "type": "string" + }, + "SpecifiedImage": { + "markdownDescription": "The image path you specified when you created the model.", + "title": "SpecifiedImage", + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelInput": { + "AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize": { "additionalProperties": false, "properties": { - "DataInputConfig": { - "markdownDescription": "The input configuration object for the model.", - "title": "DataInputConfig", + "Type": { + "markdownDescription": "Specifies the endpoint capacity type.\n\n- **COPY_COUNT** - The endpoint activates based on the number of inference component copies.\n- **CAPACITY_PERCENT** - The endpoint activates based on the specified percentage of capacity.", + "title": "Type", "type": "string" + }, + "Value": { + "markdownDescription": "Defines the capacity size, either as a number of inference component copies or a capacity percentage.", + "title": "Value", + "type": "number" } }, "required": [ - "DataInputConfig" + "Type", + "Value" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelMetrics": { + "AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements": { "additionalProperties": false, "properties": { - "Bias": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.Bias", - "markdownDescription": "Metrics that measure bias in a model.", - "title": "Bias" + "MaxMemoryRequiredInMb": { + "markdownDescription": "The maximum MB of memory to allocate to run a model that you assign to an inference component.", + "title": "MaxMemoryRequiredInMb", + "type": "number" }, - "Explainability": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.Explainability", - "markdownDescription": "Metrics that help explain a model.", - "title": "Explainability" + "MinMemoryRequiredInMb": { + "markdownDescription": "The minimum MB of memory to allocate to run a model that you assign to an inference component.", + "title": "MinMemoryRequiredInMb", + "type": "number" }, - "ModelDataQuality": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelDataQuality", - "markdownDescription": "Metrics that measure the quality of the input data for a model.", - "title": "ModelDataQuality" + "NumberOfAcceleratorDevicesRequired": { + "markdownDescription": "The number of accelerators to allocate to run a model that you assign to an inference component. Accelerators include GPUs and AWS Inferentia.", + "title": "NumberOfAcceleratorDevicesRequired", + "type": "number" }, - "ModelQuality": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelQuality", - "markdownDescription": "Metrics that measure the quality of a model.", - "title": "ModelQuality" + "NumberOfCpuCoresRequired": { + "markdownDescription": "The number of CPU cores to allocate to run a model that you assign to an inference component.", + "title": "NumberOfCpuCoresRequired", + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition": { + "AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification": { "additionalProperties": false, "properties": { - "ContainerHostname": { - "markdownDescription": "The DNS host name for the Docker container.", - "title": "ContainerHostname", + "ArtifactUrl": { + "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).", + "title": "ArtifactUrl", "type": "string" }, + "DeployedImage": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.DeployedImage", + "markdownDescription": "", + "title": "DeployedImage" + }, "Environment": { "additionalProperties": true, - "markdownDescription": "The environment variables to set in the Docker container. Each key and value in the `Environment` string to string map can have length of up to 1024. We support up to 16 entries in the map.", + "markdownDescription": "The environment variables to set in the Docker container. Each key and value in the Environment string-to-string map can have length of up to 1024. We support up to 16 entries in the map.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" @@ -367056,335 +335499,405 @@ "title": "Environment", "type": "object" }, - "Framework": { - "markdownDescription": "The machine learning framework of the model package container image.", - "title": "Framework", - "type": "string" - }, - "FrameworkVersion": { - "markdownDescription": "The framework version of the Model Package Container Image.", - "title": "FrameworkVersion", - "type": "string" - }, "Image": { - "markdownDescription": "The Amazon Elastic Container Registry (Amazon ECR) path where inference code is stored.\n\nIf you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .", + "markdownDescription": "The Amazon Elastic Container Registry (Amazon ECR) path where the Docker image for the model is stored.", "title": "Image", "type": "string" - }, - "ImageDigest": { - "markdownDescription": "An MD5 hash of the training algorithm that identifies the Docker image used for training.", - "title": "ImageDigest", - "type": "string" - }, - "ModelDataSource": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelDataSource", - "markdownDescription": "Specifies the location of ML model data to deploy during endpoint creation.", - "title": "ModelDataSource" - }, - "ModelDataUrl": { - "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same region as the model package.", - "title": "ModelDataUrl", - "type": "string" - }, - "ModelInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelInput", - "markdownDescription": "A structure with Model Input details.", - "title": "ModelInput" - }, - "NearestModelName": { - "markdownDescription": "The name of a pre-trained machine learning benchmarked by Amazon SageMaker Inference Recommender model that matches your model. You can find a list of benchmarked models by calling `ListModelMetadata` .", - "title": "NearestModelName", - "type": "string" } }, - "required": [ - "Image" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelPackageStatusDetails": { + "AWS::SageMaker::InferenceComponent.InferenceComponentDeploymentConfig": { "additionalProperties": false, "properties": { - "ValidationStatuses": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageStatusItem" - }, - "markdownDescription": "The validation status of the model package.", - "title": "ValidationStatuses", - "type": "array" + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.AutoRollbackConfiguration", + "markdownDescription": "", + "title": "AutoRollbackConfiguration" + }, + "RollingUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy", + "markdownDescription": "Specifies a rolling deployment strategy for updating a SageMaker AI endpoint.", + "title": "RollingUpdatePolicy" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelPackageStatusItem": { + "AWS::SageMaker::InferenceComponent.InferenceComponentRollingUpdatePolicy": { "additionalProperties": false, "properties": { - "FailureReason": { - "markdownDescription": "if the overall status is `Failed` , the reason for the failure.", - "title": "FailureReason", - "type": "string" + "MaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize", + "markdownDescription": "The batch size for each rolling step in the deployment process. For each step, SageMaker AI provisions capacity on the new endpoint fleet, routes traffic to that fleet, and terminates capacity on the old endpoint fleet. The value must be between 5% to 50% of the copy count of the inference component.", + "title": "MaximumBatchSize" }, - "Name": { - "markdownDescription": "The name of the model package for which the overall status is being reported.", - "title": "Name", - "type": "string" + "MaximumExecutionTimeoutInSeconds": { + "markdownDescription": "The time limit for the total deployment. Exceeding this limit causes a timeout.", + "title": "MaximumExecutionTimeoutInSeconds", + "type": "number" }, - "Status": { - "markdownDescription": "The current status.", - "title": "Status", - "type": "string" + "RollbackMaximumBatchSize": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentCapacitySize", + "markdownDescription": "The batch size for a rollback to the old endpoint fleet. If this field is absent, the value is set to the default, which is 100% of the total capacity. When the default is used, SageMaker AI provisions the entire capacity of the old fleet at once during rollback.", + "title": "RollbackMaximumBatchSize" + }, + "WaitIntervalInSeconds": { + "markdownDescription": "The length of the baking period, during which SageMaker AI monitors alarms for each batch on the new fleet.", + "title": "WaitIntervalInSeconds", + "type": "number" } }, - "required": [ - "Name", - "Status" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ModelQuality": { + "AWS::SageMaker::InferenceComponent.InferenceComponentRuntimeConfig": { "additionalProperties": false, "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "Model quality constraints.", - "title": "Constraints" + "CopyCount": { + "markdownDescription": "The number of runtime copies of the model container to deploy with the inference component. Each copy can serve inference requests.", + "title": "CopyCount", + "type": "number" }, - "Statistics": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", - "markdownDescription": "Model quality statistics.", - "title": "Statistics" + "CurrentCopyCount": { + "markdownDescription": "", + "title": "CurrentCopyCount", + "type": "number" + }, + "DesiredCopyCount": { + "markdownDescription": "", + "title": "DesiredCopyCount", + "type": "number" } }, "type": "object" }, - "AWS::SageMaker::ModelPackage.S3DataSource": { + "AWS::SageMaker::InferenceComponent.InferenceComponentSpecification": { "additionalProperties": false, "properties": { - "S3DataType": { - "markdownDescription": "If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.\n\nIf you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.\n\nIf you choose `AugmentedManifestFile` , `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .\n\nIf you choose `Converse` , `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.", - "title": "S3DataType", + "BaseInferenceComponentName": { + "markdownDescription": "The name of an existing inference component that is to contain the inference component that you're creating with your request.\n\nSpecify this parameter only if your request is meant to create an adapter inference component. An adapter inference component contains the path to an adapter model. The purpose of the adapter model is to tailor the inference output of a base foundation model, which is hosted by the base inference component. The adapter inference component uses the compute resources that you assigned to the base inference component.\n\nWhen you create an adapter inference component, use the `Container` parameter to specify the location of the adapter artifacts. In the parameter value, use the `ArtifactUrl` parameter of the `InferenceComponentContainerSpecification` data type.\n\nBefore you can create an adapter inference component, you must have an existing inference component that contains the foundation model that you want to adapt.", + "title": "BaseInferenceComponentName", "type": "string" }, - "S3Uri": { - "markdownDescription": "Depending on the value specified for the `S3DataType` , identifies either a key name prefix or a manifest. For example:\n\n- A key name prefix might look like this: `s3://bucketname/exampleprefix/`\n- A manifest might look like this: `s3://bucketname/example.manifest`\n\nA manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.\n\nThe following code example shows a valid manifest format:\n\n`[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},`\n\n`\"relative/path/to/custdata-1\",`\n\n`\"relative/path/custdata-2\",`\n\n`...`\n\n`\"relative/path/custdata-N\"`\n\n`]`\n\nThis JSON is equivalent to the following `S3Uri` list:\n\n`s3://customer_bucket/some/prefix/relative/path/to/custdata-1`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-2`\n\n`...`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-N`\n\nThe complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.\n\nYour input bucket must be located in same AWS region as your training job.", - "title": "S3Uri", + "ComputeResourceRequirements": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentComputeResourceRequirements", + "markdownDescription": "The compute resources allocated to run the model, plus any adapter models, that you assign to the inference component.\n\nOmit this parameter if your request is meant to create an adapter inference component. An adapter inference component is loaded by a base inference component, and it uses the compute resources of the base inference component.", + "title": "ComputeResourceRequirements" + }, + "Container": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentContainerSpecification", + "markdownDescription": "Defines a container that provides the runtime environment for a model that you deploy with an inference component.", + "title": "Container" + }, + "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" + }, + "StartupParameters": { + "$ref": "#/definitions/AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters", + "markdownDescription": "Settings that take effect while the model container starts up.", + "title": "StartupParameters" } }, - "required": [ - "S3DataType", - "S3Uri" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.S3ModelDataSource": { + "AWS::SageMaker::InferenceComponent.InferenceComponentStartupParameters": { "additionalProperties": false, "properties": { - "CompressionType": { - "markdownDescription": "Specifies how the ML model data is prepared.\n\nIf you choose `Gzip` and choose `S3Object` as the value of `S3DataType` , `S3Uri` identifies an object that is a gzip-compressed TAR archive. SageMaker will attempt to decompress and untar the object during model deployment.\n\nIf you choose `None` and chooose `S3Object` as the value of `S3DataType` , `S3Uri` identifies an object that represents an uncompressed ML model to deploy.\n\nIf you choose None and choose `S3Prefix` as the value of `S3DataType` , `S3Uri` identifies a key name prefix, under which all objects represents the uncompressed ML model to deploy.\n\nIf you choose None, then SageMaker will follow rules below when creating model data files under /opt/ml/model directory for use by your inference code:\n\n- If you choose `S3Object` as the value of `S3DataType` , then SageMaker will split the key of the S3 object referenced by `S3Uri` by slash (/), and use the last part as the filename of the file holding the content of the S3 object.\n- If you choose `S3Prefix` as the value of `S3DataType` , then for each S3 object under the key name pefix referenced by `S3Uri` , SageMaker will trim its key by the prefix, and use the remainder as the path (relative to `/opt/ml/model` ) of the file holding the content of the S3 object. SageMaker will split the remainder by slash (/), using intermediate parts as directory names and the last part as filename of the file holding the content of the S3 object.\n- Do not use any of the following as file names or directory names:\n\n- An empty or blank string\n- A string which contains null bytes\n- A string longer than 255 bytes\n- A single dot ( `.` )\n- A double dot ( `..` )\n- Ambiguous file names will result in model deployment failure. For example, if your uncompressed ML model consists of two S3 objects `s3://mybucket/model/weights` and `s3://mybucket/model/weights/part1` and you specify `s3://mybucket/model/` as the value of `S3Uri` and `S3Prefix` as the value of `S3DataType` , then it will result in name clash between `/opt/ml/model/weights` (a regular file) and `/opt/ml/model/weights/` (a directory).\n- Do not organize the model artifacts in [S3 console using folders](https://docs.aws.amazon.com//AmazonS3/latest/userguide/using-folders.html) . When you create a folder in S3 console, S3 creates a 0-byte object with a key set to the folder name you provide. They key of the 0-byte object ends with a slash (/) which violates SageMaker restrictions on model artifact file names, leading to model deployment failure.", - "title": "CompressionType", + "ContainerStartupHealthCheckTimeoutInSeconds": { + "markdownDescription": "The timeout value, in seconds, for your inference container to pass health check by Amazon S3 Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests) .", + "title": "ContainerStartupHealthCheckTimeoutInSeconds", + "type": "number" + }, + "ModelDataDownloadTimeoutInSeconds": { + "markdownDescription": "The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this inference component.", + "title": "ModelDataDownloadTimeoutInSeconds", + "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::InferenceExperiment": { + "additionalProperties": false, + "properties": { + "Condition": { "type": "string" }, - "ModelAccessConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelAccessConfig", - "markdownDescription": "Specifies the access configuration file for the ML model. You can explicitly accept the model end-user license agreement (EULA) within the `ModelAccessConfig` . You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", - "title": "ModelAccessConfig" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "S3DataType": { - "markdownDescription": "Specifies the type of ML model data to deploy.\n\nIf you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix as part of the ML model data to deploy. A valid key name prefix identified by `S3Uri` always ends with a forward slash (/).\n\nIf you choose `S3Object` , `S3Uri` identifies an object that is the ML model data to deploy.", - "title": "S3DataType", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataStorageConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.DataStorageConfig", + "markdownDescription": "The Amazon S3 location and configuration for storing inference request and response data.", + "title": "DataStorageConfig" + }, + "Description": { + "markdownDescription": "The description of the inference experiment.", + "title": "Description", + "type": "string" + }, + "DesiredState": { + "markdownDescription": "The desired state of the experiment after stopping. The possible states are the following:\n\n- `Completed` : The experiment completed successfully\n- `Cancelled` : The experiment was canceled", + "title": "DesiredState", + "type": "string" + }, + "EndpointName": { + "markdownDescription": "The name of the endpoint.", + "title": "EndpointName", + "type": "string" + }, + "KmsKey": { + "markdownDescription": "The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.", + "title": "KmsKey", + "type": "string" + }, + "ModelVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ModelVariantConfig" + }, + "markdownDescription": "An array of `ModelVariantConfigSummary` objects. There is one for each variant in the inference experiment. Each `ModelVariantConfigSummary` object in the array describes the infrastructure configuration for deploying the corresponding variant.", + "title": "ModelVariants", + "type": "array" + }, + "Name": { + "markdownDescription": "The name of the inference experiment.", + "title": "Name", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and manage Amazon SageMaker Inference endpoints for model deployment.", + "title": "RoleArn", + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.InferenceExperimentSchedule", + "markdownDescription": "The duration for which the inference experiment ran or will run.\n\nThe maximum duration that you can set for an inference experiment is 30 days.", + "title": "Schedule" + }, + "ShadowModeConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ShadowModeConfig", + "markdownDescription": "The configuration of `ShadowMode` inference experiment type, which shows the production variant that takes all the inference requests, and the shadow variant to which Amazon SageMaker replicates a percentage of the inference requests. For the shadow variant it also shows the percentage of requests that Amazon SageMaker replicates.", + "title": "ShadowModeConfig" + }, + "StatusReason": { + "markdownDescription": "The error message for the inference experiment status result.", + "title": "StatusReason", + "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" + }, + "Type": { + "markdownDescription": "The type of the inference experiment.", + "title": "Type", + "type": "string" + } + }, + "required": [ + "EndpointName", + "ModelVariants", + "Name", + "RoleArn", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::InferenceExperiment" + ], "type": "string" }, - "S3Uri": { - "markdownDescription": "Specifies the S3 path of ML model data to deploy.", - "title": "S3Uri", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "CompressionType", - "S3DataType", - "S3Uri" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.SecurityConfig": { + "AWS::SageMaker::InferenceExperiment.CaptureContentTypeHeader": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "", - "title": "KmsKeyId", - "type": "string" + "CsvContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of all content type headers that Amazon SageMaker AI will treat as CSV and capture accordingly.", + "title": "CsvContentTypes", + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The list of all content type headers that SageMaker AI will treat as JSON and capture accordingly.", + "title": "JsonContentTypes", + "type": "array" } }, - "required": [ - "KmsKeyId" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.SourceAlgorithm": { + "AWS::SageMaker::InferenceExperiment.DataStorageConfig": { "additionalProperties": false, "properties": { - "AlgorithmName": { - "markdownDescription": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.", - "title": "AlgorithmName", + "ContentType": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.CaptureContentTypeHeader", + "markdownDescription": "Configuration specifying how to treat different headers. If no headers are specified SageMaker will by default base64 encode when capturing the data.", + "title": "ContentType" + }, + "Destination": { + "markdownDescription": "The Amazon S3 bucket where the inference request and response data is stored.", + "title": "Destination", "type": "string" }, - "ModelDataUrl": { - "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.", - "title": "ModelDataUrl", + "KmsKey": { + "markdownDescription": "The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.", + "title": "KmsKey", "type": "string" } }, "required": [ - "AlgorithmName" + "Destination" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.SourceAlgorithmSpecification": { + "AWS::SageMaker::InferenceExperiment.EndpointMetadata": { "additionalProperties": false, "properties": { - "SourceAlgorithms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SourceAlgorithm" - }, - "markdownDescription": "A list of the algorithms that were used to create a model package.", - "title": "SourceAlgorithms", - "type": "array" + "EndpointConfigName": { + "markdownDescription": "The name of the endpoint configuration.", + "title": "EndpointConfigName", + "type": "string" + }, + "EndpointName": { + "markdownDescription": "The name of the endpoint.", + "title": "EndpointName", + "type": "string" + }, + "EndpointStatus": { + "markdownDescription": "The status of the endpoint. For possible values of the status of an endpoint, see [](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferenceexperiment-endpointmetadata.html#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus) .", + "title": "EndpointStatus", + "type": "string" } }, "required": [ - "SourceAlgorithms" + "EndpointName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.TransformInput": { + "AWS::SageMaker::InferenceExperiment.InferenceExperimentSchedule": { "additionalProperties": false, "properties": { - "CompressionType": { - "markdownDescription": "If your transform data is compressed, specify the compression type. Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is `None` .", - "title": "CompressionType", - "type": "string" - }, - "ContentType": { - "markdownDescription": "The multipurpose internet mail extension (MIME) type of the data. Amazon SageMaker uses the MIME type with each http call to transfer data to the transform job.", - "title": "ContentType", + "EndTime": { + "markdownDescription": "The timestamp at which the inference experiment ended or will end.", + "title": "EndTime", "type": "string" }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DataSource", - "markdownDescription": "Describes the location of the channel data, which is, the S3 location of the input data that the model can consume.", - "title": "DataSource" - }, - "SplitType": { - "markdownDescription": "The method to use to split the transform job's data files into smaller batches. Splitting is necessary when the total size of each object is too large to fit in a single request. You can also use data splitting to improve performance by processing multiple concurrent mini-batches. The default value for `SplitType` is `None` , which indicates that input data files are not split, and request payloads contain the entire contents of an input object. Set the value of this parameter to `Line` to split records on a newline character boundary. `SplitType` also supports a number of record-oriented binary data formats. Currently, the supported record formats are:\n\n- RecordIO\n- TFRecord\n\nWhen splitting is enabled, the size of a mini-batch depends on the values of the `BatchStrategy` and `MaxPayloadInMB` parameters. When the value of `BatchStrategy` is `MultiRecord` , Amazon SageMaker sends the maximum number of records in each request, up to the `MaxPayloadInMB` limit. If the value of `BatchStrategy` is `SingleRecord` , Amazon SageMaker sends individual records in each request.\n\n> Some data formats represent a record as a binary payload wrapped with extra padding bytes. When splitting is applied to a binary data format, padding is removed if the value of `BatchStrategy` is set to `SingleRecord` . Padding is not removed if the value of `BatchStrategy` is set to `MultiRecord` .\n> \n> For more information about `RecordIO` , see [Create a Dataset Using RecordIO](https://docs.aws.amazon.com/https://mxnet.apache.org/api/faq/recordio) in the MXNet documentation. For more information about `TFRecord` , see [Consuming TFRecord data](https://docs.aws.amazon.com/https://www.tensorflow.org/guide/data#consuming_tfrecord_data) in the TensorFlow documentation.", - "title": "SplitType", + "StartTime": { + "markdownDescription": "The timestamp at which the inference experiment started or will start.", + "title": "StartTime", "type": "string" } }, - "required": [ - "DataSource" - ], "type": "object" }, - "AWS::SageMaker::ModelPackage.TransformJobDefinition": { + "AWS::SageMaker::InferenceExperiment.ModelInfrastructureConfig": { "additionalProperties": false, "properties": { - "BatchStrategy": { - "markdownDescription": "A string that determines the number of records included in a single mini-batch.\n\n`SingleRecord` means only one record is used per mini-batch. `MultiRecord` means a mini-batch is set to contain as many records that can fit within the `MaxPayloadInMB` limit.", - "title": "BatchStrategy", + "InfrastructureType": { + "markdownDescription": "The inference option to which to deploy your model. Possible values are the following:\n\n- `RealTime` : Deploy to real-time inference.", + "title": "InfrastructureType", "type": "string" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Environment", - "type": "object" - }, - "MaxConcurrentTransforms": { - "markdownDescription": "The maximum number of parallel requests that can be sent to each instance in a transform job. The default value is 1.", - "title": "MaxConcurrentTransforms", - "type": "number" - }, - "MaxPayloadInMB": { - "markdownDescription": "The maximum payload size allowed, in MB. A payload is the data portion of a record (without metadata).", - "title": "MaxPayloadInMB", - "type": "number" - }, - "TransformInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformInput", - "markdownDescription": "A description of the input source and the way the transform job consumes it.", - "title": "TransformInput" - }, - "TransformOutput": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformOutput", - "markdownDescription": "Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.", - "title": "TransformOutput" - }, - "TransformResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformResources", - "markdownDescription": "Identifies the ML compute instances for the transform job.", - "title": "TransformResources" + "RealTimeInferenceConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.RealTimeInferenceConfig", + "markdownDescription": "The infrastructure configuration for deploying the model to real-time inference.", + "title": "RealTimeInferenceConfig" } }, "required": [ - "TransformInput", - "TransformOutput", - "TransformResources" + "InfrastructureType", + "RealTimeInferenceConfig" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.TransformOutput": { + "AWS::SageMaker::InferenceExperiment.ModelVariantConfig": { "additionalProperties": false, "properties": { - "Accept": { - "markdownDescription": "The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http call to transfer data from the transform job.", - "title": "Accept", - "type": "string" - }, - "AssembleWith": { - "markdownDescription": "Defines how to assemble the results of the transform job as a single S3 object. Choose a format that is most convenient to you. To concatenate the results in binary format, specify `None` . To add a newline character at the end of every transformed record, specify `Line` .", - "title": "AssembleWith", - "type": "string" + "InfrastructureConfig": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ModelInfrastructureConfig", + "markdownDescription": "The configuration for the infrastructure that the model will be deployed to.", + "title": "InfrastructureConfig" }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The `KmsKeyId` can be any of the following formats:\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`\n\nIf you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see [KMS-Managed Encryption Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the *Amazon Simple Storage Service Developer Guide.*\n\nThe KMS key policy must grant permission to the IAM role that you specify in your [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see [Using Key Policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyId", + "ModelName": { + "markdownDescription": "The name of the Amazon SageMaker Model entity.", + "title": "ModelName", "type": "string" }, - "S3OutputPath": { - "markdownDescription": "The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, `s3://bucket-name/key-name-prefix` .\n\nFor every S3 object used as input for the transform job, batch transform stores the transformed data with an . `out` suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at `s3://bucket-name/input-name-prefix/dataset01/data.csv` , batch transform stores the transformed data at `s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out` . Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an . `out` file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.", - "title": "S3OutputPath", + "VariantName": { + "markdownDescription": "The name of the variant.", + "title": "VariantName", "type": "string" } }, "required": [ - "S3OutputPath" + "InfrastructureConfig", + "ModelName", + "VariantName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.TransformResources": { + "AWS::SageMaker::InferenceExperiment.RealTimeInferenceConfig": { "additionalProperties": false, "properties": { "InstanceCount": { - "markdownDescription": "The number of ML compute instances to use in the transform job. The default value is `1` , and the maximum is `100` . For distributed transform jobs, specify a value greater than `1` .", + "markdownDescription": "The number of instances of the type specified by `InstanceType` .", "title": "InstanceCount", "type": "number" }, "InstanceType": { - "markdownDescription": "The ML compute instance type for the transform job. If you are using built-in algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge or `ml.m5.large` instance types.", + "markdownDescription": "The instance type the model is deployed to.", "title": "InstanceType", "type": "string" - }, - "VolumeKmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job.\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `VolumeKmsKeyId` when using an instance type with local storage.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) . \n\nThe `VolumeKmsKeyId` can be any of the following formats:\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`", - "title": "VolumeKmsKeyId", - "type": "string" } }, "required": [ @@ -367393,50 +335906,135 @@ ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ValidationProfile": { + "AWS::SageMaker::InferenceExperiment.ShadowModeConfig": { "additionalProperties": false, "properties": { - "ProfileName": { - "markdownDescription": "The name of the profile for the model package.", - "title": "ProfileName", + "ShadowModelVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::InferenceExperiment.ShadowModelVariantConfig" + }, + "markdownDescription": "List of shadow variant configurations.", + "title": "ShadowModelVariants", + "type": "array" + }, + "SourceModelVariantName": { + "markdownDescription": "The name of the production variant, which takes all the inference requests.", + "title": "SourceModelVariantName", "type": "string" + } + }, + "required": [ + "ShadowModelVariants", + "SourceModelVariantName" + ], + "type": "object" + }, + "AWS::SageMaker::InferenceExperiment.ShadowModelVariantConfig": { + "additionalProperties": false, + "properties": { + "SamplingPercentage": { + "markdownDescription": "The percentage of inference requests that Amazon SageMaker replicates from the production variant to the shadow variant.", + "title": "SamplingPercentage", + "type": "number" }, - "TransformJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformJobDefinition", - "markdownDescription": "The `TransformJobDefinition` object that describes the transform job used for the validation of the model package.", - "title": "TransformJobDefinition" + "ShadowModelVariantName": { + "markdownDescription": "The name of the shadow variant.", + "title": "ShadowModelVariantName", + "type": "string" } }, "required": [ - "ProfileName", - "TransformJobDefinition" + "SamplingPercentage", + "ShadowModelVariantName" ], "type": "object" }, - "AWS::SageMaker::ModelPackage.ValidationSpecification": { + "AWS::SageMaker::MlflowApp": { "additionalProperties": false, "properties": { - "ValidationProfiles": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ValidationProfile" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactStoreUri": { + "type": "string" + }, + "ModelRegistrationMode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WeeklyMaintenanceWindowStart": { + "type": "string" + } }, - "markdownDescription": "An array of `ModelPackageValidationProfile` objects, each of which specifies a batch transform job that SageMaker runs to validate your model package.", - "title": "ValidationProfiles", - "type": "array" + "required": [ + "ArtifactStoreUri", + "Name", + "RoleArn" + ], + "type": "object" }, - "ValidationRole": { - "markdownDescription": "The IAM roles to be used for the validation of the model package.", - "title": "ValidationRole", + "Type": { + "enum": [ + "AWS::SageMaker::MlflowApp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, "required": [ - "ValidationProfiles", - "ValidationRole" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::ModelPackageGroup": { + "AWS::SageMaker::MlflowTrackingServer": { "additionalProperties": false, "properties": { "Condition": { @@ -367471,38 +336069,60 @@ "Properties": { "additionalProperties": false, "properties": { - "ModelPackageGroupDescription": { - "markdownDescription": "The description for the model group.", - "title": "ModelPackageGroupDescription", + "ArtifactStoreUri": { + "markdownDescription": "", + "title": "ArtifactStoreUri", "type": "string" }, - "ModelPackageGroupName": { - "markdownDescription": "The name of the model group.", - "title": "ModelPackageGroupName", + "AutomaticModelRegistration": { + "markdownDescription": "", + "title": "AutomaticModelRegistration", + "type": "boolean" + }, + "MlflowVersion": { + "markdownDescription": "", + "title": "MlflowVersion", "type": "string" }, - "ModelPackageGroupPolicy": { - "markdownDescription": "A resouce policy to control access to a model group. For information about resoure policies, see [Identity-based policies and resource-based policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) in the *AWS Identity and Access Management User Guide.* .", - "title": "ModelPackageGroupPolicy", - "type": "object" + "RoleArn": { + "markdownDescription": "", + "title": "RoleArn", + "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": "", "title": "Tags", "type": "array" + }, + "TrackingServerName": { + "markdownDescription": "", + "title": "TrackingServerName", + "type": "string" + }, + "TrackingServerSize": { + "markdownDescription": "", + "title": "TrackingServerSize", + "type": "string" + }, + "WeeklyMaintenanceWindowStart": { + "markdownDescription": "", + "title": "WeeklyMaintenanceWindowStart", + "type": "string" } }, "required": [ - "ModelPackageGroupName" + "ArtifactStoreUri", + "RoleArn", + "TrackingServerName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelPackageGroup" + "AWS::SageMaker::MlflowTrackingServer" ], "type": "string" }, @@ -367521,7 +336141,329 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition": { + "AWS::SageMaker::Model": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "markdownDescription": "Specifies the containers in the inference pipeline.", + "title": "Containers", + "type": "array" + }, + "EnableNetworkIsolation": { + "markdownDescription": "Isolates the model container. No inbound or outbound network calls can be made to or from the model container.", + "title": "EnableNetworkIsolation", + "type": "boolean" + }, + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see [SageMaker Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .\n\n> To be able to pass this role to SageMaker, the caller of this API must have the `iam:PassRole` permission.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig", + "markdownDescription": "Specifies details of how containers in a multi-container endpoint are called.", + "title": "InferenceExecutionConfig" + }, + "ModelName": { + "markdownDescription": "The name of the new model.", + "title": "ModelName", + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition", + "markdownDescription": "The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.", + "title": "PrimaryContainer" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "title": "Tags", + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig", + "markdownDescription": "A [VpcConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html) object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. `VpcConfig` is used in hosting services and in batch transform. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html) .", + "title": "VpcConfig" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "ContainerHostname": { + "markdownDescription": "This parameter is ignored for models that contain only a `PrimaryContainer` .\n\nWhen a `ContainerDefinition` is part of an inference pipeline, the value of the parameter uniquely identifies the container for the purposes of logging and metrics. For information, see [Use Logs and Metrics to Monitor an Inference Pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipeline-logs-metrics.html) . If you don't specify a value for this parameter for a `ContainerDefinition` that is part of an inference pipeline, a unique name is automatically assigned based on the position of the `ContainerDefinition` in the pipeline. If you specify a value for the `ContainerHostName` for any `ContainerDefinition` that is part of an inference pipeline, you must specify a value for the `ContainerHostName` parameter of every `ContainerDefinition` in that pipeline.", + "title": "ContainerHostname", + "type": "string" + }, + "Environment": { + "markdownDescription": "The environment variables to set in the Docker container. Don't include any sensitive data in your environment variables.\n\nThe maximum length of each key and value in the `Environment` map is 1024 bytes. The maximum length of all keys and values in the map, combined, is 32 KB. If you pass multiple containers to a `CreateModel` request, then the maximum length of all of their maps, combined, is also 32 KB.", + "title": "Environment", + "type": "object" + }, + "Image": { + "markdownDescription": "The path where inference code is stored. This can be either in Amazon EC2 Container Registry or in a Docker registry that is accessible from the same VPC that you configure for your endpoint. If you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .\n\n> The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.", + "title": "Image", + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig", + "markdownDescription": "Specifies whether the model container is in Amazon ECR or a private Docker registry accessible from your Amazon Virtual Private Cloud (VPC). For information about storing containers in a private Docker registry, see [Use a Private Docker Registry for Real-Time Inference Containers](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-containers-inference-private.html) .\n\n> The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.", + "title": "ImageConfig" + }, + "InferenceSpecificationName": { + "markdownDescription": "The inference specification name in the model package version.", + "title": "InferenceSpecificationName", + "type": "string" + }, + "Mode": { + "markdownDescription": "Whether the container hosts a single model or multiple models.", + "title": "Mode", + "type": "string" + }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelDataSource", + "markdownDescription": "Specifies the location of ML model data to deploy.\n\n> Currently you cannot use `ModelDataSource` in conjunction with SageMaker batch transform, SageMaker serverless endpoints, SageMaker multi-model endpoints, and SageMaker Marketplace.", + "title": "ModelDataSource" + }, + "ModelDataUrl": { + "markdownDescription": "The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). The S3 path is required for SageMaker built-in algorithms, but not if you use your own algorithms. For more information on built-in algorithms, see [Common Parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html) .\n\n> The model artifacts must be in an S3 bucket that is in the same region as the model or endpoint you are creating. \n\nIf you provide a value for this parameter, SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your AWS account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see [Activating and Deactivating AWS STS in an AWS Region](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) in the *AWS Identity and Access Management User Guide* .\n\n> If you use a built-in algorithm to create a model, SageMaker requires that you provide a S3 path to the model artifacts in `ModelDataUrl` .", + "title": "ModelDataUrl", + "type": "string" + }, + "ModelPackageName": { + "markdownDescription": "The name or Amazon Resource Name (ARN) of the model package to use to create the model.", + "title": "ModelPackageName", + "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig", + "markdownDescription": "Specifies additional configuration for multi-model endpoints.", + "title": "MultiModelConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.HubAccessConfig": { + "additionalProperties": false, + "properties": { + "HubContentArn": { + "markdownDescription": "The ARN of your private model hub content. This should be a `ModelReference` resource type that points to a SageMaker JumpStart public hub model.", + "title": "HubContentArn", + "type": "string" + } + }, + "required": [ + "HubContentArn" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "markdownDescription": "Set this to one of the following values:\n\n- `Platform` - The model image is hosted in Amazon ECR.\n- `Vpc` - The model image is hosted in a private Docker registry in your VPC.", + "title": "RepositoryAccessMode", + "type": "string" + }, + "RepositoryAuthConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig", + "markdownDescription": "(Optional) Specifies an authentication configuration for the private docker registry where your model image is hosted. Specify a value for this property only if you specified `Vpc` as the value for the `RepositoryAccessMode` field, and the private Docker registry where the model image is hosted requires authentication.", + "title": "RepositoryAuthConfig" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.InferenceExecutionConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "markdownDescription": "How containers in a multi-container are run. The following values are valid.\n\n- `Serial` - Containers run as a serial pipeline.\n- `Direct` - Only the individual container that you specify is run.", + "title": "Mode", + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ModelAccessConfig": { + "additionalProperties": false, + "properties": { + "AcceptEula": { + "markdownDescription": "Specifies agreement to the model end-user license agreement (EULA). The `AcceptEula` value must be explicitly defined as `True` in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", + "title": "AcceptEula", + "type": "boolean" + } + }, + "required": [ + "AcceptEula" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::Model.S3DataSource", + "markdownDescription": "Specifies the S3 location of ML model data to deploy.", + "title": "S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, + "AWS::SageMaker::Model.MultiModelConfig": { + "additionalProperties": false, + "properties": { + "ModelCacheSetting": { + "markdownDescription": "Whether to cache models for a multi-model endpoint. By default, multi-model endpoints cache models so that a model does not have to be loaded into memory each time it is invoked. Some use cases do not benefit from model caching. For example, if an endpoint hosts a large number of models that are each invoked infrequently, the endpoint might perform better if you disable model caching. To disable model caching, set the value of this parameter to Disabled.", + "title": "ModelCacheSetting", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.RepositoryAuthConfig": { + "additionalProperties": false, + "properties": { + "RepositoryCredentialsProviderArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an AWS Lambda function that provides credentials to authenticate to the private Docker registry where your model image is hosted. For information about how to create an AWS Lambda function, see [Create a Lambda function with the console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html) in the *AWS Lambda Developer Guide* .", + "title": "RepositoryCredentialsProviderArn", + "type": "string" + } + }, + "required": [ + "RepositoryCredentialsProviderArn" + ], + "type": "object" + }, + "AWS::SageMaker::Model.S3DataSource": { + "additionalProperties": false, + "properties": { + "CompressionType": { + "markdownDescription": "", + "title": "CompressionType", + "type": "string" + }, + "HubAccessConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.HubAccessConfig", + "markdownDescription": "The configuration for a private hub model reference that points to a SageMaker JumpStart public hub model.", + "title": "HubAccessConfig" + }, + "ModelAccessConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ModelAccessConfig", + "markdownDescription": "", + "title": "ModelAccessConfig" + }, + "S3DataType": { + "markdownDescription": "If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.\n\nIf you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.\n\nIf you choose `AugmentedManifestFile` , `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .\n\nIf you choose `Converse` , `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.", + "title": "S3DataType", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "Depending on the value specified for the `S3DataType` , identifies either a key name prefix or a manifest. For example:\n\n- A key name prefix might look like this: `s3://bucketname/exampleprefix/`\n- A manifest might look like this: `s3://bucketname/example.manifest`\n\nA manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.\n\nThe following code example shows a valid manifest format:\n\n`[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},`\n\n`\"relative/path/to/custdata-1\",`\n\n`\"relative/path/custdata-2\",`\n\n`...`\n\n`\"relative/path/custdata-N\"`\n\n`]`\n\nThis JSON is equivalent to the following `S3Uri` list:\n\n`s3://customer_bucket/some/prefix/relative/path/to/custdata-1`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-2`\n\n`...`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-N`\n\nThe complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.\n\nYour input bucket must be located in same AWS region as your training job.", + "title": "S3Uri", + "type": "string" + } + }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", + "title": "SecurityGroupIds", + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", + "title": "Subnets", + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -367562,38 +336504,38 @@ "type": "string" }, "JobDefinitionName": { - "markdownDescription": "The name of the monitoring job definition.", + "markdownDescription": "The name of the bias job definition. The name must be unique within an AWS Region in the AWS account.", "title": "JobDefinitionName", "type": "string" }, "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources", "markdownDescription": "Identifies the resources to deploy for a monitoring job.", "title": "JobResources" }, - "ModelQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification", - "markdownDescription": "Container image configuration object for the monitoring job.", - "title": "ModelQualityAppSpecification" + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification", + "markdownDescription": "Configures the model bias job to run a specified Docker container image.", + "title": "ModelBiasAppSpecification" }, - "ModelQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig", - "markdownDescription": "Specifies the constraints and baselines for the monitoring job.", - "title": "ModelQualityBaselineConfig" + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig", + "markdownDescription": "The baseline configuration for a model bias job.", + "title": "ModelBiasBaselineConfig" }, - "ModelQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput", - "markdownDescription": "A list of the inputs that are monitored. Currently endpoints are supported.", - "title": "ModelQualityJobInput" + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput", + "markdownDescription": "Inputs for the model bias job.", + "title": "ModelBiasJobInput" }, - "ModelQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig", + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig", "markdownDescription": "The output configuration for monitoring jobs.", - "title": "ModelQualityJobOutputConfig" + "title": "ModelBiasJobOutputConfig" }, "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig", - "markdownDescription": "Specifies the network configuration for the monitoring job.", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig", + "markdownDescription": "Networking options for a model bias job.", "title": "NetworkConfig" }, "RoleArn": { @@ -367602,7 +336544,7 @@ "type": "string" }, "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition", "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", "title": "StoppingCondition" }, @@ -367617,16 +336559,16 @@ }, "required": [ "JobResources", - "ModelQualityAppSpecification", - "ModelQualityJobInput", - "ModelQualityJobOutputConfig", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ModelQualityJobDefinition" + "AWS::SageMaker::ModelBiasJobDefinition" ], "type": "string" }, @@ -367645,7 +336587,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.BatchTransformInput": { + "AWS::SageMaker::ModelBiasJobDefinition.BatchTransformInput": { "additionalProperties": false, "properties": { "DataCapturedDestinationS3Uri": { @@ -367654,7 +336596,7 @@ "type": "string" }, "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.DatasetFormat", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.DatasetFormat", "markdownDescription": "The dataset format for your batch transform job.", "title": "DatasetFormat" }, @@ -367663,6 +336605,11 @@ "title": "EndTimeOffset", "type": "string" }, + "FeaturesAttribute": { + "markdownDescription": "The attributes of the input data that are the input features.", + "title": "FeaturesAttribute", + "type": "string" + }, "InferenceAttribute": { "markdownDescription": "The attribute of the input data that represents the ground truth label.", "title": "InferenceAttribute", @@ -367706,7 +336653,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { "InstanceCount": { @@ -367737,7 +336684,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { "S3Uri": { @@ -367748,7 +336695,7 @@ }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.Csv": { + "AWS::SageMaker::ModelBiasJobDefinition.Csv": { "additionalProperties": false, "properties": { "Header": { @@ -367759,16 +336706,16 @@ }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.DatasetFormat": { + "AWS::SageMaker::ModelBiasJobDefinition.DatasetFormat": { "additionalProperties": false, "properties": { "Csv": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Csv", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Csv", "markdownDescription": "", "title": "Csv" }, "Json": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Json", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Json", "markdownDescription": "", "title": "Json" }, @@ -367780,7 +336727,7 @@ }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { "EndTimeOffset": { @@ -367793,6 +336740,11 @@ "title": "EndpointName", "type": "string" }, + "FeaturesAttribute": { + "markdownDescription": "The attributes of the input data that are the input features.", + "title": "FeaturesAttribute", + "type": "string" + }, "InferenceAttribute": { "markdownDescription": "The attribute of the input data that represents the ground truth label.", "title": "InferenceAttribute", @@ -367835,7 +336787,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.Json": { + "AWS::SageMaker::ModelBiasJobDefinition.Json": { "additionalProperties": false, "properties": { "Line": { @@ -367846,28 +336798,17 @@ }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { "additionalProperties": false, "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of arguments for the container used to run the monitoring job.", - "title": "ContainerArguments", - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "markdownDescription": "Specifies the entrypoint for a container that the monitoring job runs.", - "title": "ContainerEntrypoint", - "type": "array" + "ConfigUri": { + "markdownDescription": "JSON formatted S3 file that defines bias parameters. For more information on this JSON configuration file, see [Configure bias parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-bias-parameters.html) .", + "title": "ConfigUri", + "type": "string" }, "Environment": { "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the container that the monitoring job runs.", + "markdownDescription": "Sets the environment variables in the Docker container.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" @@ -367877,64 +336818,49 @@ "type": "object" }, "ImageUri": { - "markdownDescription": "The address of the container image that the monitoring job runs.", + "markdownDescription": "The container image to be run by the model bias job.", "title": "ImageUri", "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", - "title": "PostAnalyticsProcessorSourceUri", - "type": "string" - }, - "ProblemType": { - "markdownDescription": "The machine learning problem type of the model that the monitoring job monitors.", - "title": "ProblemType", - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", - "title": "RecordPreprocessorSourceUri", - "type": "string" } }, "required": [ - "ImageUri", - "ProblemType" + "ConfigUri", + "ImageUri" ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { "additionalProperties": false, "properties": { "BaseliningJobName": { - "markdownDescription": "The name of the job that performs baselining for the monitoring job.", + "markdownDescription": "The name of the baseline model bias job.", "title": "BaseliningJobName", "type": "string" }, "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource", "markdownDescription": "The constraints resource for a monitoring job.", "title": "ConstraintsResource" } }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { "additionalProperties": false, "properties": { "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.BatchTransformInput", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.BatchTransformInput", "markdownDescription": "Input object for the batch transform job.", "title": "BatchTransformInput" }, "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput", "markdownDescription": "Input object for the endpoint", "title": "EndpointInput" }, "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input", - "markdownDescription": "The ground truth label provided for the model.", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input", + "markdownDescription": "Location of ground truth labels to use in model bias job.", "title": "GroundTruthS3Input" } }, @@ -367943,7 +336869,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { "additionalProperties": false, "properties": { "S3Uri": { @@ -367957,11 +336883,11 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output", "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", "title": "S3Output" } @@ -367971,7 +336897,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { "KmsKeyId": { @@ -367981,7 +336907,7 @@ }, "MonitoringOutputs": { "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" }, "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", "title": "MonitoringOutputs", @@ -367993,11 +336919,11 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig", "markdownDescription": "The configuration for the cluster resources used to run the processing job.", "title": "ClusterConfig" } @@ -368007,7 +336933,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { "EnableInterContainerTrafficEncryption": { @@ -368021,18 +336947,18 @@ "type": "boolean" }, "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig", + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig", "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", "title": "VpcConfig" } }, "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { "additionalProperties": false, "properties": { "LocalPath": { - "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", + "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. `LocalPath` is an absolute path for the output data.", "title": "LocalPath", "type": "string" }, @@ -368053,7 +336979,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { "MaxRuntimeInSeconds": { @@ -368067,7 +336993,7 @@ ], "type": "object" }, - "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -368093,7 +337019,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule": { + "AWS::SageMaker::ModelCard": { "additionalProperties": false, "properties": { "Condition": { @@ -368128,54 +337054,55 @@ "Properties": { "additionalProperties": false, "properties": { - "EndpointName": { - "markdownDescription": "The name of the endpoint using the monitoring schedule.", - "title": "EndpointName", - "type": "string" - }, - "FailureReason": { - "markdownDescription": "Contains the reason a monitoring job failed, if it failed.", - "title": "FailureReason", - "type": "string" + "Content": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.Content", + "markdownDescription": "The content of the model card. Content uses the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .", + "title": "Content" }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary", - "markdownDescription": "Describes metadata on the last execution to run, if there was one.", - "title": "LastMonitoringExecutionSummary" + "CreatedBy": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.UserContext", + "markdownDescription": "Information about the user who created or modified one or more of the following:\n\n- Experiment\n- Trial\n- Trial component\n- Lineage group\n- Project\n- Model Card", + "title": "CreatedBy" }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig", - "markdownDescription": "The configuration object that specifies the monitoring schedule and defines the monitoring job.", - "title": "MonitoringScheduleConfig" + "LastModifiedBy": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.UserContext", + "markdownDescription": "", + "title": "LastModifiedBy" }, - "MonitoringScheduleName": { - "markdownDescription": "The name of the monitoring schedule.", - "title": "MonitoringScheduleName", + "ModelCardName": { + "markdownDescription": "The unique name of the model card.", + "title": "ModelCardName", "type": "string" }, - "MonitoringScheduleStatus": { - "markdownDescription": "The status of the monitoring schedule.", - "title": "MonitoringScheduleStatus", + "ModelCardStatus": { + "markdownDescription": "The approval status of the model card within your organization. Different organizations might have different criteria for model card review and approval.\n\n- `Draft` : The model card is a work in progress.\n- `PendingReview` : The model card is pending review.\n- `Approved` : The model card is approved.\n- `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.", + "title": "ModelCardStatus", "type": "string" }, + "SecurityConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.SecurityConfig", + "markdownDescription": "The security configuration used to protect model card data.", + "title": "SecurityConfig" + }, "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": "Key-value pairs used to manage metadata for the model card.", "title": "Tags", "type": "array" } }, "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" + "Content", + "ModelCardName", + "ModelCardStatus" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::MonitoringSchedule" + "AWS::SageMaker::ModelCard" ], "type": "string" }, @@ -368194,23 +337121,786 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "AWS::SageMaker::ModelCard.AdditionalInformation": { "additionalProperties": false, "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource", - "markdownDescription": "The Amazon S3 URI for the constraints resource.", - "title": "ConstraintsResource" + "CaveatsAndRecommendations": { + "markdownDescription": "Caveats and recommendations for those who might use this model in their applications.", + "title": "CaveatsAndRecommendations", + "type": "string" }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource", - "markdownDescription": "The baseline statistics file in Amazon S3 that the current monitoring job should be validated against.", - "title": "StatisticsResource" + "CustomDetails": { + "additionalProperties": true, + "markdownDescription": "Any additional information to document about the model.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "CustomDetails", + "type": "object" + }, + "EthicalConsiderations": { + "markdownDescription": "Any ethical considerations documented by the model card author.", + "title": "EthicalConsiderations", + "type": "string" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.BatchTransformInput": { + "AWS::SageMaker::ModelCard.BusinessDetails": { + "additionalProperties": false, + "properties": { + "BusinessProblem": { + "markdownDescription": "The specific business problem that the model is trying to solve.", + "title": "BusinessProblem", + "type": "string" + }, + "BusinessStakeholders": { + "markdownDescription": "The relevant stakeholders for the model.", + "title": "BusinessStakeholders", + "type": "string" + }, + "LineOfBusiness": { + "markdownDescription": "The broader business need that the model is serving.", + "title": "LineOfBusiness", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.Container": { + "additionalProperties": false, + "properties": { + "Image": { + "markdownDescription": "", + "title": "Image", + "type": "string" + }, + "ModelDataUrl": { + "markdownDescription": "", + "title": "ModelDataUrl", + "type": "string" + }, + "NearestModelName": { + "markdownDescription": "", + "title": "NearestModelName", + "type": "string" + } + }, + "required": [ + "Image" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.Content": { + "additionalProperties": false, + "properties": { + "AdditionalInformation": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.AdditionalInformation", + "markdownDescription": "Additional information about the model.", + "title": "AdditionalInformation" + }, + "BusinessDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.BusinessDetails", + "markdownDescription": "Information about how the model supports business goals.", + "title": "BusinessDetails" + }, + "EvaluationDetails": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.EvaluationDetail" + }, + "markdownDescription": "An overview about the model's evaluation.", + "title": "EvaluationDetails", + "type": "array" + }, + "IntendedUses": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.IntendedUses", + "markdownDescription": "The intended usage of the model.", + "title": "IntendedUses" + }, + "ModelOverview": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelOverview", + "markdownDescription": "An overview about the model", + "title": "ModelOverview" + }, + "ModelPackageDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelPackageDetails", + "markdownDescription": "", + "title": "ModelPackageDetails" + }, + "TrainingDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingDetails", + "markdownDescription": "An overview about model training.", + "title": "TrainingDetails" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.EvaluationDetail": { + "additionalProperties": false, + "properties": { + "Datasets": { + "items": { + "type": "string" + }, + "markdownDescription": "The location of the datasets used to evaluate the model.", + "title": "Datasets", + "type": "array" + }, + "EvaluationJobArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the evaluation job.", + "title": "EvaluationJobArn", + "type": "string" + }, + "EvaluationObservation": { + "markdownDescription": "Any observations made during the model evaluation.", + "title": "EvaluationObservation", + "type": "string" + }, + "Metadata": { + "additionalProperties": true, + "markdownDescription": "Additional attributes associated with the evaluation results.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Metadata", + "type": "object" + }, + "MetricGroups": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.MetricGroup" + }, + "markdownDescription": "An evaluation Metric Group object.", + "title": "MetricGroups", + "type": "array" + }, + "Name": { + "markdownDescription": "The evaluation job name.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.Function": { + "additionalProperties": false, + "properties": { + "Condition": { + "markdownDescription": "An optional description of any conditions of your objective function metric.", + "title": "Condition", + "type": "string" + }, + "Facet": { + "markdownDescription": "The metric of the model's objective function. For example, *loss* or *rmse* . The following list shows examples of the values that you can specify for the metric:\n\n- `ACCURACY`\n- `AUC`\n- `LOSS`\n- `MAE`\n- `RMSE`", + "title": "Facet", + "type": "string" + }, + "Function": { + "markdownDescription": "The optimization direction of the model's objective function. You must specify one of the following values:\n\n- `Maximize`\n- `Minimize`", + "title": "Function", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.InferenceEnvironment": { + "additionalProperties": false, + "properties": { + "ContainerImage": { + "items": { + "type": "string" + }, + "markdownDescription": "The container used to run the inference environment.", + "title": "ContainerImage", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.InferenceSpecification": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.Container" + }, + "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", + "title": "Containers", + "type": "array" + } + }, + "required": [ + "Containers" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.IntendedUses": { + "additionalProperties": false, + "properties": { + "ExplanationsForRiskRating": { + "markdownDescription": "An explanation of why your organization categorizes the model with its risk rating.", + "title": "ExplanationsForRiskRating", + "type": "string" + }, + "FactorsAffectingModelEfficiency": { + "markdownDescription": "Factors affecting model efficacy.", + "title": "FactorsAffectingModelEfficiency", + "type": "string" + }, + "IntendedUses": { + "markdownDescription": "The intended use cases for the model.", + "title": "IntendedUses", + "type": "string" + }, + "PurposeOfModel": { + "markdownDescription": "The general purpose of the model.", + "title": "PurposeOfModel", + "type": "string" + }, + "RiskRating": { + "markdownDescription": "Your organization's risk rating. You can specify one the following values as the risk rating:\n\n- High\n- Medium\n- Low\n- Unknown", + "title": "RiskRating", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.MetricDataItems": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Notes": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "object" + }, + "XAxisName": { + "items": { + "type": "string" + }, + "type": "array" + }, + "YAxisName": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.MetricGroup": { + "additionalProperties": false, + "properties": { + "MetricData": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.MetricDataItems" + }, + "markdownDescription": "A list of metric objects. The `MetricDataItems` list can have one of the following values:\n\n- `bar_chart_metric`\n- `matrix_metric`\n- `simple_metric`\n- `linear_graph_metric`\n\nFor more information about the metric schema, see the definition section of the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .", + "title": "MetricData", + "type": "array" + }, + "Name": { + "markdownDescription": "The metric group name.", + "title": "Name", + "type": "string" + } + }, + "required": [ + "MetricData", + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.ModelOverview": { + "additionalProperties": false, + "properties": { + "AlgorithmType": { + "markdownDescription": "The algorithm used to solve the problem.", + "title": "AlgorithmType", + "type": "string" + }, + "InferenceEnvironment": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.InferenceEnvironment", + "markdownDescription": "An overview about model inference.", + "title": "InferenceEnvironment" + }, + "ModelArtifact": { + "items": { + "type": "string" + }, + "markdownDescription": "The location of the model artifact.", + "title": "ModelArtifact", + "type": "array" + }, + "ModelCreator": { + "markdownDescription": "The creator of the model.", + "title": "ModelCreator", + "type": "string" + }, + "ModelDescription": { + "markdownDescription": "A description of the model.", + "title": "ModelDescription", + "type": "string" + }, + "ModelId": { + "markdownDescription": "The SageMaker AI Model ARN or non- SageMaker AI Model ID.", + "title": "ModelId", + "type": "string" + }, + "ModelName": { + "markdownDescription": "The name of the model.", + "title": "ModelName", + "type": "string" + }, + "ModelOwner": { + "markdownDescription": "The owner of the model.", + "title": "ModelOwner", + "type": "string" + }, + "ModelVersion": { + "markdownDescription": "The version of the model.", + "title": "ModelVersion", + "type": "number" + }, + "ProblemType": { + "markdownDescription": "The problem being solved with the model.", + "title": "ProblemType", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.ModelPackageCreator": { + "additionalProperties": false, + "properties": { + "UserProfileName": { + "markdownDescription": "", + "title": "UserProfileName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.ModelPackageDetails": { + "additionalProperties": false, + "properties": { + "ApprovalDescription": { + "markdownDescription": "", + "title": "ApprovalDescription", + "type": "string" + }, + "CreatedBy": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.ModelPackageCreator", + "markdownDescription": "", + "title": "CreatedBy" + }, + "Domain": { + "markdownDescription": "", + "title": "Domain", + "type": "string" + }, + "InferenceSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.InferenceSpecification", + "markdownDescription": "", + "title": "InferenceSpecification" + }, + "ModelApprovalStatus": { + "markdownDescription": "", + "title": "ModelApprovalStatus", + "type": "string" + }, + "ModelPackageArn": { + "markdownDescription": "", + "title": "ModelPackageArn", + "type": "string" + }, + "ModelPackageDescription": { + "markdownDescription": "", + "title": "ModelPackageDescription", + "type": "string" + }, + "ModelPackageGroupName": { + "markdownDescription": "", + "title": "ModelPackageGroupName", + "type": "string" + }, + "ModelPackageName": { + "markdownDescription": "", + "title": "ModelPackageName", + "type": "string" + }, + "ModelPackageStatus": { + "markdownDescription": "", + "title": "ModelPackageStatus", + "type": "string" + }, + "ModelPackageVersion": { + "markdownDescription": "", + "title": "ModelPackageVersion", + "type": "number" + }, + "SourceAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.SourceAlgorithm" + }, + "markdownDescription": "", + "title": "SourceAlgorithms", + "type": "array" + }, + "Task": { + "markdownDescription": "", + "title": "Task", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.ObjectiveFunction": { + "additionalProperties": false, + "properties": { + "Function": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.Function", + "markdownDescription": "A function object that details optimization direction, metric, and additional descriptions.", + "title": "Function" + }, + "Notes": { + "markdownDescription": "Notes about the object function, including other considerations for possible objective functions.", + "title": "Notes", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.SecurityConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "markdownDescription": "A AWS Key Management Service [key ID](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id) used to encrypt a model card.", + "title": "KmsKeyId", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.SourceAlgorithm": { + "additionalProperties": false, + "properties": { + "AlgorithmName": { + "markdownDescription": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.", + "title": "AlgorithmName", + "type": "string" + }, + "ModelDataUrl": { + "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.", + "title": "ModelDataUrl", + "type": "string" + } + }, + "required": [ + "AlgorithmName" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingDetails": { + "additionalProperties": false, + "properties": { + "ObjectiveFunction": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.ObjectiveFunction", + "markdownDescription": "The function that is optimized during model training.", + "title": "ObjectiveFunction" + }, + "TrainingJobDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingJobDetails", + "markdownDescription": "Details about any associated training jobs.", + "title": "TrainingJobDetails" + }, + "TrainingObservations": { + "markdownDescription": "Any observations about training.", + "title": "TrainingObservations", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingEnvironment": { + "additionalProperties": false, + "properties": { + "ContainerImage": { + "items": { + "type": "string" + }, + "markdownDescription": "SageMaker AI inference image URI.", + "title": "ContainerImage", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingHyperParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the hyper parameter.", + "title": "Name", + "type": "string" + }, + "Value": { + "markdownDescription": "The value specified for the hyper parameter.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingJobDetails": { + "additionalProperties": false, + "properties": { + "HyperParameters": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingHyperParameter" + }, + "markdownDescription": "The hyper parameters used in the training job.", + "title": "HyperParameters", + "type": "array" + }, + "TrainingArn": { + "markdownDescription": "The SageMaker AI training job Amazon Resource Name (ARN)", + "title": "TrainingArn", + "type": "string" + }, + "TrainingDatasets": { + "items": { + "type": "string" + }, + "markdownDescription": "The location of the datasets used to train the model.", + "title": "TrainingDatasets", + "type": "array" + }, + "TrainingEnvironment": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingEnvironment", + "markdownDescription": "The SageMaker AI training job image URI.", + "title": "TrainingEnvironment" + }, + "TrainingMetrics": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingMetric" + }, + "markdownDescription": "The SageMaker AI training job results.", + "title": "TrainingMetrics", + "type": "array" + }, + "UserProvidedHyperParameters": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingHyperParameter" + }, + "markdownDescription": "Additional hyper parameters that you've specified when training the model.", + "title": "UserProvidedHyperParameters", + "type": "array" + }, + "UserProvidedTrainingMetrics": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelCard.TrainingMetric" + }, + "markdownDescription": "Custom training job results.", + "title": "UserProvidedTrainingMetrics", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelCard.TrainingMetric": { + "additionalProperties": false, + "properties": { + "Name": { + "markdownDescription": "The name of the result from the SageMaker AI training job.", + "title": "Name", + "type": "string" + }, + "Notes": { + "markdownDescription": "Any additional notes describing the result of the training job.", + "title": "Notes", + "type": "string" + }, + "Value": { + "markdownDescription": "The value of a result from the SageMaker AI training job.", + "title": "Value", + "type": "number" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::ModelCard.UserContext": { + "additionalProperties": false, + "properties": { + "DomainId": { + "markdownDescription": "The domain associated with the user.", + "title": "DomainId", + "type": "string" + }, + "UserProfileArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the user's profile.", + "title": "UserProfileArn", + "type": "string" + }, + "UserProfileName": { + "markdownDescription": "The name of the user's profile.", + "title": "UserProfileName", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "markdownDescription": "", + "title": "EndpointName", + "type": "string" + }, + "JobDefinitionName": { + "markdownDescription": "The name of the model explainability job definition. The name must be unique within an AWS Region in the AWS account.", + "title": "JobDefinitionName", + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources", + "markdownDescription": "Identifies the resources to deploy for a monitoring job.", + "title": "JobResources" + }, + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification", + "markdownDescription": "Configures the model explainability job to run a specified Docker container image.", + "title": "ModelExplainabilityAppSpecification" + }, + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig", + "markdownDescription": "The baseline configuration for a model explainability job.", + "title": "ModelExplainabilityBaselineConfig" + }, + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput", + "markdownDescription": "Inputs for the model explainability job.", + "title": "ModelExplainabilityJobInput" + }, + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig", + "markdownDescription": "The output configuration for monitoring jobs.", + "title": "ModelExplainabilityJobOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig", + "markdownDescription": "Networking options for a model explainability job.", + "title": "NetworkConfig" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.", + "title": "RoleArn", + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition", + "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", + "title": "StoppingCondition" + }, + "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": [ + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelExplainabilityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.BatchTransformInput": { "additionalProperties": false, "properties": { "DataCapturedDestinationS3Uri": { @@ -368219,13 +337909,18 @@ "type": "string" }, "DatasetFormat": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.DatasetFormat", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.DatasetFormat", "markdownDescription": "The dataset format for your batch transform job.", "title": "DatasetFormat" }, - "ExcludeFeaturesAttribute": { - "markdownDescription": "The attributes of the input data to exclude from the analysis.", - "title": "ExcludeFeaturesAttribute", + "FeaturesAttribute": { + "markdownDescription": "The attributes of the input data that are the input features.", + "title": "FeaturesAttribute", + "type": "string" + }, + "InferenceAttribute": { + "markdownDescription": "The attribute of the input data that represents the ground truth label.", + "title": "InferenceAttribute", "type": "string" }, "LocalPath": { @@ -368233,6 +337928,11 @@ "title": "LocalPath", "type": "string" }, + "ProbabilityAttribute": { + "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "title": "ProbabilityAttribute", + "type": "string" + }, "S3DataDistributionType": { "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", "title": "S3DataDistributionType", @@ -368251,7 +337951,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { "InstanceCount": { @@ -368282,7 +337982,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { "S3Uri": { @@ -368293,7 +337993,7 @@ }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Csv": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.Csv": { "additionalProperties": false, "properties": { "Header": { @@ -368304,16 +338004,16 @@ }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.DatasetFormat": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.DatasetFormat": { "additionalProperties": false, "properties": { "Csv": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Csv", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Csv", "markdownDescription": "", "title": "Csv" }, "Json": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Json", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Json", "markdownDescription": "", "title": "Json" }, @@ -368325,7 +338025,7 @@ }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { "EndpointName": { @@ -368333,9 +338033,14 @@ "title": "EndpointName", "type": "string" }, - "ExcludeFeaturesAttribute": { - "markdownDescription": "The attributes of the input data to exclude from the analysis.", - "title": "ExcludeFeaturesAttribute", + "FeaturesAttribute": { + "markdownDescription": "The attributes of the input data that are the input features.", + "title": "FeaturesAttribute", + "type": "string" + }, + "InferenceAttribute": { + "markdownDescription": "The attribute of the input data that represents the ground truth label.", + "title": "InferenceAttribute", "type": "string" }, "LocalPath": { @@ -368343,6 +338048,11 @@ "title": "LocalPath", "type": "string" }, + "ProbabilityAttribute": { + "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "title": "ProbabilityAttribute", + "type": "string" + }, "S3DataDistributionType": { "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", "title": "S3DataDistributionType", @@ -368360,7 +338070,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.Json": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.Json": { "additionalProperties": false, "properties": { "Line": { @@ -368371,187 +338081,74 @@ }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { "additionalProperties": false, "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "An array of arguments for the container used to run the monitoring job.", - "title": "ContainerArguments", - "type": "array" + "ConfigUri": { + "markdownDescription": "JSON formatted Amazon S3 file that defines explainability parameters. For more information on this JSON configuration file, see [Configure model explainability parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-model-explainability-parameters.html) .", + "title": "ConfigUri", + "type": "string" }, - "ContainerEntrypoint": { - "items": { - "type": "string" + "Environment": { + "additionalProperties": true, + "markdownDescription": "Sets the environment variables in the Docker container.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } }, - "markdownDescription": "Specifies the entrypoint for a container used to run the monitoring job.", - "title": "ContainerEntrypoint", - "type": "array" + "title": "Environment", + "type": "object" }, "ImageUri": { - "markdownDescription": "The container image to be run by the monitoring job.", + "markdownDescription": "The container image to be run by the model explainability job.", "title": "ImageUri", "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", - "title": "PostAnalyticsProcessorSourceUri", - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", - "title": "RecordPreprocessorSourceUri", - "type": "string" } }, "required": [ + "ConfigUri", "ImageUri" ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { "additionalProperties": false, "properties": { - "CreationTime": { - "markdownDescription": "The time at which the monitoring job was created.", - "title": "CreationTime", - "type": "string" - }, - "EndpointName": { - "markdownDescription": "The name of the endpoint used to run the monitoring job.", - "title": "EndpointName", - "type": "string" - }, - "FailureReason": { - "markdownDescription": "Contains the reason a monitoring job failed, if it failed.", - "title": "FailureReason", - "type": "string" - }, - "LastModifiedTime": { - "markdownDescription": "A timestamp that indicates the last time the monitoring job was modified.", - "title": "LastModifiedTime", - "type": "string" - }, - "MonitoringExecutionStatus": { - "markdownDescription": "The status of the monitoring job.", - "title": "MonitoringExecutionStatus", - "type": "string" - }, - "MonitoringScheduleName": { - "markdownDescription": "The name of the monitoring schedule.", - "title": "MonitoringScheduleName", - "type": "string" - }, - "ProcessingJobArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the monitoring job.", - "title": "ProcessingJobArn", + "BaseliningJobName": { + "markdownDescription": "The name of the baseline model explainability job.", + "title": "BaseliningJobName", "type": "string" }, - "ScheduledTime": { - "markdownDescription": "The time the monitoring job was scheduled.", - "title": "ScheduledTime", - "type": "string" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource", + "markdownDescription": "The constraints resource for a model explainability job.", + "title": "ConstraintsResource" } }, - "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" - ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { "additionalProperties": false, "properties": { "BatchTransformInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BatchTransformInput", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.BatchTransformInput", "markdownDescription": "Input object for the batch transform job.", "title": "BatchTransformInput" }, "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput", - "markdownDescription": "The endpoint for a monitoring job.", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput", + "markdownDescription": "Input object for the endpoint", "title": "EndpointInput" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { - "additionalProperties": false, - "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig", - "markdownDescription": "Baseline configuration used to validate that the data conforms to the specified constraints and statistics", - "title": "BaselineConfig" - }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the Docker container.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Environment", - "type": "object" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification", - "markdownDescription": "Configures the monitoring job to run a specified Docker container image.", - "title": "MonitoringAppSpecification" - }, - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "markdownDescription": "The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker AI Endpoint.", - "title": "MonitoringInputs", - "type": "array" - }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig", - "markdownDescription": "The array of outputs from the monitoring job to be uploaded to Amazon S3.", - "title": "MonitoringOutputConfig" - }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources", - "markdownDescription": "Identifies the resources, ML compute instances, and ML storage volumes to deploy for a monitoring job. In distributed processing, you specify more than one instance.", - "title": "MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig", - "markdownDescription": "Specifies networking options for an monitoring job.", - "title": "NetworkConfig" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker AI can assume to perform tasks on your behalf.", - "title": "RoleArn", - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition", - "markdownDescription": "Specifies a time limit for how long the monitoring job is allowed to run.", - "title": "StoppingCondition" - } - }, - "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output", "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", "title": "S3Output" } @@ -368561,7 +338158,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { "KmsKeyId": { @@ -368571,7 +338168,7 @@ }, "MonitoringOutputs": { "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" }, "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", "title": "MonitoringOutputs", @@ -368583,11 +338180,11 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig", "markdownDescription": "The configuration for the cluster resources used to run the processing job.", "title": "ClusterConfig" } @@ -368597,33 +338194,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { - "additionalProperties": false, - "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition", - "markdownDescription": "Defines the monitoring job.", - "title": "MonitoringJobDefinition" - }, - "MonitoringJobDefinitionName": { - "markdownDescription": "The name of the monitoring job definition to schedule.", - "title": "MonitoringJobDefinitionName", - "type": "string" - }, - "MonitoringType": { - "markdownDescription": "The type of the monitoring job definition to schedule.", - "title": "MonitoringType", - "type": "string" - }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig", - "markdownDescription": "Configures the monitoring schedule.", - "title": "ScheduleConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { "EnableInterContainerTrafficEncryption": { @@ -368637,18 +338208,18 @@ "type": "boolean" }, "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig", - "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .", + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig", + "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", "title": "VpcConfig" } }, "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { "additionalProperties": false, "properties": { "LocalPath": { - "markdownDescription": "The local path to the S3 storage location where SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", + "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", "title": "LocalPath", "type": "string" }, @@ -368658,7 +338229,7 @@ "type": "string" }, "S3Uri": { - "markdownDescription": "A URI that identifies the S3 storage location where SageMaker saves the results of a monitoring job.", + "markdownDescription": "A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.", "title": "S3Uri", "type": "string" } @@ -368669,42 +338240,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { - "additionalProperties": false, - "properties": { - "DataAnalysisEndTime": { - "markdownDescription": "Sets the end time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to end the window one hour before the start of each monitoring job, you would specify: `\"-PT1H\"` .\n\nThe end time that you specify must not follow the start time that you specify by more than 24 hours. You specify the start time with the `DataAnalysisStartTime` parameter.\n\nIf you set `ScheduleExpression` to `NOW` , this parameter is required.", - "title": "DataAnalysisEndTime", - "type": "string" - }, - "DataAnalysisStartTime": { - "markdownDescription": "Sets the start time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to monitor the five hours of data in your dataset that precede the start of each monitoring job, you would specify: `\"-PT5H\"` .\n\nThe start time that you specify must not precede the end time that you specify by more than 24 hours. You specify the end time with the `DataAnalysisEndTime` parameter.\n\nIf you set `ScheduleExpression` to `NOW` , this parameter is required.", - "title": "DataAnalysisStartTime", - "type": "string" - }, - "ScheduleExpression": { - "markdownDescription": "A cron expression that describes details about the monitoring schedule.\n\nThe supported cron expressions are:\n\n- If you want to set the job to start every hour, use the following:\n\n`Hourly: cron(0 * ? * * *)`\n- If you want to start the job daily:\n\n`cron(0 [00-23] ? * * *)`\n- If you want to run the job one time, immediately, use the following keyword:\n\n`NOW`\n\nFor example, the following are valid cron expressions:\n\n- Daily at noon UTC: `cron(0 12 ? * * *)`\n- Daily at midnight UTC: `cron(0 0 ? * * *)`\n\nTo support running every 6, 12 hours, the following are also supported:\n\n`cron(0 [00-23]/[01-24] ? * * *)`\n\nFor example, the following are valid cron expressions:\n\n- Every 12 hours, starting at 5pm UTC: `cron(0 17/12 ? * * *)`\n- Every two hours starting at midnight: `cron(0 0/2 ? * * *)`\n\n> - Even though the cron expression is set to start at 5PM UTC, note that there could be a delay of 0-20 minutes from the actual requested time to run the execution.\n> - We recommend that if you would like a daily schedule, you do not provide this parameter. Amazon SageMaker AI will pick a time for running every day. \n\nYou can also specify the keyword `NOW` to run the monitoring job immediately, one time, without recurring.", - "title": "ScheduleExpression", - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "markdownDescription": "The S3 URI for the statistics resource.", - "title": "S3Uri", - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { "MaxRuntimeInSeconds": { @@ -368718,7 +338254,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -368744,102 +338280,7 @@ ], "type": "object" }, - "AWS::SageMaker::MonitoringScheduleAlert": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatapointsToAlert": { - "type": "number" - }, - "EvaluationPeriod": { - "type": "number" - }, - "MonitoringAlertName": { - "type": "string" - }, - "MonitoringScheduleName": { - "type": "string" - } - }, - "required": [ - "DatapointsToAlert", - "EvaluationPeriod", - "MonitoringAlertName", - "MonitoringScheduleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::MonitoringScheduleAlert" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringScheduleAlert.ModelDashboardIndicatorAction": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringScheduleAlert.MonitoringAlertActions": { - "additionalProperties": false, - "properties": { - "ModelDashboardIndicator": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringScheduleAlert.ModelDashboardIndicatorAction" - } - }, - "type": "object" - }, - "AWS::SageMaker::NotebookInstance": { + "AWS::SageMaker::ModelPackage": { "additionalProperties": false, "properties": { "Condition": { @@ -368874,108 +338315,157 @@ "Properties": { "additionalProperties": false, "properties": { - "AcceleratorTypes": { + "AdditionalInferenceSpecifications": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition" }, - "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", + "markdownDescription": "An array of additional Inference Specification objects.", + "title": "AdditionalInferenceSpecifications", "type": "array" }, - "AdditionalCodeRepositories": { + "AdditionalInferenceSpecificationsToAdd": { "items": { - "type": "string" + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition" }, - "markdownDescription": "An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .", - "title": "AdditionalCodeRepositories", + "markdownDescription": "An array of additional Inference Specification objects to be added to the existing array. The total number of additional Inference Specification objects cannot exceed 15. Each additional Inference Specification object specifies artifacts based on this model package that can be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.", + "title": "AdditionalInferenceSpecificationsToAdd", "type": "array" }, - "DefaultCodeRepository": { - "markdownDescription": "The Git repository associated with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .", - "title": "DefaultCodeRepository", + "ApprovalDescription": { + "markdownDescription": "A description provided when the model approval is set.", + "title": "ApprovalDescription", "type": "string" }, - "DirectInternetAccess": { - "markdownDescription": "Sets whether SageMaker AI provides internet access to the notebook instance. If you set this to `Disabled` this notebook instance is able to access resources only in your VPC, and is not be able to connect to SageMaker AI training and endpoint services unless you configure a NAT Gateway in your VPC.\n\nFor more information, see [Notebook Instances Are Internet-Enabled by Default](https://docs.aws.amazon.com/sagemaker/latest/dg/appendix-additional-considerations.html#appendix-notebook-and-internet-access) . You can set the value of this parameter to `Disabled` only if you set a value for the `SubnetId` parameter.", - "title": "DirectInternetAccess", + "CertifyForMarketplace": { + "markdownDescription": "Whether the model package is to be certified to be listed on AWS Marketplace. For information about listing model packages on AWS Marketplace, see [List Your Algorithm or Model Package on AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-mkt-list.html) .", + "title": "CertifyForMarketplace", + "type": "boolean" + }, + "ClientToken": { + "markdownDescription": "A unique token that guarantees that the call to this API is idempotent.", + "title": "ClientToken", "type": "string" }, - "InstanceMetadataServiceConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration", - "markdownDescription": "Information on the IMDS configuration of the notebook instance", - "title": "InstanceMetadataServiceConfiguration" + "CustomerMetadataProperties": { + "additionalProperties": true, + "markdownDescription": "The metadata properties for the model package.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "CustomerMetadataProperties", + "type": "object" }, - "InstanceType": { - "markdownDescription": "The type of ML compute instance to launch for the notebook instance.\n\n> Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.", - "title": "InstanceType", + "Domain": { + "markdownDescription": "The machine learning domain of your model package and its components. Common machine learning domains include computer vision and natural language processing.", + "title": "Domain", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "The Amazon Resource Name (ARN) of a AWS Key Management Service key that SageMaker AI uses to encrypt data on the storage volume attached to your notebook instance. The KMS key you provide must be enabled. For information, see [Enabling and Disabling Keys](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) in the *AWS Key Management Service Developer Guide* .", - "title": "KmsKeyId", + "DriftCheckBaselines": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckBaselines", + "markdownDescription": "Represents the drift check baselines that can be used when the model monitor is set using the model package.", + "title": "DriftCheckBaselines" + }, + "InferenceSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.InferenceSpecification", + "markdownDescription": "Defines how to perform inference generation after a training job is run.", + "title": "InferenceSpecification" + }, + "MetadataProperties": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetadataProperties", + "markdownDescription": "Metadata properties of the tracking entity, trial, or trial component.", + "title": "MetadataProperties" + }, + "ModelApprovalStatus": { + "markdownDescription": "The approval status of the model. This can be one of the following values.\n\n- `APPROVED` - The model is approved\n- `REJECTED` - The model is rejected.\n- `PENDING_MANUAL_APPROVAL` - The model is waiting for manual approval.", + "title": "ModelApprovalStatus", "type": "string" }, - "LifecycleConfigName": { - "markdownDescription": "The name of a lifecycle configuration to associate with the notebook instance. For information about lifecycle configurations, see [Customize a Notebook Instance](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) in the *Amazon SageMaker Developer Guide* .", - "title": "LifecycleConfigName", + "ModelCard": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelCard", + "markdownDescription": "An Amazon SageMaker Model Card.", + "title": "ModelCard" + }, + "ModelMetrics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelMetrics", + "markdownDescription": "Metrics for the model.", + "title": "ModelMetrics" + }, + "ModelPackageDescription": { + "markdownDescription": "The description of the model package.", + "title": "ModelPackageDescription", "type": "string" }, - "NotebookInstanceName": { - "markdownDescription": "The name of the new notebook instance.", - "title": "NotebookInstanceName", + "ModelPackageGroupName": { + "markdownDescription": "The model group to which the model belongs.", + "title": "ModelPackageGroupName", "type": "string" }, - "PlatformIdentifier": { - "markdownDescription": "The platform identifier of the notebook instance runtime environment. The default value is `notebook-al2-v2` .", - "title": "PlatformIdentifier", + "ModelPackageName": { + "markdownDescription": "The name of the model package. The name can be as follows:\n\n- For a versioned model, the name is automatically generated by SageMaker Model Registry and follows the format ' `ModelPackageGroupName/ModelPackageVersion` '.\n- For an unversioned model, you must provide the name.", + "title": "ModelPackageName", "type": "string" }, - "RoleArn": { - "markdownDescription": "When you send any requests to AWS resources from the notebook instance, SageMaker AI assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so SageMaker AI can perform these tasks. The policy must allow the SageMaker AI service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see [SageMaker AI Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .\n\n> To be able to pass this role to SageMaker AI, the caller of this API must have the `iam:PassRole` permission.", - "title": "RoleArn", + "ModelPackageStatusDetails": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageStatusDetails", + "markdownDescription": "Specifies the validation and image scan statuses of the model package.", + "title": "ModelPackageStatusDetails" + }, + "ModelPackageVersion": { + "markdownDescription": "The version number of a versioned model.", + "title": "ModelPackageVersion", + "type": "number" + }, + "SamplePayloadUrl": { + "markdownDescription": "The Amazon Simple Storage Service path where the sample payload are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).", + "title": "SamplePayloadUrl", "type": "string" }, - "RootAccess": { - "markdownDescription": "Whether root access is enabled or disabled for users of the notebook instance. The default value is `Enabled` .\n\n> Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.", - "title": "RootAccess", + "SecurityConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SecurityConfig", + "markdownDescription": "", + "title": "SecurityConfig" + }, + "SkipModelValidation": { + "markdownDescription": "Indicates if you want to skip model validation.", + "title": "SkipModelValidation", "type": "string" }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "markdownDescription": "The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.", - "title": "SecurityGroupIds", - "type": "array" + "SourceAlgorithmSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SourceAlgorithmSpecification", + "markdownDescription": "A list of algorithms that were used to create a model package.", + "title": "SourceAlgorithmSpecification" }, - "SubnetId": { - "markdownDescription": "The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.", - "title": "SubnetId", + "SourceUri": { + "markdownDescription": "The URI of the source for the model package.", + "title": "SourceUri", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .\n\nYou can add tags later by using the `CreateTags` API.", + "markdownDescription": "A list of the tags associated with the model package. For more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference Guide* .", "title": "Tags", "type": "array" }, - "VolumeSizeInGB": { - "markdownDescription": "The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.\n\n> Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.", - "title": "VolumeSizeInGB", - "type": "number" + "Task": { + "markdownDescription": "The machine learning task your model package accomplishes. Common machine learning tasks include object detection and image classification.", + "title": "Task", + "type": "string" + }, + "ValidationSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ValidationSpecification", + "markdownDescription": "Specifies batch transform jobs that SageMaker runs to validate your model package.", + "title": "ValidationSpecification" } }, - "required": [ - "InstanceType", - "RoleArn" - ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::NotebookInstance" + "AWS::SageMaker::ModelPackage" ], "type": "string" }, @@ -368989,686 +338479,838 @@ } }, "required": [ - "Type", - "Properties" + "Type" ], "type": "object" }, - "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { + "AWS::SageMaker::ModelPackage.AdditionalInferenceSpecificationDefinition": { "additionalProperties": false, "properties": { - "MinimumInstanceMetadataServiceVersion": { - "markdownDescription": "Indicates the minimum IMDS version that the notebook instance supports. When passed as part of `CreateNotebookInstance` , if no value is selected, then it defaults to IMDSv1. This means that both IMDSv1 and IMDSv2 are supported. If passed as part of `UpdateNotebookInstance` , there is no default.", - "title": "MinimumInstanceMetadataServiceVersion", + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition" + }, + "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", + "title": "Containers", + "type": "array" + }, + "Description": { + "markdownDescription": "A description of the additional Inference specification", + "title": "Description", + "type": "string" + }, + "Name": { + "markdownDescription": "A unique name to identify the additional inference specification. The name must be unique within the list of your additional inference specifications for a particular model package.", + "title": "Name", "type": "string" + }, + "SupportedContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported MIME types for the input data.", + "title": "SupportedContentTypes", + "type": "array" + }, + "SupportedRealtimeInferenceInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the instance types that are used to generate inferences in real-time.", + "title": "SupportedRealtimeInferenceInstanceTypes", + "type": "array" + }, + "SupportedResponseMIMETypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported MIME types for the output data.", + "title": "SupportedResponseMIMETypes", + "type": "array" + }, + "SupportedTransformInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.", + "title": "SupportedTransformInstanceTypes", + "type": "array" } }, "required": [ - "MinimumInstanceMetadataServiceVersion" + "Containers", + "Name" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "AWS::SageMaker::ModelPackage.Bias": { "additionalProperties": false, "properties": { - "Condition": { - "type": "string" + "PostTrainingReport": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The post-training bias report for a model.", + "title": "PostTrainingReport" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" + "PreTrainingReport": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The pre-training bias report for a model.", + "title": "PreTrainingReport" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "Report": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The bias report for a model", + "title": "Report" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.S3DataSource", + "markdownDescription": "The S3 location of the data source that is associated with a channel.", + "title": "S3DataSource" + } + }, + "required": [ + "S3DataSource" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckBaselines": { + "additionalProperties": false, + "properties": { + "Bias": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckBias", + "markdownDescription": "Represents the drift check bias baselines that can be used when the model monitor is set using the model package.", + "title": "Bias" }, - "Metadata": { - "type": "object" + "Explainability": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckExplainability", + "markdownDescription": "Represents the drift check explainability baselines that can be used when the model monitor is set using the model package.", + "title": "Explainability" }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotebookInstanceLifecycleConfigName": { - "markdownDescription": "The name of the lifecycle configuration.", - "title": "NotebookInstanceLifecycleConfigName", - "type": "string" - }, - "OnCreate": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "markdownDescription": "A shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.", - "title": "OnCreate", - "type": "array" - }, - "OnStart": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "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" - } - }, - "type": "object" + "ModelDataQuality": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckModelDataQuality", + "markdownDescription": "Represents the drift check model data quality baselines that can be used when the model monitor is set using the model package.", + "title": "ModelDataQuality" }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" - ], + "ModelQuality": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DriftCheckModelQuality", + "markdownDescription": "Represents the drift check model quality baselines that can be used when the model monitor is set using the model package.", + "title": "ModelQuality" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckBias": { + "additionalProperties": false, + "properties": { + "ConfigFile": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.FileSource", + "markdownDescription": "The bias config file for a model.", + "title": "ConfigFile" + }, + "PostTrainingConstraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The post-training constraints.", + "title": "PostTrainingConstraints" + }, + "PreTrainingConstraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The pre-training constraints.", + "title": "PreTrainingConstraints" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckExplainability": { + "additionalProperties": false, + "properties": { + "ConfigFile": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.FileSource", + "markdownDescription": "The explainability config file for the model.", + "title": "ConfigFile" + }, + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check explainability constraints.", + "title": "Constraints" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckModelDataQuality": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check model data quality constraints.", + "title": "Constraints" + }, + "Statistics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check model data quality statistics.", + "title": "Statistics" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.DriftCheckModelQuality": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check model quality constraints.", + "title": "Constraints" + }, + "Statistics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The drift check model quality statistics.", + "title": "Statistics" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.Explainability": { + "additionalProperties": false, + "properties": { + "Report": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "The explainability report for a model.", + "title": "Report" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.FileSource": { + "additionalProperties": false, + "properties": { + "ContentDigest": { + "markdownDescription": "The digest of the file source.", + "title": "ContentDigest", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentType": { + "markdownDescription": "The type of content stored in the file source.", + "title": "ContentType", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the file source.", + "title": "S3Uri", "type": "string" } }, "required": [ - "Type" + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "AWS::SageMaker::ModelPackage.InferenceSpecification": { "additionalProperties": false, "properties": { - "Content": { - "markdownDescription": "A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.", - "title": "Content", - "type": "string" + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition" + }, + "markdownDescription": "The Amazon ECR registry path of the Docker image that contains the inference code.", + "title": "Containers", + "type": "array" + }, + "SupportedContentTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported MIME types for the input data.", + "title": "SupportedContentTypes", + "type": "array" + }, + "SupportedRealtimeInferenceInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the instance types that are used to generate inferences in real-time.\n\nThis parameter is required for unversioned models, and optional for versioned models.", + "title": "SupportedRealtimeInferenceInstanceTypes", + "type": "array" + }, + "SupportedResponseMIMETypes": { + "items": { + "type": "string" + }, + "markdownDescription": "The supported MIME types for the output data.", + "title": "SupportedResponseMIMETypes", + "type": "array" + }, + "SupportedTransformInstanceTypes": { + "items": { + "type": "string" + }, + "markdownDescription": "A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.\n\nThis parameter is required for unversioned models, and optional for versioned models.", + "title": "SupportedTransformInstanceTypes", + "type": "array" } }, + "required": [ + "Containers", + "SupportedContentTypes", + "SupportedResponseMIMETypes" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob": { + "AWS::SageMaker::ModelPackage.MetadataProperties": { "additionalProperties": false, "properties": { - "Condition": { + "CommitId": { + "markdownDescription": "The commit ID.", + "title": "CommitId", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "GeneratedBy": { + "markdownDescription": "The entity this entity was generated by.", + "title": "GeneratedBy", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "ProjectId": { + "markdownDescription": "The project ID.", + "title": "ProjectId", + "type": "string" }, - "Metadata": { - "type": "object" + "Repository": { + "markdownDescription": "The repository.", + "title": "Repository", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.MetricsSource": { + "additionalProperties": false, + "properties": { + "ContentDigest": { + "markdownDescription": "The hash key used for the metrics source.", + "title": "ContentDigest", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentInstanceType": { - "type": "string" - }, - "ModelSource": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationJobModelSource" - }, - "OptimizationConfigs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationConfig" - }, - "type": "array" - }, - "OptimizationEnvironment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OptimizationJobName": { - "type": "string" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationJobOutputConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationVpcConfig" - } - }, - "required": [ - "DeploymentInstanceType", - "ModelSource", - "OptimizationConfigs", - "OptimizationJobName", - "OutputConfig", - "RoleArn", - "StoppingCondition" - ], - "type": "object" + "ContentType": { + "markdownDescription": "The metric source content type.", + "title": "ContentType", + "type": "string" }, - "Type": { - "enum": [ - "AWS::SageMaker::OptimizationJob" - ], + "S3Uri": { + "markdownDescription": "The S3 URI for the metrics source.", + "title": "S3Uri", + "type": "string" + } + }, + "required": [ + "ContentType", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelAccessConfig": { + "additionalProperties": false, + "properties": { + "AcceptEula": { + "markdownDescription": "Specifies agreement to the model end-user license agreement (EULA). The `AcceptEula` value must be explicitly defined as `True` in order to accept the EULA that this model requires. You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", + "title": "AcceptEula", + "type": "boolean" + } + }, + "required": [ + "AcceptEula" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelCard": { + "additionalProperties": false, + "properties": { + "ModelCardContent": { + "markdownDescription": "", + "title": "ModelCardContent", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ModelCardStatus": { + "markdownDescription": "The approval status of the model card within your organization. Different organizations might have different criteria for model card review and approval.\n\n- `Draft` : The model card is a work in progress.\n- `PendingReview` : The model card is pending review.\n- `Approved` : The model card is approved.\n- `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.", + "title": "ModelCardStatus", + "type": "string" + } + }, + "required": [ + "ModelCardContent", + "ModelCardStatus" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelDataQuality": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "Data quality constraints for a model.", + "title": "Constraints" + }, + "Statistics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "Data quality statistics for a model.", + "title": "Statistics" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelDataSource": { + "additionalProperties": false, + "properties": { + "S3DataSource": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.S3ModelDataSource", + "markdownDescription": "Specifies the S3 location of ML model data to deploy.", + "title": "S3DataSource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelPackage.ModelInput": { + "additionalProperties": false, + "properties": { + "DataInputConfig": { + "markdownDescription": "The input configuration object for the model.", + "title": "DataInputConfig", "type": "string" } }, "required": [ - "Type", - "Properties" + "DataInputConfig" ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.ModelCompilationConfig": { + "AWS::SageMaker::ModelPackage.ModelMetrics": { "additionalProperties": false, "properties": { - "Image": { - "type": "string" + "Bias": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.Bias", + "markdownDescription": "Metrics that measure bias in a model.", + "title": "Bias" }, - "OverrideEnvironment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "Explainability": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.Explainability", + "markdownDescription": "Metrics that help explain a model.", + "title": "Explainability" + }, + "ModelDataQuality": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelDataQuality", + "markdownDescription": "Metrics that measure the quality of the input data for a model.", + "title": "ModelDataQuality" + }, + "ModelQuality": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelQuality", + "markdownDescription": "Metrics that measure the quality of a model.", + "title": "ModelQuality" } }, "type": "object" }, - "AWS::SageMaker::OptimizationJob.ModelQuantizationConfig": { + "AWS::SageMaker::ModelPackage.ModelPackageContainerDefinition": { "additionalProperties": false, "properties": { - "Image": { + "ContainerHostname": { + "markdownDescription": "The DNS host name for the Docker container.", + "title": "ContainerHostname", "type": "string" }, - "OverrideEnvironment": { + "Environment": { "additionalProperties": true, + "markdownDescription": "The environment variables to set in the Docker container. Each key and value in the `Environment` string to string map can have length of up to 1024. We support up to 16 entries in the map.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "Environment", "type": "object" + }, + "Framework": { + "markdownDescription": "The machine learning framework of the model package container image.", + "title": "Framework", + "type": "string" + }, + "FrameworkVersion": { + "markdownDescription": "The framework version of the Model Package Container Image.", + "title": "FrameworkVersion", + "type": "string" + }, + "Image": { + "markdownDescription": "The Amazon Elastic Container Registry (Amazon ECR) path where inference code is stored.\n\nIf you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .", + "title": "Image", + "type": "string" + }, + "ImageDigest": { + "markdownDescription": "An MD5 hash of the training algorithm that identifies the Docker image used for training.", + "title": "ImageDigest", + "type": "string" + }, + "ModelDataSource": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelDataSource", + "markdownDescription": "Specifies the location of ML model data to deploy during endpoint creation.", + "title": "ModelDataSource" + }, + "ModelDataUrl": { + "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same region as the model package.", + "title": "ModelDataUrl", + "type": "string" + }, + "ModelInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelInput", + "markdownDescription": "A structure with Model Input details.", + "title": "ModelInput" + }, + "NearestModelName": { + "markdownDescription": "The name of a pre-trained machine learning benchmarked by Amazon SageMaker Inference Recommender model that matches your model. You can find a list of benchmarked models by calling `ListModelMetadata` .", + "title": "NearestModelName", + "type": "string" } }, + "required": [ + "Image" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.ModelShardingConfig": { + "AWS::SageMaker::ModelPackage.ModelPackageStatusDetails": { "additionalProperties": false, "properties": { - "Image": { - "type": "string" - }, - "OverrideEnvironment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } + "ValidationStatuses": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelPackageStatusItem" }, - "type": "object" + "markdownDescription": "The validation status of the model package.", + "title": "ValidationStatuses", + "type": "array" } }, "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationConfig": { + "AWS::SageMaker::ModelPackage.ModelPackageStatusItem": { "additionalProperties": false, "properties": { - "ModelCompilationConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.ModelCompilationConfig" + "FailureReason": { + "markdownDescription": "if the overall status is `Failed` , the reason for the failure.", + "title": "FailureReason", + "type": "string" }, - "ModelQuantizationConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.ModelQuantizationConfig" + "Name": { + "markdownDescription": "The name of the model package for which the overall status is being reported.", + "title": "Name", + "type": "string" }, - "ModelShardingConfig": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.ModelShardingConfig" + "Status": { + "markdownDescription": "The current status.", + "title": "Status", + "type": "string" } }, + "required": [ + "Name", + "Status" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationJobModelSource": { + "AWS::SageMaker::ModelPackage.ModelQuality": { "additionalProperties": false, "properties": { - "S3": { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob.OptimizationJobModelSourceS3" + "Constraints": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "Model quality constraints.", + "title": "Constraints" + }, + "Statistics": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.MetricsSource", + "markdownDescription": "Model quality statistics.", + "title": "Statistics" } }, "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationJobModelSourceS3": { + "AWS::SageMaker::ModelPackage.S3DataSource": { "additionalProperties": false, "properties": { + "S3DataType": { + "markdownDescription": "If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training.\n\nIf you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.\n\nIf you choose `AugmentedManifestFile` , `S3Uri` identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .\n\nIf you choose `Converse` , `S3Uri` identifies an Amazon S3 location that contains data formatted according to Converse format. This format structures conversational messages with specific roles and content types used for training and fine-tuning foundational models.", + "title": "S3DataType", + "type": "string" + }, "S3Uri": { + "markdownDescription": "Depending on the value specified for the `S3DataType` , identifies either a key name prefix or a manifest. For example:\n\n- A key name prefix might look like this: `s3://bucketname/exampleprefix/`\n- A manifest might look like this: `s3://bucketname/example.manifest`\n\nA manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.\n\nThe following code example shows a valid manifest format:\n\n`[ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},`\n\n`\"relative/path/to/custdata-1\",`\n\n`\"relative/path/custdata-2\",`\n\n`...`\n\n`\"relative/path/custdata-N\"`\n\n`]`\n\nThis JSON is equivalent to the following `S3Uri` list:\n\n`s3://customer_bucket/some/prefix/relative/path/to/custdata-1`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-2`\n\n`...`\n\n`s3://customer_bucket/some/prefix/relative/path/custdata-N`\n\nThe complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.\n\nYour input bucket must be located in same AWS region as your training job.", + "title": "S3Uri", "type": "string" } }, + "required": [ + "S3DataType", + "S3Uri" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationJobOutputConfig": { + "AWS::SageMaker::ModelPackage.S3ModelDataSource": { "additionalProperties": false, "properties": { - "KmsKeyId": { + "CompressionType": { + "markdownDescription": "Specifies how the ML model data is prepared.\n\nIf you choose `Gzip` and choose `S3Object` as the value of `S3DataType` , `S3Uri` identifies an object that is a gzip-compressed TAR archive. SageMaker will attempt to decompress and untar the object during model deployment.\n\nIf you choose `None` and chooose `S3Object` as the value of `S3DataType` , `S3Uri` identifies an object that represents an uncompressed ML model to deploy.\n\nIf you choose None and choose `S3Prefix` as the value of `S3DataType` , `S3Uri` identifies a key name prefix, under which all objects represents the uncompressed ML model to deploy.\n\nIf you choose None, then SageMaker will follow rules below when creating model data files under /opt/ml/model directory for use by your inference code:\n\n- If you choose `S3Object` as the value of `S3DataType` , then SageMaker will split the key of the S3 object referenced by `S3Uri` by slash (/), and use the last part as the filename of the file holding the content of the S3 object.\n- If you choose `S3Prefix` as the value of `S3DataType` , then for each S3 object under the key name pefix referenced by `S3Uri` , SageMaker will trim its key by the prefix, and use the remainder as the path (relative to `/opt/ml/model` ) of the file holding the content of the S3 object. SageMaker will split the remainder by slash (/), using intermediate parts as directory names and the last part as filename of the file holding the content of the S3 object.\n- Do not use any of the following as file names or directory names:\n\n- An empty or blank string\n- A string which contains null bytes\n- A string longer than 255 bytes\n- A single dot ( `.` )\n- A double dot ( `..` )\n- Ambiguous file names will result in model deployment failure. For example, if your uncompressed ML model consists of two S3 objects `s3://mybucket/model/weights` and `s3://mybucket/model/weights/part1` and you specify `s3://mybucket/model/` as the value of `S3Uri` and `S3Prefix` as the value of `S3DataType` , then it will result in name clash between `/opt/ml/model/weights` (a regular file) and `/opt/ml/model/weights/` (a directory).\n- Do not organize the model artifacts in [S3 console using folders](https://docs.aws.amazon.com//AmazonS3/latest/userguide/using-folders.html) . When you create a folder in S3 console, S3 creates a 0-byte object with a key set to the folder name you provide. They key of the 0-byte object ends with a slash (/) which violates SageMaker restrictions on model artifact file names, leading to model deployment failure.", + "title": "CompressionType", "type": "string" }, - "S3OutputLocation": { + "ModelAccessConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ModelAccessConfig", + "markdownDescription": "Specifies the access configuration file for the ML model. You can explicitly accept the model end-user license agreement (EULA) within the `ModelAccessConfig` . You are responsible for reviewing and complying with any applicable license terms and making sure they are acceptable for your use case before downloading or using a model.", + "title": "ModelAccessConfig" + }, + "S3DataType": { + "markdownDescription": "Specifies the type of ML model data to deploy.\n\nIf you choose `S3Prefix` , `S3Uri` identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix as part of the ML model data to deploy. A valid key name prefix identified by `S3Uri` always ends with a forward slash (/).\n\nIf you choose `S3Object` , `S3Uri` identifies an object that is the ML model data to deploy.", + "title": "S3DataType", + "type": "string" + }, + "S3Uri": { + "markdownDescription": "Specifies the S3 path of ML model data to deploy.", + "title": "S3Uri", "type": "string" } }, + "required": [ + "CompressionType", + "S3DataType", + "S3Uri" + ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.OptimizationVpcConfig": { + "AWS::SageMaker::ModelPackage.SecurityConfig": { "additionalProperties": false, "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" + "KmsKeyId": { + "markdownDescription": "", + "title": "KmsKeyId", + "type": "string" + } + }, + "required": [ + "KmsKeyId" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackage.SourceAlgorithm": { + "additionalProperties": false, + "properties": { + "AlgorithmName": { + "markdownDescription": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.", + "title": "AlgorithmName", + "type": "string" }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" + "ModelDataUrl": { + "markdownDescription": "The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).\n\n> The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.", + "title": "ModelDataUrl", + "type": "string" } }, "required": [ - "SecurityGroupIds", - "Subnets" + "AlgorithmName" ], "type": "object" }, - "AWS::SageMaker::OptimizationJob.StoppingCondition": { + "AWS::SageMaker::ModelPackage.SourceAlgorithmSpecification": { "additionalProperties": false, "properties": { - "MaxRuntimeInSeconds": { - "type": "number" + "SourceAlgorithms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.SourceAlgorithm" + }, + "markdownDescription": "A list of the algorithms that were used to create a model package.", + "title": "SourceAlgorithms", + "type": "array" } }, + "required": [ + "SourceAlgorithms" + ], "type": "object" }, - "AWS::SageMaker::PartnerApp": { + "AWS::SageMaker::ModelPackage.TransformInput": { "additionalProperties": false, "properties": { - "Condition": { + "CompressionType": { + "markdownDescription": "If your transform data is compressed, specify the compression type. Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is `None` .", + "title": "CompressionType", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ContentType": { + "markdownDescription": "The multipurpose internet mail extension (MIME) type of the data. Amazon SageMaker uses the MIME type with each http call to transfer data to the transform job.", + "title": "ContentType", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppVersion": { - "markdownDescription": "", - "title": "AppVersion", - "type": "string" - }, - "ApplicationConfig": { - "$ref": "#/definitions/AWS::SageMaker::PartnerApp.PartnerAppConfig", - "markdownDescription": "Configuration settings for the Partner AI App.", - "title": "ApplicationConfig" - }, - "AuthType": { - "markdownDescription": "Defines the authentication type used for the Partner AI App.", - "title": "AuthType", - "type": "string" - }, - "EnableAutoMinorVersionUpgrade": { - "markdownDescription": "", - "title": "EnableAutoMinorVersionUpgrade", - "type": "boolean" - }, - "EnableIamSessionBasedIdentity": { - "markdownDescription": "Enables IAM Session based Identity for PartnerApp.", - "title": "EnableIamSessionBasedIdentity", - "type": "boolean" - }, - "ExecutionRoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role of the user.", - "title": "ExecutionRoleArn", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The AWS KMS customer managed key used to encrypt the data associated with the PartnerApp.", - "title": "KmsKeyId", - "type": "string" - }, - "MaintenanceConfig": { - "$ref": "#/definitions/AWS::SageMaker::PartnerApp.PartnerAppMaintenanceConfig", - "markdownDescription": "A collection of settings that specify the maintenance schedule for the PartnerApp.", - "title": "MaintenanceConfig" - }, - "Name": { - "markdownDescription": "The name of the Partner AI App. This name must be unique within your account and region.", - "title": "Name", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "A list of tags to apply to the PartnerApp.", - "title": "Tags", - "type": "array" - }, - "Tier": { - "markdownDescription": "Specifies the tier or level of the Partner AI App. The tier size impacts the speed and capabilities of the application. For more information, see [Set up Partner AI Apps](https://docs.aws.amazon.com/sagemaker/latest/dg/partner-app-onboard.html) .", - "title": "Tier", - "type": "string" - }, - "Type": { - "markdownDescription": "Specifies the type of Partner AI App being created.", - "title": "Type", - "type": "string" - } - }, - "required": [ - "AuthType", - "ExecutionRoleArn", - "Name", - "Tier", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::PartnerApp" - ], - "type": "string" + "DataSource": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.DataSource", + "markdownDescription": "Describes the location of the channel data, which is, the S3 location of the input data that the model can consume.", + "title": "DataSource" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "SplitType": { + "markdownDescription": "The method to use to split the transform job's data files into smaller batches. Splitting is necessary when the total size of each object is too large to fit in a single request. You can also use data splitting to improve performance by processing multiple concurrent mini-batches. The default value for `SplitType` is `None` , which indicates that input data files are not split, and request payloads contain the entire contents of an input object. Set the value of this parameter to `Line` to split records on a newline character boundary. `SplitType` also supports a number of record-oriented binary data formats. Currently, the supported record formats are:\n\n- RecordIO\n- TFRecord\n\nWhen splitting is enabled, the size of a mini-batch depends on the values of the `BatchStrategy` and `MaxPayloadInMB` parameters. When the value of `BatchStrategy` is `MultiRecord` , Amazon SageMaker sends the maximum number of records in each request, up to the `MaxPayloadInMB` limit. If the value of `BatchStrategy` is `SingleRecord` , Amazon SageMaker sends individual records in each request.\n\n> Some data formats represent a record as a binary payload wrapped with extra padding bytes. When splitting is applied to a binary data format, padding is removed if the value of `BatchStrategy` is set to `SingleRecord` . Padding is not removed if the value of `BatchStrategy` is set to `MultiRecord` .\n> \n> For more information about `RecordIO` , see [Create a Dataset Using RecordIO](https://docs.aws.amazon.com/https://mxnet.apache.org/api/faq/recordio) in the MXNet documentation. For more information about `TFRecord` , see [Consuming TFRecord data](https://docs.aws.amazon.com/https://www.tensorflow.org/guide/data#consuming_tfrecord_data) in the TensorFlow documentation.", + "title": "SplitType", "type": "string" } }, "required": [ - "Type", - "Properties" + "DataSource" ], "type": "object" }, - "AWS::SageMaker::PartnerApp.PartnerAppConfig": { + "AWS::SageMaker::ModelPackage.TransformJobDefinition": { "additionalProperties": false, "properties": { - "AdminUsers": { - "items": { - "type": "string" - }, - "markdownDescription": "A list of users that will have administrative access to the Partner AI App.", - "title": "AdminUsers", - "type": "array" + "BatchStrategy": { + "markdownDescription": "A string that determines the number of records included in a single mini-batch.\n\n`SingleRecord` means only one record is used per mini-batch. `MultiRecord` means a mini-batch is set to contain as many records that can fit within the `MaxPayloadInMB` limit.", + "title": "BatchStrategy", + "type": "string" }, - "Arguments": { + "Environment": { "additionalProperties": true, - "markdownDescription": "Additional arguments passed to the Partner AI App during initialization or runtime.", + "markdownDescription": "The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, - "title": "Arguments", + "title": "Environment", "type": "object" - } - }, - "type": "object" - }, - "AWS::SageMaker::PartnerApp.PartnerAppMaintenanceConfig": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowStart": { - "markdownDescription": "The maintenance window start day and time for the PartnerApp.", - "title": "MaintenanceWindowStart", - "type": "string" + }, + "MaxConcurrentTransforms": { + "markdownDescription": "The maximum number of parallel requests that can be sent to each instance in a transform job. The default value is 1.", + "title": "MaxConcurrentTransforms", + "type": "number" + }, + "MaxPayloadInMB": { + "markdownDescription": "The maximum payload size allowed, in MB. A payload is the data portion of a record (without metadata).", + "title": "MaxPayloadInMB", + "type": "number" + }, + "TransformInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformInput", + "markdownDescription": "A description of the input source and the way the transform job consumes it.", + "title": "TransformInput" + }, + "TransformOutput": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformOutput", + "markdownDescription": "Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.", + "title": "TransformOutput" + }, + "TransformResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformResources", + "markdownDescription": "Identifies the ML compute instances for the transform job.", + "title": "TransformResources" } }, "required": [ - "MaintenanceWindowStart" + "TransformInput", + "TransformOutput", + "TransformResources" ], "type": "object" }, - "AWS::SageMaker::Pipeline": { + "AWS::SageMaker::ModelPackage.TransformOutput": { "additionalProperties": false, "properties": { - "Condition": { + "Accept": { + "markdownDescription": "The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http call to transfer data from the transform job.", + "title": "Accept", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "AssembleWith": { + "markdownDescription": "Defines how to assemble the results of the transform job as a single S3 object. Choose a format that is most convenient to you. To concatenate the results in binary format, specify `None` . To add a newline character at the end of every transformed record, specify `Line` .", + "title": "AssembleWith", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Pipeline.ParallelismConfiguration", - "markdownDescription": "The parallelism configuration applied to the pipeline.", - "title": "ParallelismConfiguration" - }, - "PipelineDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Pipeline.PipelineDefinition", - "markdownDescription": "The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.", - "title": "PipelineDefinition" - }, - "PipelineDescription": { - "markdownDescription": "The description of the pipeline.", - "title": "PipelineDescription", - "type": "string" - }, - "PipelineDisplayName": { - "markdownDescription": "The display name of the pipeline.", - "title": "PipelineDisplayName", - "type": "string" - }, - "PipelineName": { - "markdownDescription": "The name of the pipeline.", - "title": "PipelineName", - "type": "string" - }, - "RoleArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role used to execute the pipeline.", - "title": "RoleArn", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags of the pipeline.", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "PipelineDefinition", - "PipelineName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Pipeline" - ], + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The `KmsKeyId` can be any of the following formats:\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`\n\nIf you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see [KMS-Managed Encryption Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the *Amazon Simple Storage Service Developer Guide.*\n\nThe KMS key policy must grant permission to the IAM role that you specify in your [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see [Using Key Policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "S3OutputPath": { + "markdownDescription": "The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, `s3://bucket-name/key-name-prefix` .\n\nFor every S3 object used as input for the transform job, batch transform stores the transformed data with an . `out` suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at `s3://bucket-name/input-name-prefix/dataset01/data.csv` , batch transform stores the transformed data at `s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out` . Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an . `out` file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.", + "title": "S3OutputPath", "type": "string" } }, "required": [ - "Type", - "Properties" + "S3OutputPath" ], "type": "object" }, - "AWS::SageMaker::Pipeline.ParallelismConfiguration": { + "AWS::SageMaker::ModelPackage.TransformResources": { "additionalProperties": false, "properties": { - "MaxParallelExecutionSteps": { - "markdownDescription": "The max number of steps that can be executed in parallel.", - "title": "MaxParallelExecutionSteps", + "InstanceCount": { + "markdownDescription": "The number of ML compute instances to use in the transform job. The default value is `1` , and the maximum is `100` . For distributed transform jobs, specify a value greater than `1` .", + "title": "InstanceCount", "type": "number" + }, + "InstanceType": { + "markdownDescription": "The ML compute instance type for the transform job. If you are using built-in algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge or `ml.m5.large` instance types.", + "title": "InstanceType", + "type": "string" + }, + "VolumeKmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job.\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `VolumeKmsKeyId` when using an instance type with local storage.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) . \n\nThe `VolumeKmsKeyId` can be any of the following formats:\n\n- Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`\n- Key ARN: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`\n- Alias name: `alias/ExampleAlias`\n- Alias name ARN: `arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias`", + "title": "VolumeKmsKeyId", + "type": "string" } }, "required": [ - "MaxParallelExecutionSteps" + "InstanceCount", + "InstanceType" ], "type": "object" }, - "AWS::SageMaker::Pipeline.PipelineDefinition": { + "AWS::SageMaker::ModelPackage.ValidationProfile": { "additionalProperties": false, "properties": { - "PipelineDefinitionBody": { - "markdownDescription": "The [JSON pipeline definition](https://docs.aws.amazon.com/https://aws-sagemaker-mlops.github.io/sagemaker-model-building-pipeline-definition-JSON-schema/) of the pipeline.", - "title": "PipelineDefinitionBody", + "ProfileName": { + "markdownDescription": "The name of the profile for the model package.", + "title": "ProfileName", "type": "string" }, - "PipelineDefinitionS3Location": { - "$ref": "#/definitions/AWS::SageMaker::Pipeline.S3Location", - "markdownDescription": "The location of the pipeline definition stored in Amazon S3. If specified, SageMaker retrieves the pipeline definition from this location.", - "title": "PipelineDefinitionS3Location" + "TransformJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.TransformJobDefinition", + "markdownDescription": "The `TransformJobDefinition` object that describes the transform job used for the validation of the model package.", + "title": "TransformJobDefinition" } }, + "required": [ + "ProfileName", + "TransformJobDefinition" + ], "type": "object" }, - "AWS::SageMaker::Pipeline.S3Location": { + "AWS::SageMaker::ModelPackage.ValidationSpecification": { "additionalProperties": false, "properties": { - "Bucket": { - "markdownDescription": "The name of the S3 bucket.", - "title": "Bucket", - "type": "string" - }, - "ETag": { - "markdownDescription": "A file checksum of the pipeline definition file.", - "title": "ETag", - "type": "string" - }, - "Key": { - "markdownDescription": "The object key (or key name) which uniquely identifies the object in an S3 bucket.", - "title": "Key", - "type": "string" + "ValidationProfiles": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelPackage.ValidationProfile" + }, + "markdownDescription": "An array of `ModelPackageValidationProfile` objects, each of which specifies a batch transform job that SageMaker runs to validate your model package.", + "title": "ValidationProfiles", + "type": "array" }, - "Version": { - "markdownDescription": "The version ID of the pipeline definition file. If not specified, Amazon SageMaker will retrieve the latest version.", - "title": "Version", + "ValidationRole": { + "markdownDescription": "The IAM roles to be used for the validation of the model package.", + "title": "ValidationRole", "type": "string" } }, "required": [ - "Bucket", - "Key" + "ValidationProfiles", + "ValidationRole" ], "type": "object" }, - "AWS::SageMaker::PipelineExecution": { + "AWS::SageMaker::ModelPackageGroup": { "additionalProperties": false, "properties": { "Condition": { @@ -369702,12 +339344,39 @@ }, "Properties": { "additionalProperties": false, - "properties": {}, + "properties": { + "ModelPackageGroupDescription": { + "markdownDescription": "The description for the model group.", + "title": "ModelPackageGroupDescription", + "type": "string" + }, + "ModelPackageGroupName": { + "markdownDescription": "The name of the model group.", + "title": "ModelPackageGroupName", + "type": "string" + }, + "ModelPackageGroupPolicy": { + "markdownDescription": "A resouce policy to control access to a model group. For information about resoure policies, see [Identity-based policies and resource-based policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) in the *AWS Identity and Access Management User Guide.* .", + "title": "ModelPackageGroupPolicy", + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "ModelPackageGroupName" + ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::PipelineExecution" + "AWS::SageMaker::ModelPackageGroup" ], "type": "string" }, @@ -369721,47 +339390,12 @@ } }, "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::PipelineExecution.IamIdentity": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "PrincipalId": { - "type": "string" - }, - "SourceIdentity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::PipelineExecution.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "MaxParallelExecutionSteps": { - "type": "number" - } - }, - "required": [ - "MaxParallelExecutionSteps" + "Type", + "Properties" ], "type": "object" }, - "AWS::SageMaker::PipelineExecution.UserContext": { - "additionalProperties": false, - "properties": { - "IamIdentity": { - "$ref": "#/definitions/AWS::SageMaker::PipelineExecution.IamIdentity" - } - }, - "type": "object" - }, - "AWS::SageMaker::ProcessingJob": { + "AWS::SageMaker::ModelQualityJobDefinition": { "additionalProperties": false, "properties": { "Condition": { @@ -369796,84 +339430,77 @@ "Properties": { "additionalProperties": false, "properties": { - "AppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.AppSpecification", - "markdownDescription": "Configuration to run a processing job in a specified container image.", - "title": "AppSpecification" + "EndpointName": { + "markdownDescription": "", + "title": "EndpointName", + "type": "string" }, - "Environment": { - "additionalProperties": true, - "markdownDescription": "Sets the environment variables in the Docker container.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "title": "Environment", - "type": "object" + "JobDefinitionName": { + "markdownDescription": "The name of the monitoring job definition.", + "title": "JobDefinitionName", + "type": "string" }, - "ExperimentConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ExperimentConfig", - "markdownDescription": "Associates a SageMaker job as a trial component with an experiment and trial. Specified when you call the [CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) API.", - "title": "ExperimentConfig" + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources", + "markdownDescription": "Identifies the resources to deploy for a monitoring job.", + "title": "JobResources" }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.NetworkConfig", - "markdownDescription": "Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.", - "title": "NetworkConfig" + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification", + "markdownDescription": "Container image configuration object for the monitoring job.", + "title": "ModelQualityAppSpecification" }, - "ProcessingInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingInputsObject" - }, - "markdownDescription": "List of input configurations for the processing job.", - "title": "ProcessingInputs", - "type": "array" + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig", + "markdownDescription": "Specifies the constraints and baselines for the monitoring job.", + "title": "ModelQualityBaselineConfig" }, - "ProcessingJobName": { - "markdownDescription": "The name of the processing job. If you don't provide a job name, then a unique name is automatically created for the job.", - "title": "ProcessingJobName", - "type": "string" + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput", + "markdownDescription": "A list of the inputs that are monitored. Currently endpoints are supported.", + "title": "ModelQualityJobInput" }, - "ProcessingOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingOutputConfig", - "markdownDescription": "Contains information about the output location for the compiled model and the target device that the model runs on. `TargetDevice` and `TargetPlatform` are mutually exclusive, so you need to choose one between the two to specify your target device or platform. If you cannot find your device you want to use from the `TargetDevice` list, use `TargetPlatform` to describe the platform of your edge device and `CompilerOptions` if there are specific settings that are required or recommended to use for particular TargetPlatform.", - "title": "ProcessingOutputConfig" + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig", + "markdownDescription": "The output configuration for monitoring jobs.", + "title": "ModelQualityJobOutputConfig" }, - "ProcessingResources": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingResources", - "markdownDescription": "Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.", - "title": "ProcessingResources" + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig", + "markdownDescription": "Specifies the network configuration for the monitoring job.", + "title": "NetworkConfig" }, "RoleArn": { - "markdownDescription": "The ARN of the role used to create the processing job.", + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.", "title": "RoleArn", "type": "string" }, "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.StoppingCondition", - "markdownDescription": "Configures conditions under which the processing job should be stopped, such as how long the processing job has been running. After the condition is met, the processing job is stopped.", + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition", + "markdownDescription": "A time limit for how long the monitoring job is allowed to run before stopping.", "title": "StoppingCondition" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs. For more information, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL) in the *AWS Billing and Cost Management User Guide* .", + "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": [ - "AppSpecification", - "ProcessingResources", + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::ProcessingJob" + "AWS::SageMaker::ModelQualityJobDefinition" ], "type": "string" }, @@ -369892,94 +339519,72 @@ ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.AppSpecification": { + "AWS::SageMaker::ModelQualityJobDefinition.BatchTransformInput": { "additionalProperties": false, "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "markdownDescription": "The arguments for a container used to run a processing job.", - "title": "ContainerArguments", - "type": "array" + "DataCapturedDestinationS3Uri": { + "markdownDescription": "The Amazon S3 location being used to capture the data.", + "title": "DataCapturedDestinationS3Uri", + "type": "string" }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "markdownDescription": "The entrypoint for a container used to run a processing job.", - "title": "ContainerEntrypoint", - "type": "array" + "DatasetFormat": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.DatasetFormat", + "markdownDescription": "The dataset format for your batch transform job.", + "title": "DatasetFormat" }, - "ImageUri": { - "markdownDescription": "The container image to be run by the processing job.", - "title": "ImageUri", - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ProcessingJob.AthenaDatasetDefinition": { - "additionalProperties": false, - "properties": { - "Catalog": { - "markdownDescription": "The name of the data catalog used in Athena query execution.", - "title": "Catalog", + "EndTimeOffset": { + "markdownDescription": "If specified, monitoring jobs subtract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", + "title": "EndTimeOffset", "type": "string" }, - "Database": { - "markdownDescription": "The name of the database used in the Athena query execution.", - "title": "Database", + "InferenceAttribute": { + "markdownDescription": "The attribute of the input data that represents the ground truth label.", + "title": "InferenceAttribute", "type": "string" }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data generated from an Athena query execution.", - "title": "KmsKeyId", + "LocalPath": { + "markdownDescription": "Path to the filesystem where the batch transform data is available to the container.", + "title": "LocalPath", "type": "string" }, - "OutputCompression": { - "markdownDescription": "The compression used for Athena query results.", - "title": "OutputCompression", + "ProbabilityAttribute": { + "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "title": "ProbabilityAttribute", "type": "string" }, - "OutputFormat": { - "markdownDescription": "The data storage format for Athena query results.", - "title": "OutputFormat", - "type": "string" + "ProbabilityThresholdAttribute": { + "markdownDescription": "The threshold for the class probability to be evaluated as a positive result.", + "title": "ProbabilityThresholdAttribute", + "type": "number" }, - "OutputS3Uri": { - "markdownDescription": "The location in Amazon S3 where Athena query results are stored.", - "title": "OutputS3Uri", + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", "type": "string" }, - "QueryString": { - "markdownDescription": "The SQL query statements, to be executed.", - "title": "QueryString", + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", "type": "string" }, - "WorkGroup": { - "markdownDescription": "The name of the workgroup in which the Athena query is being started.", - "title": "WorkGroup", + "StartTimeOffset": { + "markdownDescription": "If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", + "title": "StartTimeOffset", "type": "string" } }, "required": [ - "Catalog", - "Database", - "OutputFormat", - "OutputS3Uri", - "QueryString" + "DataCapturedDestinationS3Uri", + "DatasetFormat", + "LocalPath" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.ClusterConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { "additionalProperties": false, "properties": { "InstanceCount": { - "markdownDescription": "The number of ML compute instances to use in the processing job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", + "markdownDescription": "The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", "title": "InstanceCount", "type": "number" }, @@ -369989,12 +339594,12 @@ "type": "string" }, "VolumeKmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the processing job.\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `VolumeKmsKeyId` when using an instance type with local storage.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .", + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.", "title": "VolumeKmsKeyId", "type": "string" }, "VolumeSizeInGB": { - "markdownDescription": "The size of the ML storage volume in gigabytes that you want to provision. You must specify sufficient ML storage for your scenario.\n\n> Certain Nitro-based instances include local storage with a fixed total size, dependent on the instance type. When using these instances for processing, Amazon SageMaker mounts the local instance storage instead of Amazon EBS gp2 storage. You can't request a `VolumeSizeInGB` greater than the total size of the local instance storage.\n> \n> For a list of instance types that support local instance storage, including the total size per instance type, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .", + "markdownDescription": "The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.", "title": "VolumeSizeInGB", "type": "number" } @@ -370006,318 +339611,323 @@ ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.DatasetDefinition": { + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { "additionalProperties": false, "properties": { - "AthenaDatasetDefinition": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.AthenaDatasetDefinition", - "markdownDescription": "Configuration for Athena Dataset Definition input.", - "title": "AthenaDatasetDefinition" - }, - "DataDistributionType": { - "markdownDescription": "Whether the generated dataset is `FullyReplicated` or `ShardedByS3Key` (default).", - "title": "DataDistributionType", - "type": "string" - }, - "InputMode": { - "markdownDescription": "Whether to use `File` or `Pipe` input mode. In `File` (default) mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your algorithm without using the EBS volume.", - "title": "InputMode", + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the constraints resource.", + "title": "S3Uri", "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.Csv": { + "additionalProperties": false, + "properties": { + "Header": { + "markdownDescription": "", + "title": "Header", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.DatasetFormat": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Csv", + "markdownDescription": "", + "title": "Csv" }, - "LocalPath": { - "markdownDescription": "The local path where you want Amazon SageMaker to download the Dataset Definition inputs to run a processing job. `LocalPath` is an absolute path to the input data. This is a required parameter when `AppManaged` is `False` (default).", - "title": "LocalPath", - "type": "string" + "Json": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Json", + "markdownDescription": "", + "title": "Json" }, - "RedshiftDatasetDefinition": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.RedshiftDatasetDefinition", - "markdownDescription": "Configuration for Redshift Dataset Definition input.", - "title": "RedshiftDatasetDefinition" + "Parquet": { + "markdownDescription": "", + "title": "Parquet", + "type": "boolean" } }, "type": "object" }, - "AWS::SageMaker::ProcessingJob.ExperimentConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { "additionalProperties": false, "properties": { - "ExperimentName": { - "markdownDescription": "The name of an existing experiment to associate with the trial component.", - "title": "ExperimentName", + "EndTimeOffset": { + "markdownDescription": "If specified, monitoring jobs substract this time from the end time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", + "title": "EndTimeOffset", "type": "string" }, - "RunName": { - "markdownDescription": "The name of the experiment run to associate with the trial component.", - "title": "RunName", + "EndpointName": { + "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", + "title": "EndpointName", "type": "string" }, - "TrialComponentDisplayName": { - "markdownDescription": "The display name for the trial component. If this key isn't specified, the display name is the trial component name.", - "title": "TrialComponentDisplayName", + "InferenceAttribute": { + "markdownDescription": "The attribute of the input data that represents the ground truth label.", + "title": "InferenceAttribute", "type": "string" }, - "TrialName": { - "markdownDescription": "The name of an existing trial to associate the trial component with. If not specified, a new trial is created.", - "title": "TrialName", + "LocalPath": { + "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", + "title": "LocalPath", + "type": "string" + }, + "ProbabilityAttribute": { + "markdownDescription": "In a classification problem, the attribute that represents the class probability.", + "title": "ProbabilityAttribute", + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "markdownDescription": "The threshold for the class probability to be evaluated as a positive result.", + "title": "ProbabilityThresholdAttribute", + "type": "number" + }, + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", + "type": "string" + }, + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", + "type": "string" + }, + "StartTimeOffset": { + "markdownDescription": "If specified, monitoring jobs substract this time from the start time. For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .", + "title": "StartTimeOffset", "type": "string" } }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.Json": { + "additionalProperties": false, + "properties": { + "Line": { + "markdownDescription": "", + "title": "Line", + "type": "boolean" + } + }, "type": "object" }, - "AWS::SageMaker::ProcessingJob.FeatureStoreOutput": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { "additionalProperties": false, "properties": { - "FeatureGroupName": { - "markdownDescription": "The name of the Amazon SageMaker FeatureGroup to use as the destination for processing job output. Note that your processing script is responsible for putting records into your Feature Store.", - "title": "FeatureGroupName", + "ContainerArguments": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of arguments for the container used to run the monitoring job.", + "title": "ContainerArguments", + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the entrypoint for a container that the monitoring job runs.", + "title": "ContainerEntrypoint", + "type": "array" + }, + "Environment": { + "additionalProperties": true, + "markdownDescription": "Sets the environment variables in the container that the monitoring job runs.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Environment", + "type": "object" + }, + "ImageUri": { + "markdownDescription": "The address of the container image that the monitoring job runs.", + "title": "ImageUri", + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", + "title": "PostAnalyticsProcessorSourceUri", + "type": "string" + }, + "ProblemType": { + "markdownDescription": "The machine learning problem type of the model that the monitoring job monitors.", + "title": "ProblemType", + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", + "title": "RecordPreprocessorSourceUri", "type": "string" } }, "required": [ - "FeatureGroupName" + "ImageUri", + "ProblemType" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.NetworkConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { "additionalProperties": false, "properties": { - "EnableInterContainerTrafficEncryption": { - "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", - "title": "EnableInterContainerTrafficEncryption", - "type": "boolean" - }, - "EnableNetworkIsolation": { - "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", - "title": "EnableNetworkIsolation", - "type": "boolean" + "BaseliningJobName": { + "markdownDescription": "The name of the job that performs baselining for the monitoring job.", + "title": "BaseliningJobName", + "type": "string" }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.VpcConfig", - "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", - "title": "VpcConfig" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource", + "markdownDescription": "The constraints resource for a monitoring job.", + "title": "ConstraintsResource" } }, "type": "object" }, - "AWS::SageMaker::ProcessingJob.ProcessingInputsObject": { + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { "additionalProperties": false, "properties": { - "AppManaged": { - "markdownDescription": "When `True` , input operations such as data download are managed natively by the processing job application. When `False` (default), input operations are managed by Amazon SageMaker.", - "title": "AppManaged", - "type": "boolean" - }, - "DatasetDefinition": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.DatasetDefinition", - "markdownDescription": "Configuration for Dataset Definition inputs. The Dataset Definition input must specify exactly one of either `AthenaDatasetDefinition` or `RedshiftDatasetDefinition` types.", - "title": "DatasetDefinition" + "BatchTransformInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.BatchTransformInput", + "markdownDescription": "Input object for the batch transform job.", + "title": "BatchTransformInput" }, - "InputName": { - "markdownDescription": "The name for the processing job input.", - "title": "InputName", - "type": "string" + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput", + "markdownDescription": "Input object for the endpoint", + "title": "EndpointInput" }, - "S3Input": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.S3Input", - "markdownDescription": "Configuration for downloading input data from Amazon S3 into the processing container.", - "title": "S3Input" + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input", + "markdownDescription": "The ground truth label provided for the model.", + "title": "GroundTruthS3Input" } }, "required": [ - "InputName" + "GroundTruthS3Input" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.ProcessingOutputConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { "additionalProperties": false, "properties": { - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the processing job output. `KmsKeyId` can be an ID of a KMS key, ARN of a KMS key, or alias of a KMS key. The `KmsKeyId` is applied to all outputs.", - "title": "KmsKeyId", + "S3Uri": { + "markdownDescription": "The address of the Amazon S3 location of the ground truth labels.", + "title": "S3Uri", "type": "string" - }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingOutputsObject" - }, - "markdownDescription": "An array of outputs configuring the data to upload from the processing container.", - "title": "Outputs", - "type": "array" } }, "required": [ - "Outputs" + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.ProcessingOutputsObject": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { "additionalProperties": false, "properties": { - "AppManaged": { - "markdownDescription": "When `True` , output operations such as data upload are managed natively by the processing job application. When `False` (default), output operations are managed by Amazon SageMaker.", - "title": "AppManaged", - "type": "boolean" - }, - "FeatureStoreOutput": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.FeatureStoreOutput", - "markdownDescription": "Configuration for processing job outputs in Amazon SageMaker Feature Store.", - "title": "FeatureStoreOutput" - }, - "OutputName": { - "markdownDescription": "The name for the processing job output.", - "title": "OutputName", - "type": "string" - }, "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.S3Output", - "markdownDescription": "Configuration for uploading output data to Amazon S3 from the processing container.", + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output", + "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", "title": "S3Output" } }, "required": [ - "OutputName" + "S3Output" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.ProcessingResources": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { "additionalProperties": false, "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ClusterConfig", - "markdownDescription": "The configuration for the resources in a cluster used to run the processing job.", - "title": "ClusterConfig" + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS ) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.", + "title": "KmsKeyId", + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" + }, + "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", + "title": "MonitoringOutputs", + "type": "array" } }, "required": [ - "ClusterConfig" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.RedshiftDatasetDefinition": { + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { "additionalProperties": false, "properties": { - "ClusterId": { - "markdownDescription": "The Redshift cluster Identifier.", - "title": "ClusterId", - "type": "string" - }, - "ClusterRoleArn": { - "markdownDescription": "The IAM role attached to your Redshift cluster that Amazon SageMaker uses to generate datasets.", - "title": "ClusterRoleArn", - "type": "string" - }, - "Database": { - "markdownDescription": "The name of the Redshift database used in Redshift query execution.", - "title": "Database", - "type": "string" - }, - "DbUser": { - "markdownDescription": "The database user name used in Redshift query execution.", - "title": "DbUser", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data from a Redshift execution.", - "title": "KmsKeyId", - "type": "string" - }, - "OutputCompression": { - "markdownDescription": "The compression used for Redshift query results.", - "title": "OutputCompression", - "type": "string" - }, - "OutputFormat": { - "markdownDescription": "The data storage format for Redshift query results.", - "title": "OutputFormat", - "type": "string" - }, - "OutputS3Uri": { - "markdownDescription": "The location in Amazon S3 where the Redshift query results are stored.", - "title": "OutputS3Uri", - "type": "string" - }, - "QueryString": { - "markdownDescription": "The SQL query statements to be executed.", - "title": "QueryString", - "type": "string" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig", + "markdownDescription": "The configuration for the cluster resources used to run the processing job.", + "title": "ClusterConfig" } }, "required": [ - "ClusterId", - "ClusterRoleArn", - "Database", - "DbUser", - "OutputFormat", - "OutputS3Uri", - "QueryString" + "ClusterConfig" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.S3Input": { + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { "additionalProperties": false, "properties": { - "LocalPath": { - "markdownDescription": "The local path in your container where you want Amazon SageMaker to write input data to. `LocalPath` is an absolute path to the input data and must begin with `/opt/ml/processing/` . `LocalPath` is a required parameter when `AppManaged` is `False` (default).", - "title": "LocalPath", - "type": "string" - }, - "S3CompressionType": { - "markdownDescription": "Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing container. `Gzip` can only be used when `Pipe` mode is specified as the `S3InputMode` . In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your container without using the EBS volume.", - "title": "S3CompressionType", - "type": "string" - }, - "S3DataDistributionType": { - "markdownDescription": "Whether to distribute the data from Amazon S3 to all processing instances with `FullyReplicated` , or whether the data from Amazon S3 is sharded by Amazon S3 key, downloading one shard of data to each processing instance.", - "title": "S3DataDistributionType", - "type": "string" - }, - "S3DataType": { - "markdownDescription": "Whether you use an `S3Prefix` or a `ManifestFile` for the data type. If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing job. If you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for the processing job.", - "title": "S3DataType", - "type": "string" + "EnableInterContainerTrafficEncryption": { + "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", + "title": "EnableInterContainerTrafficEncryption", + "type": "boolean" }, - "S3InputMode": { - "markdownDescription": "Whether to use `File` or `Pipe` input mode. In File mode, Amazon SageMaker copies the data from the input source onto the local ML storage volume before starting your processing container. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your processing container into named pipes without using the ML storage volume.", - "title": "S3InputMode", - "type": "string" + "EnableNetworkIsolation": { + "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", + "title": "EnableNetworkIsolation", + "type": "boolean" }, - "S3Uri": { - "markdownDescription": "The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.", - "title": "S3Uri", - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig", + "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC.", + "title": "VpcConfig" } }, - "required": [ - "S3DataType", - "S3Uri" - ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.S3Output": { + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { "additionalProperties": false, "properties": { "LocalPath": { - "markdownDescription": "The local path of a directory where you want Amazon SageMaker to upload its contents to Amazon S3. `LocalPath` is an absolute path to a directory containing output files. This directory will be created by the platform and exist when your container's entrypoint is invoked.", + "markdownDescription": "The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", "title": "LocalPath", "type": "string" }, "S3UploadMode": { - "markdownDescription": "Whether to upload the results of the processing job continuously or after the job completes.", + "markdownDescription": "Whether to upload the results of the monitoring job continuously or after the job completes.", "title": "S3UploadMode", "type": "string" }, "S3Uri": { - "markdownDescription": "The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.", + "markdownDescription": "A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.", "title": "S3Uri", "type": "string" } }, "required": [ - "S3UploadMode", + "LocalPath", "S3Uri" ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.StoppingCondition": { + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { "additionalProperties": false, "properties": { "MaxRuntimeInSeconds": { @@ -370331,7 +339941,7 @@ ], "type": "object" }, - "AWS::SageMaker::ProcessingJob.VpcConfig": { + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { @@ -370357,7 +339967,7 @@ ], "type": "object" }, - "AWS::SageMaker::Project": { + "AWS::SageMaker::MonitoringSchedule": { "additionalProperties": false, "properties": { "Condition": { @@ -370392,51 +340002,54 @@ "Properties": { "additionalProperties": false, "properties": { - "ProjectDescription": { - "markdownDescription": "The description of the project.", - "title": "ProjectDescription", + "EndpointName": { + "markdownDescription": "The name of the endpoint using the monitoring schedule.", + "title": "EndpointName", "type": "string" }, - "ProjectName": { - "markdownDescription": "The name of the project.", - "title": "ProjectName", + "FailureReason": { + "markdownDescription": "Contains the reason a monitoring job failed, if it failed.", + "title": "FailureReason", "type": "string" }, - "ServiceCatalogProvisionedProductDetails": { - "$ref": "#/definitions/AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails", - "markdownDescription": "Details of a provisioned service catalog product. For information about service catalog, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .", - "title": "ServiceCatalogProvisionedProductDetails" + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary", + "markdownDescription": "Describes metadata on the last execution to run, if there was one.", + "title": "LastMonitoringExecutionSummary" }, - "ServiceCatalogProvisioningDetails": { - "$ref": "#/definitions/AWS::SageMaker::Project.ServiceCatalogProvisioningDetails", - "markdownDescription": "The product ID and provisioning artifact ID to provision a service catalog. For information, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .", - "title": "ServiceCatalogProvisioningDetails" + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig", + "markdownDescription": "The configuration object that specifies the monitoring schedule and defines the monitoring job.", + "title": "MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "markdownDescription": "The name of the monitoring schedule.", + "title": "MonitoringScheduleName", + "type": "string" + }, + "MonitoringScheduleStatus": { + "markdownDescription": "The status of the monitoring schedule.", + "title": "MonitoringScheduleStatus", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "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" - }, - "TemplateProviderDetails": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Project.TemplateProviderDetail" - }, - "markdownDescription": "An array of template providers associated with the project.", - "title": "TemplateProviderDetails", - "type": "array" } }, "required": [ - "ProjectName" + "MonitoringScheduleConfig", + "MonitoringScheduleName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::Project" + "AWS::SageMaker::MonitoringSchedule" ], "type": "string" }, @@ -370455,583 +340068,984 @@ ], "type": "object" }, - "AWS::SageMaker::Project.CfnStackParameter": { + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The name of the CloudFormation parameter.", - "title": "Key", - "type": "string" + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource", + "markdownDescription": "The Amazon S3 URI for the constraints resource.", + "title": "ConstraintsResource" }, - "Value": { - "markdownDescription": "The value of the CloudFormation parameter.", - "title": "Value", - "type": "string" + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource", + "markdownDescription": "The baseline statistics file in Amazon S3 that the current monitoring job should be validated against.", + "title": "StatisticsResource" } }, - "required": [ - "Key", - "Value" - ], "type": "object" }, - "AWS::SageMaker::Project.CfnTemplateProviderDetail": { + "AWS::SageMaker::MonitoringSchedule.BatchTransformInput": { "additionalProperties": false, "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Project.CfnStackParameter" - }, - "markdownDescription": "An array of CloudFormation stack parameters.", - "title": "Parameters", - "type": "array" + "DataCapturedDestinationS3Uri": { + "markdownDescription": "The Amazon S3 location being used to capture the data.", + "title": "DataCapturedDestinationS3Uri", + "type": "string" }, - "RoleARN": { - "markdownDescription": "The IAM role used by CloudFormation to create the stack.", - "title": "RoleARN", + "DatasetFormat": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.DatasetFormat", + "markdownDescription": "The dataset format for your batch transform job.", + "title": "DatasetFormat" + }, + "ExcludeFeaturesAttribute": { + "markdownDescription": "The attributes of the input data to exclude from the analysis.", + "title": "ExcludeFeaturesAttribute", "type": "string" }, - "TemplateName": { - "markdownDescription": "The unique identifier of the template within the project.", - "title": "TemplateName", + "LocalPath": { + "markdownDescription": "Path to the filesystem where the batch transform data is available to the container.", + "title": "LocalPath", "type": "string" }, - "TemplateURL": { - "markdownDescription": "The Amazon S3 URL of the CloudFormation template.", - "title": "TemplateURL", + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", + "type": "string" + }, + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", "type": "string" } }, "required": [ - "TemplateName", - "TemplateURL" + "DataCapturedDestinationS3Uri", + "DatasetFormat", + "LocalPath" ], "type": "object" }, - "AWS::SageMaker::Project.ProvisioningParameter": { + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { "additionalProperties": false, "properties": { - "Key": { - "markdownDescription": "The key that identifies a provisioning parameter.", - "title": "Key", + "InstanceCount": { + "markdownDescription": "The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", + "title": "InstanceCount", + "type": "number" + }, + "InstanceType": { + "markdownDescription": "The ML compute instance type for the processing job.", + "title": "InstanceType", "type": "string" }, - "Value": { - "markdownDescription": "The value of the provisioning parameter.", - "title": "Value", + "VolumeKmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.", + "title": "VolumeKmsKeyId", "type": "string" + }, + "VolumeSizeInGB": { + "markdownDescription": "The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.", + "title": "VolumeSizeInGB", + "type": "number" } }, "required": [ - "Key", - "Value" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails": { + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { "additionalProperties": false, "properties": { - "ProvisionedProductId": { - "markdownDescription": "The ID of the provisioned product.", - "title": "ProvisionedProductId", + "S3Uri": { + "markdownDescription": "The Amazon S3 URI for the constraints resource.", + "title": "S3Uri", "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Csv": { + "additionalProperties": false, + "properties": { + "Header": { + "markdownDescription": "", + "title": "Header", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.DatasetFormat": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Csv", + "markdownDescription": "", + "title": "Csv" }, - "ProvisionedProductStatusMessage": { - "markdownDescription": "The current status of the product.\n\n- `AVAILABLE` - Stable state, ready to perform any operation. The most recent operation succeeded and completed.\n- `UNDER_CHANGE` - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.\n- `TAINTED` - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.\n- `ERROR` - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.\n- `PLAN_IN_PROGRESS` - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.", - "title": "ProvisionedProductStatusMessage", - "type": "string" + "Json": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Json", + "markdownDescription": "", + "title": "Json" + }, + "Parquet": { + "markdownDescription": "", + "title": "Parquet", + "type": "boolean" } }, "type": "object" }, - "AWS::SageMaker::Project.ServiceCatalogProvisioningDetails": { + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { "additionalProperties": false, "properties": { - "PathId": { - "markdownDescription": "The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path.", - "title": "PathId", + "EndpointName": { + "markdownDescription": "An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.", + "title": "EndpointName", "type": "string" }, - "ProductId": { - "markdownDescription": "The ID of the product to provision.", - "title": "ProductId", + "ExcludeFeaturesAttribute": { + "markdownDescription": "The attributes of the input data to exclude from the analysis.", + "title": "ExcludeFeaturesAttribute", "type": "string" }, - "ProvisioningArtifactId": { - "markdownDescription": "The ID of the provisioning artifact.", - "title": "ProvisioningArtifactId", + "LocalPath": { + "markdownDescription": "Path to the filesystem where the endpoint data is available to the container.", + "title": "LocalPath", "type": "string" }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Project.ProvisioningParameter" - }, - "markdownDescription": "A list of key value pairs that you specify when you provision a product.", - "title": "ProvisioningParameters", - "type": "array" + "S3DataDistributionType": { + "markdownDescription": "Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to `FullyReplicated`", + "title": "S3DataDistributionType", + "type": "string" + }, + "S3InputMode": { + "markdownDescription": "Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job. `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .", + "title": "S3InputMode", + "type": "string" } }, "required": [ - "ProductId" + "EndpointName", + "LocalPath" ], "type": "object" }, - "AWS::SageMaker::Project.TemplateProviderDetail": { + "AWS::SageMaker::MonitoringSchedule.Json": { "additionalProperties": false, "properties": { - "CfnTemplateProviderDetail": { - "$ref": "#/definitions/AWS::SageMaker::Project.CfnTemplateProviderDetail", - "markdownDescription": "Details about a CloudFormation template provider configuration and associated provisioning information.", - "title": "CfnTemplateProviderDetail" + "Line": { + "markdownDescription": "", + "title": "Line", + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "markdownDescription": "An array of arguments for the container used to run the monitoring job.", + "title": "ContainerArguments", + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "markdownDescription": "Specifies the entrypoint for a container used to run the monitoring job.", + "title": "ContainerEntrypoint", + "type": "array" + }, + "ImageUri": { + "markdownDescription": "The container image to be run by the monitoring job.", + "title": "ImageUri", + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.", + "title": "PostAnalyticsProcessorSourceUri", + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "markdownDescription": "An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.", + "title": "RecordPreprocessorSourceUri", + "type": "string" } }, "required": [ - "CfnTemplateProviderDetail" + "ImageUri" ], "type": "object" }, - "AWS::SageMaker::Space": { + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { "additionalProperties": false, "properties": { - "Condition": { + "CreationTime": { + "markdownDescription": "The time at which the monitoring job was created.", + "title": "CreationTime", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "EndpointName": { + "markdownDescription": "The name of the endpoint used to run the monitoring job.", + "title": "EndpointName", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] + "FailureReason": { + "markdownDescription": "Contains the reason a monitoring job failed, if it failed.", + "title": "FailureReason", + "type": "string" }, - "Metadata": { - "type": "object" + "LastModifiedTime": { + "markdownDescription": "A timestamp that indicates the last time the monitoring job was modified.", + "title": "LastModifiedTime", + "type": "string" }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainId": { - "markdownDescription": "The ID of the associated domain.", - "title": "DomainId", - "type": "string" - }, - "OwnershipSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.OwnershipSettings", - "markdownDescription": "The collection of ownership settings for a space.", - "title": "OwnershipSettings" - }, - "SpaceDisplayName": { - "markdownDescription": "The name of the space that appears in the Studio UI.", - "title": "SpaceDisplayName", - "type": "string" - }, - "SpaceName": { - "markdownDescription": "The name of the space.", - "title": "SpaceName", + "MonitoringExecutionStatus": { + "markdownDescription": "The status of the monitoring job.", + "title": "MonitoringExecutionStatus", + "type": "string" + }, + "MonitoringScheduleName": { + "markdownDescription": "The name of the monitoring schedule.", + "title": "MonitoringScheduleName", + "type": "string" + }, + "ProcessingJobArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the monitoring job.", + "title": "ProcessingJobArn", + "type": "string" + }, + "ScheduledTime": { + "markdownDescription": "The time the monitoring job was scheduled.", + "title": "ScheduledTime", + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "BatchTransformInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BatchTransformInput", + "markdownDescription": "Input object for the batch transform job.", + "title": "BatchTransformInput" + }, + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput", + "markdownDescription": "The endpoint for a monitoring job.", + "title": "EndpointInput" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig", + "markdownDescription": "Baseline configuration used to validate that the data conforms to the specified constraints and statistics", + "title": "BaselineConfig" + }, + "Environment": { + "additionalProperties": true, + "markdownDescription": "Sets the environment variables in the Docker container.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { "type": "string" - }, - "SpaceSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceSettings", - "markdownDescription": "A collection of space settings.", - "title": "SpaceSettings" - }, - "SpaceSharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceSharingSettings", - "markdownDescription": "A collection of space sharing settings.", - "title": "SpaceSharingSettings" - }, - "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": [ - "DomainId", - "SpaceName" - ], + "title": "Environment", "type": "object" }, - "Type": { - "enum": [ - "AWS::SageMaker::Space" - ], - "type": "string" + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification", + "markdownDescription": "Configures the monitoring job to run a specified Docker container image.", + "title": "MonitoringAppSpecification" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "markdownDescription": "The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker AI Endpoint.", + "title": "MonitoringInputs", + "type": "array" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig", + "markdownDescription": "The array of outputs from the monitoring job to be uploaded to Amazon S3.", + "title": "MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources", + "markdownDescription": "Identifies the resources, ML compute instances, and ML storage volumes to deploy for a monitoring job. In distributed processing, you specify more than one instance.", + "title": "MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig", + "markdownDescription": "Specifies networking options for an monitoring job.", + "title": "NetworkConfig" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker AI can assume to perform tasks on your behalf.", + "title": "RoleArn", "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition", + "markdownDescription": "Specifies a time limit for how long the monitoring job is allowed to run.", + "title": "StoppingCondition" } }, "required": [ - "Type", - "Properties" + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" ], "type": "object" }, - "AWS::SageMaker::Space.CodeRepository": { + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { "additionalProperties": false, "properties": { - "RepositoryUrl": { - "markdownDescription": "The URL of the Git repository.", - "title": "RepositoryUrl", + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output", + "markdownDescription": "The Amazon S3 storage location where the results of a monitoring job are saved.", + "title": "S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS ) key that Amazon SageMaker AI uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.", + "title": "KmsKeyId", "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "markdownDescription": "Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.", + "title": "MonitoringOutputs", + "type": "array" } }, "required": [ - "RepositoryUrl" + "MonitoringOutputs" ], "type": "object" }, - "AWS::SageMaker::Space.CustomFileSystem": { + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { "additionalProperties": false, "properties": { - "EFSFileSystem": { - "$ref": "#/definitions/AWS::SageMaker::Space.EFSFileSystem", - "markdownDescription": "A custom file system in Amazon EFS.", - "title": "EFSFileSystem" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig", + "markdownDescription": "The configuration for the cluster resources used to run the processing job.", + "title": "ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition", + "markdownDescription": "Defines the monitoring job.", + "title": "MonitoringJobDefinition" }, - "FSxLustreFileSystem": { - "$ref": "#/definitions/AWS::SageMaker::Space.FSxLustreFileSystem", - "markdownDescription": "A custom file system in Amazon FSx for Lustre.", - "title": "FSxLustreFileSystem" + "MonitoringJobDefinitionName": { + "markdownDescription": "The name of the monitoring job definition to schedule.", + "title": "MonitoringJobDefinitionName", + "type": "string" }, - "S3FileSystem": { - "$ref": "#/definitions/AWS::SageMaker::Space.S3FileSystem", - "markdownDescription": "A custom file system in Amazon S3. This is only supported in Amazon SageMaker Unified Studio.", - "title": "S3FileSystem" + "MonitoringType": { + "markdownDescription": "The type of the monitoring job definition to schedule.", + "title": "MonitoringType", + "type": "string" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig", + "markdownDescription": "Configures the monitoring schedule.", + "title": "ScheduleConfig" } }, "type": "object" }, - "AWS::SageMaker::Space.CustomImage": { + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { "additionalProperties": false, "properties": { - "AppImageConfigName": { - "markdownDescription": "The name of the AppImageConfig.", - "title": "AppImageConfigName", + "EnableInterContainerTrafficEncryption": { + "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", + "title": "EnableInterContainerTrafficEncryption", + "type": "boolean" + }, + "EnableNetworkIsolation": { + "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", + "title": "EnableNetworkIsolation", + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig", + "markdownDescription": "Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .", + "title": "VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "markdownDescription": "The local path to the S3 storage location where SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.", + "title": "LocalPath", "type": "string" }, - "ImageName": { - "markdownDescription": "The name of the CustomImage. Must be unique to your account.", - "title": "ImageName", + "S3UploadMode": { + "markdownDescription": "Whether to upload the results of the monitoring job continuously or after the job completes.", + "title": "S3UploadMode", "type": "string" }, - "ImageVersionNumber": { - "markdownDescription": "The version number of the CustomImage.", - "title": "ImageVersionNumber", - "type": "number" + "S3Uri": { + "markdownDescription": "A URI that identifies the S3 storage location where SageMaker saves the results of a monitoring job.", + "title": "S3Uri", + "type": "string" } }, "required": [ - "AppImageConfigName", - "ImageName" + "LocalPath", + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::Space.EFSFileSystem": { + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { "additionalProperties": false, "properties": { - "FileSystemId": { - "markdownDescription": "The ID of your Amazon EFS file system.", - "title": "FileSystemId", + "DataAnalysisEndTime": { + "markdownDescription": "Sets the end time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to end the window one hour before the start of each monitoring job, you would specify: `\"-PT1H\"` .\n\nThe end time that you specify must not follow the start time that you specify by more than 24 hours. You specify the start time with the `DataAnalysisStartTime` parameter.\n\nIf you set `ScheduleExpression` to `NOW` , this parameter is required.", + "title": "DataAnalysisEndTime", + "type": "string" + }, + "DataAnalysisStartTime": { + "markdownDescription": "Sets the start time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the `ScheduleExpression` parameter. Specify this offset in ISO 8601 duration format. For example, if you want to monitor the five hours of data in your dataset that precede the start of each monitoring job, you would specify: `\"-PT5H\"` .\n\nThe start time that you specify must not precede the end time that you specify by more than 24 hours. You specify the end time with the `DataAnalysisEndTime` parameter.\n\nIf you set `ScheduleExpression` to `NOW` , this parameter is required.", + "title": "DataAnalysisStartTime", + "type": "string" + }, + "ScheduleExpression": { + "markdownDescription": "A cron expression that describes details about the monitoring schedule.\n\nThe supported cron expressions are:\n\n- If you want to set the job to start every hour, use the following:\n\n`Hourly: cron(0 * ? * * *)`\n- If you want to start the job daily:\n\n`cron(0 [00-23] ? * * *)`\n- If you want to run the job one time, immediately, use the following keyword:\n\n`NOW`\n\nFor example, the following are valid cron expressions:\n\n- Daily at noon UTC: `cron(0 12 ? * * *)`\n- Daily at midnight UTC: `cron(0 0 ? * * *)`\n\nTo support running every 6, 12 hours, the following are also supported:\n\n`cron(0 [00-23]/[01-24] ? * * *)`\n\nFor example, the following are valid cron expressions:\n\n- Every 12 hours, starting at 5pm UTC: `cron(0 17/12 ? * * *)`\n- Every two hours starting at midnight: `cron(0 0/2 ? * * *)`\n\n> - Even though the cron expression is set to start at 5PM UTC, note that there could be a delay of 0-20 minutes from the actual requested time to run the execution.\n> - We recommend that if you would like a daily schedule, you do not provide this parameter. Amazon SageMaker AI will pick a time for running every day. \n\nYou can also specify the keyword `NOW` to run the monitoring job immediately, one time, without recurring.", + "title": "ScheduleExpression", "type": "string" } }, "required": [ - "FileSystemId" + "ScheduleExpression" ], "type": "object" }, - "AWS::SageMaker::Space.EbsStorageSettings": { + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { "additionalProperties": false, "properties": { - "EbsVolumeSizeInGb": { - "markdownDescription": "The size of an EBS storage volume for a space.", - "title": "EbsVolumeSizeInGb", - "type": "number" + "S3Uri": { + "markdownDescription": "The S3 URI for the statistics resource.", + "title": "S3Uri", + "type": "string" } }, - "required": [ - "EbsVolumeSizeInGb" - ], "type": "object" }, - "AWS::SageMaker::Space.FSxLustreFileSystem": { + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { "additionalProperties": false, "properties": { - "FileSystemId": { - "markdownDescription": "Amazon FSx for Lustre file system ID.", - "title": "FileSystemId", - "type": "string" + "MaxRuntimeInSeconds": { + "markdownDescription": "The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.\n\nFor compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.\n\nFor all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.\n\nThe maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.", + "title": "MaxRuntimeInSeconds", + "type": "number" } }, "required": [ - "FileSystemId" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::SageMaker::Space.JupyterServerAppSettings": { + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { "additionalProperties": false, "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the JupyterServer app. If you use the `LifecycleConfigArns` parameter, then this parameter is also required.", - "title": "DefaultResourceSpec" + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", + "title": "SecurityGroupIds", + "type": "array" }, - "LifecycleConfigArns": { + "Subnets": { "items": { "type": "string" }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", + "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", + "title": "Subnets", "type": "array" } }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], "type": "object" }, - "AWS::SageMaker::Space.KernelGatewayAppSettings": { + "AWS::SageMaker::NotebookInstance": { "additionalProperties": false, "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Space.CustomImage" + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "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" + }, + "markdownDescription": "An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .", + "title": "AdditionalCodeRepositories", + "type": "array" + }, + "DefaultCodeRepository": { + "markdownDescription": "The Git repository associated with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see [Associating Git Repositories with SageMaker AI Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .", + "title": "DefaultCodeRepository", + "type": "string" + }, + "DirectInternetAccess": { + "markdownDescription": "Sets whether SageMaker AI provides internet access to the notebook instance. If you set this to `Disabled` this notebook instance is able to access resources only in your VPC, and is not be able to connect to SageMaker AI training and endpoint services unless you configure a NAT Gateway in your VPC.\n\nFor more information, see [Notebook Instances Are Internet-Enabled by Default](https://docs.aws.amazon.com/sagemaker/latest/dg/appendix-additional-considerations.html#appendix-notebook-and-internet-access) . You can set the value of this parameter to `Disabled` only if you set a value for the `SubnetId` parameter.", + "title": "DirectInternetAccess", + "type": "string" + }, + "InstanceMetadataServiceConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration", + "markdownDescription": "Information on the IMDS configuration of the notebook instance", + "title": "InstanceMetadataServiceConfiguration" + }, + "InstanceType": { + "markdownDescription": "The type of ML compute instance to launch for the notebook instance.\n\n> Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.", + "title": "InstanceType", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The Amazon Resource Name (ARN) of a AWS Key Management Service key that SageMaker AI uses to encrypt data on the storage volume attached to your notebook instance. The KMS key you provide must be enabled. For information, see [Enabling and Disabling Keys](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) in the *AWS Key Management Service Developer Guide* .", + "title": "KmsKeyId", + "type": "string" + }, + "LifecycleConfigName": { + "markdownDescription": "The name of a lifecycle configuration to associate with the notebook instance. For information about lifecycle configurations, see [Customize a Notebook Instance](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) in the *Amazon SageMaker Developer Guide* .", + "title": "LifecycleConfigName", + "type": "string" + }, + "NotebookInstanceName": { + "markdownDescription": "The name of the new notebook instance.", + "title": "NotebookInstanceName", + "type": "string" + }, + "PlatformIdentifier": { + "markdownDescription": "The platform identifier of the notebook instance runtime environment. The default value is `notebook-al2-v2` .", + "title": "PlatformIdentifier", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "When you send any requests to AWS resources from the notebook instance, SageMaker AI assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so SageMaker AI can perform these tasks. The policy must allow the SageMaker AI service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see [SageMaker AI Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .\n\n> To be able to pass this role to SageMaker AI, the caller of this API must have the `iam:PassRole` permission.", + "title": "RoleArn", + "type": "string" + }, + "RootAccess": { + "markdownDescription": "Whether root access is enabled or disabled for users of the notebook instance. The default value is `Enabled` .\n\n> Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.", + "title": "RootAccess", + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "markdownDescription": "The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.", + "title": "SecurityGroupIds", + "type": "array" + }, + "SubnetId": { + "markdownDescription": "The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.", + "title": "SubnetId", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .\n\nYou can add tags later by using the `CreateTags` API.", + "title": "Tags", + "type": "array" + }, + "VolumeSizeInGB": { + "markdownDescription": "The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.\n\n> Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.", + "title": "VolumeSizeInGB", + "type": "number" + } }, - "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a KernelGateway app.\n\nThe maximum number of custom images are as follows.\n\n- On a domain level: 200\n- On a space level: 5\n- On a user profile level: 5", - "title": "CustomImages", - "type": "array" + "required": [ + "InstanceType", + "RoleArn" + ], + "type": "object" }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", - "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.\n\n> The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.", - "title": "DefaultResourceSpec" + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstance" + ], + "type": "string" }, - "LifecycleConfigArns": { - "items": { - "type": "string" - }, - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", - "title": "LifecycleConfigArns", - "type": "array" + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::Space.OwnershipSettings": { + "AWS::SageMaker::NotebookInstance.InstanceMetadataServiceConfiguration": { "additionalProperties": false, "properties": { - "OwnerUserProfileName": { - "markdownDescription": "The user profile who is the owner of the space.", - "title": "OwnerUserProfileName", + "MinimumInstanceMetadataServiceVersion": { + "markdownDescription": "Indicates the minimum IMDS version that the notebook instance supports. When passed as part of `CreateNotebookInstance` , if no value is selected, then it defaults to IMDSv1. This means that both IMDSv1 and IMDSv2 are supported. If passed as part of `UpdateNotebookInstance` , there is no default.", + "title": "MinimumInstanceMetadataServiceVersion", "type": "string" } }, "required": [ - "OwnerUserProfileName" + "MinimumInstanceMetadataServiceVersion" ], "type": "object" }, - "AWS::SageMaker::Space.ResourceSpec": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { "additionalProperties": false, "properties": { - "InstanceType": { - "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", - "title": "InstanceType", + "Condition": { "type": "string" }, - "LifecycleConfigArn": { - "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", - "title": "LifecycleConfigArn", + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" }, - "SageMakerImageArn": { - "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", - "title": "SageMakerImageArn", + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotebookInstanceLifecycleConfigName": { + "markdownDescription": "The name of the lifecycle configuration.", + "title": "NotebookInstanceLifecycleConfigName", + "type": "string" + }, + "OnCreate": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "markdownDescription": "A shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.", + "title": "OnCreate", + "type": "array" + }, + "OnStart": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "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" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstanceLifecycleConfig" + ], "type": "string" }, - "SageMakerImageVersionArn": { - "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", - "title": "SageMakerImageVersionArn", + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type" + ], "type": "object" }, - "AWS::SageMaker::Space.S3FileSystem": { + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { "additionalProperties": false, "properties": { - "S3Uri": { - "markdownDescription": "The Amazon S3 URI that specifies the location in S3 where files are stored, which is mounted within the Studio environment. For example: `s3:////` .", - "title": "S3Uri", + "Content": { + "markdownDescription": "A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.", + "title": "Content", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::Space.SpaceAppLifecycleManagement": { - "additionalProperties": false, - "properties": { - "IdleSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceIdleSettings", - "markdownDescription": "Settings related to idle shutdown of Studio applications.", - "title": "IdleSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Space.SpaceCodeEditorAppSettings": { + "AWS::SageMaker::PartnerApp": { "additionalProperties": false, "properties": { - "AppLifecycleManagement": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceAppLifecycleManagement", - "markdownDescription": "Settings that are used to configure and manage the lifecycle of CodeEditor applications in a space.", - "title": "AppLifecycleManagement" + "Condition": { + "type": "string" }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", - "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", - "title": "DefaultResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Space.SpaceIdleSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeoutInMinutes": { - "markdownDescription": "The time that SageMaker waits after the application becomes idle before shutting it down.", - "title": "IdleTimeoutInMinutes", - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::Space.SpaceJupyterLabAppSettings": { - "additionalProperties": false, - "properties": { - "AppLifecycleManagement": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceAppLifecycleManagement", - "markdownDescription": "Settings that are used to configure and manage the lifecycle of JupyterLab applications in a space.", - "title": "AppLifecycleManagement" + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" }, - "CodeRepositories": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Space.CodeRepository" + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppVersion": { + "markdownDescription": "", + "title": "AppVersion", + "type": "string" + }, + "ApplicationConfig": { + "$ref": "#/definitions/AWS::SageMaker::PartnerApp.PartnerAppConfig", + "markdownDescription": "Configuration settings for the Partner AI App.", + "title": "ApplicationConfig" + }, + "AuthType": { + "markdownDescription": "Defines the authentication type used for the Partner AI App.", + "title": "AuthType", + "type": "string" + }, + "EnableAutoMinorVersionUpgrade": { + "markdownDescription": "", + "title": "EnableAutoMinorVersionUpgrade", + "type": "boolean" + }, + "EnableIamSessionBasedIdentity": { + "markdownDescription": "Enables IAM Session based Identity for PartnerApp.", + "title": "EnableIamSessionBasedIdentity", + "type": "boolean" + }, + "ExecutionRoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role of the user.", + "title": "ExecutionRoleArn", + "type": "string" + }, + "KmsKeyId": { + "markdownDescription": "The AWS KMS customer managed key used to encrypt the data associated with the PartnerApp.", + "title": "KmsKeyId", + "type": "string" + }, + "MaintenanceConfig": { + "$ref": "#/definitions/AWS::SageMaker::PartnerApp.PartnerAppMaintenanceConfig", + "markdownDescription": "A collection of settings that specify the maintenance schedule for the PartnerApp.", + "title": "MaintenanceConfig" + }, + "Name": { + "markdownDescription": "The name of the Partner AI App. This name must be unique within your account and region.", + "title": "Name", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags to apply to the PartnerApp.", + "title": "Tags", + "type": "array" + }, + "Tier": { + "markdownDescription": "Specifies the tier or level of the Partner AI App. The tier size impacts the speed and capabilities of the application. For more information, see [Set up Partner AI Apps](https://docs.aws.amazon.com/sagemaker/latest/dg/partner-app-onboard.html) .", + "title": "Tier", + "type": "string" + }, + "Type": { + "markdownDescription": "Specifies the type of Partner AI App being created.", + "title": "Type", + "type": "string" + } }, - "markdownDescription": "A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.", - "title": "CodeRepositories", - "type": "array" + "required": [ + "AuthType", + "ExecutionRoleArn", + "Name", + "Tier", + "Type" + ], + "type": "object" }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", - "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", - "title": "DefaultResourceSpec" + "Type": { + "enum": [ + "AWS::SageMaker::PartnerApp" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, - "AWS::SageMaker::Space.SpaceSettings": { + "AWS::SageMaker::PartnerApp.PartnerAppConfig": { "additionalProperties": false, "properties": { - "AppType": { - "markdownDescription": "The type of app created within the space.\n\nIf using the [UpdateSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateSpace.html) API, you can't change the app type of your space by specifying a different value for this field.", - "title": "AppType", - "type": "string" - }, - "CodeEditorAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceCodeEditorAppSettings", - "markdownDescription": "The Code Editor application settings.", - "title": "CodeEditorAppSettings" - }, - "CustomFileSystems": { + "AdminUsers": { "items": { - "$ref": "#/definitions/AWS::SageMaker::Space.CustomFileSystem" + "type": "string" }, - "markdownDescription": "A file system, created by you, that you assign to a space for an Amazon SageMaker AI Domain. Permitted users can access this file system in Amazon SageMaker AI Studio.", - "title": "CustomFileSystems", + "markdownDescription": "A list of users that will have administrative access to the Partner AI App.", + "title": "AdminUsers", "type": "array" }, - "JupyterLabAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceJupyterLabAppSettings", - "markdownDescription": "The settings for the JupyterLab application.", - "title": "JupyterLabAppSettings" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.JupyterServerAppSettings", - "markdownDescription": "The JupyterServer app settings.", - "title": "JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.KernelGatewayAppSettings", - "markdownDescription": "The KernelGateway app settings.", - "title": "KernelGatewayAppSettings" - }, - "RemoteAccess": { - "markdownDescription": "A setting that enables or disables remote access for a SageMaker space. When enabled, this allows you to connect to the remote space from your local IDE.", - "title": "RemoteAccess", - "type": "string" - }, - "SpaceManagedResources": { - "markdownDescription": "If you enable this option, SageMaker AI creates the following resources on your behalf when you create the space:\n\n- The user profile that possesses the space.\n- The app that the space contains.", - "title": "SpaceManagedResources", - "type": "string" - }, - "SpaceStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.SpaceStorageSettings", - "markdownDescription": "The storage settings for a space.", - "title": "SpaceStorageSettings" + "Arguments": { + "additionalProperties": true, + "markdownDescription": "Additional arguments passed to the Partner AI App during initialization or runtime.", + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "title": "Arguments", + "type": "object" } }, "type": "object" }, - "AWS::SageMaker::Space.SpaceSharingSettings": { + "AWS::SageMaker::PartnerApp.PartnerAppMaintenanceConfig": { "additionalProperties": false, "properties": { - "SharingType": { - "markdownDescription": "Specifies the sharing type of the space.", - "title": "SharingType", + "MaintenanceWindowStart": { + "markdownDescription": "The maintenance window start day and time for the PartnerApp.", + "title": "MaintenanceWindowStart", "type": "string" } }, "required": [ - "SharingType" + "MaintenanceWindowStart" ], "type": "object" }, - "AWS::SageMaker::Space.SpaceStorageSettings": { - "additionalProperties": false, - "properties": { - "EbsStorageSettings": { - "$ref": "#/definitions/AWS::SageMaker::Space.EbsStorageSettings", - "markdownDescription": "A collection of EBS storage settings for a space.", - "title": "EbsStorageSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::StudioLifecycleConfig": { + "AWS::SageMaker::Pipeline": { "additionalProperties": false, "properties": { "Condition": { @@ -371066,40 +341080,55 @@ "Properties": { "additionalProperties": false, "properties": { - "StudioLifecycleConfigAppType": { - "markdownDescription": "The App type to which the Lifecycle Configuration is attached.", - "title": "StudioLifecycleConfigAppType", + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Pipeline.ParallelismConfiguration", + "markdownDescription": "The parallelism configuration applied to the pipeline.", + "title": "ParallelismConfiguration" + }, + "PipelineDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Pipeline.PipelineDefinition", + "markdownDescription": "The definition of the pipeline. This can be either a JSON string or an Amazon S3 location.", + "title": "PipelineDefinition" + }, + "PipelineDescription": { + "markdownDescription": "The description of the pipeline.", + "title": "PipelineDescription", "type": "string" }, - "StudioLifecycleConfigContent": { - "markdownDescription": "", - "title": "StudioLifecycleConfigContent", + "PipelineDisplayName": { + "markdownDescription": "The display name of the pipeline.", + "title": "PipelineDisplayName", "type": "string" }, - "StudioLifecycleConfigName": { - "markdownDescription": "The name of the Amazon SageMaker AI Studio Lifecycle Configuration.", - "title": "StudioLifecycleConfigName", + "PipelineName": { + "markdownDescription": "The name of the pipeline.", + "title": "PipelineName", + "type": "string" + }, + "RoleArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role used to execute the pipeline.", + "title": "RoleArn", "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "", + "markdownDescription": "The tags of the pipeline.", "title": "Tags", "type": "array" } }, "required": [ - "StudioLifecycleConfigAppType", - "StudioLifecycleConfigContent", - "StudioLifecycleConfigName" + "PipelineDefinition", + "PipelineName", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::StudioLifecycleConfig" + "AWS::SageMaker::Pipeline" ], "type": "string" }, @@ -371118,7 +341147,67 @@ ], "type": "object" }, - "AWS::SageMaker::TrainingJob": { + "AWS::SageMaker::Pipeline.ParallelismConfiguration": { + "additionalProperties": false, + "properties": { + "MaxParallelExecutionSteps": { + "markdownDescription": "The max number of steps that can be executed in parallel.", + "title": "MaxParallelExecutionSteps", + "type": "number" + } + }, + "required": [ + "MaxParallelExecutionSteps" + ], + "type": "object" + }, + "AWS::SageMaker::Pipeline.PipelineDefinition": { + "additionalProperties": false, + "properties": { + "PipelineDefinitionBody": { + "markdownDescription": "The [JSON pipeline definition](https://docs.aws.amazon.com/https://aws-sagemaker-mlops.github.io/sagemaker-model-building-pipeline-definition-JSON-schema/) of the pipeline.", + "title": "PipelineDefinitionBody", + "type": "string" + }, + "PipelineDefinitionS3Location": { + "$ref": "#/definitions/AWS::SageMaker::Pipeline.S3Location", + "markdownDescription": "The location of the pipeline definition stored in Amazon S3. If specified, SageMaker retrieves the pipeline definition from this location.", + "title": "PipelineDefinitionS3Location" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "markdownDescription": "The name of the S3 bucket.", + "title": "Bucket", + "type": "string" + }, + "ETag": { + "markdownDescription": "A file checksum of the pipeline definition file.", + "title": "ETag", + "type": "string" + }, + "Key": { + "markdownDescription": "The object key (or key name) which uniquely identifies the object in an S3 bucket.", + "title": "Key", + "type": "string" + }, + "Version": { + "markdownDescription": "The version ID of the pipeline definition file. If not specified, Amazon SageMaker will retrieve the latest version.", + "title": "Version", + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::SageMaker::ProcessingJob": { "additionalProperties": false, "properties": { "Condition": { @@ -371153,116 +341242,84 @@ "Properties": { "additionalProperties": false, "properties": { - "AlgorithmSpecification": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.AlgorithmSpecification" - }, - "CheckpointConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.CheckpointConfig" - }, - "DebugHookConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.DebugHookConfig" - }, - "DebugRuleConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.DebugRuleConfiguration" - }, - "type": "array" - }, - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableManagedSpotTraining": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" + "AppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.AppSpecification", + "markdownDescription": "Configuration to run a processing job in a specified container image.", + "title": "AppSpecification" }, "Environment": { "additionalProperties": true, + "markdownDescription": "Sets the environment variables in the Docker container.", "patternProperties": { "^[a-zA-Z0-9]+$": { "type": "string" } }, + "title": "Environment", "type": "object" }, "ExperimentConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ExperimentConfig" - }, - "HyperParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InfraCheckConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.InfraCheckConfig" - }, - "InputDataConfig": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.Channel" - }, - "type": "array" - }, - "OutputDataConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.OutputDataConfig" + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ExperimentConfig", + "markdownDescription": "Associates a SageMaker job as a trial component with an experiment and trial. Specified when you call the [CreateProcessingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateProcessingJob.html) API.", + "title": "ExperimentConfig" }, - "ProfilerConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ProfilerConfig" + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.NetworkConfig", + "markdownDescription": "Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.", + "title": "NetworkConfig" }, - "ProfilerRuleConfigurations": { + "ProcessingInputs": { "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ProfilerRuleConfiguration" + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingInputsObject" }, + "markdownDescription": "List of input configurations for the processing job.", + "title": "ProcessingInputs", "type": "array" }, - "RemoteDebugConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.RemoteDebugConfig" + "ProcessingJobName": { + "markdownDescription": "The name of the processing job. If you don't provide a job name, then a unique name is automatically created for the job.", + "title": "ProcessingJobName", + "type": "string" }, - "ResourceConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ResourceConfig" + "ProcessingOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingOutputConfig", + "markdownDescription": "Contains information about the output location for the compiled model and the target device that the model runs on. `TargetDevice` and `TargetPlatform` are mutually exclusive, so you need to choose one between the two to specify your target device or platform. If you cannot find your device you want to use from the `TargetDevice` list, use `TargetPlatform` to describe the platform of your edge device and `CompilerOptions` if there are specific settings that are required or recommended to use for particular TargetPlatform.", + "title": "ProcessingOutputConfig" }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.RetryStrategy" + "ProcessingResources": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingResources", + "markdownDescription": "Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.", + "title": "ProcessingResources" }, "RoleArn": { + "markdownDescription": "The ARN of the role used to create the processing job.", + "title": "RoleArn", "type": "string" }, "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.StoppingCondition" + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.StoppingCondition", + "markdownDescription": "Configures conditions under which the processing job should be stopped, such as how long the processing job has been running. After the condition is met, the processing job is stopped.", + "title": "StoppingCondition" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "An array of key-value pairs. For more information, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL) in the *AWS Billing and Cost Management User Guide* .", + "title": "Tags", "type": "array" - }, - "TensorBoardOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.TensorBoardOutputConfig" - }, - "TrainingJobName": { - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.VpcConfig" } }, "required": [ - "AlgorithmSpecification", - "OutputDataConfig", - "ResourceConfig", - "RoleArn", - "StoppingCondition", - "TrainingJobName" + "AppSpecification", + "ProcessingResources", + "RoleArn" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::TrainingJob" + "AWS::SageMaker::ProcessingJob" ], "type": "string" }, @@ -371281,540 +341338,462 @@ ], "type": "object" }, - "AWS::SageMaker::TrainingJob.AlgorithmSpecification": { + "AWS::SageMaker::ProcessingJob.AppSpecification": { "additionalProperties": false, "properties": { - "AlgorithmName": { - "type": "string" - }, "ContainerArguments": { "items": { "type": "string" }, + "markdownDescription": "The arguments for a container used to run a processing job.", + "title": "ContainerArguments", "type": "array" }, "ContainerEntrypoint": { "items": { "type": "string" }, + "markdownDescription": "The entrypoint for a container used to run a processing job.", + "title": "ContainerEntrypoint", "type": "array" }, - "EnableSageMakerMetricsTimeSeries": { - "type": "boolean" - }, - "MetricDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.MetricDefinition" - }, - "type": "array" - }, - "TrainingImage": { - "type": "string" - }, - "TrainingImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.TrainingImageConfig" - }, - "TrainingInputMode": { + "ImageUri": { + "markdownDescription": "The container image to be run by the processing job.", + "title": "ImageUri", "type": "string" } }, "required": [ - "TrainingInputMode" + "ImageUri" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.Channel": { + "AWS::SageMaker::ProcessingJob.AthenaDatasetDefinition": { "additionalProperties": false, "properties": { - "ChannelName": { + "Catalog": { + "markdownDescription": "The name of the data catalog used in Athena query execution.", + "title": "Catalog", "type": "string" }, - "CompressionType": { + "Database": { + "markdownDescription": "The name of the database used in the Athena query execution.", + "title": "Database", "type": "string" }, - "ContentType": { + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data generated from an Athena query execution.", + "title": "KmsKeyId", "type": "string" }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.DataSource" + "OutputCompression": { + "markdownDescription": "The compression used for Athena query results.", + "title": "OutputCompression", + "type": "string" }, - "InputMode": { + "OutputFormat": { + "markdownDescription": "The data storage format for Athena query results.", + "title": "OutputFormat", "type": "string" }, - "RecordWrapperType": { + "OutputS3Uri": { + "markdownDescription": "The location in Amazon S3 where Athena query results are stored.", + "title": "OutputS3Uri", "type": "string" }, - "ShuffleConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.ShuffleConfig" - } - }, - "required": [ - "ChannelName", - "DataSource" - ], - "type": "object" - }, - "AWS::SageMaker::TrainingJob.CheckpointConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { + "QueryString": { + "markdownDescription": "The SQL query statements, to be executed.", + "title": "QueryString", "type": "string" }, - "S3Uri": { + "WorkGroup": { + "markdownDescription": "The name of the workgroup in which the Athena query is being started.", + "title": "WorkGroup", "type": "string" } }, "required": [ - "S3Uri" + "Catalog", + "Database", + "OutputFormat", + "OutputS3Uri", + "QueryString" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.CollectionConfiguration": { - "additionalProperties": false, - "properties": { - "CollectionName": { - "type": "string" - }, - "CollectionParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.DataSource": { - "additionalProperties": false, - "properties": { - "FileSystemDataSource": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.FileSystemDataSource" - }, - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.S3DataSource" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.DebugHookConfig": { + "AWS::SageMaker::ProcessingJob.ClusterConfig": { "additionalProperties": false, "properties": { - "CollectionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.CollectionConfiguration" - }, - "type": "array" - }, - "HookParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "InstanceCount": { + "markdownDescription": "The number of ML compute instances to use in the processing job. For distributed processing jobs, specify a value greater than 1. The default value is 1.", + "title": "InstanceCount", + "type": "number" }, - "LocalPath": { + "InstanceType": { + "markdownDescription": "The ML compute instance type for the processing job.", + "title": "InstanceType", "type": "string" }, - "S3OutputPath": { + "VolumeKmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the processing job.\n\n> Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a `VolumeKmsKeyId` when using an instance type with local storage.\n> \n> For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .\n> \n> For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .", + "title": "VolumeKmsKeyId", "type": "string" + }, + "VolumeSizeInGB": { + "markdownDescription": "The size of the ML storage volume in gigabytes that you want to provision. You must specify sufficient ML storage for your scenario.\n\n> Certain Nitro-based instances include local storage with a fixed total size, dependent on the instance type. When using these instances for processing, Amazon SageMaker mounts the local instance storage instead of Amazon EBS gp2 storage. You can't request a `VolumeSizeInGB` greater than the total size of the local instance storage.\n> \n> For a list of instance types that support local instance storage, including the total size per instance type, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .", + "title": "VolumeSizeInGB", + "type": "number" } }, "required": [ - "S3OutputPath" + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.DebugRuleConfiguration": { + "AWS::SageMaker::ProcessingJob.DatasetDefinition": { "additionalProperties": false, "properties": { - "InstanceType": { - "type": "string" - }, - "LocalPath": { - "type": "string" + "AthenaDatasetDefinition": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.AthenaDatasetDefinition", + "markdownDescription": "Configuration for Athena Dataset Definition input.", + "title": "AthenaDatasetDefinition" }, - "RuleConfigurationName": { + "DataDistributionType": { + "markdownDescription": "Whether the generated dataset is `FullyReplicated` or `ShardedByS3Key` (default).", + "title": "DataDistributionType", "type": "string" }, - "RuleEvaluatorImage": { + "InputMode": { + "markdownDescription": "Whether to use `File` or `Pipe` input mode. In `File` (default) mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your algorithm without using the EBS volume.", + "title": "InputMode", "type": "string" }, - "RuleParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "S3OutputPath": { + "LocalPath": { + "markdownDescription": "The local path where you want Amazon SageMaker to download the Dataset Definition inputs to run a processing job. `LocalPath` is an absolute path to the input data. This is a required parameter when `AppManaged` is `False` (default).", + "title": "LocalPath", "type": "string" }, - "VolumeSizeInGB": { - "type": "number" + "RedshiftDatasetDefinition": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.RedshiftDatasetDefinition", + "markdownDescription": "Configuration for Redshift Dataset Definition input.", + "title": "RedshiftDatasetDefinition" } }, - "required": [ - "RuleConfigurationName", - "RuleEvaluatorImage" - ], "type": "object" }, - "AWS::SageMaker::TrainingJob.ExperimentConfig": { + "AWS::SageMaker::ProcessingJob.ExperimentConfig": { "additionalProperties": false, "properties": { "ExperimentName": { + "markdownDescription": "The name of an existing experiment to associate with the trial component.", + "title": "ExperimentName", "type": "string" }, "RunName": { + "markdownDescription": "The name of the experiment run to associate with the trial component.", + "title": "RunName", "type": "string" }, "TrialComponentDisplayName": { + "markdownDescription": "The display name for the trial component. If this key isn't specified, the display name is the trial component name.", + "title": "TrialComponentDisplayName", "type": "string" }, "TrialName": { + "markdownDescription": "The name of an existing trial to associate the trial component with. If not specified, a new trial is created.", + "title": "TrialName", "type": "string" } }, "type": "object" }, - "AWS::SageMaker::TrainingJob.FileSystemDataSource": { + "AWS::SageMaker::ProcessingJob.FeatureStoreOutput": { "additionalProperties": false, "properties": { - "DirectoryPath": { - "type": "string" - }, - "FileSystemAccessMode": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "FileSystemType": { + "FeatureGroupName": { + "markdownDescription": "The name of the Amazon SageMaker FeatureGroup to use as the destination for processing job output. Note that your processing script is responsible for putting records into your Feature Store.", + "title": "FeatureGroupName", "type": "string" } }, "required": [ - "DirectoryPath", - "FileSystemAccessMode", - "FileSystemId", - "FileSystemType" + "FeatureGroupName" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.InfraCheckConfig": { + "AWS::SageMaker::ProcessingJob.NetworkConfig": { "additionalProperties": false, "properties": { - "EnableInfraCheck": { + "EnableInterContainerTrafficEncryption": { + "markdownDescription": "Whether to encrypt all communications between distributed processing jobs. Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.", + "title": "EnableInterContainerTrafficEncryption", "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.InstanceGroup": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" }, - "InstanceGroupName": { - "type": "string" + "EnableNetworkIsolation": { + "markdownDescription": "Whether to allow inbound and outbound network calls to and from the containers used for the processing job.", + "title": "EnableNetworkIsolation", + "type": "boolean" }, - "InstanceType": { - "type": "string" + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.VpcConfig", + "markdownDescription": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", + "title": "VpcConfig" } }, - "required": [ - "InstanceCount", - "InstanceGroupName", - "InstanceType" - ], "type": "object" }, - "AWS::SageMaker::TrainingJob.MetricDefinition": { + "AWS::SageMaker::ProcessingJob.ProcessingInputsObject": { "additionalProperties": false, "properties": { - "Name": { - "type": "string" + "AppManaged": { + "markdownDescription": "When `True` , input operations such as data download are managed natively by the processing job application. When `False` (default), input operations are managed by Amazon SageMaker.", + "title": "AppManaged", + "type": "boolean" }, - "Regex": { + "DatasetDefinition": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.DatasetDefinition", + "markdownDescription": "Configuration for Dataset Definition inputs. The Dataset Definition input must specify exactly one of either `AthenaDatasetDefinition` or `RedshiftDatasetDefinition` types.", + "title": "DatasetDefinition" + }, + "InputName": { + "markdownDescription": "The name for the processing job input.", + "title": "InputName", "type": "string" + }, + "S3Input": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.S3Input", + "markdownDescription": "Configuration for downloading input data from Amazon S3 into the processing container.", + "title": "S3Input" } }, "required": [ - "Name", - "Regex" + "InputName" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.OutputDataConfig": { + "AWS::SageMaker::ProcessingJob.ProcessingOutputConfig": { "additionalProperties": false, "properties": { - "CompressionType": { - "type": "string" - }, "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the processing job output. `KmsKeyId` can be an ID of a KMS key, ARN of a KMS key, or alias of a KMS key. The `KmsKeyId` is applied to all outputs.", + "title": "KmsKeyId", "type": "string" }, - "S3OutputPath": { - "type": "string" + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ProcessingOutputsObject" + }, + "markdownDescription": "An array of outputs configuring the data to upload from the processing container.", + "title": "Outputs", + "type": "array" } }, "required": [ - "S3OutputPath" + "Outputs" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.ProfilerConfig": { + "AWS::SageMaker::ProcessingJob.ProcessingOutputsObject": { "additionalProperties": false, "properties": { - "DisableProfiler": { + "AppManaged": { + "markdownDescription": "When `True` , output operations such as data upload are managed natively by the processing job application. When `False` (default), output operations are managed by Amazon SageMaker.", + "title": "AppManaged", "type": "boolean" }, - "ProfilingIntervalInMilliseconds": { - "type": "number" - }, - "ProfilingParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.ProfilerRuleConfiguration": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "RuleConfigurationName": { - "type": "string" - }, - "RuleEvaluatorImage": { - "type": "string" - }, - "RuleParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" + "FeatureStoreOutput": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.FeatureStoreOutput", + "markdownDescription": "Configuration for processing job outputs in Amazon SageMaker Feature Store.", + "title": "FeatureStoreOutput" }, - "S3OutputPath": { + "OutputName": { + "markdownDescription": "The name for the processing job output.", + "title": "OutputName", "type": "string" }, - "VolumeSizeInGB": { - "type": "number" + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.S3Output", + "markdownDescription": "Configuration for uploading output data to Amazon S3 from the processing container.", + "title": "S3Output" } }, "required": [ - "RuleConfigurationName", - "RuleEvaluatorImage" + "OutputName" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.RemoteDebugConfig": { + "AWS::SageMaker::ProcessingJob.ProcessingResources": { "additionalProperties": false, "properties": { - "EnableRemoteDebug": { - "type": "boolean" + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ProcessingJob.ClusterConfig", + "markdownDescription": "The configuration for the resources in a cluster used to run the processing job.", + "title": "ClusterConfig" } }, + "required": [ + "ClusterConfig" + ], "type": "object" }, - "AWS::SageMaker::TrainingJob.ResourceConfig": { + "AWS::SageMaker::ProcessingJob.RedshiftDatasetDefinition": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceGroups": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.InstanceGroup" - }, - "type": "array" + "ClusterId": { + "markdownDescription": "The Redshift cluster Identifier.", + "title": "ClusterId", + "type": "string" }, - "InstanceType": { + "ClusterRoleArn": { + "markdownDescription": "The IAM role attached to your Redshift cluster that Amazon SageMaker uses to generate datasets.", + "title": "ClusterRoleArn", "type": "string" }, - "KeepAlivePeriodInSeconds": { - "type": "number" + "Database": { + "markdownDescription": "The name of the Redshift database used in Redshift query execution.", + "title": "Database", + "type": "string" }, - "VolumeKmsKeyId": { + "DbUser": { + "markdownDescription": "The database user name used in Redshift query execution.", + "title": "DbUser", "type": "string" }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.RetryStrategy": { - "additionalProperties": false, - "properties": { - "MaximumRetryAttempts": { - "type": "number" - } - }, - "required": [ - "MaximumRetryAttempts" - ], - "type": "object" - }, - "AWS::SageMaker::TrainingJob.S3DataSource": { - "additionalProperties": false, - "properties": { - "AttributeNames": { - "items": { - "type": "string" - }, - "type": "array" + "KmsKeyId": { + "markdownDescription": "The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data from a Redshift execution.", + "title": "KmsKeyId", + "type": "string" }, - "InstanceGroupNames": { - "items": { - "type": "string" - }, - "type": "array" + "OutputCompression": { + "markdownDescription": "The compression used for Redshift query results.", + "title": "OutputCompression", + "type": "string" }, - "S3DataDistributionType": { + "OutputFormat": { + "markdownDescription": "The data storage format for Redshift query results.", + "title": "OutputFormat", "type": "string" }, - "S3DataType": { + "OutputS3Uri": { + "markdownDescription": "The location in Amazon S3 where the Redshift query results are stored.", + "title": "OutputS3Uri", "type": "string" }, - "S3Uri": { + "QueryString": { + "markdownDescription": "The SQL query statements to be executed.", + "title": "QueryString", "type": "string" } }, "required": [ - "S3DataType", - "S3Uri" + "ClusterId", + "ClusterRoleArn", + "Database", + "DbUser", + "OutputFormat", + "OutputS3Uri", + "QueryString" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.SecondaryStatusTransition": { + "AWS::SageMaker::ProcessingJob.S3Input": { "additionalProperties": false, "properties": { - "EndTime": { + "LocalPath": { + "markdownDescription": "The local path in your container where you want Amazon SageMaker to write input data to. `LocalPath` is an absolute path to the input data and must begin with `/opt/ml/processing/` . `LocalPath` is a required parameter when `AppManaged` is `False` (default).", + "title": "LocalPath", "type": "string" }, - "StartTime": { + "S3CompressionType": { + "markdownDescription": "Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing container. `Gzip` can only be used when `Pipe` mode is specified as the `S3InputMode` . In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your container without using the EBS volume.", + "title": "S3CompressionType", "type": "string" }, - "Status": { + "S3DataDistributionType": { + "markdownDescription": "Whether to distribute the data from Amazon S3 to all processing instances with `FullyReplicated` , or whether the data from Amazon S3 is sharded by Amazon S3 key, downloading one shard of data to each processing instance.", + "title": "S3DataDistributionType", "type": "string" }, - "StatusMessage": { + "S3DataType": { + "markdownDescription": "Whether you use an `S3Prefix` or a `ManifestFile` for the data type. If you choose `S3Prefix` , `S3Uri` identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing job. If you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for the processing job.", + "title": "S3DataType", "type": "string" - } - }, - "required": [ - "StartTime", - "Status" - ], - "type": "object" - }, - "AWS::SageMaker::TrainingJob.ShuffleConfig": { - "additionalProperties": false, - "properties": { - "Seed": { - "type": "number" - } - }, - "required": [ - "Seed" - ], - "type": "object" - }, - "AWS::SageMaker::TrainingJob.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxPendingTimeInSeconds": { - "type": "number" - }, - "MaxRuntimeInSeconds": { - "type": "number" }, - "MaxWaitTimeInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::TrainingJob.TensorBoardOutputConfig": { - "additionalProperties": false, - "properties": { - "LocalPath": { + "S3InputMode": { + "markdownDescription": "Whether to use `File` or `Pipe` input mode. In File mode, Amazon SageMaker copies the data from the input source onto the local ML storage volume before starting your processing container. This is the most commonly used input mode. In `Pipe` mode, Amazon SageMaker streams input data from the source directly to your processing container into named pipes without using the ML storage volume.", + "title": "S3InputMode", "type": "string" }, - "S3OutputPath": { + "S3Uri": { + "markdownDescription": "The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.", + "title": "S3Uri", "type": "string" } }, "required": [ - "S3OutputPath" + "S3DataType", + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.TrainingImageConfig": { + "AWS::SageMaker::ProcessingJob.S3Output": { "additionalProperties": false, "properties": { - "TrainingRepositoryAccessMode": { + "LocalPath": { + "markdownDescription": "The local path of a directory where you want Amazon SageMaker to upload its contents to Amazon S3. `LocalPath` is an absolute path to a directory containing output files. This directory will be created by the platform and exist when your container's entrypoint is invoked.", + "title": "LocalPath", + "type": "string" + }, + "S3UploadMode": { + "markdownDescription": "Whether to upload the results of the processing job continuously or after the job completes.", + "title": "S3UploadMode", "type": "string" }, - "TrainingRepositoryAuthConfig": { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob.TrainingRepositoryAuthConfig" + "S3Uri": { + "markdownDescription": "The URI of the Amazon S3 prefix Amazon SageMaker downloads data required to run a processing job.", + "title": "S3Uri", + "type": "string" } }, "required": [ - "TrainingRepositoryAccessMode" + "S3UploadMode", + "S3Uri" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.TrainingRepositoryAuthConfig": { + "AWS::SageMaker::ProcessingJob.StoppingCondition": { "additionalProperties": false, "properties": { - "TrainingRepositoryCredentialsProviderArn": { - "type": "string" + "MaxRuntimeInSeconds": { + "markdownDescription": "The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.\n\nFor compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.\n\nFor all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.\n\nThe maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.", + "title": "MaxRuntimeInSeconds", + "type": "number" } }, "required": [ - "TrainingRepositoryCredentialsProviderArn" + "MaxRuntimeInSeconds" ], "type": "object" }, - "AWS::SageMaker::TrainingJob.VpcConfig": { + "AWS::SageMaker::ProcessingJob.VpcConfig": { "additionalProperties": false, "properties": { "SecurityGroupIds": { "items": { "type": "string" }, + "markdownDescription": "The VPC security group IDs, in the form `sg-xxxxxxxx` . Specify the security groups for the VPC that is specified in the `Subnets` field.", + "title": "SecurityGroupIds", "type": "array" }, "Subnets": { "items": { "type": "string" }, + "markdownDescription": "The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .", + "title": "Subnets", "type": "array" } }, @@ -371824,7 +341803,7 @@ ], "type": "object" }, - "AWS::SageMaker::TransformJob": { + "AWS::SageMaker::Project": { "additionalProperties": false, "properties": { "Condition": { @@ -371859,66 +341838,51 @@ "Properties": { "additionalProperties": false, "properties": { - "BatchStrategy": { + "ProjectDescription": { + "markdownDescription": "The description of the project.", + "title": "ProjectDescription", "type": "string" }, - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.DataCaptureConfig" - }, - "DataProcessing": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.DataProcessing" - }, - "Environment": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ExperimentConfig": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.ExperimentConfig" - }, - "MaxConcurrentTransforms": { - "type": "number" - }, - "MaxPayloadInMB": { - "type": "number" + "ProjectName": { + "markdownDescription": "The name of the project.", + "title": "ProjectName", + "type": "string" }, - "ModelClientConfig": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.ModelClientConfig" + "ServiceCatalogProvisionedProductDetails": { + "$ref": "#/definitions/AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails", + "markdownDescription": "Details of a provisioned service catalog product. For information about service catalog, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .", + "title": "ServiceCatalogProvisionedProductDetails" }, - "ModelName": { - "type": "string" + "ServiceCatalogProvisioningDetails": { + "$ref": "#/definitions/AWS::SageMaker::Project.ServiceCatalogProvisioningDetails", + "markdownDescription": "The product ID and provisioning artifact ID to provision a service catalog. For information, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .", + "title": "ServiceCatalogProvisioningDetails" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.TagsItems" + "$ref": "#/definitions/Tag" }, + "markdownDescription": "A list of key-value pairs to apply to this resource.\n\nFor more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .", + "title": "Tags", "type": "array" }, - "TransformInput": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.TransformInput" - }, - "TransformOutput": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.TransformOutput" - }, - "TransformResources": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.TransformResources" + "TemplateProviderDetails": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Project.TemplateProviderDetail" + }, + "markdownDescription": "An array of template providers associated with the project.", + "title": "TemplateProviderDetails", + "type": "array" } }, "required": [ - "ModelName", - "TransformInput", - "TransformOutput", - "TransformResources" + "ProjectName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::TransformJob" + "AWS::SageMaker::Project" ], "type": "string" }, @@ -371937,101 +341901,70 @@ ], "type": "object" }, - "AWS::SageMaker::TransformJob.DataCaptureConfig": { - "additionalProperties": false, - "properties": { - "DestinationS3Uri": { - "type": "string" - }, - "GenerateInferenceId": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "required": [ - "DestinationS3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::TransformJob.DataProcessing": { + "AWS::SageMaker::Project.CfnStackParameter": { "additionalProperties": false, "properties": { - "InputFilter": { - "type": "string" - }, - "JoinSource": { + "Key": { + "markdownDescription": "The name of the CloudFormation parameter.", + "title": "Key", "type": "string" }, - "OutputFilter": { + "Value": { + "markdownDescription": "The value of the CloudFormation parameter.", + "title": "Value", "type": "string" } }, - "type": "object" - }, - "AWS::SageMaker::TransformJob.DataSource": { - "additionalProperties": false, - "properties": { - "S3DataSource": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.S3DataSource" - } - }, "required": [ - "S3DataSource" + "Key", + "Value" ], "type": "object" }, - "AWS::SageMaker::TransformJob.ExperimentConfig": { + "AWS::SageMaker::Project.CfnTemplateProviderDetail": { "additionalProperties": false, "properties": { - "ExperimentName": { - "type": "string" - }, - "TrialComponentDisplayName": { - "type": "string" + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Project.CfnStackParameter" + }, + "markdownDescription": "An array of CloudFormation stack parameters.", + "title": "Parameters", + "type": "array" }, - "TrialName": { + "RoleARN": { + "markdownDescription": "The IAM role used by CloudFormation to create the stack.", + "title": "RoleARN", "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::TransformJob.ModelClientConfig": { - "additionalProperties": false, - "properties": { - "InvocationsMaxRetries": { - "type": "number" }, - "InvocationsTimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SageMaker::TransformJob.S3DataSource": { - "additionalProperties": false, - "properties": { - "S3DataType": { + "TemplateName": { + "markdownDescription": "The unique identifier of the template within the project.", + "title": "TemplateName", "type": "string" }, - "S3Uri": { + "TemplateURL": { + "markdownDescription": "The Amazon S3 URL of the CloudFormation template.", + "title": "TemplateURL", "type": "string" } }, "required": [ - "S3DataType", - "S3Uri" + "TemplateName", + "TemplateURL" ], "type": "object" }, - "AWS::SageMaker::TransformJob.TagsItems": { + "AWS::SageMaker::Project.ProvisioningParameter": { "additionalProperties": false, "properties": { "Key": { + "markdownDescription": "The key that identifies a provisioning parameter.", + "title": "Key", "type": "string" }, "Value": { + "markdownDescription": "The value of the provisioning parameter.", + "title": "Value", "type": "string" } }, @@ -372041,68 +341974,69 @@ ], "type": "object" }, - "AWS::SageMaker::TransformJob.TransformInput": { + "AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails": { "additionalProperties": false, "properties": { - "CompressionType": { - "type": "string" - }, - "ContentType": { + "ProvisionedProductId": { + "markdownDescription": "The ID of the provisioned product.", + "title": "ProvisionedProductId", "type": "string" }, - "DataSource": { - "$ref": "#/definitions/AWS::SageMaker::TransformJob.DataSource" - }, - "SplitType": { + "ProvisionedProductStatusMessage": { + "markdownDescription": "The current status of the product.\n\n- `AVAILABLE` - Stable state, ready to perform any operation. The most recent operation succeeded and completed.\n- `UNDER_CHANGE` - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.\n- `TAINTED` - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.\n- `ERROR` - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.\n- `PLAN_IN_PROGRESS` - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.", + "title": "ProvisionedProductStatusMessage", "type": "string" } }, - "required": [ - "DataSource" - ], "type": "object" }, - "AWS::SageMaker::TransformJob.TransformOutput": { + "AWS::SageMaker::Project.ServiceCatalogProvisioningDetails": { "additionalProperties": false, "properties": { - "Accept": { + "PathId": { + "markdownDescription": "The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path.", + "title": "PathId", "type": "string" }, - "AssembleWith": { + "ProductId": { + "markdownDescription": "The ID of the product to provision.", + "title": "ProductId", "type": "string" }, - "KmsKeyId": { + "ProvisioningArtifactId": { + "markdownDescription": "The ID of the provisioning artifact.", + "title": "ProvisioningArtifactId", "type": "string" }, - "S3OutputPath": { - "type": "string" + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Project.ProvisioningParameter" + }, + "markdownDescription": "A list of key value pairs that you specify when you provision a product.", + "title": "ProvisioningParameters", + "type": "array" } }, "required": [ - "S3OutputPath" + "ProductId" ], "type": "object" }, - "AWS::SageMaker::TransformJob.TransformResources": { + "AWS::SageMaker::Project.TemplateProviderDetail": { "additionalProperties": false, "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" + "CfnTemplateProviderDetail": { + "$ref": "#/definitions/AWS::SageMaker::Project.CfnTemplateProviderDetail", + "markdownDescription": "Details about a CloudFormation template provider configuration and associated provisioning information.", + "title": "CfnTemplateProviderDetail" } }, "required": [ - "InstanceCount", - "InstanceType" + "CfnTemplateProviderDetail" ], "type": "object" }, - "AWS::SageMaker::TrialComponent": { + "AWS::SageMaker::Space": { "additionalProperties": false, "properties": { "Condition": { @@ -372137,60 +342071,54 @@ "Properties": { "additionalProperties": false, "properties": { - "DisplayName": { + "DomainId": { + "markdownDescription": "The ID of the associated domain.", + "title": "DomainId", "type": "string" }, - "InputArtifacts": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TrialComponentArtifact" - } - }, - "type": "object" + "OwnershipSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.OwnershipSettings", + "markdownDescription": "The collection of ownership settings for a space.", + "title": "OwnershipSettings" }, - "MetadataProperties": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.MetadataProperties" + "SpaceDisplayName": { + "markdownDescription": "The name of the space that appears in the Studio UI.", + "title": "SpaceDisplayName", + "type": "string" }, - "OutputArtifacts": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TrialComponentArtifact" - } - }, - "type": "object" + "SpaceName": { + "markdownDescription": "The name of the space.", + "title": "SpaceName", + "type": "string" }, - "Parameters": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TrialComponentParameterValue" - } - }, - "type": "object" + "SpaceSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceSettings", + "markdownDescription": "A collection of space settings.", + "title": "SpaceSettings" }, - "Status": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TrialComponentStatus" + "SpaceSharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceSharingSettings", + "markdownDescription": "A collection of space sharing settings.", + "title": "SpaceSharingSettings" }, "Tags": { "items": { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent.TagsItems" + "$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" - }, - "TrialComponentName": { - "type": "string" } }, "required": [ - "TrialComponentName" + "DomainId", + "SpaceName" ], "type": "object" }, "Type": { "enum": [ - "AWS::SageMaker::TrialComponent" + "AWS::SageMaker::Space" ], "type": "string" }, @@ -372209,77 +342137,431 @@ ], "type": "object" }, - "AWS::SageMaker::TrialComponent.MetadataProperties": { + "AWS::SageMaker::Space.CodeRepository": { "additionalProperties": false, "properties": { - "CommitId": { + "RepositoryUrl": { + "markdownDescription": "The URL of the Git repository.", + "title": "RepositoryUrl", "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::Space.CustomFileSystem": { + "additionalProperties": false, + "properties": { + "EFSFileSystem": { + "$ref": "#/definitions/AWS::SageMaker::Space.EFSFileSystem", + "markdownDescription": "A custom file system in Amazon EFS.", + "title": "EFSFileSystem" }, - "GeneratedBy": { + "FSxLustreFileSystem": { + "$ref": "#/definitions/AWS::SageMaker::Space.FSxLustreFileSystem", + "markdownDescription": "A custom file system in Amazon FSx for Lustre.", + "title": "FSxLustreFileSystem" + }, + "S3FileSystem": { + "$ref": "#/definitions/AWS::SageMaker::Space.S3FileSystem", + "markdownDescription": "A custom file system in Amazon S3. This is only supported in Amazon SageMaker Unified Studio.", + "title": "S3FileSystem" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "markdownDescription": "The name of the AppImageConfig.", + "title": "AppImageConfigName", "type": "string" }, - "ProjectId": { + "ImageName": { + "markdownDescription": "The name of the CustomImage. Must be unique to your account.", + "title": "ImageName", "type": "string" }, - "Repository": { + "ImageVersionNumber": { + "markdownDescription": "The version number of the CustomImage.", + "title": "ImageVersionNumber", + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::Space.EFSFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "markdownDescription": "The ID of your Amazon EFS file system.", + "title": "FileSystemId", "type": "string" } }, + "required": [ + "FileSystemId" + ], "type": "object" }, - "AWS::SageMaker::TrialComponent.TagsItems": { + "AWS::SageMaker::Space.EbsStorageSettings": { "additionalProperties": false, "properties": { - "Key": { + "EbsVolumeSizeInGb": { + "markdownDescription": "The size of an EBS storage volume for a space.", + "title": "EbsVolumeSizeInGb", + "type": "number" + } + }, + "required": [ + "EbsVolumeSizeInGb" + ], + "type": "object" + }, + "AWS::SageMaker::Space.FSxLustreFileSystem": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "markdownDescription": "Amazon FSx for Lustre file system ID.", + "title": "FileSystemId", "type": "string" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::SageMaker::Space.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the JupyterServer app. If you use the `LifecycleConfigArns` parameter, then this parameter is also required.", + "title": "DefaultResourceSpec" }, - "Value": { + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the JupyterServerApp. If you use this parameter, the `DefaultResourceSpec` parameter is also required.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Space.CustomImage" + }, + "markdownDescription": "A list of custom SageMaker AI images that are configured to run as a KernelGateway app.\n\nThe maximum number of custom images are as follows.\n\n- On a domain level: 200\n- On a space level: 5\n- On a user profile level: 5", + "title": "CustomImages", + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", + "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker AI image used by the KernelGateway app.\n\n> The Amazon SageMaker AI Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS CLI or CloudFormation and the instance type parameter value is not passed.", + "title": "DefaultResourceSpec" + }, + "LifecycleConfigArns": { + "items": { + "type": "string" + }, + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configurations attached to the the user profile or domain.\n\n> To remove a Lifecycle Config, you must set `LifecycleConfigArns` to an empty list.", + "title": "LifecycleConfigArns", + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.OwnershipSettings": { + "additionalProperties": false, + "properties": { + "OwnerUserProfileName": { + "markdownDescription": "The user profile who is the owner of the space.", + "title": "OwnerUserProfileName", "type": "string" } }, "required": [ - "Key", - "Value" + "OwnerUserProfileName" ], "type": "object" }, - "AWS::SageMaker::TrialComponent.TrialComponentArtifact": { + "AWS::SageMaker::Space.ResourceSpec": { "additionalProperties": false, "properties": { - "MediaType": { + "InstanceType": { + "markdownDescription": "The instance type that the image version runs on.\n\n> *JupyterServer apps* only support the `system` value.\n> \n> For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.", + "title": "InstanceType", "type": "string" }, - "Value": { + "LifecycleConfigArn": { + "markdownDescription": "The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.", + "title": "LifecycleConfigArn", + "type": "string" + }, + "SageMakerImageArn": { + "markdownDescription": "The ARN of the SageMaker AI image that the image version belongs to.", + "title": "SageMakerImageArn", + "type": "string" + }, + "SageMakerImageVersionArn": { + "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", + "title": "SageMakerImageVersionArn", "type": "string" } }, - "required": [ - "Value" - ], "type": "object" }, - "AWS::SageMaker::TrialComponent.TrialComponentParameterValue": { + "AWS::SageMaker::Space.S3FileSystem": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "markdownDescription": "The Amazon S3 URI that specifies the location in S3 where files are stored, which is mounted within the Studio environment. For example: `s3:////` .", + "title": "S3Uri", + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceAppLifecycleManagement": { + "additionalProperties": false, + "properties": { + "IdleSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceIdleSettings", + "markdownDescription": "Settings related to idle shutdown of Studio applications.", + "title": "IdleSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceCodeEditorAppSettings": { + "additionalProperties": false, + "properties": { + "AppLifecycleManagement": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceAppLifecycleManagement", + "markdownDescription": "Settings that are used to configure and manage the lifecycle of CodeEditor applications in a space.", + "title": "AppLifecycleManagement" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", + "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", + "title": "DefaultResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceIdleSettings": { "additionalProperties": false, "properties": { - "NumberValue": { + "IdleTimeoutInMinutes": { + "markdownDescription": "The time that SageMaker waits after the application becomes idle before shutting it down.", + "title": "IdleTimeoutInMinutes", "type": "number" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceJupyterLabAppSettings": { + "additionalProperties": false, + "properties": { + "AppLifecycleManagement": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceAppLifecycleManagement", + "markdownDescription": "Settings that are used to configure and manage the lifecycle of JupyterLab applications in a space.", + "title": "AppLifecycleManagement" }, - "StringValue": { + "CodeRepositories": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Space.CodeRepository" + }, + "markdownDescription": "A list of Git repositories that SageMaker automatically displays to users for cloning in the JupyterLab application.", + "title": "CodeRepositories", + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Space.ResourceSpec", + "markdownDescription": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.", + "title": "DefaultResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Space.SpaceSettings": { + "additionalProperties": false, + "properties": { + "AppType": { + "markdownDescription": "The type of app created within the space.\n\nIf using the [UpdateSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateSpace.html) API, you can't change the app type of your space by specifying a different value for this field.", + "title": "AppType", + "type": "string" + }, + "CodeEditorAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceCodeEditorAppSettings", + "markdownDescription": "The Code Editor application settings.", + "title": "CodeEditorAppSettings" + }, + "CustomFileSystems": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Space.CustomFileSystem" + }, + "markdownDescription": "A file system, created by you, that you assign to a space for an Amazon SageMaker AI Domain. Permitted users can access this file system in Amazon SageMaker AI Studio.", + "title": "CustomFileSystems", + "type": "array" + }, + "JupyterLabAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceJupyterLabAppSettings", + "markdownDescription": "The settings for the JupyterLab application.", + "title": "JupyterLabAppSettings" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.JupyterServerAppSettings", + "markdownDescription": "The JupyterServer app settings.", + "title": "JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.KernelGatewayAppSettings", + "markdownDescription": "The KernelGateway app settings.", + "title": "KernelGatewayAppSettings" + }, + "RemoteAccess": { + "markdownDescription": "A setting that enables or disables remote access for a SageMaker space. When enabled, this allows you to connect to the remote space from your local IDE.", + "title": "RemoteAccess", + "type": "string" + }, + "SpaceManagedResources": { + "markdownDescription": "If you enable this option, SageMaker AI creates the following resources on your behalf when you create the space:\n\n- The user profile that possesses the space.\n- The app that the space contains.", + "title": "SpaceManagedResources", "type": "string" + }, + "SpaceStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.SpaceStorageSettings", + "markdownDescription": "The storage settings for a space.", + "title": "SpaceStorageSettings" } }, "type": "object" }, - "AWS::SageMaker::TrialComponent.TrialComponentStatus": { + "AWS::SageMaker::Space.SpaceSharingSettings": { "additionalProperties": false, "properties": { - "Message": { + "SharingType": { + "markdownDescription": "Specifies the sharing type of the space.", + "title": "SharingType", + "type": "string" + } + }, + "required": [ + "SharingType" + ], + "type": "object" + }, + "AWS::SageMaker::Space.SpaceStorageSettings": { + "additionalProperties": false, + "properties": { + "EbsStorageSettings": { + "$ref": "#/definitions/AWS::SageMaker::Space.EbsStorageSettings", + "markdownDescription": "A collection of EBS storage settings for a space.", + "title": "EbsStorageSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::StudioLifecycleConfig": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StudioLifecycleConfigAppType": { + "markdownDescription": "The App type to which the Lifecycle Configuration is attached.", + "title": "StudioLifecycleConfigAppType", + "type": "string" + }, + "StudioLifecycleConfigContent": { + "markdownDescription": "", + "title": "StudioLifecycleConfigContent", + "type": "string" + }, + "StudioLifecycleConfigName": { + "markdownDescription": "The name of the Amazon SageMaker AI Studio Lifecycle Configuration.", + "title": "StudioLifecycleConfigName", + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "", + "title": "Tags", + "type": "array" + } + }, + "required": [ + "StudioLifecycleConfigAppType", + "StudioLifecycleConfigContent", + "StudioLifecycleConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::StudioLifecycleConfig" + ], "type": "string" }, - "PrimaryStatus": { + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], "type": "string" } }, + "required": [ + "Type", + "Properties" + ], "type": "object" }, "AWS::SageMaker::UserProfile": { @@ -372556,24 +342838,6 @@ ], "type": "object" }, - "AWS::SageMaker::UserProfile.EmrSettings": { - "additionalProperties": false, - "properties": { - "AssumableRoleArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExecutionRoleArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "AWS::SageMaker::UserProfile.FSxLustreFileSystemConfig": { "additionalProperties": false, "properties": { @@ -372672,9 +342936,6 @@ "markdownDescription": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app.", "title": "DefaultResourceSpec" }, - "EmrSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.EmrSettings" - }, "LifecycleConfigArns": { "items": { "type": "string" @@ -372770,9 +343031,6 @@ "markdownDescription": "The ARN of the image version created on the instance. To clear the value set for `SageMakerImageVersionArn` , pass `None` as the value.", "title": "SageMakerImageVersionArn", "type": "string" - }, - "TrainingPlanArn": { - "type": "string" } }, "type": "object" @@ -372939,195 +343197,6 @@ }, "type": "object" }, - "AWS::SageMaker::Workforce": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CognitoConfig": { - "$ref": "#/definitions/AWS::SageMaker::Workforce.CognitoConfig" - }, - "IpAddressType": { - "type": "string" - }, - "OidcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Workforce.OidcConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::SageMaker::Workforce.SourceIpConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkforceName": { - "type": "string" - }, - "WorkforceVpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Workforce.WorkforceVpcConfigRequest" - } - }, - "required": [ - "WorkforceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workforce" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Workforce.CognitoConfig": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "UserPool": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workforce.OidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "JwksUri": { - "type": "string" - }, - "LogoutEndpoint": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "Issuer", - "JwksUri", - "LogoutEndpoint", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::SageMaker::Workforce.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Cidrs" - ], - "type": "object" - }, - "AWS::SageMaker::Workforce.WorkforceVpcConfigRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, "AWS::SageMaker::Workteam": { "additionalProperties": false, "properties": { @@ -373162,179 +343231,49 @@ }, "Properties": { "additionalProperties": false, - "properties": { - "Description": { - "markdownDescription": "A description of the work team.", - "title": "Description", - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "markdownDescription": "A list of `MemberDefinition` objects that contains objects that identify the workers that make up the work team.\n\nWorkforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces created using Amazon Cognito use `CognitoMemberDefinition` . For workforces created using your own OIDC identity provider (IdP) use `OidcMemberDefinition` .", - "title": "MemberDefinitions", - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration", - "markdownDescription": "Configures SNS notifications of available or expiring work items for work teams.", - "title": "NotificationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "An array of key-value pairs.", - "title": "Tags", - "type": "array" - }, - "WorkforceName": { - "markdownDescription": "The name of the workforce.", - "title": "WorkforceName", - "type": "string" - }, - "WorkteamName": { - "markdownDescription": "The name of the work team.", - "title": "WorkteamName", - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "markdownDescription": "An identifier for an application client. You must create the app client ID using Amazon Cognito .", - "title": "CognitoClientId", - "type": "string" - }, - "CognitoUserGroup": { - "markdownDescription": "An identifier for a user group.", - "title": "CognitoUserGroup", - "type": "string" - }, - "CognitoUserPool": { - "markdownDescription": "An identifier for a user pool. The user pool must be in the same region as the service that you are calling.", - "title": "CognitoUserPool", - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition", - "markdownDescription": "The Amazon Cognito user group that is part of the work team.", - "title": "CognitoMemberDefinition" - }, - "OidcMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition", - "markdownDescription": "A list user groups that exist in your OIDC Identity Provider (IdP). One to ten groups can be used to create a single private work team. When you add a user group to the list of `Groups` , you can add that user group to one or more private work teams. If you add a user group to a private work team, all workers in that user group are added to the work team.", - "title": "OidcMemberDefinition" - } - }, - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "markdownDescription": "The ARN for the Amazon SNS topic to which notifications should be published.", - "title": "NotificationTopicArn", - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.OidcMemberDefinition": { - "additionalProperties": false, - "properties": { - "OidcGroups": { - "items": { - "type": "string" - }, - "markdownDescription": "", - "title": "OidcGroups", - "type": "array" - } - }, - "required": [ - "OidcGroups" - ], - "type": "object" - }, - "AWS::SavingsPlans::SavingsPlan": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, + "properties": { + "Description": { + "markdownDescription": "A description of the work team.", + "title": "Description", + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "markdownDescription": "A list of `MemberDefinition` objects that contains objects that identify the workers that make up the work team.\n\nWorkforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces created using Amazon Cognito use `CognitoMemberDefinition` . For workforces created using your own OIDC identity provider (IdP) use `OidcMemberDefinition` .", + "title": "MemberDefinitions", + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration", + "markdownDescription": "Configures SNS notifications of available or expiring work items for work teams.", + "title": "NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs.", + "title": "Tags", + "type": "array" + }, + "WorkforceName": { + "markdownDescription": "The name of the workforce.", + "title": "WorkforceName", + "type": "string" + }, + "WorkteamName": { + "markdownDescription": "The name of the work team.", + "title": "WorkteamName", + "type": "string" + } + }, "type": "object" }, "Type": { "enum": [ - "AWS::SavingsPlans::SavingsPlan" + "AWS::SageMaker::Workteam" ], "type": "string" }, @@ -373352,6 +343291,79 @@ ], "type": "object" }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "markdownDescription": "An identifier for an application client. You must create the app client ID using Amazon Cognito .", + "title": "CognitoClientId", + "type": "string" + }, + "CognitoUserGroup": { + "markdownDescription": "An identifier for a user group.", + "title": "CognitoUserGroup", + "type": "string" + }, + "CognitoUserPool": { + "markdownDescription": "An identifier for a user pool. The user pool must be in the same region as the service that you are calling.", + "title": "CognitoUserPool", + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition", + "markdownDescription": "The Amazon Cognito user group that is part of the work team.", + "title": "CognitoMemberDefinition" + }, + "OidcMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.OidcMemberDefinition", + "markdownDescription": "A list user groups that exist in your OIDC Identity Provider (IdP). One to ten groups can be used to create a single private work team. When you add a user group to the list of `Groups` , you can add that user group to one or more private work teams. If you add a user group to a private work team, all workers in that user group are added to the work team.", + "title": "OidcMemberDefinition" + } + }, + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "markdownDescription": "The ARN for the Amazon SNS topic to which notifications should be published.", + "title": "NotificationTopicArn", + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.OidcMemberDefinition": { + "additionalProperties": false, + "properties": { + "OidcGroups": { + "items": { + "type": "string" + }, + "markdownDescription": "", + "title": "OidcGroups", + "type": "array" + } + }, + "required": [ + "OidcGroups" + ], + "type": "object" + }, "AWS::Scheduler::Schedule": { "additionalProperties": false, "properties": { @@ -374590,34 +344602,6 @@ }, "type": "object" }, - "AWS::SecurityAgent::AgentSpace.BitbucketCapabilitiesResource": { - "additionalProperties": false, - "properties": { - "LeaveComments": { - "type": "boolean" - }, - "RemediateCode": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::AgentSpace.BitbucketRepositoryResource": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Workspace": { - "type": "string" - } - }, - "required": [ - "Name", - "Workspace" - ], - "type": "object" - }, "AWS::SecurityAgent::AgentSpace.CodeReviewSettings": { "additionalProperties": false, "properties": { @@ -374634,47 +344618,6 @@ ], "type": "object" }, - "AWS::SecurityAgent::AgentSpace.ConfluenceCapabilitiesResource": { - "additionalProperties": false, - "properties": { - "CreateDocument": { - "type": "boolean" - }, - "FetchDocument": { - "type": "boolean" - }, - "UpdateDocument": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::AgentSpace.ConfluenceDocumentResource": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PageId": { - "type": "string" - }, - "SpaceKey": { - "type": "string" - }, - "SpaceTitle": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "required": [ - "Name", - "PageId", - "SpaceKey" - ], - "type": "object" - }, "AWS::SecurityAgent::AgentSpace.GitHubCapabilitiesResource": { "additionalProperties": false, "properties": { @@ -374707,34 +344650,6 @@ ], "type": "object" }, - "AWS::SecurityAgent::AgentSpace.GitLabCapabilitiesResource": { - "additionalProperties": false, - "properties": { - "LeaveComments": { - "type": "boolean" - }, - "RemediateCode": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::AgentSpace.GitLabRepositoryResource": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Name", - "Namespace" - ], - "type": "object" - }, "AWS::SecurityAgent::AgentSpace.IntegratedResource": { "additionalProperties": false, "properties": { @@ -374757,31 +344672,17 @@ "AWS::SecurityAgent::AgentSpace.ProviderResource": { "additionalProperties": false, "properties": { - "BitbucketCapabilities": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.BitbucketCapabilitiesResource" - }, - "BitbucketRepository": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.BitbucketRepositoryResource" - }, - "ConfluenceCapabilities": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.ConfluenceCapabilitiesResource" - }, - "ConfluenceDocument": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.ConfluenceDocumentResource" - }, "GitHubCapabilities": { "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.GitHubCapabilitiesResource" }, "GitHubRepository": { "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.GitHubRepositoryResource" - }, - "GitLabCapabilities": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.GitLabCapabilitiesResource" - }, - "GitLabRepository": { - "$ref": "#/definitions/AWS::SecurityAgent::AgentSpace.GitLabRepositoryResource" } }, + "required": [ + "GitHubCapabilities", + "GitHubRepository" + ], "type": "object" }, "AWS::SecurityAgent::AgentSpace.VpcConfig": { @@ -374890,82 +344791,6 @@ }, "type": "object" }, - "AWS::SecurityAgent::Artifact": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "type": "string" - }, - "ArtifactContent": { - "type": "string" - }, - "ArtifactType": { - "type": "string" - }, - "FileName": { - "type": "string" - } - }, - "required": [ - "AgentSpaceId", - "ArtifactType", - "FileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityAgent::Artifact" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::SecurityAgent::Pentest": { "additionalProperties": false, "properties": { @@ -375007,18 +344832,9 @@ "Assets": { "$ref": "#/definitions/AWS::SecurityAgent::Pentest.Assets" }, - "CleanUpStrategy": { - "type": "string" - }, "CodeRemediationStrategy": { "type": "string" }, - "DisableManagedSkills": { - "items": { - "type": "string" - }, - "type": "array" - }, "ExcludeRiskTypes": { "items": { "type": "string" @@ -375078,15 +344894,9 @@ "Description": { "type": "string" }, - "EnableEmailMfa": { - "type": "boolean" - }, "Identifier": { "type": "string" }, - "MfaForwardingAddress": { - "type": "string" - }, "Uris": { "items": { "type": "string" @@ -375192,9 +345002,6 @@ "AWS::SecurityAgent::Pentest.IntegratedRepository": { "additionalProperties": false, "properties": { - "Branch": { - "type": "string" - }, "IntegrationId": { "type": "string" }, @@ -375271,201 +345078,6 @@ }, "type": "object" }, - "AWS::SecurityAgent::PentestTask": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityAgent::PentestTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecurityAgent::PentestTask.Category": { - "additionalProperties": false, - "properties": { - "IsPrimary": { - "type": "boolean" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::PentestTask.Endpoint": { - "additionalProperties": false, - "properties": { - "Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecurityAgent::SecurityRequirementPack": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SecurityRequirements": { - "items": { - "$ref": "#/definitions/AWS::SecurityAgent::SecurityRequirementPack.SecurityRequirement" - }, - "type": "array" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityAgent::SecurityRequirementPack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityAgent::SecurityRequirementPack.SecurityRequirement": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Domain": { - "type": "string" - }, - "Evaluation": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Remediation": { - "type": "string" - } - }, - "required": [ - "Description", - "Domain", - "Evaluation", - "Name" - ], - "type": "object" - }, "AWS::SecurityAgent::TargetDomain": { "additionalProperties": false, "properties": { @@ -377056,156 +346668,6 @@ }, "type": "object" }, - "AWS::SecurityHub::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": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Provider": { - "$ref": "#/definitions/AWS::SecurityHub::Connector.Provider" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Name", - "Provider" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Connector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Connector.AzureProviderConfiguration": { - "additionalProperties": false, - "properties": { - "AWSConfigConnectorArn": { - "type": "string" - }, - "AzureRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScopeConfiguration": { - "$ref": "#/definitions/AWS::SecurityHub::Connector.AzureScopeConfiguration" - } - }, - "required": [ - "AWSConfigConnectorArn", - "AzureRegions", - "ScopeConfiguration" - ], - "type": "object" - }, - "AWS::SecurityHub::Connector.AzureScopeConfiguration": { - "additionalProperties": false, - "properties": { - "ScopeType": { - "type": "string" - }, - "ScopeValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ScopeType" - ], - "type": "object" - }, - "AWS::SecurityHub::Connector.HealthIssue": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "required": [ - "Code", - "Message" - ], - "type": "object" - }, - "AWS::SecurityHub::Connector.Provider": { - "additionalProperties": false, - "properties": { - "Azure": { - "$ref": "#/definitions/AWS::SecurityHub::Connector.AzureProviderConfiguration" - } - }, - "required": [ - "Azure" - ], - "type": "object" - }, "AWS::SecurityHub::ConnectorV2": { "additionalProperties": false, "properties": { @@ -377300,63 +346762,6 @@ ], "type": "object" }, - "AWS::SecurityHub::ConnectorV2.AzureProviderConfiguration": { - "additionalProperties": false, - "properties": { - "AWSConfigConnectorArn": { - "type": "string" - }, - "AzureRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScopeConfiguration": { - "$ref": "#/definitions/AWS::SecurityHub::ConnectorV2.AzureScopeConfiguration" - } - }, - "required": [ - "AWSConfigConnectorArn", - "AzureRegions", - "ScopeConfiguration" - ], - "type": "object" - }, - "AWS::SecurityHub::ConnectorV2.AzureScopeConfiguration": { - "additionalProperties": false, - "properties": { - "ScopeType": { - "type": "string" - }, - "ScopeValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ScopeType" - ], - "type": "object" - }, - "AWS::SecurityHub::ConnectorV2.HealthIssue": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "required": [ - "Code", - "Message" - ], - "type": "object" - }, "AWS::SecurityHub::ConnectorV2.JiraCloudProviderConfiguration": { "additionalProperties": false, "properties": { @@ -377374,9 +346779,6 @@ "AWS::SecurityHub::ConnectorV2.Provider": { "additionalProperties": false, "properties": { - "Azure": { - "$ref": "#/definitions/AWS::SecurityHub::ConnectorV2.AzureProviderConfiguration" - }, "JiraCloud": { "$ref": "#/definitions/AWS::SecurityHub::ConnectorV2.JiraCloudProviderConfiguration", "markdownDescription": "Details about a Jira Cloud integration.", @@ -379756,106 +349158,6 @@ }, "type": "object" }, - "AWS::ServerlessRepo::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": { - "Author": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HomePageUrl": { - "type": "string" - }, - "Labels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LicenseBody": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReadmeBody": { - "type": "string" - }, - "SemanticVersion": { - "type": "string" - }, - "SourceCodeUrl": { - "type": "string" - }, - "SpdxLicenseId": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - } - }, - "required": [ - "Author", - "Description", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServerlessRepo::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::ServiceCatalog::AcceptedPortfolioShare": { "additionalProperties": false, "properties": { @@ -380105,18 +349407,6 @@ }, "type": "object" }, - "AWS::ServiceCatalog::CloudFormationProduct.Info": { - "additionalProperties": false, - "properties": { - "ImportFromPhysicalId": { - "type": "string" - }, - "LoadTemplateFromURL": { - "type": "string" - } - }, - "type": "object" - }, "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { "additionalProperties": false, "properties": { @@ -380131,9 +349421,9 @@ "type": "boolean" }, "Info": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.Info", "markdownDescription": "Specify the template source with one of the following options, but not both. Keys accepted: [ `LoadTemplateFromURL` , `ImportFromPhysicalId` ]\n\nThe URL of the AWS CloudFormation template in Amazon S3 in JSON format. Specify the URL in JSON format as follows:\n\n`\"LoadTemplateFromURL\": \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/...\"`\n\n`ImportFromPhysicalId` : The physical id of the resource that contains the template. Currently only supports AWS CloudFormation stack arn. Specify the physical id in JSON format as follows: `ImportFromPhysicalId: \u201carn:aws:cloudformation:[us-east-1]:[accountId]:stack/[StackName]/[resourceId]`", - "title": "Info" + "title": "Info", + "type": "object" }, "Name": { "markdownDescription": "The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.", @@ -382066,7 +351356,8 @@ } }, "required": [ - "Name" + "Name", + "Vpc" ], "type": "object" }, @@ -382308,13 +351599,7 @@ "type": "string" }, "ServiceAttributes": { - "additionalProperties": true, "markdownDescription": "A complex type that contains information about attributes associated with a specific service.", - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, "title": "ServiceAttributes", "type": "object" }, @@ -382436,121 +351721,6 @@ }, "type": "object" }, - "AWS::ServiceQuotas::Quota": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "QuotaCode": { - "type": "string" - }, - "ServiceCode": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceQuotas::Quota" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceQuotas::Quota.MetricInfo": { - "additionalProperties": false, - "properties": { - "MetricDimensions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricStatisticRecommendation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ServiceQuotas::Quota.QuotaContextInfo": { - "additionalProperties": false, - "properties": { - "ContextId": { - "type": "string" - }, - "ContextScope": { - "type": "string" - }, - "ContextScopeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ServiceQuotas::Quota.QuotaPeriod": { - "additionalProperties": false, - "properties": { - "PeriodUnit": { - "type": "string" - }, - "PeriodValue": { - "type": "number" - } - }, - "type": "object" - }, "AWS::Shield::DRTAccess": { "additionalProperties": false, "properties": { @@ -383046,121 +352216,6 @@ ], "type": "object" }, - "AWS::Signer::SigningJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProfileName": { - "type": "string" - } - }, - "required": [ - "ProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::SigningJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningJob.S3SignedObject": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Signer::SigningJob.S3Source": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "Version" - ], - "type": "object" - }, - "AWS::Signer::SigningJob.SignedObject": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::Signer::SigningJob.S3SignedObject" - } - }, - "type": "object" - }, - "AWS::Signer::SigningJob.Source": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::Signer::SigningJob.S3Source" - } - }, - "type": "object" - }, "AWS::Signer::SigningProfile": { "additionalProperties": false, "properties": { @@ -383365,77 +352420,6 @@ ], "type": "object" }, - "AWS::States::Execution": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StateMachineArn": { - "type": "string" - } - }, - "required": [ - "StateMachineArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::States::Execution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::StepFunctions::Activity": { "additionalProperties": false, "properties": { @@ -383560,139 +352544,6 @@ ], "type": "object" }, - "AWS::StepFunctions::MapRun": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExecutionArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::MapRun" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::StepFunctions::MapRun.MapRunExecutionCounts": { - "additionalProperties": false, - "properties": { - "Aborted": { - "type": "number" - }, - "Failed": { - "type": "number" - }, - "FailuresNotRedrivable": { - "type": "number" - }, - "Pending": { - "type": "number" - }, - "PendingRedrive": { - "type": "number" - }, - "ResultsWritten": { - "type": "number" - }, - "Running": { - "type": "number" - }, - "Succeeded": { - "type": "number" - }, - "TimedOut": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::StepFunctions::MapRun.MapRunItemCounts": { - "additionalProperties": false, - "properties": { - "Aborted": { - "type": "number" - }, - "Failed": { - "type": "number" - }, - "FailuresNotRedrivable": { - "type": "number" - }, - "Pending": { - "type": "number" - }, - "PendingRedrive": { - "type": "number" - }, - "ResultsWritten": { - "type": "number" - }, - "Running": { - "type": "number" - }, - "Succeeded": { - "type": "number" - }, - "TimedOut": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, "AWS::StepFunctions::StateMachine": { "additionalProperties": false, "properties": { @@ -384164,87 +353015,6 @@ ], "type": "object" }, - "AWS::StorageGateway::TapePool": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PoolName": { - "type": "string" - }, - "RetentionLockTimeInDays": { - "type": "number" - }, - "RetentionLockType": { - "type": "string" - }, - "StorageClass": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PoolName", - "StorageClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StorageGateway::TapePool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::SupportApp::AccountAlias": { "additionalProperties": false, "properties": { @@ -384489,167 +353259,6 @@ ], "type": "object" }, - "AWS::SupportAuthZ::SupportPermit": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Permit": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.Permit" - }, - "SigningKeyInfo": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.SigningKeyInfo" - }, - "SupportCaseDisplayId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Permit", - "SigningKeyInfo" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SupportAuthZ::SupportPermit" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.ActionSet": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllActions": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.Condition": { - "additionalProperties": false, - "properties": { - "AllowAfter": { - "type": "string" - }, - "AllowBefore": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.Permit": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.ActionSet" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.Condition" - }, - "type": "array" - }, - "Resources": { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit.ResourceSet" - } - }, - "required": [ - "Actions", - "Resources" - ], - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.ResourceSet": { - "additionalProperties": false, - "properties": { - "AllResourcesInRegion": { - "type": "object" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SupportAuthZ::SupportPermit.SigningKeyInfo": { - "additionalProperties": false, - "properties": { - "KmsKey": { - "type": "string" - } - }, - "required": [ - "KmsKey" - ], - "type": "object" - }, "AWS::Synthetics::Canary": { "additionalProperties": false, "properties": { @@ -384723,9 +353332,6 @@ "title": "FailureRetentionPeriod", "type": "number" }, - "KmsKeyArn": { - "type": "string" - }, "Name": { "markdownDescription": "The name for this canary. Be sure to give it a descriptive name that distinguishes it from other canaries in your account.\n\nDo not include secrets or proprietary information in your canary names. The canary name makes up part of the canary ARN, and the ARN is included in outbound calls over the internet. For more information, see [Security Considerations for Synthetics Canaries](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/servicelens_canaries_security.html) .", "title": "Name", @@ -384736,12 +353342,6 @@ "title": "ProvisionedResourceCleanup", "type": "string" }, - "Replicas": { - "items": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Replica" - }, - "type": "array" - }, "ResourcesToReplicateTags": { "items": { "type": "string" @@ -384946,54 +353546,6 @@ ], "type": "object" }, - "AWS::Synthetics::Canary.Replica": { - "additionalProperties": false, - "properties": { - "CanaryState": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "LastModified": { - "type": "number" - }, - "Location": { - "type": "string" - }, - "ReplicationStatus": { - "$ref": "#/definitions/AWS::Synthetics::Canary.ReplicaReplicationStatus" - }, - "ResourcesToReplicateTags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.ReplicaReplicationStatus": { - "additionalProperties": false, - "properties": { - "State": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Synthetics::Canary.RetryConfig": { "additionalProperties": false, "properties": { @@ -385393,166 +353945,6 @@ }, "type": "object" }, - "AWS::Textract::Adapter": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdapterName": { - "type": "string" - }, - "AutoUpdate": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FeatureTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AdapterName", - "FeatureTypes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Textract::Adapter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ThinClient::SoftwareSet": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ThinClient::SoftwareSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ThinClient::SoftwareSet.Software": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, "AWS::Timestream::Database": { "additionalProperties": false, "properties": { @@ -385688,9 +354080,6 @@ "LogDeliveryConfiguration": { "$ref": "#/definitions/AWS::Timestream::InfluxDBCluster.LogDeliveryConfiguration" }, - "MaintenanceSchedule": { - "$ref": "#/definitions/AWS::Timestream::InfluxDBCluster.MaintenanceSchedule" - }, "Name": { "type": "string" }, @@ -385765,22 +354154,6 @@ ], "type": "object" }, - "AWS::Timestream::InfluxDBCluster.MaintenanceSchedule": { - "additionalProperties": false, - "properties": { - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "PreferredMaintenanceWindow", - "Timezone" - ], - "type": "object" - }, "AWS::Timestream::InfluxDBCluster.S3Configuration": { "additionalProperties": false, "properties": { @@ -386407,647 +354780,48 @@ "Properties": { "additionalProperties": false, "properties": { - "DatabaseName": { - "markdownDescription": "The name of the Timestream database that contains this table.\n\n*Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.", - "title": "DatabaseName", - "type": "string" - }, - "MagneticStoreWriteProperties": { - "$ref": "#/definitions/AWS::Timestream::Table.MagneticStoreWriteProperties", - "markdownDescription": "Contains properties to set on the table when enabling magnetic store writes.\n\nThis object has the following attributes:\n\n- *EnableMagneticStoreWrites* : A `boolean` flag to enable magnetic store writes.\n- *MagneticStoreRejectedDataLocation* : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only `S3Configuration` objects are allowed. The `S3Configuration` object has the following attributes:\n\n- *BucketName* : The name of the S3 bucket.\n- *EncryptionOption* : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( `SSE_S3` ) or AWS managed key ( `SSE_KMS` ).\n- *KmsKeyId* : The AWS KMS key ID to use when encrypting with an AWS managed key.\n- *ObjectKeyPrefix* : The prefix to use option for the objects stored in S3.\n\nBoth `BucketName` and `EncryptionOption` are *required* when `S3Configuration` is specified. If you specify `SSE_KMS` as your `EncryptionOption` then `KmsKeyId` is *required* .\n\n`EnableMagneticStoreWrites` attribute is *required* when `MagneticStoreWriteProperties` is specified. `MagneticStoreRejectedDataLocation` attribute is *required* when `EnableMagneticStoreWrites` is set to `true` .\n\nSee the following examples:\n\n*JSON*\n\n```json\n{ \"Type\" : AWS::Timestream::Table\", \"Properties\":{ \"DatabaseName\":\"TestDatabase\", \"TableName\":\"TestTable\", \"MagneticStoreWriteProperties\":{ \"EnableMagneticStoreWrites\":true, \"MagneticStoreRejectedDataLocation\":{ \"S3Configuration\":{ \"BucketName\":\" amzn-s3-demo-bucket \", \"EncryptionOption\":\"SSE_KMS\", \"KmsKeyId\":\"1234abcd-12ab-34cd-56ef-1234567890ab\", \"ObjectKeyPrefix\":\"prefix\" } } } }\n}\n```\n\n*YAML*\n\n```\nType: AWS::Timestream::Table\nDependsOn: TestDatabase\nProperties: TableName: \"TestTable\" DatabaseName: \"TestDatabase\" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: \" amzn-s3-demo-bucket \" EncryptionOption: \"SSE_KMS\" KmsKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\" ObjectKeyPrefix: \"prefix\"\n```", - "title": "MagneticStoreWriteProperties" - }, - "RetentionProperties": { - "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties", - "markdownDescription": "The retention duration for the memory store and magnetic store. This object has the following attributes:\n\n- *MemoryStoreRetentionPeriodInHours* : Retention duration for memory store, in hours.\n- *MagneticStoreRetentionPeriodInDays* : Retention duration for magnetic store, in days.\n\nBoth attributes are of type `string` . Both attributes are *required* when `RetentionProperties` is specified.\n\nSee the following examples:\n\n*JSON*\n\n`{ \"Type\" : AWS::Timestream::Table\", \"Properties\" : { \"DatabaseName\" : \"TestDatabase\", \"TableName\" : \"TestTable\", \"RetentionProperties\" : { \"MemoryStoreRetentionPeriodInHours\": \"24\", \"MagneticStoreRetentionPeriodInDays\": \"7\" } } }` \n\n*YAML*\n\n```\nType: AWS::Timestream::Table\nDependsOn: TestDatabase\nProperties: TableName: \"TestTable\" DatabaseName: \"TestDatabase\" RetentionProperties: MemoryStoreRetentionPeriodInHours: \"24\" MagneticStoreRetentionPeriodInDays: \"7\"\n```", - "title": "RetentionProperties" - }, - "Schema": { - "$ref": "#/definitions/AWS::Timestream::Table.Schema", - "markdownDescription": "The schema of the table.", - "title": "Schema" - }, - "TableName": { - "markdownDescription": "The name of the Timestream table.\n\n*Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.", - "title": "TableName", - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to add to the table", - "title": "Tags", - "type": "array" - } - }, - "required": [ - "DatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Timestream::Table.MagneticStoreRejectedDataLocation": { - "additionalProperties": false, - "properties": { - "S3Configuration": { - "$ref": "#/definitions/AWS::Timestream::Table.S3Configuration", - "markdownDescription": "Configuration of an S3 location to write error reports for records rejected, asynchronously, during magnetic store writes.", - "title": "S3Configuration" - } - }, - "type": "object" - }, - "AWS::Timestream::Table.MagneticStoreWriteProperties": { - "additionalProperties": false, - "properties": { - "EnableMagneticStoreWrites": { - "markdownDescription": "A flag to enable magnetic store writes.", - "title": "EnableMagneticStoreWrites", - "type": "boolean" - }, - "MagneticStoreRejectedDataLocation": { - "$ref": "#/definitions/AWS::Timestream::Table.MagneticStoreRejectedDataLocation", - "markdownDescription": "The location to write error reports for records rejected asynchronously during magnetic store writes.", - "title": "MagneticStoreRejectedDataLocation" - } - }, - "required": [ - "EnableMagneticStoreWrites" - ], - "type": "object" - }, - "AWS::Timestream::Table.PartitionKey": { - "additionalProperties": false, - "properties": { - "EnforcementInRecord": { - "markdownDescription": "The level of enforcement for the specification of a dimension key in ingested records. Options are REQUIRED (dimension key must be specified) and OPTIONAL (dimension key does not have to be specified).", - "title": "EnforcementInRecord", - "type": "string" - }, - "Name": { - "markdownDescription": "The name of the attribute used for a dimension key.", - "title": "Name", - "type": "string" - }, - "Type": { - "markdownDescription": "The type of the partition key. Options are DIMENSION (dimension key) and MEASURE (measure key).", - "title": "Type", - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Timestream::Table.RetentionProperties": { - "additionalProperties": false, - "properties": { - "MagneticStoreRetentionPeriodInDays": { - "markdownDescription": "The duration for which data must be stored in the magnetic store.", - "title": "MagneticStoreRetentionPeriodInDays", - "type": "string" - }, - "MemoryStoreRetentionPeriodInHours": { - "markdownDescription": "The duration for which data must be stored in the memory store.", - "title": "MemoryStoreRetentionPeriodInHours", - "type": "string" - } - }, - "type": "object" - }, - "AWS::Timestream::Table.S3Configuration": { - "additionalProperties": false, - "properties": { - "BucketName": { - "markdownDescription": "The bucket name of the customer S3 bucket.", - "title": "BucketName", - "type": "string" - }, - "EncryptionOption": { - "markdownDescription": "The encryption option for the customer S3 location. Options are S3 server-side encryption with an S3 managed key or AWS managed key.", - "title": "EncryptionOption", - "type": "string" - }, - "KmsKeyId": { - "markdownDescription": "The AWS key ID for the customer S3 location when encrypting with an AWS managed key.", - "title": "KmsKeyId", - "type": "string" - }, - "ObjectKeyPrefix": { - "markdownDescription": "The object key preview for the customer S3 location.", - "title": "ObjectKeyPrefix", - "type": "string" - } - }, - "required": [ - "BucketName", - "EncryptionOption" - ], - "type": "object" - }, - "AWS::Timestream::Table.Schema": { - "additionalProperties": false, - "properties": { - "CompositePartitionKey": { - "items": { - "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" - }, - "markdownDescription": "A non-empty list of partition keys defining the attributes used to partition the table data. The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed.", - "title": "CompositePartitionKey", - "type": "array" - } - }, - "type": "object" - }, - "AWS::Transcribe::CallAnalyticsJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CallAnalyticsJobName": { - "type": "string" - }, - "ChannelDefinitions": { - "items": { - "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsJob.ChannelDefinition" - }, - "type": "array" - }, - "DataAccessRoleArn": { - "type": "string" - }, - "Media": { - "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsJob.Media" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CallAnalyticsJobName", - "Media" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transcribe::CallAnalyticsJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transcribe::CallAnalyticsJob.ChannelDefinition": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "number" - }, - "ParticipantRole": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::CallAnalyticsJob.Media": { - "additionalProperties": false, - "properties": { - "MediaFileUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::CallAnalyticsJob.Transcript": { - "additionalProperties": false, - "properties": { - "TranscriptFileUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transcribe::MedicalScribeJob": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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::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": { - "type": "string" - } - }, - "required": [ - "LanguageCode", - "Media", - "MedicalTranscriptionJobName", - "Specialty", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transcribe::MedicalTranscriptionJob" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "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": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentRedaction": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.ContentRedaction" - }, - "LanguageCode": { + "DatabaseName": { + "markdownDescription": "The name of the Timestream database that contains this table.\n\n*Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.", + "title": "DatabaseName", "type": "string" }, - "Media": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.Media" - }, - "MediaFormat": { - "type": "string" + "MagneticStoreWriteProperties": { + "$ref": "#/definitions/AWS::Timestream::Table.MagneticStoreWriteProperties", + "markdownDescription": "Contains properties to set on the table when enabling magnetic store writes.\n\nThis object has the following attributes:\n\n- *EnableMagneticStoreWrites* : A `boolean` flag to enable magnetic store writes.\n- *MagneticStoreRejectedDataLocation* : The location to write error reports for records rejected, asynchronously, during magnetic store writes. Only `S3Configuration` objects are allowed. The `S3Configuration` object has the following attributes:\n\n- *BucketName* : The name of the S3 bucket.\n- *EncryptionOption* : The encryption option for the S3 location. Valid values are S3 server-side encryption with an S3 managed key ( `SSE_S3` ) or AWS managed key ( `SSE_KMS` ).\n- *KmsKeyId* : The AWS KMS key ID to use when encrypting with an AWS managed key.\n- *ObjectKeyPrefix* : The prefix to use option for the objects stored in S3.\n\nBoth `BucketName` and `EncryptionOption` are *required* when `S3Configuration` is specified. If you specify `SSE_KMS` as your `EncryptionOption` then `KmsKeyId` is *required* .\n\n`EnableMagneticStoreWrites` attribute is *required* when `MagneticStoreWriteProperties` is specified. `MagneticStoreRejectedDataLocation` attribute is *required* when `EnableMagneticStoreWrites` is set to `true` .\n\nSee the following examples:\n\n*JSON*\n\n```json\n{ \"Type\" : AWS::Timestream::Table\", \"Properties\":{ \"DatabaseName\":\"TestDatabase\", \"TableName\":\"TestTable\", \"MagneticStoreWriteProperties\":{ \"EnableMagneticStoreWrites\":true, \"MagneticStoreRejectedDataLocation\":{ \"S3Configuration\":{ \"BucketName\":\" amzn-s3-demo-bucket \", \"EncryptionOption\":\"SSE_KMS\", \"KmsKeyId\":\"1234abcd-12ab-34cd-56ef-1234567890ab\", \"ObjectKeyPrefix\":\"prefix\" } } } }\n}\n```\n\n*YAML*\n\n```\nType: AWS::Timestream::Table\nDependsOn: TestDatabase\nProperties: TableName: \"TestTable\" DatabaseName: \"TestDatabase\" MagneticStoreWriteProperties: EnableMagneticStoreWrites: true MagneticStoreRejectedDataLocation: S3Configuration: BucketName: \" amzn-s3-demo-bucket \" EncryptionOption: \"SSE_KMS\" KmsKeyId: \"1234abcd-12ab-34cd-56ef-1234567890ab\" ObjectKeyPrefix: \"prefix\"\n```", + "title": "MagneticStoreWriteProperties" }, - "MediaSampleRateHertz": { - "type": "number" + "RetentionProperties": { + "$ref": "#/definitions/AWS::Timestream::Table.RetentionProperties", + "markdownDescription": "The retention duration for the memory store and magnetic store. This object has the following attributes:\n\n- *MemoryStoreRetentionPeriodInHours* : Retention duration for memory store, in hours.\n- *MagneticStoreRetentionPeriodInDays* : Retention duration for magnetic store, in days.\n\nBoth attributes are of type `string` . Both attributes are *required* when `RetentionProperties` is specified.\n\nSee the following examples:\n\n*JSON*\n\n`{ \"Type\" : AWS::Timestream::Table\", \"Properties\" : { \"DatabaseName\" : \"TestDatabase\", \"TableName\" : \"TestTable\", \"RetentionProperties\" : { \"MemoryStoreRetentionPeriodInHours\": \"24\", \"MagneticStoreRetentionPeriodInDays\": \"7\" } } }` \n\n*YAML*\n\n```\nType: AWS::Timestream::Table\nDependsOn: TestDatabase\nProperties: TableName: \"TestTable\" DatabaseName: \"TestDatabase\" RetentionProperties: MemoryStoreRetentionPeriodInHours: \"24\" MagneticStoreRetentionPeriodInDays: \"7\"\n```", + "title": "RetentionProperties" }, - "Settings": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.Settings" + "Schema": { + "$ref": "#/definitions/AWS::Timestream::Table.Schema", + "markdownDescription": "The schema of the table.", + "title": "Schema" }, - "Subtitles": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.Subtitles" + "TableName": { + "markdownDescription": "The name of the Timestream table.\n\n*Length Constraints* : Minimum length of 3 bytes. Maximum length of 256 bytes.", + "title": "TableName", + "type": "string" }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags to add to the table", + "title": "Tags", "type": "array" - }, - "ToxicityDetection": { - "items": { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob.ToxicityDetectionSettings" - }, - "type": "array" - }, - "TranscriptionJobName": { - "type": "string" } }, "required": [ - "Media", - "TranscriptionJobName" + "DatabaseName" ], "type": "object" }, "Type": { "enum": [ - "AWS::Transcribe::TranscriptionJob" + "AWS::Timestream::Table" ], "type": "string" }, @@ -387066,184 +354840,120 @@ ], "type": "object" }, - "AWS::Transcribe::TranscriptionJob.ContentRedaction": { - "additionalProperties": false, - "properties": { - "PiiEntityTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RedactionOutput": { - "type": "string" - }, - "RedactionType": { - "type": "string" - } - }, - "required": [ - "RedactionOutput", - "RedactionType" - ], - "type": "object" - }, - "AWS::Transcribe::TranscriptionJob.Media": { + "AWS::Timestream::Table.MagneticStoreRejectedDataLocation": { "additionalProperties": false, "properties": { - "MediaFileUri": { - "type": "string" + "S3Configuration": { + "$ref": "#/definitions/AWS::Timestream::Table.S3Configuration", + "markdownDescription": "Configuration of an S3 location to write error reports for records rejected, asynchronously, during magnetic store writes.", + "title": "S3Configuration" } }, "type": "object" }, - "AWS::Transcribe::TranscriptionJob.Settings": { + "AWS::Timestream::Table.MagneticStoreWriteProperties": { "additionalProperties": false, "properties": { - "ChannelIdentification": { - "type": "boolean" - }, - "MaxAlternatives": { - "type": "number" - }, - "MaxSpeakerLabels": { - "type": "number" - }, - "ShowAlternatives": { + "EnableMagneticStoreWrites": { + "markdownDescription": "A flag to enable magnetic store writes.", + "title": "EnableMagneticStoreWrites", "type": "boolean" }, - "ShowSpeakerLabels": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Transcribe::TranscriptionJob.Subtitles": { - "additionalProperties": false, - "properties": { - "Formats": { - "items": { - "type": "string" - }, - "type": "array" + "MagneticStoreRejectedDataLocation": { + "$ref": "#/definitions/AWS::Timestream::Table.MagneticStoreRejectedDataLocation", + "markdownDescription": "The location to write error reports for records rejected asynchronously during magnetic store writes.", + "title": "MagneticStoreRejectedDataLocation" } }, + "required": [ + "EnableMagneticStoreWrites" + ], "type": "object" }, - "AWS::Transcribe::TranscriptionJob.ToxicityDetectionSettings": { + "AWS::Timestream::Table.PartitionKey": { "additionalProperties": false, "properties": { - "ToxicityCategories": { - "items": { - "type": "string" - }, - "type": "array" + "EnforcementInRecord": { + "markdownDescription": "The level of enforcement for the specification of a dimension key in ingested records. Options are REQUIRED (dimension key must be specified) and OPTIONAL (dimension key does not have to be specified).", + "title": "EnforcementInRecord", + "type": "string" + }, + "Name": { + "markdownDescription": "The name of the attribute used for a dimension key.", + "title": "Name", + "type": "string" + }, + "Type": { + "markdownDescription": "The type of the partition key. Options are DIMENSION (dimension key) and MEASURE (measure key).", + "title": "Type", + "type": "string" } }, "required": [ - "ToxicityCategories" + "Type" ], "type": "object" }, - "AWS::Transcribe::TranscriptionJob.Transcript": { + "AWS::Timestream::Table.RetentionProperties": { "additionalProperties": false, "properties": { - "RedactedTranscriptFileUri": { + "MagneticStoreRetentionPeriodInDays": { + "markdownDescription": "The duration for which data must be stored in the magnetic store.", + "title": "MagneticStoreRetentionPeriodInDays", "type": "string" }, - "TranscriptFileUri": { + "MemoryStoreRetentionPeriodInHours": { + "markdownDescription": "The duration for which data must be stored in the memory store.", + "title": "MemoryStoreRetentionPeriodInHours", "type": "string" } }, "type": "object" }, - "AWS::Transcribe::VocabularyFilter": { + "AWS::Timestream::Table.S3Configuration": { "additionalProperties": false, "properties": { - "Condition": { + "BucketName": { + "markdownDescription": "The bucket name of the customer S3 bucket.", + "title": "BucketName", "type": "string" }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "EncryptionOption": { + "markdownDescription": "The encryption option for the customer S3 location. Options are S3 server-side encryption with an S3 managed key or AWS managed key.", + "title": "EncryptionOption", "type": "string" }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VocabularyFilterFileUri": { - "type": "string" - }, - "VocabularyFilterName": { - "type": "string" - }, - "Words": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "LanguageCode", - "VocabularyFilterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transcribe::VocabularyFilter" - ], + "KmsKeyId": { + "markdownDescription": "The AWS key ID for the customer S3 location when encrypting with an AWS managed key.", + "title": "KmsKeyId", "type": "string" }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], + "ObjectKeyPrefix": { + "markdownDescription": "The object key preview for the customer S3 location.", + "title": "ObjectKeyPrefix", "type": "string" } }, "required": [ - "Type", - "Properties" + "BucketName", + "EncryptionOption" ], "type": "object" }, + "AWS::Timestream::Table.Schema": { + "additionalProperties": false, + "properties": { + "CompositePartitionKey": { + "items": { + "$ref": "#/definitions/AWS::Timestream::Table.PartitionKey" + }, + "markdownDescription": "A non-empty list of partition keys defining the attributes used to partition the table data. The order of the list determines the partition hierarchy. The name and type of each partition key as well as the partition key order cannot be changed after the table is created. However, the enforcement level of each partition key can be changed.", + "title": "CompositePartitionKey", + "type": "array" + } + }, + "type": "object" + }, "AWS::Transfer::Agreement": { "additionalProperties": false, "properties": { @@ -387759,83 +355469,6 @@ }, "type": "object" }, - "AWS::Transfer::HostKey": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "HostKeyBody": { - "type": "string" - }, - "ServerId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ServerId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::HostKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Transfer::Profile": { "additionalProperties": false, "properties": { @@ -388926,135 +356559,6 @@ }, "type": "object" }, - "AWS::Translate::ParallelData": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "EncryptionKey": { - "$ref": "#/definitions/AWS::Translate::ParallelData.EncryptionKey" - }, - "Name": { - "type": "string" - }, - "ParallelDataConfig": { - "$ref": "#/definitions/AWS::Translate::ParallelData.ParallelDataConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Translate::ParallelData.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "Name", - "ParallelDataConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Translate::ParallelData" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Translate::ParallelData.EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::Translate::ParallelData.ParallelDataConfig": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "Format", - "S3Uri" - ], - "type": "object" - }, - "AWS::Translate::ParallelData.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::UXC::AccountCustomization": { "additionalProperties": false, "properties": { @@ -389128,212 +356632,6 @@ ], "type": "object" }, - "AWS::UserNotifications::ManagedNotificationConfiguration": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "SubCategory": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::UserNotifications::ManagedNotificationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::UserNotifications::NotificationEvent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent.MessageComponents": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::UserNotifications::NotificationEvent.Dimension" - }, - "type": "array" - }, - "Headline": { - "type": "string" - }, - "ParagraphSummary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent.Resource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::UserNotifications::NotificationEvent.SourceEventMetadata": { - "additionalProperties": false, - "properties": { - "EventOccurrenceTime": { - "type": "string" - }, - "EventOriginRegion": { - "type": "string" - }, - "EventType": { - "type": "string" - }, - "EventTypeVersion": { - "type": "string" - }, - "RelatedAccount": { - "type": "string" - }, - "RelatedResources": { - "items": { - "$ref": "#/definitions/AWS::UserNotifications::NotificationEvent.Resource" - }, - "type": "array" - }, - "Source": { - "type": "string" - }, - "SourceEventId": { - "type": "string" - } - }, - "required": [ - "EventOccurrenceTime", - "EventType", - "EventTypeVersion", - "RelatedAccount", - "RelatedResources", - "Source", - "SourceEventId" - ], - "type": "object" - }, "AWS::VerifiedPermissions::IdentitySource": { "additionalProperties": false, "properties": { @@ -391289,9 +358587,6 @@ "markdownDescription": "Describes the DNS information of the service. This field is read-only.", "title": "DnsEntry" }, - "IdleTimeoutSeconds": { - "type": "number" - }, "Name": { "markdownDescription": "The name of the service. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.\n\nIf you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.", "title": "Name", @@ -394579,12 +361874,6 @@ "title": "PositionalConstraint", "type": "string" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "SearchString": { "markdownDescription": "A string value that you want AWS WAF to search for. AWS WAF searches only in the part of web requests that you designate for inspection in `FieldToMatch` . The maximum length of the value is 200 bytes. For alphabetic characters A-Z and a-z, the value is case sensitive.\n\nDon't encode this string. Provide the value that you want AWS WAF to search for. AWS CloudFormation automatically base64 encodes the value for you.\n\nFor example, suppose the value of `Type` is `HEADER` and the value of `Data` is `User-Agent` . If you want to search the `User-Agent` header for the value `BadBot` , you provide the string `BadBot` in the value of `SearchString` .\n\nYou must specify either `SearchString` or `SearchStringBase64` in a `ByteMatchStatement` .", "title": "SearchString", @@ -395252,22 +362541,6 @@ ], "type": "object" }, - "AWS::WAFv2::RuleGroup.PreParseTextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, "AWS::WAFv2::RuleGroup.Price": { "additionalProperties": false, "properties": { @@ -395546,12 +362819,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "RegexString": { "markdownDescription": "The string representing the regular expression.", "title": "RegexString", @@ -395586,12 +362853,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "TextTransformations": { "items": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" @@ -395738,12 +362999,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "Size": { "markdownDescription": "The size, in byte, to compare to the request part, after any transformations.", "title": "Size", @@ -395774,12 +363029,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "SensitivityLevel": { "markdownDescription": "The sensitivity that you want AWS WAF to use to inspect for SQL injection attacks.\n\n`HIGH` detects more attacks, but might generate more false positives, especially if your web requests frequently contain unusual strings. For information about identifying and mitigating false positives, see [Testing and tuning](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html) in the *AWS WAF Developer Guide* .\n\n`LOW` is generally a better choice for resources that already have other protections against SQL injection attacks or that have a low tolerance for false positives.\n\nDefault: `LOW`", "title": "SensitivityLevel", @@ -395941,12 +363190,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.PreParseTextTransformation" - }, - "type": "array" - }, "TextTransformations": { "items": { "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" @@ -396361,12 +363604,6 @@ "title": "PositionalConstraint", "type": "string" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "SearchString": { "markdownDescription": "A string value that you want AWS WAF to search for. AWS WAF searches only in the part of web requests that you designate for inspection in `FieldToMatch` . The maximum length of the value is 200 bytes. For alphabetic characters A-Z and a-z, the value is case sensitive.\n\nDon't encode this string. Provide the value that you want AWS WAF to search for. AWS CloudFormation automatically base64 encodes the value for you.\n\nFor example, suppose the value of `Type` is `HEADER` and the value of `Data` is `User-Agent` . If you want to search the `User-Agent` header for the value `BadBot` , you provide the string `BadBot` in the value of `SearchString` .\n\nYou must specify either `SearchString` or `SearchStringBase64` in a `ByteMatchStatement` .", "title": "SearchString", @@ -397307,22 +364544,6 @@ ], "type": "object" }, - "AWS::WAFv2::WebACL.PreParseTextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, "AWS::WAFv2::WebACL.Price": { "additionalProperties": false, "properties": { @@ -397612,12 +364833,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "RegexString": { "markdownDescription": "The string representing the regular expression.", "title": "RegexString", @@ -397652,12 +364867,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "TextTransformations": { "items": { "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" @@ -398086,12 +365295,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "Size": { "markdownDescription": "The size, in byte, to compare to the request part, after any transformations.", "title": "Size", @@ -398122,12 +365325,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "SensitivityLevel": { "markdownDescription": "The sensitivity that you want AWS WAF to use to inspect for SQL injection attacks.\n\n`HIGH` detects more attacks, but might generate more false positives, especially if your web requests frequently contain unusual strings. For information about identifying and mitigating false positives, see [Testing and tuning](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html) in the *AWS WAF Developer Guide* .\n\n`LOW` is generally a better choice for resources that already have other protections against SQL injection attacks or that have a low tolerance for false positives.\n\nDefault: `LOW`", "title": "SensitivityLevel", @@ -398299,12 +365496,6 @@ "markdownDescription": "The part of the web request that you want AWS WAF to inspect.", "title": "FieldToMatch" }, - "PreParseTextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.PreParseTextTransformation" - }, - "type": "array" - }, "TextTransformations": { "items": { "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" @@ -398393,512 +365584,6 @@ ], "type": "object" }, - "AWS::WellArchitected::Lens": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JSONString": { - "type": "string" - }, - "LensVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::WellArchitected::Lens.TagsItems" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WellArchitected::Lens" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WellArchitected::Lens.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::WellArchitected::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": { - "ProfileDescription": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileQuestions": { - "items": { - "$ref": "#/definitions/AWS::WellArchitected::Profile.ProfileQuestionUpdate" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProfileDescription", - "ProfileName", - "ProfileQuestions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WellArchitected::Profile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WellArchitected::Profile.ProfileQuestionUpdate": { - "additionalProperties": false, - "properties": { - "QuestionId": { - "type": "string" - }, - "SelectedChoiceIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WellArchitected::ReviewTemplate": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "Lenses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Notes": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::WellArchitected::ReviewTemplate.TagsItems" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Description", - "Lenses", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WellArchitected::ReviewTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WellArchitected::ReviewTemplate.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::WellArchitected::Workload": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ArchitecturalDesign": { - "type": "string" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "DiscoveryConfig": { - "$ref": "#/definitions/AWS::WellArchitected::Workload.DiscoveryConfig" - }, - "Environment": { - "type": "string" - }, - "Industry": { - "type": "string" - }, - "IndustryType": { - "type": "string" - }, - "Lenses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NonAwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Notes": { - "type": "string" - }, - "ReviewOwner": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::WellArchitected::Workload.TagsItems" - }, - "type": "array" - }, - "WorkloadName": { - "type": "string" - } - }, - "required": [ - "Description", - "Environment", - "Lenses", - "WorkloadName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WellArchitected::Workload" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WellArchitected::Workload.DiscoveryConfig": { - "additionalProperties": false, - "properties": { - "TrustedAdvisorIntegrationStatus": { - "type": "string" - }, - "WorkloadResourceDefinition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WellArchitected::Workload.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Wickr::Network": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLevel": { - "type": "string" - }, - "NetworkName": { - "type": "string" - } - }, - "required": [ - "AccessLevel", - "NetworkName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Wickr::Network" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, "AWS::Wisdom::AIAgent": { "additionalProperties": false, "properties": { @@ -401870,100 +368555,6 @@ }, "type": "object" }, - "AWS::Wisdom::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": { - "AssistantId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::Wisdom::Session.TagsItems" - }, - "type": "array" - } - }, - "required": [ - "AssistantId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Wisdom::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Wisdom::Session.TagsItems": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, "AWS::WorkSpaces::ConnectionAlias": { "additionalProperties": false, "properties": { @@ -402065,63 +368656,6 @@ }, "type": "object" }, - "AWS::WorkSpaces::WorkSpaceApplication": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::WorkSpaces::WorkSpaceApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, "AWS::WorkSpaces::Workspace": { "additionalProperties": false, "properties": { @@ -402157,171 +368691,60 @@ "Properties": { "additionalProperties": false, "properties": { - "BundleId": { - "markdownDescription": "The identifier of the bundle for the WorkSpace.", - "title": "BundleId", - "type": "string" - }, - "DirectoryId": { - "markdownDescription": "The identifier of the Directory Service directory for the WorkSpace.", - "title": "DirectoryId", - "type": "string" - }, - "RootVolumeEncryptionEnabled": { - "markdownDescription": "Indicates whether the data stored on the root volume is encrypted.", - "title": "RootVolumeEncryptionEnabled", - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags for the WorkSpace.", - "title": "Tags", - "type": "array" - }, - "UserName": { - "markdownDescription": "The user name of the user for the WorkSpace. This user name must exist in the Directory Service directory for the WorkSpace.", - "title": "UserName", - "type": "string" - }, - "UserVolumeEncryptionEnabled": { - "markdownDescription": "Indicates whether the data stored on the user volume is encrypted.", - "title": "UserVolumeEncryptionEnabled", - "type": "boolean" - }, - "VolumeEncryptionKey": { - "markdownDescription": "The symmetric AWS KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.", - "title": "VolumeEncryptionKey", - "type": "string" - }, - "WorkspaceProperties": { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties", - "markdownDescription": "The WorkSpace properties.", - "title": "WorkspaceProperties" - } - }, - "required": [ - "BundleId", - "DirectoryId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::Workspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::Workspace.WorkspaceProperties": { - "additionalProperties": false, - "properties": { - "ComputeTypeName": { - "markdownDescription": "The compute type. For more information, see [Amazon WorkSpaces Bundles](https://docs.aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles) .", - "title": "ComputeTypeName", - "type": "string" - }, - "RootVolumeSizeGib": { - "markdownDescription": "The size of the root volume. For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .", - "title": "RootVolumeSizeGib", - "type": "number" - }, - "RunningMode": { - "markdownDescription": "The running mode. For more information, see [Manage the WorkSpace Running Mode](https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html) .", - "title": "RunningMode", - "type": "string" - }, - "RunningModeAutoStopTimeoutInMinutes": { - "markdownDescription": "The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60-minute intervals.", - "title": "RunningModeAutoStopTimeoutInMinutes", - "type": "number" - }, - "UserVolumeSizeGib": { - "markdownDescription": "The size of the user storage. For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .", - "title": "UserVolumeSizeGib", - "type": "number" - } - }, - "type": "object" - }, - "AWS::WorkSpaces::WorkspaceIpGroup": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupDesc": { + "BundleId": { + "markdownDescription": "The identifier of the bundle for the WorkSpace.", + "title": "BundleId", "type": "string" }, - "GroupName": { + "DirectoryId": { + "markdownDescription": "The identifier of the Directory Service directory for the WorkSpace.", + "title": "DirectoryId", "type": "string" }, + "RootVolumeEncryptionEnabled": { + "markdownDescription": "Indicates whether the data stored on the root volume is encrypted.", + "title": "RootVolumeEncryptionEnabled", + "type": "boolean" + }, "Tags": { "items": { "$ref": "#/definitions/Tag" }, + "markdownDescription": "The tags for the WorkSpace.", + "title": "Tags", "type": "array" }, - "UserRules": { - "items": { - "$ref": "#/definitions/AWS::WorkSpaces::WorkspaceIpGroup.IpRuleItem" - }, - "type": "array" + "UserName": { + "markdownDescription": "The user name of the user for the WorkSpace. This user name must exist in the Directory Service directory for the WorkSpace.", + "title": "UserName", + "type": "string" + }, + "UserVolumeEncryptionEnabled": { + "markdownDescription": "Indicates whether the data stored on the user volume is encrypted.", + "title": "UserVolumeEncryptionEnabled", + "type": "boolean" + }, + "VolumeEncryptionKey": { + "markdownDescription": "The symmetric AWS KMS key used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric KMS keys.", + "title": "VolumeEncryptionKey", + "type": "string" + }, + "WorkspaceProperties": { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties", + "markdownDescription": "The WorkSpace properties.", + "title": "WorkspaceProperties" } }, "required": [ - "GroupName" + "BundleId", + "DirectoryId", + "UserName" ], "type": "object" }, "Type": { "enum": [ - "AWS::WorkSpaces::WorkspaceIpGroup" + "AWS::WorkSpaces::Workspace" ], "type": "string" }, @@ -402340,19 +368763,35 @@ ], "type": "object" }, - "AWS::WorkSpaces::WorkspaceIpGroup.IpRuleItem": { + "AWS::WorkSpaces::Workspace.WorkspaceProperties": { "additionalProperties": false, "properties": { - "IpRule": { + "ComputeTypeName": { + "markdownDescription": "The compute type. For more information, see [Amazon WorkSpaces Bundles](https://docs.aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles) .", + "title": "ComputeTypeName", "type": "string" }, - "RuleDesc": { + "RootVolumeSizeGib": { + "markdownDescription": "The size of the root volume. For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .", + "title": "RootVolumeSizeGib", + "type": "number" + }, + "RunningMode": { + "markdownDescription": "The running mode. For more information, see [Manage the WorkSpace Running Mode](https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html) .", + "title": "RunningMode", "type": "string" + }, + "RunningModeAutoStopTimeoutInMinutes": { + "markdownDescription": "The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60-minute intervals.", + "title": "RunningModeAutoStopTimeoutInMinutes", + "type": "number" + }, + "UserVolumeSizeGib": { + "markdownDescription": "The size of the user storage. For important information about how to modify the size of the root and user volumes, see [Modify a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html) .", + "title": "UserVolumeSizeGib", + "type": "number" } }, - "required": [ - "IpRule" - ], "type": "object" }, "AWS::WorkSpaces::WorkspacesPool": { @@ -405584,21 +372023,6 @@ { "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" }, - { - "$ref": "#/definitions/AWS::AccessAnalyzer::ArchiveRule" - }, - { - "$ref": "#/definitions/AWS::AccountAccess::Application" - }, - { - "$ref": "#/definitions/AWS::AccountAccess::Entitlement" - }, - { - "$ref": "#/definitions/AWS::AgentRegistry::Registry" - }, - { - "$ref": "#/definitions/AWS::AgentRegistry::RegistryRecord" - }, { "$ref": "#/definitions/AWS::AmazonMQ::Broker" }, @@ -405617,15 +372041,6 @@ { "$ref": "#/definitions/AWS::Amplify::Domain" }, - { - "$ref": "#/definitions/AWS::Amplify::Jobs" - }, - { - "$ref": "#/definitions/AWS::Amplify::Webhook" - }, - { - "$ref": "#/definitions/AWS::AmplifyUIBuilder::CodegenJob" - }, { "$ref": "#/definitions/AWS::AmplifyUIBuilder::Component" }, @@ -405728,9 +372143,6 @@ { "$ref": "#/definitions/AWS::ApiGatewayV2::Model" }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::PortalProduct" - }, { "$ref": "#/definitions/AWS::ApiGatewayV2::Route" }, @@ -405761,9 +372173,6 @@ { "$ref": "#/definitions/AWS::AppConfig::Environment" }, - { - "$ref": "#/definitions/AWS::AppConfig::ExperimentDefinition" - }, { "$ref": "#/definitions/AWS::AppConfig::Extension" }, @@ -405902,9 +372311,6 @@ { "$ref": "#/definitions/AWS::AppSync::SourceApiAssociation" }, - { - "$ref": "#/definitions/AWS::AppSync::Type" - }, { "$ref": "#/definitions/AWS::AppTest::TestCase" }, @@ -405926,9 +372332,6 @@ { "$ref": "#/definitions/AWS::ApplicationSignals::ServiceLevelObjective" }, - { - "$ref": "#/definitions/AWS::Artifact::Report" - }, { "$ref": "#/definitions/AWS::Athena::CapacityReservation" }, @@ -405941,18 +372344,12 @@ { "$ref": "#/definitions/AWS::Athena::PreparedStatement" }, - { - "$ref": "#/definitions/AWS::Athena::Session" - }, { "$ref": "#/definitions/AWS::Athena::WorkGroup" }, { "$ref": "#/definitions/AWS::AuditManager::Assessment" }, - { - "$ref": "#/definitions/AWS::AuditManager::AssessmentFramework" - }, { "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" }, @@ -405992,9 +372389,6 @@ { "$ref": "#/definitions/AWS::BCMDataExports::Export" }, - { - "$ref": "#/definitions/AWS::BCMDataExports::Table" - }, { "$ref": "#/definitions/AWS::Backup::BackupPlan" }, @@ -406007,9 +372401,6 @@ { "$ref": "#/definitions/AWS::Backup::Framework" }, - { - "$ref": "#/definitions/AWS::Backup::LegalHold" - }, { "$ref": "#/definitions/AWS::Backup::LogicallyAirGappedBackupVault" }, @@ -406028,12 +372419,6 @@ { "$ref": "#/definitions/AWS::BackupGateway::Hypervisor" }, - { - "$ref": "#/definitions/AWS::BackupSearch::SearchJob" - }, - { - "$ref": "#/definitions/AWS::BackupSearch::SearchResultExportJob" - }, { "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" }, @@ -406067,9 +372452,6 @@ { "$ref": "#/definitions/AWS::Bedrock::ApplicationInferenceProfile" }, - { - "$ref": "#/definitions/AWS::Bedrock::AsyncInvoke" - }, { "$ref": "#/definitions/AWS::Bedrock::AutomatedReasoningPolicy" }, @@ -406088,9 +372470,6 @@ { "$ref": "#/definitions/AWS::Bedrock::DataSource" }, - { - "$ref": "#/definitions/AWS::Bedrock::DefaultPromptRouter" - }, { "$ref": "#/definitions/AWS::Bedrock::EnforcedGuardrailConfiguration" }, @@ -406100,39 +372479,21 @@ { "$ref": "#/definitions/AWS::Bedrock::FlowAlias" }, - { - "$ref": "#/definitions/AWS::Bedrock::FlowExecution" - }, { "$ref": "#/definitions/AWS::Bedrock::FlowVersion" }, - { - "$ref": "#/definitions/AWS::Bedrock::FoundationModel" - }, { "$ref": "#/definitions/AWS::Bedrock::Guardrail" }, { "$ref": "#/definitions/AWS::Bedrock::GuardrailVersion" }, - { - "$ref": "#/definitions/AWS::Bedrock::ImportedModel" - }, { "$ref": "#/definitions/AWS::Bedrock::IntelligentPromptRouter" }, { "$ref": "#/definitions/AWS::Bedrock::KnowledgeBase" }, - { - "$ref": "#/definitions/AWS::Bedrock::KnowledgeBasePolicy" - }, - { - "$ref": "#/definitions/AWS::Bedrock::ModelImportJob" - }, - { - "$ref": "#/definitions/AWS::Bedrock::ModelInvocationJob" - }, { "$ref": "#/definitions/AWS::Bedrock::Prompt" }, @@ -406142,9 +372503,6 @@ { "$ref": "#/definitions/AWS::Bedrock::ResourcePolicy" }, - { - "$ref": "#/definitions/AWS::Bedrock::Session" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::ApiKeyCredentialProvider" }, @@ -406157,21 +372515,12 @@ { "$ref": "#/definitions/AWS::BedrockAgentCore::BrowserProfile" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::CapacityProvider" - }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreter" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::CodeInterpreterCustom" }, { "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundle" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::ConfigurationBundleVersion" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::Dataset" }, @@ -406181,24 +372530,12 @@ { "$ref": "#/definitions/AWS::BedrockAgentCore::Gateway" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRateLimit" - }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayRule" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::GatewayTarget" }, { "$ref": "#/definitions/AWS::BedrockAgentCore::Harness" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::HarnessEndpoint" - }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::HarnessVersion" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::Memory" }, @@ -406223,9 +372560,6 @@ { "$ref": "#/definitions/AWS::BedrockAgentCore::PolicyEngine" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::PolicyGeneration" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::ResourcePolicy" }, @@ -406235,9 +372569,6 @@ { "$ref": "#/definitions/AWS::BedrockAgentCore::RuntimeEndpoint" }, - { - "$ref": "#/definitions/AWS::BedrockAgentCore::TokenVault" - }, { "$ref": "#/definitions/AWS::BedrockAgentCore::WorkloadIdentity" }, @@ -406259,9 +372590,6 @@ { "$ref": "#/definitions/AWS::BillingConductor::PricingRule" }, - { - "$ref": "#/definitions/AWS::Braket::Job" - }, { "$ref": "#/definitions/AWS::Braket::SpendingLimit" }, @@ -406283,9 +372611,6 @@ { "$ref": "#/definitions/AWS::CUR::ReportDefinition" }, - { - "$ref": "#/definitions/AWS::Cases::Case" - }, { "$ref": "#/definitions/AWS::Cases::CaseRule" }, @@ -406304,9 +372629,6 @@ { "$ref": "#/definitions/AWS::Cassandra::Keyspace" }, - { - "$ref": "#/definitions/AWS::Cassandra::Stream" - }, { "$ref": "#/definitions/AWS::Cassandra::Table" }, @@ -406316,15 +372638,6 @@ { "$ref": "#/definitions/AWS::CertificateManager::Account" }, - { - "$ref": "#/definitions/AWS::CertificateManager::AcmeDomainValidation" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::AcmeEndpoint" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::AcmeExternalAccountBinding" - }, { "$ref": "#/definitions/AWS::CertificateManager::Certificate" }, @@ -406343,12 +372656,6 @@ { "$ref": "#/definitions/AWS::Chime::AppInstanceBot" }, - { - "$ref": "#/definitions/AWS::Chime::AppInstanceUser" - }, - { - "$ref": "#/definitions/AWS::Chime::ChannelFlow" - }, { "$ref": "#/definitions/AWS::CleanRooms::AnalysisTemplate" }, @@ -406367,9 +372674,6 @@ { "$ref": "#/definitions/AWS::CleanRooms::IdNamespaceAssociation" }, - { - "$ref": "#/definitions/AWS::CleanRooms::IntermediateTable" - }, { "$ref": "#/definitions/AWS::CleanRooms::Membership" }, @@ -406388,15 +372692,9 @@ { "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" }, - { - "$ref": "#/definitions/AWS::CloudFormation::ChangeSet" - }, { "$ref": "#/definitions/AWS::CloudFormation::CustomResource" }, - { - "$ref": "#/definitions/AWS::CloudFormation::GeneratedTemplate" - }, { "$ref": "#/definitions/AWS::CloudFormation::GuardHook" }, @@ -406430,9 +372728,6 @@ { "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceScan" - }, { "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" }, @@ -406511,9 +372806,6 @@ { "$ref": "#/definitions/AWS::CloudFront::VpcOrigin" }, - { - "$ref": "#/definitions/AWS::CloudHSM::Cluster" - }, { "$ref": "#/definitions/AWS::CloudTrail::Channel" }, @@ -406559,21 +372851,12 @@ { "$ref": "#/definitions/AWS::CodeArtifact::Domain" }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Package" - }, { "$ref": "#/definitions/AWS::CodeArtifact::PackageGroup" }, { "$ref": "#/definitions/AWS::CodeArtifact::Repository" }, - { - "$ref": "#/definitions/AWS::CodeBuild::Build" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::BuildBatch" - }, { "$ref": "#/definitions/AWS::CodeBuild::Fleet" }, @@ -406583,9 +372866,6 @@ { "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" }, - { - "$ref": "#/definitions/AWS::CodeBuild::Sandbox" - }, { "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" }, @@ -406595,9 +372875,6 @@ { "$ref": "#/definitions/AWS::CodeConnections::Connection" }, - { - "$ref": "#/definitions/AWS::CodeConnections::Host" - }, { "$ref": "#/definitions/AWS::CodeDeploy::Application" }, @@ -406670,12 +372947,6 @@ { "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolRegionalConfigurationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolReplica" - }, { "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" }, @@ -406691,33 +372962,12 @@ { "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" }, - { - "$ref": "#/definitions/AWS::CognitoSync::Dataset" - }, - { - "$ref": "#/definitions/AWS::Comprehend::DocumentClassificationJob" - }, { "$ref": "#/definitions/AWS::Comprehend::DocumentClassifier" }, - { - "$ref": "#/definitions/AWS::Comprehend::DominantLanguageDetectionJob" - }, - { - "$ref": "#/definitions/AWS::Comprehend::EntitiesDetectionJob" - }, { "$ref": "#/definitions/AWS::Comprehend::Flywheel" }, - { - "$ref": "#/definitions/AWS::Comprehend::FlywheelDataset" - }, - { - "$ref": "#/definitions/AWS::Comprehend::SentimentDetectionJob" - }, - { - "$ref": "#/definitions/AWS::Comprehend::TargetedSentimentDetectionJob" - }, { "$ref": "#/definitions/AWS::ComputeOptimizer::AutomationRule" }, @@ -406736,9 +372986,6 @@ { "$ref": "#/definitions/AWS::Config::ConformancePack" }, - { - "$ref": "#/definitions/AWS::Config::Connector" - }, { "$ref": "#/definitions/AWS::Config::DeliveryChannel" }, @@ -406775,9 +373022,6 @@ { "$ref": "#/definitions/AWS::Connect::ContactFlowVersion" }, - { - "$ref": "#/definitions/AWS::Connect::DataLakeAssociation" - }, { "$ref": "#/definitions/AWS::Connect::DataTable" }, @@ -406805,9 +373049,6 @@ { "$ref": "#/definitions/AWS::Connect::IntegrationAssociation" }, - { - "$ref": "#/definitions/AWS::Connect::Metric" - }, { "$ref": "#/definitions/AWS::Connect::Notification" }, @@ -406841,9 +373082,6 @@ { "$ref": "#/definitions/AWS::Connect::TaskTemplate" }, - { - "$ref": "#/definitions/AWS::Connect::TestCase" - }, { "$ref": "#/definitions/AWS::Connect::TrafficDistributionGroup" }, @@ -406871,15 +373109,6 @@ { "$ref": "#/definitions/AWS::ConnectCampaignsV2::Campaign" }, - { - "$ref": "#/definitions/AWS::ControlCatalog::CommonControl" - }, - { - "$ref": "#/definitions/AWS::ControlCatalog::Control" - }, - { - "$ref": "#/definitions/AWS::ControlCatalog::Objective" - }, { "$ref": "#/definitions/AWS::ControlTower::EnabledBaseline" }, @@ -406895,9 +373124,6 @@ { "$ref": "#/definitions/AWS::CustomerProfiles::Domain" }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::DomainObjectType" - }, { "$ref": "#/definitions/AWS::CustomerProfiles::EventStream" }, @@ -406961,12 +373187,6 @@ { "$ref": "#/definitions/AWS::DMS::ReplicationTask" }, - { - "$ref": "#/definitions/AWS::DRS::RecoveryInstance" - }, - { - "$ref": "#/definitions/AWS::DRS::SourceNetwork" - }, { "$ref": "#/definitions/AWS::DSQL::Cluster" }, @@ -406988,21 +373208,6 @@ { "$ref": "#/definitions/AWS::DataBrew::Schedule" }, - { - "$ref": "#/definitions/AWS::DataExchange::Assets" - }, - { - "$ref": "#/definitions/AWS::DataExchange::DataSet" - }, - { - "$ref": "#/definitions/AWS::DataExchange::EntitledDataSets" - }, - { - "$ref": "#/definitions/AWS::DataExchange::EventAction" - }, - { - "$ref": "#/definitions/AWS::DataExchange::Job" - }, { "$ref": "#/definitions/AWS::DataPipeline::Pipeline" }, @@ -407045,9 +373250,6 @@ { "$ref": "#/definitions/AWS::DataSync::Task" }, - { - "$ref": "#/definitions/AWS::DataSync::TaskExecution" - }, { "$ref": "#/definitions/AWS::DataZone::Connection" }, @@ -407099,18 +373301,12 @@ { "$ref": "#/definitions/AWS::DataZone::UserProfile" }, - { - "$ref": "#/definitions/AWS::Deadline::Budget" - }, { "$ref": "#/definitions/AWS::Deadline::Farm" }, { "$ref": "#/definitions/AWS::Deadline::Fleet" }, - { - "$ref": "#/definitions/AWS::Deadline::Job" - }, { "$ref": "#/definitions/AWS::Deadline::LicenseEndpoint" }, @@ -407138,9 +373334,6 @@ { "$ref": "#/definitions/AWS::Deadline::StorageProfile" }, - { - "$ref": "#/definitions/AWS::Deadline::Worker" - }, { "$ref": "#/definitions/AWS::Detective::Graph" }, @@ -407153,9 +373346,6 @@ { "$ref": "#/definitions/AWS::DevOpsAgent::AgentSpace" }, - { - "$ref": "#/definitions/AWS::DevOpsAgent::Asset" - }, { "$ref": "#/definitions/AWS::DevOpsAgent::Association" }, @@ -407165,9 +373355,6 @@ { "$ref": "#/definitions/AWS::DevOpsAgent::Service" }, - { - "$ref": "#/definitions/AWS::DevOpsAgent::Trigger" - }, { "$ref": "#/definitions/AWS::DevOpsGuru::LogAnomalyDetectionIntegration" }, @@ -407225,18 +373412,9 @@ { "$ref": "#/definitions/AWS::DocDBElastic::Cluster" }, - { - "$ref": "#/definitions/AWS::DynamoDB::Backup" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::Export" - }, { "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" }, - { - "$ref": "#/definitions/AWS::DynamoDB::Stream" - }, { "$ref": "#/definitions/AWS::DynamoDB::Table" }, @@ -407285,15 +373463,9 @@ { "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" }, - { - "$ref": "#/definitions/AWS::EC2::ExportInstanceTask" - }, { "$ref": "#/definitions/AWS::EC2::FlowLog" }, - { - "$ref": "#/definitions/AWS::EC2::FpgaImage" - }, { "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" }, @@ -407339,9 +373511,6 @@ { "$ref": "#/definitions/AWS::EC2::IpPoolRouteTableAssociation" }, - { - "$ref": "#/definitions/AWS::EC2::IpamExternalResourceVerificationToken" - }, { "$ref": "#/definitions/AWS::EC2::KeyPair" }, @@ -407405,9 +373574,6 @@ { "$ref": "#/definitions/AWS::EC2::PrefixList" }, - { - "$ref": "#/definitions/AWS::EC2::ReplaceRootVolumeTask" - }, { "$ref": "#/definitions/AWS::EC2::Route" }, @@ -407507,15 +373673,6 @@ { "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTable" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPolicyTableEntry" - }, { "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" }, @@ -407600,9 +373757,6 @@ { "$ref": "#/definitions/AWS::EC2::VolumeAttachment" }, - { - "$ref": "#/definitions/AWS::EC2::VpnConnectionDeviceType" - }, { "$ref": "#/definitions/AWS::ECR::PublicRepository" }, @@ -407630,9 +373784,6 @@ { "$ref": "#/definitions/AWS::ECR::SigningConfiguration" }, - { - "$ref": "#/definitions/AWS::ECRPublic::Registry" - }, { "$ref": "#/definitions/AWS::ECS::CapacityProvider" }, @@ -407642,9 +373793,6 @@ { "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" }, - { - "$ref": "#/definitions/AWS::ECS::ContainerInstance" - }, { "$ref": "#/definitions/AWS::ECS::Daemon" }, @@ -407660,9 +373808,6 @@ { "$ref": "#/definitions/AWS::ECS::Service" }, - { - "$ref": "#/definitions/AWS::ECS::Task" - }, { "$ref": "#/definitions/AWS::ECS::TaskDefinition" }, @@ -407687,9 +373832,6 @@ { "$ref": "#/definitions/AWS::EKS::Capability" }, - { - "$ref": "#/definitions/AWS::EKS::CertificateAuthority" - }, { "$ref": "#/definitions/AWS::EKS::Cluster" }, @@ -407714,9 +373856,6 @@ { "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" }, - { - "$ref": "#/definitions/AWS::EMR::NotebookExecution" - }, { "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" }, @@ -407735,9 +373874,6 @@ { "$ref": "#/definitions/AWS::EMRContainers::Endpoint" }, - { - "$ref": "#/definitions/AWS::EMRContainers::JobRun" - }, { "$ref": "#/definitions/AWS::EMRContainers::SecurityConfiguration" }, @@ -407747,9 +373883,6 @@ { "$ref": "#/definitions/AWS::EMRServerless::Application" }, - { - "$ref": "#/definitions/AWS::EMRServerless::JobRun" - }, { "$ref": "#/definitions/AWS::EVS::Environment" }, @@ -407765,9 +373898,6 @@ { "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" }, - { - "$ref": "#/definitions/AWS::ElastiCache::ReservedCacheNode" - }, { "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" }, @@ -407777,9 +373907,6 @@ { "$ref": "#/definitions/AWS::ElastiCache::ServerlessCache" }, - { - "$ref": "#/definitions/AWS::ElastiCache::ServerlessCacheSnapshot" - }, { "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" }, @@ -407879,9 +374006,6 @@ { "$ref": "#/definitions/AWS::Events::EventBusPolicy" }, - { - "$ref": "#/definitions/AWS::Events::Replay" - }, { "$ref": "#/definitions/AWS::Events::Rule" }, @@ -407900,15 +374024,9 @@ { "$ref": "#/definitions/AWS::Evidently::Segment" }, - { - "$ref": "#/definitions/AWS::FIS::Experiment" - }, { "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" }, - { - "$ref": "#/definitions/AWS::FIS::SafetyLever" - }, { "$ref": "#/definitions/AWS::FIS::TargetAccountConfiguration" }, @@ -408014,9 +374132,6 @@ { "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" }, - { - "$ref": "#/definitions/AWS::Glue::Blueprint" - }, { "$ref": "#/definitions/AWS::Glue::Catalog" }, @@ -408077,27 +374192,18 @@ { "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" }, - { - "$ref": "#/definitions/AWS::Glue::Session" - }, { "$ref": "#/definitions/AWS::Glue::Table" }, { "$ref": "#/definitions/AWS::Glue::TableOptimizer" }, - { - "$ref": "#/definitions/AWS::Glue::TableVersion" - }, { "$ref": "#/definitions/AWS::Glue::Trigger" }, { "$ref": "#/definitions/AWS::Glue::UsageProfile" }, - { - "$ref": "#/definitions/AWS::Glue::UserDefinedFunction" - }, { "$ref": "#/definitions/AWS::Glue::Workflow" }, @@ -408152,15 +374258,9 @@ { "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" }, - { - "$ref": "#/definitions/AWS::GreengrassV2::Component" - }, { "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" }, - { - "$ref": "#/definitions/AWS::GreengrassV2::CoreDevice" - }, { "$ref": "#/definitions/AWS::GreengrassV2::Deployment" }, @@ -408176,9 +374276,6 @@ { "$ref": "#/definitions/AWS::GroundStation::MissionProfile" }, - { - "$ref": "#/definitions/AWS::GuardDuty::CustomDetectionRuleAssociation" - }, { "$ref": "#/definitions/AWS::GuardDuty::Detector" }, @@ -408212,9 +374309,6 @@ { "$ref": "#/definitions/AWS::HealthImaging::Datastore" }, - { - "$ref": "#/definitions/AWS::HealthLake::DataTransformationProfile" - }, { "$ref": "#/definitions/AWS::HealthLake::FHIRDatastore" }, @@ -408269,9 +374363,6 @@ { "$ref": "#/definitions/AWS::IVS::Channel" }, - { - "$ref": "#/definitions/AWS::IVS::Composition" - }, { "$ref": "#/definitions/AWS::IVS::EncoderConfiguration" }, @@ -408305,24 +374396,12 @@ { "$ref": "#/definitions/AWS::IVSChat::Room" }, - { - "$ref": "#/definitions/AWS::IdentityStore::AllGroupMemberships" - }, { "$ref": "#/definitions/AWS::IdentityStore::Group" }, { "$ref": "#/definitions/AWS::IdentityStore::GroupMembership" }, - { - "$ref": "#/definitions/AWS::IdentityStore::User" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::AllImageBuildVersions" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::AllWorkflowBuildVersions" - }, { "$ref": "#/definitions/AWS::ImageBuilder::Component" }, @@ -408344,21 +374423,12 @@ { "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" }, - { - "$ref": "#/definitions/AWS::ImageBuilder::LifecycleExecution" - }, { "$ref": "#/definitions/AWS::ImageBuilder::LifecyclePolicy" }, { "$ref": "#/definitions/AWS::ImageBuilder::Workflow" }, - { - "$ref": "#/definitions/AWS::ImageBuilder::WorkflowExecution" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::WorkflowStepExecution" - }, { "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" }, @@ -408377,27 +374447,18 @@ { "$ref": "#/definitions/AWS::InspectorV2::CodeSecurityScanConfiguration" }, - { - "$ref": "#/definitions/AWS::InspectorV2::Connector" - }, { "$ref": "#/definitions/AWS::InspectorV2::Filter" }, { "$ref": "#/definitions/AWS::Interconnect::Connection" }, - { - "$ref": "#/definitions/AWS::InternetMonitor::InternetEvent" - }, { "$ref": "#/definitions/AWS::InternetMonitor::Monitor" }, { "$ref": "#/definitions/AWS::Invoicing::InvoiceUnit" }, - { - "$ref": "#/definitions/AWS::Invoicing::ProcurementPortalPreference" - }, { "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" }, @@ -408434,12 +374495,6 @@ { "$ref": "#/definitions/AWS::IoT::FleetMetric" }, - { - "$ref": "#/definitions/AWS::IoT::Index" - }, - { - "$ref": "#/definitions/AWS::IoT::Job" - }, { "$ref": "#/definitions/AWS::IoT::JobTemplate" }, @@ -408476,9 +374531,6 @@ { "$ref": "#/definitions/AWS::IoT::SoftwarePackageVersion" }, - { - "$ref": "#/definitions/AWS::IoT::Stream" - }, { "$ref": "#/definitions/AWS::IoT::Thing" }, @@ -408512,9 +374564,6 @@ { "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" }, - { - "$ref": "#/definitions/AWS::IoTDeviceAdvisor::SuiteRun" - }, { "$ref": "#/definitions/AWS::IoTEvents::AlarmModel" }, @@ -408545,9 +374594,6 @@ { "$ref": "#/definitions/AWS::IoTFleetWise::Vehicle" }, - { - "$ref": "#/definitions/AWS::IoTSecureTunneling::Tunnel" - }, { "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" }, @@ -408584,9 +374630,6 @@ { "$ref": "#/definitions/AWS::IoTTwinMaker::Entity" }, - { - "$ref": "#/definitions/AWS::IoTTwinMaker::MetadataTransferJob" - }, { "$ref": "#/definitions/AWS::IoTTwinMaker::Scene" }, @@ -408641,9 +374684,6 @@ { "$ref": "#/definitions/AWS::KafkaConnect::Connector" }, - { - "$ref": "#/definitions/AWS::KafkaConnect::ConnectorOperation" - }, { "$ref": "#/definitions/AWS::KafkaConnect::CustomPlugin" }, @@ -408659,12 +374699,6 @@ { "$ref": "#/definitions/AWS::Kendra::Index" }, - { - "$ref": "#/definitions/AWS::Kendra::QuerySuggestionsBlockList" - }, - { - "$ref": "#/definitions/AWS::Kendra::Thesaurus" - }, { "$ref": "#/definitions/AWS::KendraRanking::ExecutionPlan" }, @@ -408737,9 +374771,6 @@ { "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" }, - { - "$ref": "#/definitions/AWS::Lambda::DurableExecution" - }, { "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" }, @@ -408755,18 +374786,9 @@ { "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" }, - { - "$ref": "#/definitions/AWS::Lambda::MicrovmImage" - }, - { - "$ref": "#/definitions/AWS::Lambda::NetworkConnector" - }, { "$ref": "#/definitions/AWS::Lambda::Permission" }, - { - "$ref": "#/definitions/AWS::Lambda::ResourcePolicy" - }, { "$ref": "#/definitions/AWS::Lambda::Url" }, @@ -408794,9 +374816,6 @@ { "$ref": "#/definitions/AWS::LicenseManager::License" }, - { - "$ref": "#/definitions/AWS::LicenseManager::LicenseAssetRuleSet" - }, { "$ref": "#/definitions/AWS::Lightsail::Alarm" }, @@ -408806,9 +374825,6 @@ { "$ref": "#/definitions/AWS::Lightsail::Certificate" }, - { - "$ref": "#/definitions/AWS::Lightsail::ContactMethod" - }, { "$ref": "#/definitions/AWS::Lightsail::Container" }, @@ -408830,9 +374846,6 @@ { "$ref": "#/definitions/AWS::Lightsail::Domain" }, - { - "$ref": "#/definitions/AWS::Lightsail::ExportSnapshotRecord" - }, { "$ref": "#/definitions/AWS::Lightsail::Instance" }, @@ -408854,9 +374867,6 @@ { "$ref": "#/definitions/AWS::Location::GeofenceCollection" }, - { - "$ref": "#/definitions/AWS::Location::Job" - }, { "$ref": "#/definitions/AWS::Location::Map" }, @@ -408911,9 +374921,6 @@ { "$ref": "#/definitions/AWS::Logs::ScheduledQuery" }, - { - "$ref": "#/definitions/AWS::Logs::StorageTierPolicy" - }, { "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" }, @@ -408935,9 +374942,6 @@ { "$ref": "#/definitions/AWS::M2::Environment" }, - { - "$ref": "#/definitions/AWS::MGN::NetworkMigrationDefinition" - }, { "$ref": "#/definitions/AWS::MPA::ApprovalTeam" }, @@ -408947,9 +374951,6 @@ { "$ref": "#/definitions/AWS::MSK::BatchScramSecret" }, - { - "$ref": "#/definitions/AWS::MSK::Channel" - }, { "$ref": "#/definitions/AWS::MSK::Cluster" }, @@ -408977,9 +374978,6 @@ { "$ref": "#/definitions/AWS::MWAAServerless::Workflow" }, - { - "$ref": "#/definitions/AWS::Macie2::ClassificationJob" - }, { "$ref": "#/definitions/AWS::Macie::AllowList" }, @@ -409028,12 +375026,6 @@ { "$ref": "#/definitions/AWS::MediaConnect::Gateway" }, - { - "$ref": "#/definitions/AWS::MediaConnect::Offering" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::Reservation" - }, { "$ref": "#/definitions/AWS::MediaConnect::RouterInput" }, @@ -409088,12 +375080,6 @@ { "$ref": "#/definitions/AWS::MediaLive::Network" }, - { - "$ref": "#/definitions/AWS::MediaLive::Node" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Offering" - }, { "$ref": "#/definitions/AWS::MediaLive::SdiSource" }, @@ -409106,9 +375092,6 @@ { "$ref": "#/definitions/AWS::MediaPackage::Channel" }, - { - "$ref": "#/definitions/AWS::MediaPackage::HarvestJob" - }, { "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" }, @@ -409127,9 +375110,6 @@ { "$ref": "#/definitions/AWS::MediaPackageV2::ChannelPolicy" }, - { - "$ref": "#/definitions/AWS::MediaPackageV2::HarvestJob" - }, { "$ref": "#/definitions/AWS::MediaPackageV2::OriginEndpoint" }, @@ -409145,27 +375125,18 @@ { "$ref": "#/definitions/AWS::MediaTailor::ChannelPolicy" }, - { - "$ref": "#/definitions/AWS::MediaTailor::Function" - }, { "$ref": "#/definitions/AWS::MediaTailor::LiveSource" }, { "$ref": "#/definitions/AWS::MediaTailor::PlaybackConfiguration" }, - { - "$ref": "#/definitions/AWS::MediaTailor::PrefetchSchedule" - }, { "$ref": "#/definitions/AWS::MediaTailor::SourceLocation" }, { "$ref": "#/definitions/AWS::MediaTailor::VodSource" }, - { - "$ref": "#/definitions/AWS::MedicalImaging::ImageSet" - }, { "$ref": "#/definitions/AWS::MemoryDB::ACL" }, @@ -409175,15 +375146,9 @@ { "$ref": "#/definitions/AWS::MemoryDB::MultiRegionCluster" }, - { - "$ref": "#/definitions/AWS::MemoryDB::MultiRegionParameterGroup" - }, { "$ref": "#/definitions/AWS::MemoryDB::ParameterGroup" }, - { - "$ref": "#/definitions/AWS::MemoryDB::ReservedNode" - }, { "$ref": "#/definitions/AWS::MemoryDB::SubnetGroup" }, @@ -409211,9 +375176,6 @@ { "$ref": "#/definitions/AWS::Neptune::GlobalCluster" }, - { - "$ref": "#/definitions/AWS::NeptuneGraph::ExportTask" - }, { "$ref": "#/definitions/AWS::NeptuneGraph::Graph" }, @@ -409241,9 +375203,6 @@ { "$ref": "#/definitions/AWS::NetworkFirewall::VpcEndpointAssociation" }, - { - "$ref": "#/definitions/AWS::NetworkFlowMonitor::Monitor" - }, { "$ref": "#/definitions/AWS::NetworkManager::ConnectAttachment" }, @@ -409319,9 +375278,6 @@ { "$ref": "#/definitions/AWS::NovaAct::WorkflowDefinition" }, - { - "$ref": "#/definitions/AWS::NovaAct::WorkflowRun" - }, { "$ref": "#/definitions/AWS::ODB::CloudAutonomousVmCluster" }, @@ -409340,9 +375296,6 @@ { "$ref": "#/definitions/AWS::OSIS::Pipeline" }, - { - "$ref": "#/definitions/AWS::OSIS::PipelineBlueprint" - }, { "$ref": "#/definitions/AWS::Oam::Link" }, @@ -409373,30 +375326,15 @@ { "$ref": "#/definitions/AWS::Omics::Configuration" }, - { - "$ref": "#/definitions/AWS::Omics::ReadSet" - }, - { - "$ref": "#/definitions/AWS::Omics::Reference" - }, { "$ref": "#/definitions/AWS::Omics::ReferenceStore" }, - { - "$ref": "#/definitions/AWS::Omics::Run" - }, - { - "$ref": "#/definitions/AWS::Omics::RunCache" - }, { "$ref": "#/definitions/AWS::Omics::RunGroup" }, { "$ref": "#/definitions/AWS::Omics::SequenceStore" }, - { - "$ref": "#/definitions/AWS::Omics::Task" - }, { "$ref": "#/definitions/AWS::Omics::VariantStore" }, @@ -409406,9 +375344,6 @@ { "$ref": "#/definitions/AWS::Omics::WorkflowVersion" }, - { - "$ref": "#/definitions/AWS::OpenSearch::DataSource" - }, { "$ref": "#/definitions/AWS::OpenSearchServerless::AccessPolicy" }, @@ -409478,12 +375413,6 @@ { "$ref": "#/definitions/AWS::Organizations::ResourcePolicy" }, - { - "$ref": "#/definitions/AWS::Organizations::Root" - }, - { - "$ref": "#/definitions/AWS::Outposts::Site" - }, { "$ref": "#/definitions/AWS::PCAConnectorAD::Connector" }, @@ -409523,42 +375452,18 @@ { "$ref": "#/definitions/AWS::Panorama::PackageVersion" }, - { - "$ref": "#/definitions/AWS::PartnerCentral::ConnectionPreferences" - }, - { - "$ref": "#/definitions/AWS::PartnerCentral::Partner" - }, { "$ref": "#/definitions/AWS::PaymentCryptography::Alias" }, { "$ref": "#/definitions/AWS::PaymentCryptography::Key" }, - { - "$ref": "#/definitions/AWS::Personalize::BatchInferenceJob" - }, - { - "$ref": "#/definitions/AWS::Personalize::BatchSegmentJob" - }, - { - "$ref": "#/definitions/AWS::Personalize::DataDeletionJob" - }, { "$ref": "#/definitions/AWS::Personalize::Dataset" }, { "$ref": "#/definitions/AWS::Personalize::DatasetGroup" }, - { - "$ref": "#/definitions/AWS::Personalize::EventTracker" - }, - { - "$ref": "#/definitions/AWS::Personalize::MetricAttribution" - }, - { - "$ref": "#/definitions/AWS::Personalize::Recipe" - }, { "$ref": "#/definitions/AWS::Personalize::Schema" }, @@ -409679,27 +375584,12 @@ { "$ref": "#/definitions/AWS::QuickSight::ActionConnector" }, - { - "$ref": "#/definitions/AWS::QuickSight::Agent" - }, { "$ref": "#/definitions/AWS::QuickSight::Analysis" }, - { - "$ref": "#/definitions/AWS::QuickSight::ApprovalPolicy" - }, - { - "$ref": "#/definitions/AWS::QuickSight::AssetBundleExportJob" - }, - { - "$ref": "#/definitions/AWS::QuickSight::AssetBundleImportJob" - }, { "$ref": "#/definitions/AWS::QuickSight::CustomPermissions" }, - { - "$ref": "#/definitions/AWS::QuickSight::DLPSetting" - }, { "$ref": "#/definitions/AWS::QuickSight::Dashboard" }, @@ -409709,27 +375599,12 @@ { "$ref": "#/definitions/AWS::QuickSight::DataSource" }, - { - "$ref": "#/definitions/AWS::QuickSight::Flow" - }, { "$ref": "#/definitions/AWS::QuickSight::Folder" }, - { - "$ref": "#/definitions/AWS::QuickSight::KnowledgeBase" - }, - { - "$ref": "#/definitions/AWS::QuickSight::LimitsProfile" - }, - { - "$ref": "#/definitions/AWS::QuickSight::OAuthClientApplication" - }, { "$ref": "#/definitions/AWS::QuickSight::RefreshSchedule" }, - { - "$ref": "#/definitions/AWS::QuickSight::Space" - }, { "$ref": "#/definitions/AWS::QuickSight::Template" }, @@ -409739,9 +375614,6 @@ { "$ref": "#/definitions/AWS::QuickSight::Topic" }, - { - "$ref": "#/definitions/AWS::QuickSight::TopicV2" - }, { "$ref": "#/definitions/AWS::QuickSight::VPCConnection" }, @@ -409751,9 +375623,6 @@ { "$ref": "#/definitions/AWS::RAM::ResourceShare" }, - { - "$ref": "#/definitions/AWS::RDS::ClusterSnapshot" - }, { "$ref": "#/definitions/AWS::RDS::CustomDBEngineVersion" }, @@ -409787,9 +375656,6 @@ { "$ref": "#/definitions/AWS::RDS::DBShardGroup" }, - { - "$ref": "#/definitions/AWS::RDS::DBSnapshot" - }, { "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" }, @@ -409805,9 +375671,6 @@ { "$ref": "#/definitions/AWS::RDS::OptionGroup" }, - { - "$ref": "#/definitions/AWS::RDS::ReservedDBInstance" - }, { "$ref": "#/definitions/AWS::RTBFabric::InboundExternalLink" }, @@ -409847,9 +375710,6 @@ { "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" }, - { - "$ref": "#/definitions/AWS::Redshift::DataShare" - }, { "$ref": "#/definitions/AWS::Redshift::EndpointAccess" }, @@ -409865,15 +375725,9 @@ { "$ref": "#/definitions/AWS::Redshift::ScheduledAction" }, - { - "$ref": "#/definitions/AWS::Redshift::SnapshotSchedule" - }, { "$ref": "#/definitions/AWS::RedshiftServerless::Namespace" }, - { - "$ref": "#/definitions/AWS::RedshiftServerless::RecoveryPoint" - }, { "$ref": "#/definitions/AWS::RedshiftServerless::Snapshot" }, @@ -409895,9 +375749,6 @@ { "$ref": "#/definitions/AWS::Rekognition::Collection" }, - { - "$ref": "#/definitions/AWS::Rekognition::Dataset" - }, { "$ref": "#/definitions/AWS::Rekognition::Project" }, @@ -409907,9 +375758,6 @@ { "$ref": "#/definitions/AWS::ResilienceHub::App" }, - { - "$ref": "#/definitions/AWS::ResilienceHub::RecommendationTemplate" - }, { "$ref": "#/definitions/AWS::ResilienceHub::ResiliencyPolicy" }, @@ -410045,9 +375893,6 @@ { "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallConfig" - }, { "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" }, @@ -410174,12 +376019,6 @@ { "$ref": "#/definitions/AWS::S3Vectors::VectorBucketPolicy" }, - { - "$ref": "#/definitions/AWS::SCN::Dataset" - }, - { - "$ref": "#/definitions/AWS::SCN::Namespace" - }, { "$ref": "#/definitions/AWS::SDB::Domain" }, @@ -410261,9 +376100,6 @@ { "$ref": "#/definitions/AWS::SMSVOICE::ProtectConfiguration" }, - { - "$ref": "#/definitions/AWS::SMSVOICE::Registration" - }, { "$ref": "#/definitions/AWS::SMSVOICE::ResourcePolicy" }, @@ -410294,12 +376130,6 @@ { "$ref": "#/definitions/AWS::SSM::Association" }, - { - "$ref": "#/definitions/AWS::SSM::AutomationExecution" - }, - { - "$ref": "#/definitions/AWS::SSM::CloudConnector" - }, { "$ref": "#/definitions/AWS::SSM::Document" }, @@ -410312,12 +376142,6 @@ { "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" }, - { - "$ref": "#/definitions/AWS::SSM::ManagedInstance" - }, - { - "$ref": "#/definitions/AWS::SSM::OpsItem" - }, { "$ref": "#/definitions/AWS::SSM::Parameter" }, @@ -410330,12 +376154,6 @@ { "$ref": "#/definitions/AWS::SSM::ResourcePolicy" }, - { - "$ref": "#/definitions/AWS::SSM::ServiceSetting" - }, - { - "$ref": "#/definitions/AWS::SSM::Session" - }, { "$ref": "#/definitions/AWS::SSMContacts::Contact" }, @@ -410369,9 +376187,6 @@ { "$ref": "#/definitions/AWS::SSO::ApplicationAssignment" }, - { - "$ref": "#/definitions/AWS::SSO::ApplicationProvider" - }, { "$ref": "#/definitions/AWS::SSO::Assignment" }, @@ -410384,33 +376199,18 @@ { "$ref": "#/definitions/AWS::SSO::PermissionSet" }, - { - "$ref": "#/definitions/AWS::SageMaker::Action" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Algorithm" - }, { "$ref": "#/definitions/AWS::SageMaker::App" }, { "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" }, - { - "$ref": "#/definitions/AWS::SageMaker::Artifact" - }, - { - "$ref": "#/definitions/AWS::SageMaker::AutoMLJob" - }, { "$ref": "#/definitions/AWS::SageMaker::Cluster" }, { "$ref": "#/definitions/AWS::SageMaker::CodeRepository" }, - { - "$ref": "#/definitions/AWS::SageMaker::Context" - }, { "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" }, @@ -410429,24 +376229,9 @@ { "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" }, - { - "$ref": "#/definitions/AWS::SageMaker::Experiment" - }, { "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" }, - { - "$ref": "#/definitions/AWS::SageMaker::Hub" - }, - { - "$ref": "#/definitions/AWS::SageMaker::HubContentVersion" - }, - { - "$ref": "#/definitions/AWS::SageMaker::HumanTaskUi" - }, - { - "$ref": "#/definitions/AWS::SageMaker::HyperParameterTuningJob" - }, { "$ref": "#/definitions/AWS::SageMaker::Image" }, @@ -410474,9 +376259,6 @@ { "$ref": "#/definitions/AWS::SageMaker::ModelCard" }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelCardExportJob" - }, { "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" }, @@ -410492,27 +376274,18 @@ { "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" }, - { - "$ref": "#/definitions/AWS::SageMaker::MonitoringScheduleAlert" - }, { "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" }, { "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" }, - { - "$ref": "#/definitions/AWS::SageMaker::OptimizationJob" - }, { "$ref": "#/definitions/AWS::SageMaker::PartnerApp" }, { "$ref": "#/definitions/AWS::SageMaker::Pipeline" }, - { - "$ref": "#/definitions/AWS::SageMaker::PipelineExecution" - }, { "$ref": "#/definitions/AWS::SageMaker::ProcessingJob" }, @@ -410525,27 +376298,12 @@ { "$ref": "#/definitions/AWS::SageMaker::StudioLifecycleConfig" }, - { - "$ref": "#/definitions/AWS::SageMaker::TrainingJob" - }, - { - "$ref": "#/definitions/AWS::SageMaker::TransformJob" - }, - { - "$ref": "#/definitions/AWS::SageMaker::TrialComponent" - }, { "$ref": "#/definitions/AWS::SageMaker::UserProfile" }, - { - "$ref": "#/definitions/AWS::SageMaker::Workforce" - }, { "$ref": "#/definitions/AWS::SageMaker::Workteam" }, - { - "$ref": "#/definitions/AWS::SavingsPlans::SavingsPlan" - }, { "$ref": "#/definitions/AWS::Scheduler::Schedule" }, @@ -410570,18 +376328,9 @@ { "$ref": "#/definitions/AWS::SecurityAgent::Application" }, - { - "$ref": "#/definitions/AWS::SecurityAgent::Artifact" - }, { "$ref": "#/definitions/AWS::SecurityAgent::Pentest" }, - { - "$ref": "#/definitions/AWS::SecurityAgent::PentestTask" - }, - { - "$ref": "#/definitions/AWS::SecurityAgent::SecurityRequirementPack" - }, { "$ref": "#/definitions/AWS::SecurityAgent::TargetDomain" }, @@ -410597,9 +376346,6 @@ { "$ref": "#/definitions/AWS::SecurityHub::ConfigurationPolicy" }, - { - "$ref": "#/definitions/AWS::SecurityHub::Connector" - }, { "$ref": "#/definitions/AWS::SecurityHub::ConnectorV2" }, @@ -410645,9 +376391,6 @@ { "$ref": "#/definitions/AWS::SecurityLake::SubscriberNotification" }, - { - "$ref": "#/definitions/AWS::ServerlessRepo::Application" - }, { "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" }, @@ -410723,9 +376466,6 @@ { "$ref": "#/definitions/AWS::ServiceDiscovery::Service" }, - { - "$ref": "#/definitions/AWS::ServiceQuotas::Quota" - }, { "$ref": "#/definitions/AWS::Shield::DRTAccess" }, @@ -410741,24 +376481,15 @@ { "$ref": "#/definitions/AWS::Signer::ProfilePermission" }, - { - "$ref": "#/definitions/AWS::Signer::SigningJob" - }, { "$ref": "#/definitions/AWS::Signer::SigningProfile" }, { "$ref": "#/definitions/AWS::SimSpaceWeaver::Simulation" }, - { - "$ref": "#/definitions/AWS::States::Execution" - }, { "$ref": "#/definitions/AWS::StepFunctions::Activity" }, - { - "$ref": "#/definitions/AWS::StepFunctions::MapRun" - }, { "$ref": "#/definitions/AWS::StepFunctions::StateMachine" }, @@ -410768,9 +376499,6 @@ { "$ref": "#/definitions/AWS::StepFunctions::StateMachineVersion" }, - { - "$ref": "#/definitions/AWS::StorageGateway::TapePool" - }, { "$ref": "#/definitions/AWS::SupportApp::AccountAlias" }, @@ -410780,9 +376508,6 @@ { "$ref": "#/definitions/AWS::SupportApp::SlackWorkspaceConfiguration" }, - { - "$ref": "#/definitions/AWS::SupportAuthZ::SupportPermit" - }, { "$ref": "#/definitions/AWS::Synthetics::Canary" }, @@ -410792,12 +376517,6 @@ { "$ref": "#/definitions/AWS::SystemsManagerSAP::Application" }, - { - "$ref": "#/definitions/AWS::Textract::Adapter" - }, - { - "$ref": "#/definitions/AWS::ThinClient::SoftwareSet" - }, { "$ref": "#/definitions/AWS::Timestream::Database" }, @@ -410813,21 +376532,6 @@ { "$ref": "#/definitions/AWS::Timestream::Table" }, - { - "$ref": "#/definitions/AWS::Transcribe::CallAnalyticsJob" - }, - { - "$ref": "#/definitions/AWS::Transcribe::MedicalScribeJob" - }, - { - "$ref": "#/definitions/AWS::Transcribe::MedicalTranscriptionJob" - }, - { - "$ref": "#/definitions/AWS::Transcribe::TranscriptionJob" - }, - { - "$ref": "#/definitions/AWS::Transcribe::VocabularyFilter" - }, { "$ref": "#/definitions/AWS::Transfer::Agreement" }, @@ -410837,9 +376541,6 @@ { "$ref": "#/definitions/AWS::Transfer::Connector" }, - { - "$ref": "#/definitions/AWS::Transfer::HostKey" - }, { "$ref": "#/definitions/AWS::Transfer::Profile" }, @@ -410855,18 +376556,9 @@ { "$ref": "#/definitions/AWS::Transfer::Workflow" }, - { - "$ref": "#/definitions/AWS::Translate::ParallelData" - }, { "$ref": "#/definitions/AWS::UXC::AccountCustomization" }, - { - "$ref": "#/definitions/AWS::UserNotifications::ManagedNotificationConfiguration" - }, - { - "$ref": "#/definitions/AWS::UserNotifications::NotificationEvent" - }, { "$ref": "#/definitions/AWS::VerifiedPermissions::IdentitySource" }, @@ -410999,21 +376691,6 @@ { "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" }, - { - "$ref": "#/definitions/AWS::WellArchitected::Lens" - }, - { - "$ref": "#/definitions/AWS::WellArchitected::Profile" - }, - { - "$ref": "#/definitions/AWS::WellArchitected::ReviewTemplate" - }, - { - "$ref": "#/definitions/AWS::WellArchitected::Workload" - }, - { - "$ref": "#/definitions/AWS::Wickr::Network" - }, { "$ref": "#/definitions/AWS::Wisdom::AIAgent" }, @@ -411050,21 +376727,12 @@ { "$ref": "#/definitions/AWS::Wisdom::QuickResponse" }, - { - "$ref": "#/definitions/AWS::Wisdom::Session" - }, { "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" }, - { - "$ref": "#/definitions/AWS::WorkSpaces::WorkSpaceApplication" - }, { "$ref": "#/definitions/AWS::WorkSpaces::Workspace" }, - { - "$ref": "#/definitions/AWS::WorkSpaces::WorkspaceIpGroup" - }, { "$ref": "#/definitions/AWS::WorkSpaces::WorkspacesPool" }, diff --git a/schema_source/sam.schema.json b/schema_source/sam.schema.json index a892b9862..1ced46489 100644 --- a/schema_source/sam.schema.json +++ b/schema_source/sam.schema.json @@ -3065,6 +3065,11 @@ "ManagedResourceTags": { "additionalProperties": false, "properties": { + "Propagate": { + "markdownDescription": "TODO", + "title": "Propagate", + "type": "boolean" + }, "Tags": { "markdownDescription": "TODO", "title": "Tags", @@ -11210,236 +11215,6 @@ "title": "ScheduleV2EventProperties", "type": "object" }, - "samtranslator__internal__schema_source__aws_serverless_webfunction__Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Authtype" - }, - "AutoDeploymentMode": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Autodeploymentmode" - }, - "CodeUri": { - "title": "Codeuri" - }, - "EndpointDescription": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Endpointdescription" - }, - "EndpointName": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Endpointname" - }, - "EndpointType": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Endpointtype" - }, - "EntryPoint": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Entrypoint" - }, - "EnvironmentVariables": { - "title": "Environmentvariables", - "type": "object" - }, - "ExecutionRoleArn": { - "title": "Executionrolearn" - }, - "FunctionName": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Functionname" - }, - "InlineCode": { - "title": "Inlinecode", - "type": "string" - }, - "KmsKeyArn": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Kmskeyarn" - }, - "LoggingConfig": { - "title": "Loggingconfig", - "type": "object" - }, - "MaxConcurrencyPerEnvironment": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "integer" - } - ], - "title": "Maxconcurrencyperenvironment" - }, - "ReplicaRegions": { - "title": "Replicaregions" - }, - "RevisionDescription": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Revisiondescription" - }, - "RevisionWeights": { - "title": "Revisionweights", - "type": "object" - }, - "Runtime": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ], - "title": "Runtime" - }, - "ScalingConfig": { - "title": "Scalingconfig", - "type": "object" - }, - "Tags": { - "title": "Tags", - "type": "object" - }, - "ThrottleConfig": { - "title": "Throttleconfig", - "type": "object" - }, - "Timeout": { - "anyOf": [ - { - "type": "object" - }, - { - "type": "integer" - } - ], - "title": "Timeout" - } - }, - "required": [ - "Runtime", - "AuthType" - ], - "title": "Properties", - "type": "object" - }, - "samtranslator__internal__schema_source__aws_serverless_webfunction__Resource": { - "additionalProperties": false, - "properties": { - "Condition": { - "$ref": "#/definitions/PassThroughProp" - }, - "DeletionPolicy": { - "$ref": "#/definitions/PassThroughProp" - }, - "DependsOn": { - "$ref": "#/definitions/PassThroughProp" - }, - "IgnoreGlobals": { - "anyOf": [ - { - "type": "string" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "Ignoreglobals" - }, - "Metadata": { - "$ref": "#/definitions/PassThroughProp" - }, - "Properties": { - "$ref": "#/definitions/samtranslator__internal__schema_source__aws_serverless_webfunction__Properties" - }, - "Type": { - "enum": [ - "AWS::Serverless::WebFunction" - ], - "title": "Type", - "type": "string" - }, - "UpdateReplacePolicy": { - "$ref": "#/definitions/PassThroughProp" - } - }, - "required": [ - "Type", - "Properties" - ], - "title": "Resource", - "type": "object" - }, "samtranslator__internal__schema_source__aws_serverless_websocketapi__Domain": { "additionalProperties": false, "properties": { @@ -11909,9 +11684,6 @@ { "$ref": "#/definitions/samtranslator__internal__schema_source__aws_serverless_graphqlapi__Resource" }, - { - "$ref": "#/definitions/samtranslator__internal__schema_source__aws_serverless_webfunction__Resource" - }, { "$ref": "#/definitions/samtranslator__internal__schema_source__aws_serverless_capacity_provider__Resource" }, diff --git a/tests/model/api/test_websocket_api_generator.py b/tests/model/api/test_websocket_api_generator.py index 0cd2c913b..7a37a4786 100644 --- a/tests/model/api/test_websocket_api_generator.py +++ b/tests/model/api/test_websocket_api_generator.py @@ -123,8 +123,7 @@ def test_invalid_auth_type(self): WebSocketApiGenerator(**kwargs)._construct_route_infr("$connect", kwargs["routes"]["$connect"]) self.assertEqual( e.value.message, - "Resource with id [WebSocketApiId] is invalid. " - + "AuthType 'nonsense' is not one of AWS_IAM, CUSTOM or NONE.", + "Resource with id [WebSocketApiId] is invalid. " + "AuthType is not one of AWS_IAM, CUSTOM or NONE.", ) def test_auth_set(self): diff --git a/tests/model/capacity_provider/test_generators.py b/tests/model/capacity_provider/test_generators.py index ea487d4f6..c9b52f48d 100644 --- a/tests/model/capacity_provider/test_generators.py +++ b/tests/model/capacity_provider/test_generators.py @@ -226,6 +226,8 @@ def extract_resource(self, resource_array: list[Resource]): @parameterized.expand( [ + ("propagate_true", {"Propagate": True}, {"Mode": "CapacityProvider"}), + ("propagate_false", {"Propagate": False}, {"Mode": "None"}), ( "explicit_tags", {"Tags": {"Env": "prod", "Team": "tooling"}}, @@ -249,12 +251,9 @@ def test_to_cloudformation_with_managed_resource_tags(self): self.logical_id, vpc_config=self.vpc_config, operator_role=self.operator_role, - managed_resource_tags={"Tags": {"Env": "prod"}}, + managed_resource_tags={"Propagate": True}, ) resources = generator.to_cloudformation() resource_dict = self.extract_resource(resources) capacity_provider = resource_dict[self.logical_id] - self.assertEqual( - capacity_provider["Properties"]["PropagateTags"], - {"Mode": "Explicit", "ExplicitTags": [{"Key": "Env", "Value": "prod"}]}, - ) + self.assertEqual(capacity_provider["Properties"]["PropagateTags"], {"Mode": "CapacityProvider"}) diff --git a/tests/model/test_sam_resources.py b/tests/model/test_sam_resources.py index 2e56451bf..a51d9c5f9 100644 --- a/tests/model/test_sam_resources.py +++ b/tests/model/test_sam_resources.py @@ -8,16 +8,7 @@ from samtranslator.model.apigateway import ApiGatewayDeployment, ApiGatewayRestApi, ApiGatewayStage from samtranslator.model.apigatewayv2 import ApiGatewayV2HttpApi from samtranslator.model.iam import IAMRole -from samtranslator.model.lambda_ import ( - LambdaFunction, - LambdaLayerVersion, - LambdaPermission, - LambdaUrl, - LambdaVersion, - LambdaWebFunction, - LambdaWebFunctionEndpoint, - LambdaWebFunctionRevision, -) +from samtranslator.model.lambda_ import LambdaFunction, LambdaLayerVersion, LambdaPermission, LambdaUrl, LambdaVersion from samtranslator.model.packagetype import IMAGE, ZIP from samtranslator.model.sam_resources import ( SamApi, @@ -27,7 +18,6 @@ SamGraphQLApi, SamHttpApi, SamLayerVersion, - SamWebFunction, ) @@ -243,7 +233,7 @@ def test_with_autopublish_bad_hash(self): def test_with_autopublish_good_hash(self): function = SamFunction("foo") - function.Runtime = "foobar" + function.Runtime = "foo" function.Handler = "bar" function.CodeUri = "s3://foobar/foo.zip" function.AutoPublishAlias = "live" @@ -253,753 +243,6 @@ def test_with_autopublish_good_hash(self): function.to_cloudformation(**self.kwargs) -class TestWebFunctionBuildConfig(TestCase): - kwargs = { - "intrinsics_resolver": IntrinsicsResolver({}), - "event_resources": [], - "managed_policy_map": {"foo": "bar"}, - "resource_resolver": ResourceResolver({}), - } - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_with_code_uri(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - cfnResources = function.to_cloudformation(**self.kwargs) - revisions = [x for x in cfnResources if isinstance(x, LambdaWebFunctionRevision)] - self.assertEqual(len(revisions), 1) - self.assertEqual(revisions[0].BuildConfig["CodeConfig"]["S3Object"], {"Key": "foo.zip", "Bucket": "foobar"}) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_with_no_code_uri_or_no_inline(self): - function = SamWebFunction("foo") - function.Runtime = "foobar" - function.AuthType = "IamAuth" - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_with_both_code_uri_and_inline(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.InlineCode = "hello world" - function.AuthType = "IamAuth" - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_with_no_runtime(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.AuthType = "IamAuth" - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - -class TestWebFunctionRegions(TestCase): - kwargs = { - "intrinsics_resolver": IntrinsicsResolver({}), - "event_resources": [], - "managed_policy_map": {"foo": "bar"}, - "resource_resolver": ResourceResolver({}), - } - - def test_with_regions_flatlist(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = ["us-east-1", "us-east-1", "eu-west-1"] - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(len(endpoints), 1) - self.assertCountEqual(endpoints[0].Regions, ["us-east-1", "eu-west-1"]) - - def test_with_flatlist_enum(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = ["US"] - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(len(endpoints), 1) - self.assertCountEqual(endpoints[0].Regions, ["us-east-1", "us-east-2", "us-west-1", "us-west-2"]) - - def test_with_include_exclude_regions(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"IncludeRegions": ["US"], "ExcludeRegions": ["us-east-1"]} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(len(endpoints), 1) - self.assertCountEqual(endpoints[0].Regions, ["us-east-2", "us-west-1", "us-west-2"]) - - def test_with_all_standard(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = ["ALL_STANDARD"] - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(len(endpoints), 1) - self.assertCountEqual( - endpoints[0].Regions, - [ - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2", - "ap-south-1", - "ap-northeast-1", - "ap-northeast-2", - "ap-northeast-3", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "eu-central-1", - "eu-north-1", - "sa-east-1", - ], - ) - - def test_with_lowercase_enum(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"IncludeRegions": ["us"]} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(len(endpoints), 1) - self.assertCountEqual(endpoints[0].Regions, ["us-east-1", "us-east-2", "us-west-1", "us-west-2"]) - - def test_with_enum_and_individual(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"IncludeRegions": ["ALL_STANDARD", "af-south-1"]} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(len(endpoints), 1) - self.assertCountEqual( - endpoints[0].Regions, - [ - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2", - "ap-south-1", - "ap-northeast-1", - "ap-northeast-2", - "ap-northeast-3", - "ap-southeast-1", - "ap-southeast-2", - "ca-central-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "eu-central-1", - "eu-north-1", - "sa-east-1", - "af-south-1", - ], - ) - - def test_with_invalid_region(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = ["USA"] - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - def test_with_only_exclude_regions_raises(self): - # ExcludeRegions without IncludeRegions would silently yield an empty region list; require both. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"ExcludeRegions": ["US"]} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - def test_replica_regions_top_level_intrinsic_passthrough(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"Ref": "RegionList"} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(endpoints[0].Regions, {"Ref": "RegionList"}) - - def test_flatlist_with_intrinsic_entry(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = ["us-east-1", {"Ref": "ExtraRegion"}] - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(endpoints[0].Regions, ["us-east-1", {"Ref": "ExtraRegion"}]) - - def test_include_regions_with_intrinsic_entry(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"IncludeRegions": ["us-east-1", {"Ref": "ExtraRegion"}]} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(endpoints[0].Regions, ["us-east-1", {"Ref": "ExtraRegion"}]) - - def test_include_regions_top_level_intrinsic_raises(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"IncludeRegions": {"Ref": "Regions"}} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - def test_exclude_regions_intrinsic_entry_raises(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"IncludeRegions": ["US"], "ExcludeRegions": [{"Ref": "Skip"}]} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - def test_exclude_with_only_intrinsic_include_raises(self): - # Exclusions cannot be applied to an intrinsic include at transform time. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"IncludeRegions": [{"Ref": "RegionParam"}], "ExcludeRegions": ["us-west-2"]} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - def test_exclude_with_mixed_string_and_intrinsic_include_raises(self): - # Even with a string include present, the intrinsic include portion cannot honor the exclusion. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = { - "IncludeRegions": ["US", {"Ref": "RegionParam"}], - "ExcludeRegions": ["us-west-2"], - } - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - def test_replica_regions_unknown_key_raises(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ReplicaRegions = {"IncludeRegionz": ["US"]} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - -class TestWebFunctionConfigs(TestCase): - kwargs = { - "intrinsics_resolver": IntrinsicsResolver({}), - "event_resources": [], - "managed_policy_map": {"foo": "bar"}, - "resource_resolver": ResourceResolver({}), - } - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_produces_four_resources(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - cfnResources = function.to_cloudformation(**self.kwargs) - self.assertEqual(len([x for x in cfnResources if isinstance(x, IAMRole)]), 1) - self.assertEqual(len([x for x in cfnResources if isinstance(x, LambdaWebFunction)]), 1) - self.assertEqual(len([x for x in cfnResources if isinstance(x, LambdaWebFunctionRevision)]), 1) - self.assertEqual(len([x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)]), 1) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_generated_function_name_uses_logical_id_and_stack_guid(self): - function = SamWebFunction("MyWebFunction") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - cfnResources = function.to_cloudformation(**self.kwargs) - fn = next(x for x in cfnResources if isinstance(x, LambdaWebFunction)) - self.assertEqual(fn.FunctionName["Fn::Sub"][0], "MyWebFunction-${StackIdSuffix}") - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_generated_function_name_bounds_long_logical_id(self): - # FunctionName limit is 64; the 8-char stack GUID suffix plus a separator leave a 55-char budget for - # the logical ID, so the resolved name can never exceed the limit (55 + 1 + 8 = 64). - logical_id = "A" * 200 - function = SamWebFunction(logical_id) - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - cfnResources = function.to_cloudformation(**self.kwargs) - fn = next(x for x in cfnResources if isinstance(x, LambdaWebFunction)) - template = fn.FunctionName["Fn::Sub"][0] - self.assertEqual(template, "A" * 55 + "-${StackIdSuffix}") - # Worst-case resolved length stays within the 64-char FunctionName limit - self.assertLessEqual(55 + 1 + 8, 64) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_generated_function_name_shared_by_all_resources(self): - # Ref on AWS::Lambda::WebFunction returns the ARN, so the revision and endpoint must reuse the same - # generated name value as the function rather than Ref it. - function = SamWebFunction("MyWebFunction") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - cfnResources = function.to_cloudformation(**self.kwargs) - fn = next(x for x in cfnResources if isinstance(x, LambdaWebFunction)) - revision = next(x for x in cfnResources if isinstance(x, LambdaWebFunctionRevision)) - endpoint = next(x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)) - self.assertEqual(revision.FunctionName, fn.FunctionName) - self.assertEqual(endpoint.FunctionName, fn.FunctionName) - # And specifically NOT a bare Ref (which resolves to the ARN) - self.assertNotEqual(revision.FunctionName, {"Ref": "MyWebFunction"}) - self.assertNotEqual(endpoint.FunctionName, {"Ref": "MyWebFunction"}) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_webfunction_name_runtime_attr_is_not_ref(self): - # Ref resolves to the ARN, so get_runtime_attr("name") must return the FunctionName value, not a Ref. - function = SamWebFunction("MyWebFunction") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - cfnResources = function.to_cloudformation(**self.kwargs) - fn = next(x for x in cfnResources if isinstance(x, LambdaWebFunction)) - self.assertEqual(fn.get_runtime_attr("name"), fn.FunctionName) - self.assertNotEqual(fn.get_runtime_attr("name"), {"Ref": "MyWebFunction"}) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_explicit_function_name_shared_by_all_resources(self): - function = SamWebFunction("MyWebFunction") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.FunctionName = "my-explicit-name" - cfnResources = function.to_cloudformation(**self.kwargs) - fn = next(x for x in cfnResources if isinstance(x, LambdaWebFunction)) - revision = next(x for x in cfnResources if isinstance(x, LambdaWebFunctionRevision)) - endpoint = next(x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)) - self.assertEqual(fn.FunctionName, "my-explicit-name") - self.assertEqual(revision.FunctionName, "my-explicit-name") - self.assertEqual(endpoint.FunctionName, "my-explicit-name") - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_default_service_config(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - cfnResources = function.to_cloudformation(**self.kwargs) - revisions = [x for x in cfnResources if isinstance(x, LambdaWebFunctionRevision)] - self.assertEqual(revisions[0].ServiceConfig["TimeoutSeconds"], 30) - self.assertIn("ExecutionRoleArn", revisions[0].ServiceConfig) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_with_custom_timeout(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.Timeout = 120 - cfnResources = function.to_cloudformation(**self.kwargs) - revisions = [x for x in cfnResources if isinstance(x, LambdaWebFunctionRevision)] - self.assertEqual(revisions[0].ServiceConfig["TimeoutSeconds"], 120) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_with_service_config(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.ExecutionRoleArn = "arn:aws:iam::123456789012:role/execution_role" - function.EntryPoint = "app.js" - cfnResources = function.to_cloudformation(**self.kwargs) - revisions = [x for x in cfnResources if isinstance(x, LambdaWebFunctionRevision)] - self.assertEqual(revisions[0].ServiceConfig["EnvironmentVariables"], {"AWS_LAMBDA_NODEJS_ENTRYPOINT": "app.js"}) - self.assertEqual( - revisions[0].ServiceConfig["ExecutionRoleArn"], "arn:aws:iam::123456789012:role/execution_role" - ) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_max_concurrency_per_environment_passthrough(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.MaxConcurrencyPerEnvironment = 100 - cfnResources = function.to_cloudformation(**self.kwargs) - revisions = [x for x in cfnResources if isinstance(x, LambdaWebFunctionRevision)] - self.assertEqual(revisions[0].ServiceConfig["MaxConcurrencyPerEnvironment"], 100) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_endpoint_scaling_throttle_and_description_passthrough(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EndpointDescription = "prod endpoint" - function.ScalingConfig = {"MaxEnvironments": 50} - function.ThrottleConfig = {"RateLimit": 5000} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(endpoints[0].Description, "prod endpoint") - self.assertEqual(endpoints[0].ScalingConfig, {"MaxEnvironments": 50}) - self.assertEqual(endpoints[0].ThrottleConfig, {"RateLimit": 5000}) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_endpoint_defaults(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(endpoints[0].EndpointName, "prod") - self.assertEqual(endpoints[0].EndpointType, "HomeRegion") - self.assertEqual(endpoints[0].AuthType, "IamAuth") - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_endpoint_custom_values(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.EndpointName = "staging" - function.EndpointType = "MultiRegion" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = "Disabled" - function.RevisionWeights = {"rev-abc": 100} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(endpoints[0].EndpointName, "staging") - self.assertEqual(endpoints[0].EndpointType, "MultiRegion") - self.assertEqual(endpoints[0].AuthType, "IamAuth") - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_validation_latest_revision_with_routing(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = "LatestRevision" - function.RevisionWeights = {"rev-123": 100} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_validation_multiregion_with_latest_revision(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EndpointType = "MultiRegion" - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_validation_disabled_without_revision_weights(self): - # HomeRegion 'Disabled' with no RevisionWeights would be identical to 'LatestRevision' — reject it. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = "Disabled" - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_multiregion_disabled_without_revision_weights_uses_initial_revision(self): - # MultiRegion mandates 'Disabled' but may omit RevisionWeights; the endpoint then pins 100% to the - # revision created in this same stack (via GetAtt), enabling a single-shot MultiRegion create. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EndpointType = "MultiRegion" - function.AutoDeploymentMode = "Disabled" - cfnResources = function.to_cloudformation(**self.kwargs) - endpoint = next(x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)) - self.assertEqual(endpoint.EndpointType, "MultiRegion") - self.assertEqual( - endpoint.RevisionWeights, - [{"RevisionId": {"Fn::GetAtt": ["fooRevision", "RevisionId"]}, "Weight": 100}], - ) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_validation_perregion_with_latest_revision(self): - # PerRegion shares MultiRegion's rules: it mandates 'Disabled', so 'LatestRevision' (the default) fails. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EndpointType = "PerRegion" - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_perregion_disabled_without_revision_weights_uses_initial_revision(self): - # PerRegion mandates 'Disabled' but may omit RevisionWeights; like MultiRegion the endpoint then pins - # 100% to the revision created in this same stack and emits the replica Regions as per-Region endpoints. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EndpointType = "PerRegion" - function.AutoDeploymentMode = "Disabled" - function.ReplicaRegions = {"IncludeRegions": ["us-west-2", "us-east-1"]} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoint = next(x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)) - self.assertEqual(endpoint.EndpointType, "PerRegion") - self.assertEqual( - endpoint.RevisionWeights, - [{"RevisionId": {"Fn::GetAtt": ["fooRevision", "RevisionId"]}, "Weight": 100}], - ) - self.assertEqual(endpoint.Regions, ["us-east-1", "us-west-2"]) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_manual_revision_routing(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = "Disabled" - function.RevisionWeights = {"rev-abc": 80, "rev-def": 20} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertCountEqual( - endpoints[0].RevisionWeights, - [{"RevisionId": "rev-abc", "Weight": 80}, {"RevisionId": "rev-def", "Weight": 20}], - ) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_revision_weights_with_intrinsic_value(self): - # Individual weight values may be intrinsics; the map is still converted to the list shape. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = "Disabled" - function.RevisionWeights = {"rev-abc": {"Ref": "WeightA"}, "rev-def": {"Ref": "WeightB"}} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertCountEqual( - endpoints[0].RevisionWeights, - [ - {"RevisionId": "rev-abc", "Weight": {"Ref": "WeightA"}}, - {"RevisionId": "rev-def", "Weight": {"Ref": "WeightB"}}, - ], - ) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_revision_weights_top_level_intrinsic_raises(self): - # A top-level intrinsic map (e.g. Fn::If) cannot be converted to the endpoint's list shape. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = "Disabled" - function.RevisionWeights = {"Fn::If": ["Cond", {"rev-a": 100}, {"rev-b": 100}]} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_revision_weight_zero_raises(self): - # A 0 weight sums to 100 but violates the service's [1, 100] range; reject at transform time. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = "Disabled" - function.RevisionWeights = {"rev-a": 0, "rev-b": 100} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_revision_weight_out_of_range_raises(self): - # Sums to 100 but individual weights fall outside [1, 100]. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = "Disabled" - function.RevisionWeights = {"rev-a": 120, "rev-b": -20} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_auto_deployment_mode_resolved_intrinsic(self): - # A Ref that resolves to a concrete mode is honored: "Disabled" allows RevisionWeights. - kwargs = dict(self.kwargs) - kwargs["intrinsics_resolver"] = IntrinsicsResolver({"Mode": "Disabled"}) - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = {"Ref": "Mode"} - function.RevisionWeights = {"rev-abc": 100} - cfnResources = function.to_cloudformation(**kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(endpoints[0].RevisionWeights, [{"RevisionId": "rev-abc", "Weight": 100}]) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_auto_deployment_mode_resolved_intrinsic_conflicts_with_weights(self): - # Resolves to "LatestRevision", which forbids RevisionWeights. - kwargs = dict(self.kwargs) - kwargs["intrinsics_resolver"] = IntrinsicsResolver({"Mode": "LatestRevision"}) - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = {"Ref": "Mode"} - function.RevisionWeights = {"rev-abc": 100} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_auto_deployment_mode_unresolved_intrinsic_raises(self): - # AutoDeploymentMode is SAM-only and never reaches CFN; an unresolved Ref must be rejected. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = {"Ref": "Unknown"} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_auto_deployment_mode_resolved_to_invalid_raises(self): - kwargs = dict(self.kwargs) - kwargs["intrinsics_resolver"] = IntrinsicsResolver({"Mode": "Nonsense"}) - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.AutoDeploymentMode = {"Ref": "Mode"} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_endpoint_type_unresolved_intrinsic_passthrough(self): - # EndpointType IS a CFN property, so an unresolved intrinsic is passed through and the - # MultiRegion constraint is not enforced. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EndpointType = {"Ref": "EpType"} - cfnResources = function.to_cloudformation(**self.kwargs) - endpoints = [x for x in cfnResources if isinstance(x, LambdaWebFunctionEndpoint)] - self.assertEqual(endpoints[0].EndpointType, {"Ref": "EpType"}) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_endpoint_type_resolved_multiregion_requires_disabled(self): - kwargs = dict(self.kwargs) - kwargs["intrinsics_resolver"] = IntrinsicsResolver({"EpType": "MultiRegion"}) - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EndpointType = {"Ref": "EpType"} - # AutoDeploymentMode defaults to LatestRevision, which is invalid for MultiRegion. - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_timeout_below_minimum_raises(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.Timeout = 1 - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_timeout_above_maximum_raises(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.Timeout = 901 - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_invalid_env_var_key_raises(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EnvironmentVariables = {"1BAD": "value"} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_leading_underscore_env_var_key_raises(self): - # The service key pattern requires a leading letter (no leading underscore); reject it here so it - # fails at transform time rather than at stack creation. - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EnvironmentVariables = {"_FOO": "value"} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_empty_env_var_value_raises(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EnvironmentVariables = {"MY_VAR": ""} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_env_var_value_too_long_raises(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EnvironmentVariables = {"MY_VAR": "x" * 4097} - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - @patch("boto3.session.Session.region_name", "ap-southeast-1") - def test_intrinsic_env_vars_with_entrypoint_raises(self): - function = SamWebFunction("foo") - function.CodeUri = "s3://foobar/foo.zip" - function.Runtime = "bar" - function.AuthType = "IamAuth" - function.EnvironmentVariables = {"Fn::If": ["Cond", {"A": "1"}, {"B": "2"}]} - function.EntryPoint = "app.js" - with pytest.raises(InvalidResourceException): - function.to_cloudformation(**self.kwargs) - - class TestOpenApi(TestCase): kwargs = { "intrinsics_resolver": IntrinsicsResolver({}), diff --git a/tests/translator/input/capacity_provider_managed_resource_tags.yaml b/tests/translator/input/capacity_provider_managed_resource_tags.yaml index a448fba34..54b29f967 100644 --- a/tests/translator/input/capacity_provider_managed_resource_tags.yaml +++ b/tests/translator/input/capacity_provider_managed_resource_tags.yaml @@ -1,6 +1,6 @@ AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 -Description: Test ManagedResourceTags - explicit tags configuration +Description: Test ManagedResourceTags - all configurations Parameters: Environment: @@ -10,8 +10,7 @@ Parameters: Globals: CapacityProvider: ManagedResourceTags: - Tags: - GlobalTag: shared-value + Propagate: true Resources: CpInheritsGlobal: @@ -23,7 +22,7 @@ Resources: SecurityGroupIds: - sg-11111111 - CpOverrideWithExplicitTags: + CpOverridePropagateFalse: Type: AWS::Serverless::CapacityProvider Properties: VpcConfig: @@ -32,6 +31,31 @@ Resources: SecurityGroupIds: - sg-22222222 ManagedResourceTags: + Propagate: false + + CpOverrideWithExplicitTags: + Type: AWS::Serverless::CapacityProvider + Properties: + VpcConfig: + SubnetIds: + - subnet-33333333 + SecurityGroupIds: + - sg-33333333 + ManagedResourceTags: + Propagate: false Tags: Environment: !Ref Environment Team: !Sub '${AWS::StackName}-tooling' + + # PRUNE_AND_MERGE: local has only Tags → global Propagate key is dropped + CpOverrideStrategyDropsGlobalKey: + Type: AWS::Serverless::CapacityProvider + Properties: + VpcConfig: + SubnetIds: + - subnet-44444444 + SecurityGroupIds: + - sg-44444444 + ManagedResourceTags: + Tags: + App: my-service diff --git a/tests/translator/input/error_capacity_provider_managed_resource_tags_intrinsic_propagate.yaml b/tests/translator/input/error_capacity_provider_managed_resource_tags_intrinsic_propagate.yaml new file mode 100644 index 000000000..d9defb795 --- /dev/null +++ b/tests/translator/input/error_capacity_provider_managed_resource_tags_intrinsic_propagate.yaml @@ -0,0 +1,20 @@ +AWSTemplateFormatVersion: '2010-09-09' +Transform: AWS::Serverless-2016-10-31 +Description: Test ManagedResourceTags.Propagate rejects intrinsic functions + +Parameters: + EnablePropagation: + Type: String + Default: 'true' + +Resources: + CpPropagateWithRef: + Type: AWS::Serverless::CapacityProvider + Properties: + VpcConfig: + SubnetIds: + - subnet-12345678 + SecurityGroupIds: + - sg-12345678 + ManagedResourceTags: + Propagate: !Ref EnablePropagation diff --git a/tests/translator/input/error_capacity_provider_managed_resource_tags_mutual_exclusion.yaml b/tests/translator/input/error_capacity_provider_managed_resource_tags_mutual_exclusion.yaml new file mode 100644 index 000000000..59c9f3f72 --- /dev/null +++ b/tests/translator/input/error_capacity_provider_managed_resource_tags_mutual_exclusion.yaml @@ -0,0 +1,20 @@ +AWSTemplateFormatVersion: '2010-09-09' +Transform: AWS::Serverless-2016-10-31 +Description: Test ManagedResourceTags mutual exclusion error + +Globals: + CapacityProvider: + ManagedResourceTags: + Propagate: true + +Resources: + CpBothSet: + Type: AWS::Serverless::CapacityProvider + Properties: + VpcConfig: + SubnetIds: + - subnet-12345678 + ManagedResourceTags: + Propagate: true + Tags: + Environment: Production diff --git a/tests/translator/input/error_webfunction_missing_authtype.yaml b/tests/translator/input/error_webfunction_missing_authtype.yaml deleted file mode 100644 index deeb29f3c..000000000 --- a/tests/translator/input/error_webfunction_missing_authtype.yaml +++ /dev/null @@ -1,12 +0,0 @@ -AWSTemplateFormatVersion: '2010-09-09' -Transform: AWS::Serverless-2016-10-31 -Description: WebFunction without the required AuthType property - -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: s3://sam-demo-bucket/webfunc.zip -Metadata: - SamTransformTest: true diff --git a/tests/translator/input/error_websocket_api_lowercase_authtype.yaml b/tests/translator/input/error_websocket_api_lowercase_authtype.yaml deleted file mode 100644 index 6e5ff87f8..000000000 --- a/tests/translator/input/error_websocket_api_lowercase_authtype.yaml +++ /dev/null @@ -1,28 +0,0 @@ -Resources: - ConnectFunction: - Type: AWS::Serverless::Function - Properties: - InlineCode: '# placeholder' - Handler: hello.handler - Runtime: nodejs24.x - MyApi: - Type: AWS::Serverless::WebSocketApi - Properties: - Auth: - AuthArn: !GetAtt MyAuth.Arn - AuthType: custom - IdentitySource: - - idsource1 - - idsource2 - Name: test - Name: MyApi - Routes: - $connect: - FunctionArn: !GetAtt ConnectFunction.Arn - RouteSelectionExpression: $request.body.action - MyAuth: - Type: AWS::Serverless::Function - Properties: - CodeUri: s3://bucket/key - Handler: index.handler - Runtime: nodejs24.x diff --git a/tests/translator/input/error_websocket_api_none_auth_config.yaml b/tests/translator/input/error_websocket_api_none_auth_config.yaml index 0dc5f8c5e..a54809bf8 100644 --- a/tests/translator/input/error_websocket_api_none_auth_config.yaml +++ b/tests/translator/input/error_websocket_api_none_auth_config.yaml @@ -15,7 +15,7 @@ Resources: Type: AWS::Serverless::WebSocketApi Properties: Auth: - AuthType: NONE + AuthType: None PayloadFormatVersion: '1.0' Name: WSApi Routes: diff --git a/tests/translator/input/webfunction_basic.yaml b/tests/translator/input/webfunction_basic.yaml deleted file mode 100644 index 4529b058c..000000000 --- a/tests/translator/input/webfunction_basic.yaml +++ /dev/null @@ -1,7 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - AuthType: IamAuth - CodeUri: s3://sam-demo-bucket/webfunc.zip diff --git a/tests/translator/input/webfunction_multiregion.yaml b/tests/translator/input/webfunction_multiregion.yaml deleted file mode 100644 index 8f9f9b7bb..000000000 --- a/tests/translator/input/webfunction_multiregion.yaml +++ /dev/null @@ -1,17 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - AuthType: IamAuth - CodeUri: s3://sam-demo-bucket/webfunc.zip - EndpointType: MultiRegion - AutoDeploymentMode: Disabled - ReplicaRegions: - IncludeRegions: - - US - ExcludeRegions: - - us-east-2 - - us-west-1 -Metadata: - SamTransformTest: true diff --git a/tests/translator/input/webfunction_with_all_properties.yaml b/tests/translator/input/webfunction_with_all_properties.yaml deleted file mode 100644 index 8f6a2a767..000000000 --- a/tests/translator/input/webfunction_with_all_properties.yaml +++ /dev/null @@ -1,31 +0,0 @@ -Resources: - MyWebFunction: - Type: AWS::Serverless::WebFunction - Properties: - Runtime: nodejs24.x - CodeUri: s3://sam-demo-bucket/webfunc.zip - Timeout: 120 - EntryPoint: app.js - MaxConcurrencyPerEnvironment: 100 - EnvironmentVariables: - MY_VAR: my_value - NUMERIC_VAR: 42 - BOOL_VAR: true - EndpointName: staging - EndpointType: MultiRegion - EndpointDescription: prod endpoint - ScalingConfig: - MaxEnvironments: 50 - ThrottleConfig: - RateLimit: 5000 - AuthType: IamAuth - AutoDeploymentMode: Disabled - RevisionWeights: - rev-abc: 80 - rev-def: 20 - ReplicaRegions: - - US - KmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/abcd1234 - RevisionDescription: initial revision - Tags: - Department: Engineering diff --git a/tests/translator/output/aws-cn/capacity_provider_managed_resource_tags.json b/tests/translator/output/aws-cn/capacity_provider_managed_resource_tags.json index a9fc0e87f..ce336beb5 100644 --- a/tests/translator/output/aws-cn/capacity_provider_managed_resource_tags.json +++ b/tests/translator/output/aws-cn/capacity_provider_managed_resource_tags.json @@ -1,6 +1,6 @@ { "AWSTemplateFormatVersion": "2010-09-09", - "Description": "Test ManagedResourceTags - explicit tags configuration", + "Description": "Test ManagedResourceTags - all configurations", "Parameters": { "Environment": { "Default": "Production", @@ -18,11 +18,131 @@ ] } }, + "PropagateTags": { + "Mode": "CapacityProvider" + }, + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ], + "VpcConfig": { + "SecurityGroupIds": [ + "sg-11111111" + ], + "SubnetIds": [ + "subnet-11111111" + ] + } + }, + "Type": "AWS::Lambda::CapacityProvider" + }, + "CpInheritsGlobalOperatorRole": { + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + "arn:aws-cn:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator" + ], + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ] + }, + "Type": "AWS::IAM::Role" + }, + "CpOverridePropagateFalse": { + "Properties": { + "PermissionsConfig": { + "CapacityProviderOperatorRoleArn": { + "Fn::GetAtt": [ + "CpOverridePropagateFalseOperatorRole", + "Arn" + ] + } + }, + "PropagateTags": { + "Mode": "None" + }, + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ], + "VpcConfig": { + "SecurityGroupIds": [ + "sg-22222222" + ], + "SubnetIds": [ + "subnet-22222222" + ] + } + }, + "Type": "AWS::Lambda::CapacityProvider" + }, + "CpOverridePropagateFalseOperatorRole": { + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + "arn:aws-cn:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator" + ], + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ] + }, + "Type": "AWS::IAM::Role" + }, + "CpOverrideStrategyDropsGlobalKey": { + "Properties": { + "PermissionsConfig": { + "CapacityProviderOperatorRoleArn": { + "Fn::GetAtt": [ + "CpOverrideStrategyDropsGlobalKeyOperatorRole", + "Arn" + ] + } + }, "PropagateTags": { "ExplicitTags": [ { - "Key": "GlobalTag", - "Value": "shared-value" + "Key": "App", + "Value": "my-service" } ], "Mode": "Explicit" @@ -35,16 +155,16 @@ ], "VpcConfig": { "SecurityGroupIds": [ - "sg-11111111" + "sg-44444444" ], "SubnetIds": [ - "subnet-11111111" + "subnet-44444444" ] } }, "Type": "AWS::Lambda::CapacityProvider" }, - "CpInheritsGlobalOperatorRole": { + "CpOverrideStrategyDropsGlobalKeyOperatorRole": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ @@ -86,10 +206,6 @@ }, "PropagateTags": { "ExplicitTags": [ - { - "Key": "GlobalTag", - "Value": "shared-value" - }, { "Key": "Environment", "Value": { @@ -113,10 +229,10 @@ ], "VpcConfig": { "SecurityGroupIds": [ - "sg-22222222" + "sg-33333333" ], "SubnetIds": [ - "subnet-22222222" + "subnet-33333333" ] } }, diff --git a/tests/translator/output/aws-cn/webfunction_basic.json b/tests/translator/output/aws-cn/webfunction_basic.json deleted file mode 100644 index 29e9c7ebc..000000000 --- a/tests/translator/output/aws-cn/webfunction_basic.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "Resources": { - "MyWebFunction": { - "Properties": { - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::Lambda::WebFunction" - }, - "MyWebFunctionEndpoint": { - "DependsOn": [ - "MyWebFunction", - "MyWebFunctionRevision" - ], - "Properties": { - "AuthType": "IamAuth", - "EndpointName": "prod", - "EndpointType": "HomeRegion", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "RevisionWeights": [ - { - "RevisionId": { - "Fn::GetAtt": [ - "MyWebFunctionRevision", - "RevisionId" - ] - }, - "Weight": 100 - } - ] - }, - "Type": "AWS::Lambda::WebFunctionEndpoint" - }, - "MyWebFunctionRevision": { - "DependsOn": [ - "MyWebFunction" - ], - "Properties": { - "BuildConfig": { - "CodeConfig": { - "S3Object": { - "Bucket": "sam-demo-bucket", - "Key": "webfunc.zip" - } - }, - "RuntimeConfig": { - "Runtime": "nodejs24.x" - } - }, - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "ServiceConfig": { - "ExecutionRoleArn": { - "Fn::GetAtt": [ - "MyWebFunctionRole", - "Arn" - ] - }, - "TimeoutSeconds": 30 - } - }, - "Type": "AWS::Lambda::WebFunctionRevision" - }, - "MyWebFunctionRole": { - "Properties": { - "AssumeRolePolicyDocument": { - "Statement": [ - { - "Action": [ - "sts:AssumeRole" - ], - "Effect": "Allow", - "Principal": { - "Service": [ - "lambda.amazonaws.com" - ] - } - } - ], - "Version": "2012-10-17" - }, - "ManagedPolicyArns": [ - "arn:aws-cn:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ], - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::IAM::Role" - } - } -} diff --git a/tests/translator/output/aws-cn/webfunction_multiregion.json b/tests/translator/output/aws-cn/webfunction_multiregion.json deleted file mode 100644 index a5c780c87..000000000 --- a/tests/translator/output/aws-cn/webfunction_multiregion.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "Metadata": { - "SamTransformTest": true - }, - "Resources": { - "MyWebFunction": { - "Properties": { - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::Lambda::WebFunction" - }, - "MyWebFunctionEndpoint": { - "DependsOn": [ - "MyWebFunction", - "MyWebFunctionRevision" - ], - "Properties": { - "AuthType": "IamAuth", - "EndpointName": "prod", - "EndpointType": "MultiRegion", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Regions": [ - "us-east-1", - "us-west-2" - ], - "RevisionWeights": [ - { - "RevisionId": { - "Fn::GetAtt": [ - "MyWebFunctionRevision", - "RevisionId" - ] - }, - "Weight": 100 - } - ] - }, - "Type": "AWS::Lambda::WebFunctionEndpoint" - }, - "MyWebFunctionRevision": { - "DependsOn": [ - "MyWebFunction" - ], - "Properties": { - "BuildConfig": { - "CodeConfig": { - "S3Object": { - "Bucket": "sam-demo-bucket", - "Key": "webfunc.zip" - } - }, - "RuntimeConfig": { - "Runtime": "nodejs24.x" - } - }, - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "ServiceConfig": { - "ExecutionRoleArn": { - "Fn::GetAtt": [ - "MyWebFunctionRole", - "Arn" - ] - }, - "TimeoutSeconds": 30 - } - }, - "Type": "AWS::Lambda::WebFunctionRevision" - }, - "MyWebFunctionRole": { - "Properties": { - "AssumeRolePolicyDocument": { - "Statement": [ - { - "Action": [ - "sts:AssumeRole" - ], - "Effect": "Allow", - "Principal": { - "Service": [ - "lambda.amazonaws.com" - ] - } - } - ], - "Version": "2012-10-17" - }, - "ManagedPolicyArns": [ - "arn:aws-cn:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ], - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::IAM::Role" - } - } -} diff --git a/tests/translator/output/aws-cn/webfunction_with_all_properties.json b/tests/translator/output/aws-cn/webfunction_with_all_properties.json deleted file mode 100644 index cf89e28e4..000000000 --- a/tests/translator/output/aws-cn/webfunction_with_all_properties.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "Resources": { - "MyWebFunction": { - "Properties": { - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - }, - { - "Key": "Department", - "Value": "Engineering" - } - ] - }, - "Type": "AWS::Lambda::WebFunction" - }, - "MyWebFunctionEndpoint": { - "DependsOn": [ - "MyWebFunction", - "MyWebFunctionRevision" - ], - "Properties": { - "AuthType": "IamAuth", - "Description": "prod endpoint", - "EndpointName": "staging", - "EndpointType": "MultiRegion", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Regions": [ - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "RevisionWeights": [ - { - "RevisionId": "rev-abc", - "Weight": 80 - }, - { - "RevisionId": "rev-def", - "Weight": 20 - } - ], - "ScalingConfig": { - "MaxEnvironments": 50 - }, - "ThrottleConfig": { - "RateLimit": 5000 - } - }, - "Type": "AWS::Lambda::WebFunctionEndpoint" - }, - "MyWebFunctionRevision": { - "DependsOn": [ - "MyWebFunction" - ], - "Properties": { - "BuildConfig": { - "CodeConfig": { - "S3Object": { - "Bucket": "sam-demo-bucket", - "Key": "webfunc.zip" - } - }, - "RuntimeConfig": { - "Runtime": "nodejs24.x" - } - }, - "Description": "initial revision", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "KmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234", - "ServiceConfig": { - "EnvironmentVariables": { - "AWS_LAMBDA_NODEJS_ENTRYPOINT": "app.js", - "BOOL_VAR": "true", - "MY_VAR": "my_value", - "NUMERIC_VAR": "42" - }, - "ExecutionRoleArn": { - "Fn::GetAtt": [ - "MyWebFunctionRole", - "Arn" - ] - }, - "MaxConcurrencyPerEnvironment": 100, - "TimeoutSeconds": 120 - } - }, - "Type": "AWS::Lambda::WebFunctionRevision" - }, - "MyWebFunctionRole": { - "Properties": { - "AssumeRolePolicyDocument": { - "Statement": [ - { - "Action": [ - "sts:AssumeRole" - ], - "Effect": "Allow", - "Principal": { - "Service": [ - "lambda.amazonaws.com" - ] - } - } - ], - "Version": "2012-10-17" - }, - "ManagedPolicyArns": [ - "arn:aws-cn:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ], - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - }, - { - "Key": "Department", - "Value": "Engineering" - } - ] - }, - "Type": "AWS::IAM::Role" - } - } -} diff --git a/tests/translator/output/aws-us-gov/capacity_provider_managed_resource_tags.json b/tests/translator/output/aws-us-gov/capacity_provider_managed_resource_tags.json index 4a7e7984a..2b77e9947 100644 --- a/tests/translator/output/aws-us-gov/capacity_provider_managed_resource_tags.json +++ b/tests/translator/output/aws-us-gov/capacity_provider_managed_resource_tags.json @@ -1,6 +1,6 @@ { "AWSTemplateFormatVersion": "2010-09-09", - "Description": "Test ManagedResourceTags - explicit tags configuration", + "Description": "Test ManagedResourceTags - all configurations", "Parameters": { "Environment": { "Default": "Production", @@ -18,11 +18,131 @@ ] } }, + "PropagateTags": { + "Mode": "CapacityProvider" + }, + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ], + "VpcConfig": { + "SecurityGroupIds": [ + "sg-11111111" + ], + "SubnetIds": [ + "subnet-11111111" + ] + } + }, + "Type": "AWS::Lambda::CapacityProvider" + }, + "CpInheritsGlobalOperatorRole": { + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + "arn:aws-us-gov:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator" + ], + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ] + }, + "Type": "AWS::IAM::Role" + }, + "CpOverridePropagateFalse": { + "Properties": { + "PermissionsConfig": { + "CapacityProviderOperatorRoleArn": { + "Fn::GetAtt": [ + "CpOverridePropagateFalseOperatorRole", + "Arn" + ] + } + }, + "PropagateTags": { + "Mode": "None" + }, + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ], + "VpcConfig": { + "SecurityGroupIds": [ + "sg-22222222" + ], + "SubnetIds": [ + "subnet-22222222" + ] + } + }, + "Type": "AWS::Lambda::CapacityProvider" + }, + "CpOverridePropagateFalseOperatorRole": { + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + "arn:aws-us-gov:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator" + ], + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ] + }, + "Type": "AWS::IAM::Role" + }, + "CpOverrideStrategyDropsGlobalKey": { + "Properties": { + "PermissionsConfig": { + "CapacityProviderOperatorRoleArn": { + "Fn::GetAtt": [ + "CpOverrideStrategyDropsGlobalKeyOperatorRole", + "Arn" + ] + } + }, "PropagateTags": { "ExplicitTags": [ { - "Key": "GlobalTag", - "Value": "shared-value" + "Key": "App", + "Value": "my-service" } ], "Mode": "Explicit" @@ -35,16 +155,16 @@ ], "VpcConfig": { "SecurityGroupIds": [ - "sg-11111111" + "sg-44444444" ], "SubnetIds": [ - "subnet-11111111" + "subnet-44444444" ] } }, "Type": "AWS::Lambda::CapacityProvider" }, - "CpInheritsGlobalOperatorRole": { + "CpOverrideStrategyDropsGlobalKeyOperatorRole": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ @@ -86,10 +206,6 @@ }, "PropagateTags": { "ExplicitTags": [ - { - "Key": "GlobalTag", - "Value": "shared-value" - }, { "Key": "Environment", "Value": { @@ -113,10 +229,10 @@ ], "VpcConfig": { "SecurityGroupIds": [ - "sg-22222222" + "sg-33333333" ], "SubnetIds": [ - "subnet-22222222" + "subnet-33333333" ] } }, diff --git a/tests/translator/output/aws-us-gov/webfunction_basic.json b/tests/translator/output/aws-us-gov/webfunction_basic.json deleted file mode 100644 index 4bf11194d..000000000 --- a/tests/translator/output/aws-us-gov/webfunction_basic.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "Resources": { - "MyWebFunction": { - "Properties": { - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::Lambda::WebFunction" - }, - "MyWebFunctionEndpoint": { - "DependsOn": [ - "MyWebFunction", - "MyWebFunctionRevision" - ], - "Properties": { - "AuthType": "IamAuth", - "EndpointName": "prod", - "EndpointType": "HomeRegion", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "RevisionWeights": [ - { - "RevisionId": { - "Fn::GetAtt": [ - "MyWebFunctionRevision", - "RevisionId" - ] - }, - "Weight": 100 - } - ] - }, - "Type": "AWS::Lambda::WebFunctionEndpoint" - }, - "MyWebFunctionRevision": { - "DependsOn": [ - "MyWebFunction" - ], - "Properties": { - "BuildConfig": { - "CodeConfig": { - "S3Object": { - "Bucket": "sam-demo-bucket", - "Key": "webfunc.zip" - } - }, - "RuntimeConfig": { - "Runtime": "nodejs24.x" - } - }, - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "ServiceConfig": { - "ExecutionRoleArn": { - "Fn::GetAtt": [ - "MyWebFunctionRole", - "Arn" - ] - }, - "TimeoutSeconds": 30 - } - }, - "Type": "AWS::Lambda::WebFunctionRevision" - }, - "MyWebFunctionRole": { - "Properties": { - "AssumeRolePolicyDocument": { - "Statement": [ - { - "Action": [ - "sts:AssumeRole" - ], - "Effect": "Allow", - "Principal": { - "Service": [ - "lambda.amazonaws.com" - ] - } - } - ], - "Version": "2012-10-17" - }, - "ManagedPolicyArns": [ - "arn:aws-us-gov:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ], - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::IAM::Role" - } - } -} diff --git a/tests/translator/output/aws-us-gov/webfunction_multiregion.json b/tests/translator/output/aws-us-gov/webfunction_multiregion.json deleted file mode 100644 index a9018e53c..000000000 --- a/tests/translator/output/aws-us-gov/webfunction_multiregion.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "Metadata": { - "SamTransformTest": true - }, - "Resources": { - "MyWebFunction": { - "Properties": { - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::Lambda::WebFunction" - }, - "MyWebFunctionEndpoint": { - "DependsOn": [ - "MyWebFunction", - "MyWebFunctionRevision" - ], - "Properties": { - "AuthType": "IamAuth", - "EndpointName": "prod", - "EndpointType": "MultiRegion", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Regions": [ - "us-east-1", - "us-west-2" - ], - "RevisionWeights": [ - { - "RevisionId": { - "Fn::GetAtt": [ - "MyWebFunctionRevision", - "RevisionId" - ] - }, - "Weight": 100 - } - ] - }, - "Type": "AWS::Lambda::WebFunctionEndpoint" - }, - "MyWebFunctionRevision": { - "DependsOn": [ - "MyWebFunction" - ], - "Properties": { - "BuildConfig": { - "CodeConfig": { - "S3Object": { - "Bucket": "sam-demo-bucket", - "Key": "webfunc.zip" - } - }, - "RuntimeConfig": { - "Runtime": "nodejs24.x" - } - }, - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "ServiceConfig": { - "ExecutionRoleArn": { - "Fn::GetAtt": [ - "MyWebFunctionRole", - "Arn" - ] - }, - "TimeoutSeconds": 30 - } - }, - "Type": "AWS::Lambda::WebFunctionRevision" - }, - "MyWebFunctionRole": { - "Properties": { - "AssumeRolePolicyDocument": { - "Statement": [ - { - "Action": [ - "sts:AssumeRole" - ], - "Effect": "Allow", - "Principal": { - "Service": [ - "lambda.amazonaws.com" - ] - } - } - ], - "Version": "2012-10-17" - }, - "ManagedPolicyArns": [ - "arn:aws-us-gov:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ], - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::IAM::Role" - } - } -} diff --git a/tests/translator/output/aws-us-gov/webfunction_with_all_properties.json b/tests/translator/output/aws-us-gov/webfunction_with_all_properties.json deleted file mode 100644 index 40a2b2742..000000000 --- a/tests/translator/output/aws-us-gov/webfunction_with_all_properties.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "Resources": { - "MyWebFunction": { - "Properties": { - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - }, - { - "Key": "Department", - "Value": "Engineering" - } - ] - }, - "Type": "AWS::Lambda::WebFunction" - }, - "MyWebFunctionEndpoint": { - "DependsOn": [ - "MyWebFunction", - "MyWebFunctionRevision" - ], - "Properties": { - "AuthType": "IamAuth", - "Description": "prod endpoint", - "EndpointName": "staging", - "EndpointType": "MultiRegion", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Regions": [ - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "RevisionWeights": [ - { - "RevisionId": "rev-abc", - "Weight": 80 - }, - { - "RevisionId": "rev-def", - "Weight": 20 - } - ], - "ScalingConfig": { - "MaxEnvironments": 50 - }, - "ThrottleConfig": { - "RateLimit": 5000 - } - }, - "Type": "AWS::Lambda::WebFunctionEndpoint" - }, - "MyWebFunctionRevision": { - "DependsOn": [ - "MyWebFunction" - ], - "Properties": { - "BuildConfig": { - "CodeConfig": { - "S3Object": { - "Bucket": "sam-demo-bucket", - "Key": "webfunc.zip" - } - }, - "RuntimeConfig": { - "Runtime": "nodejs24.x" - } - }, - "Description": "initial revision", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "KmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234", - "ServiceConfig": { - "EnvironmentVariables": { - "AWS_LAMBDA_NODEJS_ENTRYPOINT": "app.js", - "BOOL_VAR": "true", - "MY_VAR": "my_value", - "NUMERIC_VAR": "42" - }, - "ExecutionRoleArn": { - "Fn::GetAtt": [ - "MyWebFunctionRole", - "Arn" - ] - }, - "MaxConcurrencyPerEnvironment": 100, - "TimeoutSeconds": 120 - } - }, - "Type": "AWS::Lambda::WebFunctionRevision" - }, - "MyWebFunctionRole": { - "Properties": { - "AssumeRolePolicyDocument": { - "Statement": [ - { - "Action": [ - "sts:AssumeRole" - ], - "Effect": "Allow", - "Principal": { - "Service": [ - "lambda.amazonaws.com" - ] - } - } - ], - "Version": "2012-10-17" - }, - "ManagedPolicyArns": [ - "arn:aws-us-gov:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ], - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - }, - { - "Key": "Department", - "Value": "Engineering" - } - ] - }, - "Type": "AWS::IAM::Role" - } - } -} diff --git a/tests/translator/output/capacity_provider_managed_resource_tags.json b/tests/translator/output/capacity_provider_managed_resource_tags.json index e474800aa..c4cbd291b 100644 --- a/tests/translator/output/capacity_provider_managed_resource_tags.json +++ b/tests/translator/output/capacity_provider_managed_resource_tags.json @@ -1,6 +1,6 @@ { "AWSTemplateFormatVersion": "2010-09-09", - "Description": "Test ManagedResourceTags - explicit tags configuration", + "Description": "Test ManagedResourceTags - all configurations", "Parameters": { "Environment": { "Default": "Production", @@ -18,11 +18,131 @@ ] } }, + "PropagateTags": { + "Mode": "CapacityProvider" + }, + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ], + "VpcConfig": { + "SecurityGroupIds": [ + "sg-11111111" + ], + "SubnetIds": [ + "subnet-11111111" + ] + } + }, + "Type": "AWS::Lambda::CapacityProvider" + }, + "CpInheritsGlobalOperatorRole": { + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + "arn:aws:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator" + ], + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ] + }, + "Type": "AWS::IAM::Role" + }, + "CpOverridePropagateFalse": { + "Properties": { + "PermissionsConfig": { + "CapacityProviderOperatorRoleArn": { + "Fn::GetAtt": [ + "CpOverridePropagateFalseOperatorRole", + "Arn" + ] + } + }, + "PropagateTags": { + "Mode": "None" + }, + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ], + "VpcConfig": { + "SecurityGroupIds": [ + "sg-22222222" + ], + "SubnetIds": [ + "subnet-22222222" + ] + } + }, + "Type": "AWS::Lambda::CapacityProvider" + }, + "CpOverridePropagateFalseOperatorRole": { + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": [ + "sts:AssumeRole" + ], + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + } + } + ], + "Version": "2012-10-17" + }, + "ManagedPolicyArns": [ + "arn:aws:iam::aws:policy/AWSLambdaManagedEC2ResourceOperator" + ], + "Tags": [ + { + "Key": "lambda:createdBy", + "Value": "SAM" + } + ] + }, + "Type": "AWS::IAM::Role" + }, + "CpOverrideStrategyDropsGlobalKey": { + "Properties": { + "PermissionsConfig": { + "CapacityProviderOperatorRoleArn": { + "Fn::GetAtt": [ + "CpOverrideStrategyDropsGlobalKeyOperatorRole", + "Arn" + ] + } + }, "PropagateTags": { "ExplicitTags": [ { - "Key": "GlobalTag", - "Value": "shared-value" + "Key": "App", + "Value": "my-service" } ], "Mode": "Explicit" @@ -35,16 +155,16 @@ ], "VpcConfig": { "SecurityGroupIds": [ - "sg-11111111" + "sg-44444444" ], "SubnetIds": [ - "subnet-11111111" + "subnet-44444444" ] } }, "Type": "AWS::Lambda::CapacityProvider" }, - "CpInheritsGlobalOperatorRole": { + "CpOverrideStrategyDropsGlobalKeyOperatorRole": { "Properties": { "AssumeRolePolicyDocument": { "Statement": [ @@ -86,10 +206,6 @@ }, "PropagateTags": { "ExplicitTags": [ - { - "Key": "GlobalTag", - "Value": "shared-value" - }, { "Key": "Environment", "Value": { @@ -113,10 +229,10 @@ ], "VpcConfig": { "SecurityGroupIds": [ - "sg-22222222" + "sg-33333333" ], "SubnetIds": [ - "subnet-22222222" + "subnet-33333333" ] } }, diff --git a/tests/translator/output/error_capacity_provider_managed_resource_tags_intrinsic_propagate.json b/tests/translator/output/error_capacity_provider_managed_resource_tags_intrinsic_propagate.json new file mode 100644 index 000000000..2ca1bf9b9 --- /dev/null +++ b/tests/translator/output/error_capacity_provider_managed_resource_tags_intrinsic_propagate.json @@ -0,0 +1,9 @@ +{ + "_autoGeneratedBreakdownErrorMessage": [ + "Invalid Serverless Application Specification document. ", + "Number of errors found: 1. ", + "Resource with id [CpPropagateWithRef] is invalid. ", + "Property 'ManagedResourceTags.Propagate' value could not be parsed to a boolean." + ], + "errorMessage": "Invalid Serverless Application Specification document. Number of errors found: 1. Resource with id [CpPropagateWithRef] is invalid. Property 'ManagedResourceTags.Propagate' value could not be parsed to a boolean." +} diff --git a/tests/translator/output/error_capacity_provider_managed_resource_tags_mutual_exclusion.json b/tests/translator/output/error_capacity_provider_managed_resource_tags_mutual_exclusion.json new file mode 100644 index 000000000..235b125bd --- /dev/null +++ b/tests/translator/output/error_capacity_provider_managed_resource_tags_mutual_exclusion.json @@ -0,0 +1,9 @@ +{ + "_autoGeneratedBreakdownErrorMessage": [ + "Invalid Serverless Application Specification document. ", + "Number of errors found: 1. ", + "Resource with id [CpBothSet] is invalid. ", + "Cannot specify 'ManagedResourceTags.Propagate=True' and 'ManagedResourceTags.Tags' together." + ], + "errorMessage": "Invalid Serverless Application Specification document. Number of errors found: 1. Resource with id [CpBothSet] is invalid. Cannot specify 'ManagedResourceTags.Propagate=True' and 'ManagedResourceTags.Tags' together." +} diff --git a/tests/translator/output/error_webfunction_missing_authtype.json b/tests/translator/output/error_webfunction_missing_authtype.json deleted file mode 100644 index 80c0d7e54..000000000 --- a/tests/translator/output/error_webfunction_missing_authtype.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "_autoGeneratedBreakdownErrorMessage": [ - "Invalid Serverless Application Specification document. ", - "Number of errors found: 1. ", - "Resource with id [MyWebFunction] is invalid. ", - "'AuthType' is required. ", - "Specify 'IamAuth' (Lambda authorizes requests with SigV4/IAM) or 'ApplicationManaged' (the endpoint is public and your function handles authorization)." - ], - "errorMessage": "Invalid Serverless Application Specification document. Number of errors found: 1. Resource with id [MyWebFunction] is invalid. 'AuthType' is required. Specify 'IamAuth' (Lambda authorizes requests with SigV4/IAM) or 'ApplicationManaged' (the endpoint is public and your function handles authorization).", - "errors": [ - { - "errorMessage": "Resource with id [MyWebFunction] is invalid. 'AuthType' is required. Specify 'IamAuth' (Lambda authorizes requests with SigV4/IAM) or 'ApplicationManaged' (the endpoint is public and your function handles authorization)." - } - ] -} diff --git a/tests/translator/output/error_websocket_api_invalid_authtype.json b/tests/translator/output/error_websocket_api_invalid_authtype.json index b3e16528e..c4917981f 100644 --- a/tests/translator/output/error_websocket_api_invalid_authtype.json +++ b/tests/translator/output/error_websocket_api_invalid_authtype.json @@ -3,12 +3,12 @@ "Invalid Serverless Application Specification document. ", "Number of errors found: 1. ", "Resource with id [WSApi] is invalid. ", - "AuthType 'Nonsense' is not one of AWS_IAM, CUSTOM or NONE." + "AuthType is not one of AWS_IAM, CUSTOM or NONE." ], - "errorMessage": "Invalid Serverless Application Specification document. Number of errors found: 1. Resource with id [WSApi] is invalid. AuthType 'Nonsense' is not one of AWS_IAM, CUSTOM or NONE.", + "errorMessage": "Invalid Serverless Application Specification document. Number of errors found: 1. Resource with id [WSApi] is invalid. AuthType is not one of AWS_IAM, CUSTOM or NONE.", "errors": [ { - "errorMessage": "Resource with id [WSApi] is invalid. AuthType 'Nonsense' is not one of AWS_IAM, CUSTOM or NONE." + "errorMessage": "Resource with id [WSApi] is invalid. AuthType is not one of AWS_IAM, CUSTOM or NONE." } ] } diff --git a/tests/translator/output/error_websocket_api_lowercase_authtype.json b/tests/translator/output/error_websocket_api_lowercase_authtype.json deleted file mode 100644 index 347ca8b3c..000000000 --- a/tests/translator/output/error_websocket_api_lowercase_authtype.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "_autoGeneratedBreakdownErrorMessage": [ - "Invalid Serverless Application Specification document. ", - "Number of errors found: 1. ", - "Resource with id [MyApi] is invalid. ", - "AuthType 'custom' is not one of AWS_IAM, CUSTOM or NONE." - ], - "errorMessage": "Invalid Serverless Application Specification document. Number of errors found: 1. Resource with id [MyApi] is invalid. AuthType 'custom' is not one of AWS_IAM, CUSTOM or NONE.", - "errors": [ - { - "errorMessage": "Resource with id [MyApi] is invalid. AuthType 'custom' is not one of AWS_IAM, CUSTOM or NONE." - } - ] -} diff --git a/tests/translator/output/webfunction_basic.json b/tests/translator/output/webfunction_basic.json deleted file mode 100644 index 80f5f3f89..000000000 --- a/tests/translator/output/webfunction_basic.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "Resources": { - "MyWebFunction": { - "Properties": { - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::Lambda::WebFunction" - }, - "MyWebFunctionEndpoint": { - "DependsOn": [ - "MyWebFunction", - "MyWebFunctionRevision" - ], - "Properties": { - "AuthType": "IamAuth", - "EndpointName": "prod", - "EndpointType": "HomeRegion", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "RevisionWeights": [ - { - "RevisionId": { - "Fn::GetAtt": [ - "MyWebFunctionRevision", - "RevisionId" - ] - }, - "Weight": 100 - } - ] - }, - "Type": "AWS::Lambda::WebFunctionEndpoint" - }, - "MyWebFunctionRevision": { - "DependsOn": [ - "MyWebFunction" - ], - "Properties": { - "BuildConfig": { - "CodeConfig": { - "S3Object": { - "Bucket": "sam-demo-bucket", - "Key": "webfunc.zip" - } - }, - "RuntimeConfig": { - "Runtime": "nodejs24.x" - } - }, - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "ServiceConfig": { - "ExecutionRoleArn": { - "Fn::GetAtt": [ - "MyWebFunctionRole", - "Arn" - ] - }, - "TimeoutSeconds": 30 - } - }, - "Type": "AWS::Lambda::WebFunctionRevision" - }, - "MyWebFunctionRole": { - "Properties": { - "AssumeRolePolicyDocument": { - "Statement": [ - { - "Action": [ - "sts:AssumeRole" - ], - "Effect": "Allow", - "Principal": { - "Service": [ - "lambda.amazonaws.com" - ] - } - } - ], - "Version": "2012-10-17" - }, - "ManagedPolicyArns": [ - "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ], - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::IAM::Role" - } - } -} diff --git a/tests/translator/output/webfunction_multiregion.json b/tests/translator/output/webfunction_multiregion.json deleted file mode 100644 index 9b9a57464..000000000 --- a/tests/translator/output/webfunction_multiregion.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "Metadata": { - "SamTransformTest": true - }, - "Resources": { - "MyWebFunction": { - "Properties": { - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::Lambda::WebFunction" - }, - "MyWebFunctionEndpoint": { - "DependsOn": [ - "MyWebFunction", - "MyWebFunctionRevision" - ], - "Properties": { - "AuthType": "IamAuth", - "EndpointName": "prod", - "EndpointType": "MultiRegion", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Regions": [ - "us-east-1", - "us-west-2" - ], - "RevisionWeights": [ - { - "RevisionId": { - "Fn::GetAtt": [ - "MyWebFunctionRevision", - "RevisionId" - ] - }, - "Weight": 100 - } - ] - }, - "Type": "AWS::Lambda::WebFunctionEndpoint" - }, - "MyWebFunctionRevision": { - "DependsOn": [ - "MyWebFunction" - ], - "Properties": { - "BuildConfig": { - "CodeConfig": { - "S3Object": { - "Bucket": "sam-demo-bucket", - "Key": "webfunc.zip" - } - }, - "RuntimeConfig": { - "Runtime": "nodejs24.x" - } - }, - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "ServiceConfig": { - "ExecutionRoleArn": { - "Fn::GetAtt": [ - "MyWebFunctionRole", - "Arn" - ] - }, - "TimeoutSeconds": 30 - } - }, - "Type": "AWS::Lambda::WebFunctionRevision" - }, - "MyWebFunctionRole": { - "Properties": { - "AssumeRolePolicyDocument": { - "Statement": [ - { - "Action": [ - "sts:AssumeRole" - ], - "Effect": "Allow", - "Principal": { - "Service": [ - "lambda.amazonaws.com" - ] - } - } - ], - "Version": "2012-10-17" - }, - "ManagedPolicyArns": [ - "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ], - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - } - ] - }, - "Type": "AWS::IAM::Role" - } - } -} diff --git a/tests/translator/output/webfunction_with_all_properties.json b/tests/translator/output/webfunction_with_all_properties.json deleted file mode 100644 index 94bef8208..000000000 --- a/tests/translator/output/webfunction_with_all_properties.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "Resources": { - "MyWebFunction": { - "Properties": { - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - }, - { - "Key": "Department", - "Value": "Engineering" - } - ] - }, - "Type": "AWS::Lambda::WebFunction" - }, - "MyWebFunctionEndpoint": { - "DependsOn": [ - "MyWebFunction", - "MyWebFunctionRevision" - ], - "Properties": { - "AuthType": "IamAuth", - "Description": "prod endpoint", - "EndpointName": "staging", - "EndpointType": "MultiRegion", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "Regions": [ - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2" - ], - "RevisionWeights": [ - { - "RevisionId": "rev-abc", - "Weight": 80 - }, - { - "RevisionId": "rev-def", - "Weight": 20 - } - ], - "ScalingConfig": { - "MaxEnvironments": 50 - }, - "ThrottleConfig": { - "RateLimit": 5000 - } - }, - "Type": "AWS::Lambda::WebFunctionEndpoint" - }, - "MyWebFunctionRevision": { - "DependsOn": [ - "MyWebFunction" - ], - "Properties": { - "BuildConfig": { - "CodeConfig": { - "S3Object": { - "Bucket": "sam-demo-bucket", - "Key": "webfunc.zip" - } - }, - "RuntimeConfig": { - "Runtime": "nodejs24.x" - } - }, - "Description": "initial revision", - "FunctionName": { - "Fn::Sub": [ - "MyWebFunction-${StackIdSuffix}", - { - "StackIdSuffix": { - "Fn::Select": [ - 0, - { - "Fn::Split": [ - "-", - { - "Fn::Select": [ - 2, - { - "Fn::Split": [ - "/", - { - "Ref": "AWS::StackId" - } - ] - } - ] - } - ] - } - ] - } - } - ] - }, - "KmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234", - "ServiceConfig": { - "EnvironmentVariables": { - "AWS_LAMBDA_NODEJS_ENTRYPOINT": "app.js", - "BOOL_VAR": "true", - "MY_VAR": "my_value", - "NUMERIC_VAR": "42" - }, - "ExecutionRoleArn": { - "Fn::GetAtt": [ - "MyWebFunctionRole", - "Arn" - ] - }, - "MaxConcurrencyPerEnvironment": 100, - "TimeoutSeconds": 120 - } - }, - "Type": "AWS::Lambda::WebFunctionRevision" - }, - "MyWebFunctionRole": { - "Properties": { - "AssumeRolePolicyDocument": { - "Statement": [ - { - "Action": [ - "sts:AssumeRole" - ], - "Effect": "Allow", - "Principal": { - "Service": [ - "lambda.amazonaws.com" - ] - } - } - ], - "Version": "2012-10-17" - }, - "ManagedPolicyArns": [ - "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" - ], - "Tags": [ - { - "Key": "lambda:createdBy", - "Value": "SAM" - }, - { - "Key": "Department", - "Value": "Engineering" - } - ] - }, - "Type": "AWS::IAM::Role" - } - } -}