diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9525e8cd6..7745e6ac3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,13 @@
## 1.29.0 (Unreleased)
+
+* **New Data Source:** `awscc_cognito_user_pool_domain`
+* **New Data Source:** `awscc_connect_contact_flow_version`
+* **New Data Source:** `awscc_transfer_web_apps`
+* **New Data Source:** `awscc_transfer_web_app`
+* **New Resource:** `awscc_cognito_user_pool_domain`
+* **New Resource:** `awscc_connect_contact_flow_version`
+* **New Resource:** `awscc_transfer_web_app`
+
## 1.28.0 (February 6, 2025)
* **New Data Source:** `awscc_deadline_limit`
diff --git a/docs/data-sources/acmpca_certificate_authority.md b/docs/data-sources/acmpca_certificate_authority.md
index 7c3310148..50f9061d4 100644
--- a/docs/data-sources/acmpca_certificate_authority.md
+++ b/docs/data-sources/acmpca_certificate_authority.md
@@ -154,7 +154,9 @@ Read-Only:
Read-Only:
- `crl_distribution_point_extension_configuration` (Attributes) Configures the default behavior of the CRL Distribution Point extension for certificates issued by your certificate authority (see [below for nested schema](#nestedatt--revocation_configuration--crl_configuration--crl_distribution_point_extension_configuration))
+- `crl_type` (String)
- `custom_cname` (String)
+- `custom_path` (String)
- `enabled` (Boolean)
- `expiration_in_days` (Number)
- `s3_bucket_name` (String)
diff --git a/docs/data-sources/backup_backup_plan.md b/docs/data-sources/backup_backup_plan.md
index 73496763c..1064cf4b2 100644
--- a/docs/data-sources/backup_backup_plan.md
+++ b/docs/data-sources/backup_backup_plan.md
@@ -53,6 +53,7 @@ Read-Only:
- `completion_window_minutes` (Number)
- `copy_actions` (Attributes List) (see [below for nested schema](#nestedatt--backup_plan--backup_plan_rule--copy_actions))
- `enable_continuous_backup` (Boolean)
+- `index_actions` (Attributes List) (see [below for nested schema](#nestedatt--backup_plan--backup_plan_rule--index_actions))
- `lifecycle` (Attributes) (see [below for nested schema](#nestedatt--backup_plan--backup_plan_rule--lifecycle))
- `recovery_point_tags` (Map of String)
- `rule_name` (String)
@@ -80,6 +81,14 @@ Read-Only:
+
+### Nested Schema for `backup_plan.backup_plan_rule.index_actions`
+
+Read-Only:
+
+- `resource_types` (List of String)
+
+
### Nested Schema for `backup_plan.backup_plan_rule.lifecycle`
diff --git a/docs/data-sources/bedrock_prompt.md b/docs/data-sources/bedrock_prompt.md
index f6665c5be..0451ed925 100644
--- a/docs/data-sources/bedrock_prompt.md
+++ b/docs/data-sources/bedrock_prompt.md
@@ -38,6 +38,7 @@ Data Source schema for AWS::Bedrock::Prompt
Read-Only:
+- `additional_model_request_fields` (String) Contains model-specific configurations
- `gen_ai_resource` (Attributes) Target resource to invoke with Prompt (see [below for nested schema](#nestedatt--variants--gen_ai_resource))
- `inference_configuration` (Attributes) Model inference configuration (see [below for nested schema](#nestedatt--variants--inference_configuration))
- `model_id` (String) ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.
@@ -119,8 +120,17 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--messages--content--cache_point))
- `text` (String) Configuration for chat prompt template
+
+### Nested Schema for `variants.template_configuration.chat.messages.content.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
@@ -128,8 +138,17 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--system--cache_point))
- `text` (String) Configuration for chat prompt template
+
+### Nested Schema for `variants.template_configuration.chat.system.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.chat.tool_configuration`
@@ -162,8 +181,17 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--cache_point))
- `tool_spec` (Attributes) Tool specification (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--tool_spec))
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.tool_spec`
@@ -190,10 +218,19 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--text--cache_point))
- `input_variables` (Attributes List) List of input variables (see [below for nested schema](#nestedatt--variants--template_configuration--text--input_variables))
- `text` (String) Prompt content for String prompt template
- `text_s3_location` (Attributes) The identifier for the S3 resource. (see [below for nested schema](#nestedatt--variants--template_configuration--text--text_s3_location))
+
+### Nested Schema for `variants.template_configuration.text.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.text.input_variables`
diff --git a/docs/data-sources/bedrock_prompt_version.md b/docs/data-sources/bedrock_prompt_version.md
index 07156dc08..baf3720bc 100644
--- a/docs/data-sources/bedrock_prompt_version.md
+++ b/docs/data-sources/bedrock_prompt_version.md
@@ -39,6 +39,7 @@ Data Source schema for AWS::Bedrock::PromptVersion
Read-Only:
+- `additional_model_request_fields` (String) Contains model-specific configurations
- `gen_ai_resource` (Attributes) Target resource to invoke with Prompt (see [below for nested schema](#nestedatt--variants--gen_ai_resource))
- `inference_configuration` (Attributes) Model inference configuration (see [below for nested schema](#nestedatt--variants--inference_configuration))
- `model_id` (String) ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.
@@ -120,8 +121,17 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--messages--content--cache_point))
- `text` (String) Configuration for chat prompt template
+
+### Nested Schema for `variants.template_configuration.chat.messages.content.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
@@ -129,8 +139,17 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--system--cache_point))
- `text` (String) Configuration for chat prompt template
+
+### Nested Schema for `variants.template_configuration.chat.system.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.chat.tool_configuration`
@@ -163,8 +182,17 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--cache_point))
- `tool_spec` (Attributes) Tool specification (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--tool_spec))
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.tool_spec`
@@ -191,9 +219,18 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--text--cache_point))
- `input_variables` (Attributes List) List of input variables (see [below for nested schema](#nestedatt--variants--template_configuration--text--input_variables))
- `text` (String) Prompt content for String prompt template
+
+### Nested Schema for `variants.template_configuration.text.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.text.input_variables`
diff --git a/docs/data-sources/cognito_user_pool_domain.md b/docs/data-sources/cognito_user_pool_domain.md
new file mode 100644
index 000000000..12b38b33b
--- /dev/null
+++ b/docs/data-sources/cognito_user_pool_domain.md
@@ -0,0 +1,35 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_cognito_user_pool_domain Data Source - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Data Source schema for AWS::Cognito::UserPoolDomain
+---
+
+# awscc_cognito_user_pool_domain (Data Source)
+
+Data Source schema for AWS::Cognito::UserPoolDomain
+
+
+
+
+## Schema
+
+### Required
+
+- `id` (String) Uniquely identifies the resource.
+
+### Read-Only
+
+- `cloudfront_distribution` (String)
+- `custom_domain_config` (Attributes) (see [below for nested schema](#nestedatt--custom_domain_config))
+- `domain` (String)
+- `managed_login_version` (Number)
+- `user_pool_id` (String)
+
+
+### Nested Schema for `custom_domain_config`
+
+Read-Only:
+
+- `certificate_arn` (String)
diff --git a/docs/data-sources/connect_contact_flow_version.md b/docs/data-sources/connect_contact_flow_version.md
new file mode 100644
index 000000000..023cb2f15
--- /dev/null
+++ b/docs/data-sources/connect_contact_flow_version.md
@@ -0,0 +1,28 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_connect_contact_flow_version Data Source - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Data Source schema for AWS::Connect::ContactFlowVersion
+---
+
+# awscc_connect_contact_flow_version (Data Source)
+
+Data Source schema for AWS::Connect::ContactFlowVersion
+
+
+
+
+## Schema
+
+### Required
+
+- `id` (String) Uniquely identifies the resource.
+
+### Read-Only
+
+- `contact_flow_id` (String) The ARN of the contact flow this version is tied to.
+- `contact_flow_version_arn` (String) The identifier of the contact flow version (ARN).
+- `description` (String) The description of the version.
+- `flow_content_sha_256` (String) Indicates the checksum value of the latest published flow content
+- `version` (Number) The version number of this revision
diff --git a/docs/data-sources/datasync_location_smb.md b/docs/data-sources/datasync_location_smb.md
index 7068730be..a736d56dd 100644
--- a/docs/data-sources/datasync_location_smb.md
+++ b/docs/data-sources/datasync_location_smb.md
@@ -22,7 +22,12 @@ Data Source schema for AWS::DataSync::LocationSMB
### Read-Only
- `agent_arns` (List of String) The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block (SMB) location.
+- `authentication_type` (String) The authentication mode used to determine identity of user.
+- `dns_ip_addresses` (List of String) Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
- `domain` (String) The name of the Windows domain that the SMB server belongs to.
+- `kerberos_keytab` (String) The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.
+- `kerberos_krb_5_conf` (String) The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.
+- `kerberos_principal` (String) Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.
- `location_arn` (String) The Amazon Resource Name (ARN) of the SMB location that is created.
- `location_uri` (String) The URL of the SMB location that was described.
- `mount_options` (Attributes) The mount options used by DataSync to access the SMB server. (see [below for nested schema](#nestedatt--mount_options))
diff --git a/docs/data-sources/dynamodb_global_table.md b/docs/data-sources/dynamodb_global_table.md
index e8bb4cd0b..7bc43f38f 100644
--- a/docs/data-sources/dynamodb_global_table.md
+++ b/docs/data-sources/dynamodb_global_table.md
@@ -27,7 +27,6 @@ Data Source schema for AWS::DynamoDB::GlobalTable
- `global_secondary_indexes` (Attributes Set) (see [below for nested schema](#nestedatt--global_secondary_indexes))
- `key_schema` (Attributes List) (see [below for nested schema](#nestedatt--key_schema))
- `local_secondary_indexes` (Attributes Set) (see [below for nested schema](#nestedatt--local_secondary_indexes))
-- `point_in_time_recovery_specification` (Attributes) (see [below for nested schema](#nestedatt--point_in_time_recovery_specification))
- `replicas` (Attributes Set) (see [below for nested schema](#nestedatt--replicas))
- `sse_specification` (Attributes) (see [below for nested schema](#nestedatt--sse_specification))
- `stream_arn` (String)
@@ -163,15 +162,6 @@ Read-Only:
-
-### Nested Schema for `point_in_time_recovery_specification`
-
-Read-Only:
-
-- `point_in_time_recovery_enabled` (Boolean)
-- `recovery_period_in_days` (Number)
-
-
### Nested Schema for `replicas`
diff --git a/docs/data-sources/ec2_ipam.md b/docs/data-sources/ec2_ipam.md
index 8807beb8e..3c7e5746d 100644
--- a/docs/data-sources/ec2_ipam.md
+++ b/docs/data-sources/ec2_ipam.md
@@ -24,6 +24,7 @@ Data Source schema for AWS::EC2::IPAM
- `arn` (String) The Amazon Resource Name (ARN) of the IPAM.
- `default_resource_discovery_association_id` (String) The Id of the default association to the default resource discovery, created with this IPAM.
- `default_resource_discovery_id` (String) The Id of the default resource discovery, created with this IPAM.
+- `default_resource_discovery_organizational_unit_exclusions` (Attributes Set) A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM. (see [below for nested schema](#nestedatt--default_resource_discovery_organizational_unit_exclusions))
- `description` (String)
- `enable_private_gua` (Boolean) Enable provisioning of GUA space in private pools.
- `ipam_id` (String) Id of the IPAM.
@@ -35,6 +36,14 @@ Data Source schema for AWS::EC2::IPAM
- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags))
- `tier` (String) The tier of the IPAM.
+
+### Nested Schema for `default_resource_discovery_organizational_unit_exclusions`
+
+Read-Only:
+
+- `organizations_entity_path` (String) An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.
+
+
### Nested Schema for `operating_regions`
diff --git a/docs/data-sources/ec2_ipam_resource_discovery.md b/docs/data-sources/ec2_ipam_resource_discovery.md
index 31ef4547d..936413b84 100644
--- a/docs/data-sources/ec2_ipam_resource_discovery.md
+++ b/docs/data-sources/ec2_ipam_resource_discovery.md
@@ -27,6 +27,7 @@ Data Source schema for AWS::EC2::IPAMResourceDiscovery
- `ipam_resource_discovery_region` (String) The region the resource discovery is setup in.
- `is_default` (Boolean) Determines whether or not address space from this pool is publicly advertised. Must be set if and only if the pool is IPv6.
- `operating_regions` (Attributes Set) The regions Resource Discovery is enabled for. Allows resource discoveries to be created in these regions, as well as enabling monitoring (see [below for nested schema](#nestedatt--operating_regions))
+- `organizational_unit_exclusions` (Attributes Set) A set of organizational unit (OU) exclusions for this resource. (see [below for nested schema](#nestedatt--organizational_unit_exclusions))
- `owner_id` (String) Owner Account ID of the Resource Discovery
- `state` (String) The state of this Resource Discovery.
- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags))
@@ -39,6 +40,14 @@ Read-Only:
- `region_name` (String) The name of the region.
+
+### Nested Schema for `organizational_unit_exclusions`
+
+Read-Only:
+
+- `organizations_entity_path` (String) An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.
+
+
### Nested Schema for `tags`
diff --git a/docs/data-sources/ecs_cluster.md b/docs/data-sources/ecs_cluster.md
index 5d596b3bf..08a7f77b2 100644
--- a/docs/data-sources/ecs_cluster.md
+++ b/docs/data-sources/ecs_cluster.md
@@ -27,7 +27,9 @@ Data Source schema for AWS::ECS::Cluster
To use a FARGATElong capacity provider, specify either the ``FARGATE`` or ``FARGATE_SPOT`` capacity providers. The FARGATElong capacity providers are available to all accounts and only need to be associated with a cluster to be used.
The [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.
- `cluster_name` (String) A user-generated string that you use to identify your cluster. If you don't specify a name, CFNlong generates a unique physical ID for the name.
-- `cluster_settings` (Attributes List) The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster. (see [below for nested schema](#nestedatt--cluster_settings))
+- `cluster_settings` (Attributes List) The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.
+ Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up.
+ For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*. (see [below for nested schema](#nestedatt--cluster_settings))
- `configuration` (Attributes) The execute command and managed storage configuration for the cluster. (see [below for nested schema](#nestedatt--configuration))
- `default_capacity_provider_strategy` (Attributes List) The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used. (see [below for nested schema](#nestedatt--default_capacity_provider_strategy))
- `service_connect_defaults` (Attributes) Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the ``enabled`` parameter to ``true`` in the ``ServiceConnectConfiguration``. You can set the namespace of each service individually in the ``ServiceConnectConfiguration`` to override this default parameter.
@@ -48,8 +50,10 @@ Data Source schema for AWS::ECS::Cluster
Read-Only:
- `name` (String) The name of the cluster setting. The value is ``containerInsights`` .
-- `value` (String) The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled``.
- If you set ``name`` to ``containerInsights`` and ``value`` to ``enabled``, CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the ``containerInsights`` account setting is turned on. If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).
+- `value` (String) The value to set for the cluster setting. The supported values are ``enhanced``, ``enabled``, and ``disabled``.
+ To use Container Insights with enhanced observability, set the ``containerInsights`` account setting to ``enhanced``.
+ To use Container Insights, set the ``containerInsights`` account setting to ``enabled``.
+ If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).
diff --git a/docs/data-sources/efs_mount_target.md b/docs/data-sources/efs_mount_target.md
index c8f2c4f7a..7a4d915fd 100644
--- a/docs/data-sources/efs_mount_target.md
+++ b/docs/data-sources/efs_mount_target.md
@@ -24,5 +24,5 @@ Data Source schema for AWS::EFS::MountTarget
- `file_system_id` (String) The ID of the file system for which to create the mount target.
- `ip_address` (String) Valid IPv4 address within the address range of the specified subnet.
- `mount_target_id` (String)
-- `security_groups` (Set of String) Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.
+- `security_groups` (Set of String) VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see [Amazon VPC Quotas](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) in the *Amazon VPC User Guide* (see the *Security Groups* table).
- `subnet_id` (String) The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.
diff --git a/docs/data-sources/glue_crawler.md b/docs/data-sources/glue_crawler.md
index f84bc059c..4cff5979a 100644
--- a/docs/data-sources/glue_crawler.md
+++ b/docs/data-sources/glue_crawler.md
@@ -78,6 +78,7 @@ Read-Only:
- `catalog_targets` (Attributes List) Specifies AWS Glue Data Catalog targets. (see [below for nested schema](#nestedatt--targets--catalog_targets))
- `delta_targets` (Attributes List) Specifies an array of Delta data store targets. (see [below for nested schema](#nestedatt--targets--delta_targets))
- `dynamo_db_targets` (Attributes List) Specifies Amazon DynamoDB targets. (see [below for nested schema](#nestedatt--targets--dynamo_db_targets))
+- `hudi_targets` (Attributes List) Specifies Apache Hudi data store targets. (see [below for nested schema](#nestedatt--targets--hudi_targets))
- `iceberg_targets` (Attributes List) Specifies Apache Iceberg data store targets. (see [below for nested schema](#nestedatt--targets--iceberg_targets))
- `jdbc_targets` (Attributes List) Specifies JDBC targets. (see [below for nested schema](#nestedatt--targets--jdbc_targets))
- `mongo_db_targets` (Attributes List) A list of Mongo DB targets. (see [below for nested schema](#nestedatt--targets--mongo_db_targets))
@@ -114,6 +115,17 @@ Read-Only:
- `path` (String) The name of the DynamoDB table to crawl.
+
+### Nested Schema for `targets.hudi_targets`
+
+Read-Only:
+
+- `connection_name` (String) The name of the connection to use to connect to the Hudi target.
+- `exclusions` (List of String) A list of global patterns used to exclude from the crawl.
+- `maximum_traversal_depth` (Number) The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time.
+- `paths` (List of String) One or more Amazon S3 paths that contains Hudi metadata folders as s3://bucket/prefix .
+
+
### Nested Schema for `targets.iceberg_targets`
diff --git a/docs/data-sources/groundstation_mission_profile.md b/docs/data-sources/groundstation_mission_profile.md
index cceb2ccde..583b07418 100644
--- a/docs/data-sources/groundstation_mission_profile.md
+++ b/docs/data-sources/groundstation_mission_profile.md
@@ -49,6 +49,7 @@ Read-Only:
Read-Only:
- `kms_alias_arn` (String)
+- `kms_alias_name` (String)
- `kms_key_arn` (String)
diff --git a/docs/data-sources/opensearchserverless_security_config.md b/docs/data-sources/opensearchserverless_security_config.md
index 9379e4564..c337e9949 100644
--- a/docs/data-sources/opensearchserverless_security_config.md
+++ b/docs/data-sources/opensearchserverless_security_config.md
@@ -48,5 +48,6 @@ Read-Only:
- `group_attribute` (String) Group attribute for this saml integration
- `metadata` (String) The XML saml provider metadata document that you want to use
+- `open_search_serverless_entity_id` (String) Custom entity id attribute to override default entity id for this saml integration
- `session_timeout` (Number) Defines the session timeout in minutes
- `user_attribute` (String) Custom attribute for this saml integration
diff --git a/docs/data-sources/rds_db_instance.md b/docs/data-sources/rds_db_instance.md
index 22a43a8b8..452bda146 100644
--- a/docs/data-sources/rds_db_instance.md
+++ b/docs/data-sources/rds_db_instance.md
@@ -69,6 +69,7 @@ Data Source schema for AWS::RDS::DBInstance
+ Web and Express editions: Must be an integer from 20 to 1024.
- `allow_major_version_upgrade` (Boolean) 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.
Constraints: Major version upgrades must be allowed when specifying a value for the ``EngineVersion`` parameter that is a different major version than the DB instance's current version.
+- `apply_immediately` (Boolean)
- `associated_roles` (Attributes List) The IAMlong (IAM) roles associated with the DB instance.
*Amazon Aurora*
Not applicable. The associated roles are managed by the DB cluster. (see [below for nested schema](#nestedatt--associated_roles))
diff --git a/docs/data-sources/transfer_agreement.md b/docs/data-sources/transfer_agreement.md
index 72629a4c8..da3430272 100644
--- a/docs/data-sources/transfer_agreement.md
+++ b/docs/data-sources/transfer_agreement.md
@@ -26,8 +26,10 @@ Data Source schema for AWS::Transfer::Agreement
- `arn` (String) Specifies the unique Amazon Resource Name (ARN) for the agreement.
- `base_directory` (String) Specifies the base directory for the agreement.
- `description` (String) A textual description for the agreement.
+- `enforce_message_signing` (String) Specifies whether to enforce an AS2 message is signed for this agreement.
- `local_profile_id` (String) A unique identifier for the local profile.
- `partner_profile_id` (String) A unique identifier for the partner profile.
+- `preserve_filename` (String) Specifies whether to preserve the filename received for this agreement.
- `server_id` (String) A unique identifier for the server.
- `status` (String) Specifies the status of the agreement.
- `tags` (Attributes Set) Key-value pairs that can be used to group and search for agreements. Tags are metadata attached to agreements for any purpose. (see [below for nested schema](#nestedatt--tags))
diff --git a/docs/data-sources/transfer_web_app.md b/docs/data-sources/transfer_web_app.md
new file mode 100644
index 000000000..8db7278cf
--- /dev/null
+++ b/docs/data-sources/transfer_web_app.md
@@ -0,0 +1,66 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_transfer_web_app Data Source - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Data Source schema for AWS::Transfer::WebApp
+---
+
+# awscc_transfer_web_app (Data Source)
+
+Data Source schema for AWS::Transfer::WebApp
+
+
+
+
+## Schema
+
+### Required
+
+- `id` (String) Uniquely identifies the resource.
+
+### Read-Only
+
+- `access_endpoint` (String) The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.
+- `arn` (String) Specifies the unique Amazon Resource Name (ARN) for the web app.
+- `identity_provider_details` (Attributes) You can provide a structure that contains the details for the identity provider to use with your web app. (see [below for nested schema](#nestedatt--identity_provider_details))
+- `tags` (Attributes List) Key-value pairs that can be used to group and search for web apps. (see [below for nested schema](#nestedatt--tags))
+- `web_app_customization` (Attributes) (see [below for nested schema](#nestedatt--web_app_customization))
+- `web_app_id` (String) A unique identifier for the web app.
+- `web_app_units` (Attributes) (see [below for nested schema](#nestedatt--web_app_units))
+
+
+### Nested Schema for `identity_provider_details`
+
+Read-Only:
+
+- `application_arn` (String)
+- `instance_arn` (String) The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.
+- `role` (String) The IAM role in IAM Identity Center used for the web app.
+
+
+
+### Nested Schema for `tags`
+
+Read-Only:
+
+- `key` (String)
+- `value` (String)
+
+
+
+### Nested Schema for `web_app_customization`
+
+Read-Only:
+
+- `favicon_file` (String) Specifies a favicon to display in the browser tab.
+- `logo_file` (String) Specifies a logo to display on the web app.
+- `title` (String) Specifies a title to display on the web app.
+
+
+
+### Nested Schema for `web_app_units`
+
+Read-Only:
+
+- `provisioned` (Number)
diff --git a/docs/data-sources/transfer_web_apps.md b/docs/data-sources/transfer_web_apps.md
new file mode 100644
index 000000000..c819515af
--- /dev/null
+++ b/docs/data-sources/transfer_web_apps.md
@@ -0,0 +1,21 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_transfer_web_apps Data Source - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Plural Data Source schema for AWS::Transfer::WebApp
+---
+
+# awscc_transfer_web_apps (Data Source)
+
+Plural Data Source schema for AWS::Transfer::WebApp
+
+
+
+
+## Schema
+
+### Read-Only
+
+- `id` (String) Uniquely identifies the data source.
+- `ids` (Set of String) Set of Resource Identifiers.
diff --git a/docs/resources/acmpca_certificate_authority.md b/docs/resources/acmpca_certificate_authority.md
index 508f41c7f..cf1b4ee5d 100644
--- a/docs/resources/acmpca_certificate_authority.md
+++ b/docs/resources/acmpca_certificate_authority.md
@@ -277,7 +277,9 @@ Optional:
Optional:
- `crl_distribution_point_extension_configuration` (Attributes) Configures the default behavior of the CRL Distribution Point extension for certificates issued by your certificate authority (see [below for nested schema](#nestedatt--revocation_configuration--crl_configuration--crl_distribution_point_extension_configuration))
+- `crl_type` (String)
- `custom_cname` (String)
+- `custom_path` (String)
- `enabled` (Boolean)
- `expiration_in_days` (Number)
- `s3_bucket_name` (String)
diff --git a/docs/resources/backup_backup_plan.md b/docs/resources/backup_backup_plan.md
index 57957c614..367b22d40 100644
--- a/docs/resources/backup_backup_plan.md
+++ b/docs/resources/backup_backup_plan.md
@@ -81,6 +81,7 @@ Optional:
- `completion_window_minutes` (Number)
- `copy_actions` (Attributes List) (see [below for nested schema](#nestedatt--backup_plan--backup_plan_rule--copy_actions))
- `enable_continuous_backup` (Boolean)
+- `index_actions` (Attributes List) (see [below for nested schema](#nestedatt--backup_plan--backup_plan_rule--index_actions))
- `lifecycle` (Attributes) (see [below for nested schema](#nestedatt--backup_plan--backup_plan_rule--lifecycle))
- `recovery_point_tags` (Map of String)
- `schedule_expression` (String)
@@ -106,6 +107,14 @@ Optional:
+
+### Nested Schema for `backup_plan.backup_plan_rule.index_actions`
+
+Optional:
+
+- `resource_types` (List of String)
+
+
### Nested Schema for `backup_plan.backup_plan_rule.lifecycle`
diff --git a/docs/resources/bedrock_prompt.md b/docs/resources/bedrock_prompt.md
index 26204fb56..e46f3040b 100644
--- a/docs/resources/bedrock_prompt.md
+++ b/docs/resources/bedrock_prompt.md
@@ -78,6 +78,7 @@ resource "awscc_bedrock_prompt" "example" {
Optional:
+- `additional_model_request_fields` (String) Contains model-specific configurations
- `gen_ai_resource` (Attributes) Target resource to invoke with Prompt (see [below for nested schema](#nestedatt--variants--gen_ai_resource))
- `inference_configuration` (Attributes) Model inference configuration (see [below for nested schema](#nestedatt--variants--inference_configuration))
- `model_id` (String) ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.
@@ -159,8 +160,17 @@ Optional:
Optional:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--messages--content--cache_point))
- `text` (String) Configuration for chat prompt template
+
+### Nested Schema for `variants.template_configuration.chat.messages.content.cache_point`
+
+Optional:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
@@ -168,8 +178,17 @@ Optional:
Optional:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--system--cache_point))
- `text` (String) Configuration for chat prompt template
+
+### Nested Schema for `variants.template_configuration.chat.system.cache_point`
+
+Optional:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.chat.tool_configuration`
@@ -202,8 +221,17 @@ Optional:
Optional:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--cache_point))
- `tool_spec` (Attributes) Tool specification (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--tool_spec))
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.cache_point`
+
+Optional:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.tool_spec`
@@ -230,10 +258,19 @@ Optional:
Optional:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--text--cache_point))
- `input_variables` (Attributes List) List of input variables (see [below for nested schema](#nestedatt--variants--template_configuration--text--input_variables))
- `text` (String) Prompt content for String prompt template
- `text_s3_location` (Attributes) The identifier for the S3 resource. (see [below for nested schema](#nestedatt--variants--template_configuration--text--text_s3_location))
+
+### Nested Schema for `variants.template_configuration.text.cache_point`
+
+Optional:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.text.input_variables`
diff --git a/docs/resources/bedrock_prompt_version.md b/docs/resources/bedrock_prompt_version.md
index 036b4cae4..c0c706774 100644
--- a/docs/resources/bedrock_prompt_version.md
+++ b/docs/resources/bedrock_prompt_version.md
@@ -84,6 +84,7 @@ resource "awscc_bedrock_prompt" "example" {
Read-Only:
+- `additional_model_request_fields` (String) Contains model-specific configurations
- `gen_ai_resource` (Attributes) Target resource to invoke with Prompt (see [below for nested schema](#nestedatt--variants--gen_ai_resource))
- `inference_configuration` (Attributes) Model inference configuration (see [below for nested schema](#nestedatt--variants--inference_configuration))
- `model_id` (String) ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.
@@ -165,8 +166,17 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--messages--content--cache_point))
- `text` (String) Configuration for chat prompt template
+
+### Nested Schema for `variants.template_configuration.chat.messages.content.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
@@ -174,8 +184,17 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--system--cache_point))
- `text` (String) Configuration for chat prompt template
+
+### Nested Schema for `variants.template_configuration.chat.system.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.chat.tool_configuration`
@@ -208,8 +227,17 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--cache_point))
- `tool_spec` (Attributes) Tool specification (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--tool_spec))
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.tool_spec`
@@ -236,9 +264,18 @@ Read-Only:
Read-Only:
+- `cache_point` (Attributes) CachePointBlock (see [below for nested schema](#nestedatt--variants--template_configuration--text--cache_point))
- `input_variables` (Attributes List) List of input variables (see [below for nested schema](#nestedatt--variants--template_configuration--text--input_variables))
- `text` (String) Prompt content for String prompt template
+
+### Nested Schema for `variants.template_configuration.text.cache_point`
+
+Read-Only:
+
+- `type` (String) CachePoint types for CachePointBlock
+
+
### Nested Schema for `variants.template_configuration.text.input_variables`
diff --git a/docs/resources/cognito_user_pool_domain.md b/docs/resources/cognito_user_pool_domain.md
new file mode 100644
index 000000000..b23865e11
--- /dev/null
+++ b/docs/resources/cognito_user_pool_domain.md
@@ -0,0 +1,46 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_cognito_user_pool_domain Resource - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Resource Type definition for AWS::Cognito::UserPoolDomain
+---
+
+# awscc_cognito_user_pool_domain (Resource)
+
+Resource Type definition for AWS::Cognito::UserPoolDomain
+
+
+
+
+## Schema
+
+### Required
+
+- `domain` (String)
+- `user_pool_id` (String)
+
+### Optional
+
+- `custom_domain_config` (Attributes) (see [below for nested schema](#nestedatt--custom_domain_config))
+- `managed_login_version` (Number)
+
+### Read-Only
+
+- `cloudfront_distribution` (String)
+- `id` (String) Uniquely identifies the resource.
+
+
+### Nested Schema for `custom_domain_config`
+
+Optional:
+
+- `certificate_arn` (String)
+
+## Import
+
+Import is supported using the following syntax:
+
+```shell
+$ terraform import awscc_cognito_user_pool_domain.example "user_pool_id|domain"
+```
diff --git a/docs/resources/connect_contact_flow_version.md b/docs/resources/connect_contact_flow_version.md
new file mode 100644
index 000000000..c2bbc0bcb
--- /dev/null
+++ b/docs/resources/connect_contact_flow_version.md
@@ -0,0 +1,39 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_connect_contact_flow_version Resource - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Resource Type Definition for ContactFlowVersion
+---
+
+# awscc_connect_contact_flow_version (Resource)
+
+Resource Type Definition for ContactFlowVersion
+
+
+
+
+## Schema
+
+### Required
+
+- `contact_flow_id` (String) The ARN of the contact flow this version is tied to.
+
+### Optional
+
+- `description` (String) The description of the version.
+
+### Read-Only
+
+- `contact_flow_version_arn` (String) The identifier of the contact flow version (ARN).
+- `flow_content_sha_256` (String) Indicates the checksum value of the latest published flow content
+- `id` (String) Uniquely identifies the resource.
+- `version` (Number) The version number of this revision
+
+## Import
+
+Import is supported using the following syntax:
+
+```shell
+$ terraform import awscc_connect_contact_flow_version.example "contact_flow_version_arn"
+```
diff --git a/docs/resources/datasync_location_smb.md b/docs/resources/datasync_location_smb.md
index 2c690c4ce..7d4fdb2be 100644
--- a/docs/resources/datasync_location_smb.md
+++ b/docs/resources/datasync_location_smb.md
@@ -18,16 +18,21 @@ Resource schema for AWS::DataSync::LocationSMB.
### Required
- `agent_arns` (List of String) The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block (SMB) location.
-- `user` (String) The user who can mount the share, has the permissions to access files and folders in the SMB share.
### Optional
+- `authentication_type` (String) The authentication mode used to determine identity of user.
+- `dns_ip_addresses` (List of String) Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
- `domain` (String) The name of the Windows domain that the SMB server belongs to.
+- `kerberos_keytab` (String) The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.
+- `kerberos_krb_5_conf` (String) The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.
+- `kerberos_principal` (String) Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.
- `mount_options` (Attributes) The mount options used by DataSync to access the SMB server. (see [below for nested schema](#nestedatt--mount_options))
- `password` (String) The password of the user who can mount the share and has the permissions to access files and folders in the SMB share.
- `server_hostname` (String) The name of the SMB server. This value is the IP address or Domain Name Service (DNS) name of the SMB server.
- `subdirectory` (String) The subdirectory in the SMB file system that is used to read data from the SMB source location or write data to the SMB destination
- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags))
+- `user` (String) The user who can mount the share, has the permissions to access files and folders in the SMB share.
### Read-Only
diff --git a/docs/resources/dynamodb_global_table.md b/docs/resources/dynamodb_global_table.md
index 685a67f62..5eded56eb 100644
--- a/docs/resources/dynamodb_global_table.md
+++ b/docs/resources/dynamodb_global_table.md
@@ -100,7 +100,6 @@ resource "awscc_dynamodb_global_table" "example" {
- `billing_mode` (String)
- `global_secondary_indexes` (Attributes Set) (see [below for nested schema](#nestedatt--global_secondary_indexes))
- `local_secondary_indexes` (Attributes Set) (see [below for nested schema](#nestedatt--local_secondary_indexes))
-- `point_in_time_recovery_specification` (Attributes) (see [below for nested schema](#nestedatt--point_in_time_recovery_specification))
- `sse_specification` (Attributes) (see [below for nested schema](#nestedatt--sse_specification))
- `stream_specification` (Attributes) (see [below for nested schema](#nestedatt--stream_specification))
- `table_name` (String)
@@ -427,15 +426,6 @@ Optional:
-
-### Nested Schema for `point_in_time_recovery_specification`
-
-Optional:
-
-- `point_in_time_recovery_enabled` (Boolean)
-- `recovery_period_in_days` (Number)
-
-
### Nested Schema for `sse_specification`
diff --git a/docs/resources/ec2_ipam.md b/docs/resources/ec2_ipam.md
index 7d8b74ae6..02f9111a2 100644
--- a/docs/resources/ec2_ipam.md
+++ b/docs/resources/ec2_ipam.md
@@ -51,6 +51,7 @@ resource "awscc_ec2_ipam" "example" {
### Optional
+- `default_resource_discovery_organizational_unit_exclusions` (Attributes Set) A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM. (see [below for nested schema](#nestedatt--default_resource_discovery_organizational_unit_exclusions))
- `description` (String)
- `enable_private_gua` (Boolean) Enable provisioning of GUA space in private pools.
- `operating_regions` (Attributes Set) The regions IPAM is enabled for. Allows pools to be created in these regions, as well as enabling monitoring (see [below for nested schema](#nestedatt--operating_regions))
@@ -69,6 +70,14 @@ resource "awscc_ec2_ipam" "example" {
- `resource_discovery_association_count` (Number) The count of resource discoveries associated with this IPAM.
- `scope_count` (Number) The number of scopes that currently exist in this IPAM.
+
+### Nested Schema for `default_resource_discovery_organizational_unit_exclusions`
+
+Optional:
+
+- `organizations_entity_path` (String) An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.
+
+
### Nested Schema for `operating_regions`
diff --git a/docs/resources/ec2_ipam_resource_discovery.md b/docs/resources/ec2_ipam_resource_discovery.md
index 11fe3a3ca..5cbd520da 100644
--- a/docs/resources/ec2_ipam_resource_discovery.md
+++ b/docs/resources/ec2_ipam_resource_discovery.md
@@ -40,6 +40,7 @@ resource "awscc_ec2_ipam_resource_discovery" "example" {
- `description` (String)
- `operating_regions` (Attributes Set) The regions Resource Discovery is enabled for. Allows resource discoveries to be created in these regions, as well as enabling monitoring (see [below for nested schema](#nestedatt--operating_regions))
+- `organizational_unit_exclusions` (Attributes Set) A set of organizational unit (OU) exclusions for this resource. (see [below for nested schema](#nestedatt--organizational_unit_exclusions))
- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags))
### Read-Only
@@ -60,6 +61,14 @@ Optional:
- `region_name` (String) The name of the region.
+
+### Nested Schema for `organizational_unit_exclusions`
+
+Optional:
+
+- `organizations_entity_path` (String) An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.
+
+
### Nested Schema for `tags`
diff --git a/docs/resources/ecs_cluster.md b/docs/resources/ecs_cluster.md
index dd93eda2f..9edb01c93 100644
--- a/docs/resources/ecs_cluster.md
+++ b/docs/resources/ecs_cluster.md
@@ -40,7 +40,9 @@ resource "awscc_ecs_cluster" "this" {
To use a FARGATElong capacity provider, specify either the ``FARGATE`` or ``FARGATE_SPOT`` capacity providers. The FARGATElong capacity providers are available to all accounts and only need to be associated with a cluster to be used.
The [PutCapacityProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html) API operation is used to update the list of available capacity providers for a cluster after the cluster is created.
- `cluster_name` (String) A user-generated string that you use to identify your cluster. If you don't specify a name, CFNlong generates a unique physical ID for the name.
-- `cluster_settings` (Attributes List) The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster. (see [below for nested schema](#nestedatt--cluster_settings))
+- `cluster_settings` (Attributes List) The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.
+ Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up.
+ For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*. (see [below for nested schema](#nestedatt--cluster_settings))
- `configuration` (Attributes) The execute command and managed storage configuration for the cluster. (see [below for nested schema](#nestedatt--configuration))
- `default_capacity_provider_strategy` (Attributes List) The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used. (see [below for nested schema](#nestedatt--default_capacity_provider_strategy))
- `service_connect_defaults` (Attributes) Use this parameter to set a default Service Connect namespace. After you set a default Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as client services in the namespace. This setting only applies to new services that set the ``enabled`` parameter to ``true`` in the ``ServiceConnectConfiguration``. You can set the namespace of each service individually in the ``ServiceConnectConfiguration`` to override this default parameter.
@@ -66,8 +68,10 @@ resource "awscc_ecs_cluster" "this" {
Optional:
- `name` (String) The name of the cluster setting. The value is ``containerInsights`` .
-- `value` (String) The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled``.
- If you set ``name`` to ``containerInsights`` and ``value`` to ``enabled``, CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the ``containerInsights`` account setting is turned on. If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).
+- `value` (String) The value to set for the cluster setting. The supported values are ``enhanced``, ``enabled``, and ``disabled``.
+ To use Container Insights with enhanced observability, set the ``containerInsights`` account setting to ``enhanced``.
+ To use Container Insights, set the ``containerInsights`` account setting to ``enabled``.
+ If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).
diff --git a/docs/resources/efs_mount_target.md b/docs/resources/efs_mount_target.md
index 43665dff0..e2477718a 100644
--- a/docs/resources/efs_mount_target.md
+++ b/docs/resources/efs_mount_target.md
@@ -54,7 +54,7 @@ resource "awscc_ec2_subnet" "main" {
### Required
- `file_system_id` (String) The ID of the file system for which to create the mount target.
-- `security_groups` (Set of String) Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.
+- `security_groups` (Set of String) VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see [Amazon VPC Quotas](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) in the *Amazon VPC User Guide* (see the *Security Groups* table).
- `subnet_id` (String) The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.
### Optional
diff --git a/docs/resources/glue_crawler.md b/docs/resources/glue_crawler.md
index a4b79565f..9e21a2574 100644
--- a/docs/resources/glue_crawler.md
+++ b/docs/resources/glue_crawler.md
@@ -162,6 +162,7 @@ Optional:
- `catalog_targets` (Attributes List) Specifies AWS Glue Data Catalog targets. (see [below for nested schema](#nestedatt--targets--catalog_targets))
- `delta_targets` (Attributes List) Specifies an array of Delta data store targets. (see [below for nested schema](#nestedatt--targets--delta_targets))
- `dynamo_db_targets` (Attributes List) Specifies Amazon DynamoDB targets. (see [below for nested schema](#nestedatt--targets--dynamo_db_targets))
+- `hudi_targets` (Attributes List) Specifies Apache Hudi data store targets. (see [below for nested schema](#nestedatt--targets--hudi_targets))
- `iceberg_targets` (Attributes List) Specifies Apache Iceberg data store targets. (see [below for nested schema](#nestedatt--targets--iceberg_targets))
- `jdbc_targets` (Attributes List) Specifies JDBC targets. (see [below for nested schema](#nestedatt--targets--jdbc_targets))
- `mongo_db_targets` (Attributes List) A list of Mongo DB targets. (see [below for nested schema](#nestedatt--targets--mongo_db_targets))
@@ -198,6 +199,17 @@ Optional:
- `path` (String) The name of the DynamoDB table to crawl.
+
+### Nested Schema for `targets.hudi_targets`
+
+Optional:
+
+- `connection_name` (String) The name of the connection to use to connect to the Hudi target.
+- `exclusions` (List of String) A list of global patterns used to exclude from the crawl.
+- `maximum_traversal_depth` (Number) The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time.
+- `paths` (List of String) One or more Amazon S3 paths that contains Hudi metadata folders as s3://bucket/prefix .
+
+
### Nested Schema for `targets.iceberg_targets`
diff --git a/docs/resources/groundstation_mission_profile.md b/docs/resources/groundstation_mission_profile.md
index facf7ce88..d0352f3f4 100644
--- a/docs/resources/groundstation_mission_profile.md
+++ b/docs/resources/groundstation_mission_profile.md
@@ -52,6 +52,7 @@ Optional:
Optional:
- `kms_alias_arn` (String)
+- `kms_alias_name` (String)
- `kms_key_arn` (String)
diff --git a/docs/resources/opensearchserverless_security_config.md b/docs/resources/opensearchserverless_security_config.md
index a5dc5717c..f7369a9f8 100644
--- a/docs/resources/opensearchserverless_security_config.md
+++ b/docs/resources/opensearchserverless_security_config.md
@@ -81,6 +81,7 @@ Optional:
- `group_attribute` (String) Group attribute for this saml integration
- `metadata` (String) The XML saml provider metadata document that you want to use
+- `open_search_serverless_entity_id` (String) Custom entity id attribute to override default entity id for this saml integration
- `session_timeout` (Number) Defines the session timeout in minutes
- `user_attribute` (String) Custom attribute for this saml integration
diff --git a/docs/resources/rds_db_instance.md b/docs/resources/rds_db_instance.md
index 733fd45d1..a1460041b 100644
--- a/docs/resources/rds_db_instance.md
+++ b/docs/resources/rds_db_instance.md
@@ -193,6 +193,7 @@ resource "awscc_rds_db_instance" "this" {
+ Web and Express editions: Must be an integer from 20 to 1024.
- `allow_major_version_upgrade` (Boolean) 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.
Constraints: Major version upgrades must be allowed when specifying a value for the ``EngineVersion`` parameter that is a different major version than the DB instance's current version.
+- `apply_immediately` (Boolean)
- `associated_roles` (Attributes List) The IAMlong (IAM) roles associated with the DB instance.
*Amazon Aurora*
Not applicable. The associated roles are managed by the DB cluster. (see [below for nested schema](#nestedatt--associated_roles))
diff --git a/docs/resources/transfer_agreement.md b/docs/resources/transfer_agreement.md
index 31f03ae4f..a6d779f55 100644
--- a/docs/resources/transfer_agreement.md
+++ b/docs/resources/transfer_agreement.md
@@ -131,6 +131,8 @@ resource "awscc_transfer_agreement" "example" {
### Optional
- `description` (String) A textual description for the agreement.
+- `enforce_message_signing` (String) Specifies whether to enforce an AS2 message is signed for this agreement.
+- `preserve_filename` (String) Specifies whether to preserve the filename received for this agreement.
- `status` (String) Specifies the status of the agreement.
- `tags` (Attributes Set) Key-value pairs that can be used to group and search for agreements. Tags are metadata attached to agreements for any purpose. (see [below for nested schema](#nestedatt--tags))
diff --git a/docs/resources/transfer_web_app.md b/docs/resources/transfer_web_app.md
new file mode 100644
index 000000000..a0e7b6e2c
--- /dev/null
+++ b/docs/resources/transfer_web_app.md
@@ -0,0 +1,80 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_transfer_web_app Resource - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Resource Type definition for AWS::Transfer::WebApp
+---
+
+# awscc_transfer_web_app (Resource)
+
+Resource Type definition for AWS::Transfer::WebApp
+
+
+
+
+## Schema
+
+### Required
+
+- `identity_provider_details` (Attributes) You can provide a structure that contains the details for the identity provider to use with your web app. (see [below for nested schema](#nestedatt--identity_provider_details))
+
+### Optional
+
+- `access_endpoint` (String) The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.
+- `tags` (Attributes List) Key-value pairs that can be used to group and search for web apps. (see [below for nested schema](#nestedatt--tags))
+- `web_app_customization` (Attributes) (see [below for nested schema](#nestedatt--web_app_customization))
+- `web_app_units` (Attributes) (see [below for nested schema](#nestedatt--web_app_units))
+
+### Read-Only
+
+- `arn` (String) Specifies the unique Amazon Resource Name (ARN) for the web app.
+- `id` (String) Uniquely identifies the resource.
+- `web_app_id` (String) A unique identifier for the web app.
+
+
+### Nested Schema for `identity_provider_details`
+
+Optional:
+
+- `instance_arn` (String) The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.
+- `role` (String) The IAM role in IAM Identity Center used for the web app.
+
+Read-Only:
+
+- `application_arn` (String)
+
+
+
+### Nested Schema for `tags`
+
+Optional:
+
+- `key` (String)
+- `value` (String)
+
+
+
+### Nested Schema for `web_app_customization`
+
+Optional:
+
+- `favicon_file` (String) Specifies a favicon to display in the browser tab.
+- `logo_file` (String) Specifies a logo to display on the web app.
+- `title` (String) Specifies a title to display on the web app.
+
+
+
+### Nested Schema for `web_app_units`
+
+Optional:
+
+- `provisioned` (Number)
+
+## Import
+
+Import is supported using the following syntax:
+
+```shell
+$ terraform import awscc_transfer_web_app.example "arn"
+```
diff --git a/examples/resources/awscc_cognito_user_pool_domain/import.sh b/examples/resources/awscc_cognito_user_pool_domain/import.sh
new file mode 100644
index 000000000..14e9293c5
--- /dev/null
+++ b/examples/resources/awscc_cognito_user_pool_domain/import.sh
@@ -0,0 +1 @@
+$ terraform import awscc_cognito_user_pool_domain.example "user_pool_id|domain"
\ No newline at end of file
diff --git a/examples/resources/awscc_connect_contact_flow_version/import.sh b/examples/resources/awscc_connect_contact_flow_version/import.sh
new file mode 100644
index 000000000..e6dcfd062
--- /dev/null
+++ b/examples/resources/awscc_connect_contact_flow_version/import.sh
@@ -0,0 +1 @@
+$ terraform import awscc_connect_contact_flow_version.example "contact_flow_version_arn"
\ No newline at end of file
diff --git a/examples/resources/awscc_transfer_web_app/import.sh b/examples/resources/awscc_transfer_web_app/import.sh
new file mode 100644
index 000000000..ff8812295
--- /dev/null
+++ b/examples/resources/awscc_transfer_web_app/import.sh
@@ -0,0 +1 @@
+$ terraform import awscc_transfer_web_app.example "arn"
\ No newline at end of file
diff --git a/internal/aws/acmpca/certificate_authority_resource_gen.go b/internal/aws/acmpca/certificate_authority_resource_gen.go
index aede94224..baffef038 100644
--- a/internal/aws/acmpca/certificate_authority_resource_gen.go
+++ b/internal/aws/acmpca/certificate_authority_resource_gen.go
@@ -760,9 +760,15 @@ func certificateAuthorityResource(ctx context.Context) (resource.Resource, error
// ],
// "type": "object"
// },
+ // "CrlType": {
+ // "type": "string"
+ // },
// "CustomCname": {
// "type": "string"
// },
+ // "CustomPath": {
+ // "type": "string"
+ // },
// "Enabled": {
// "type": "boolean"
// },
@@ -827,6 +833,14 @@ func certificateAuthorityResource(ctx context.Context) (resource.Resource, error
objectplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: CrlType
+ "crl_type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: CustomCname
"custom_cname": schema.StringAttribute{ /*START ATTRIBUTE*/
Optional: true,
@@ -835,6 +849,14 @@ func certificateAuthorityResource(ctx context.Context) (resource.Resource, error
stringplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: CustomPath
+ "custom_path": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: Enabled
"enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/
Optional: true,
@@ -1276,10 +1298,12 @@ func certificateAuthorityResource(ctx context.Context) (resource.Resource, error
"crl_configuration": "CrlConfiguration",
"crl_distribution_point_extension_configuration": "CrlDistributionPointExtensionConfiguration",
"crl_sign": "CRLSign",
+ "crl_type": "CrlType",
"csr_extensions": "CsrExtensions",
"custom_attributes": "CustomAttributes",
"custom_cname": "CustomCname",
"custom_object_identifier": "CustomObjectIdentifier",
+ "custom_path": "CustomPath",
"data_encipherment": "DataEncipherment",
"decipher_only": "DecipherOnly",
"digital_signature": "DigitalSignature",
diff --git a/internal/aws/acmpca/certificate_authority_singular_data_source_gen.go b/internal/aws/acmpca/certificate_authority_singular_data_source_gen.go
index df1b9fce0..88d622498 100644
--- a/internal/aws/acmpca/certificate_authority_singular_data_source_gen.go
+++ b/internal/aws/acmpca/certificate_authority_singular_data_source_gen.go
@@ -524,9 +524,15 @@ func certificateAuthorityDataSource(ctx context.Context) (datasource.DataSource,
// ],
// "type": "object"
// },
+ // "CrlType": {
+ // "type": "string"
+ // },
// "CustomCname": {
// "type": "string"
// },
+ // "CustomPath": {
+ // "type": "string"
+ // },
// "Enabled": {
// "type": "boolean"
// },
@@ -580,10 +586,18 @@ func certificateAuthorityDataSource(ctx context.Context) (datasource.DataSource,
Description: "Configures the default behavior of the CRL Distribution Point extension for certificates issued by your certificate authority",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: CrlType
+ "crl_type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: CustomCname
"custom_cname": schema.StringAttribute{ /*START ATTRIBUTE*/
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: CustomPath
+ "custom_path": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Enabled
"enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/
Computed: true,
@@ -873,10 +887,12 @@ func certificateAuthorityDataSource(ctx context.Context) (datasource.DataSource,
"crl_configuration": "CrlConfiguration",
"crl_distribution_point_extension_configuration": "CrlDistributionPointExtensionConfiguration",
"crl_sign": "CRLSign",
+ "crl_type": "CrlType",
"csr_extensions": "CsrExtensions",
"custom_attributes": "CustomAttributes",
"custom_cname": "CustomCname",
"custom_object_identifier": "CustomObjectIdentifier",
+ "custom_path": "CustomPath",
"data_encipherment": "DataEncipherment",
"decipher_only": "DecipherOnly",
"digital_signature": "DigitalSignature",
diff --git a/internal/aws/b2bi/partnership_resource_gen.go b/internal/aws/b2bi/partnership_resource_gen.go
index 2d91fb14b..1d9c83c51 100644
--- a/internal/aws/b2bi/partnership_resource_gen.go
+++ b/internal/aws/b2bi/partnership_resource_gen.go
@@ -100,13 +100,13 @@ func partnershipResource(ctx context.Context) (resource.Resource, error) {
// "ApplicationReceiverCode": {
// "maxLength": 15,
// "minLength": 2,
- // "pattern": "^[a-zA-Z0-9]*$",
+ // "pattern": "^[a-zA-Z0-9 ]*$",
// "type": "string"
// },
// "ApplicationSenderCode": {
// "maxLength": 15,
// "minLength": 2,
- // "pattern": "^[a-zA-Z0-9]*$",
+ // "pattern": "^[a-zA-Z0-9 ]*$",
// "type": "string"
// },
// "ResponsibleAgencyCode": {
@@ -130,7 +130,7 @@ func partnershipResource(ctx context.Context) (resource.Resource, error) {
// "ReceiverId": {
// "maxLength": 15,
// "minLength": 15,
- // "pattern": "^[a-zA-Z0-9]*$",
+ // "pattern": "^[a-zA-Z0-9 ]*$",
// "type": "string"
// },
// "ReceiverIdQualifier": {
@@ -147,7 +147,7 @@ func partnershipResource(ctx context.Context) (resource.Resource, error) {
// "SenderId": {
// "maxLength": 15,
// "minLength": 15,
- // "pattern": "^[a-zA-Z0-9]*$",
+ // "pattern": "^[a-zA-Z0-9 ]*$",
// "type": "string"
// },
// "SenderIdQualifier": {
@@ -246,7 +246,7 @@ func partnershipResource(ctx context.Context) (resource.Resource, error) {
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
stringvalidator.LengthBetween(2, 15),
- stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9]*$"), ""),
+ stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9 ]*$"), ""),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
@@ -258,7 +258,7 @@ func partnershipResource(ctx context.Context) (resource.Resource, error) {
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
stringvalidator.LengthBetween(2, 15),
- stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9]*$"), ""),
+ stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9 ]*$"), ""),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
@@ -304,7 +304,7 @@ func partnershipResource(ctx context.Context) (resource.Resource, error) {
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
stringvalidator.LengthBetween(15, 15),
- stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9]*$"), ""),
+ stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9 ]*$"), ""),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
@@ -339,7 +339,7 @@ func partnershipResource(ctx context.Context) (resource.Resource, error) {
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
stringvalidator.LengthBetween(15, 15),
- stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9]*$"), ""),
+ stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z0-9 ]*$"), ""),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
diff --git a/internal/aws/b2bi/partnership_singular_data_source_gen.go b/internal/aws/b2bi/partnership_singular_data_source_gen.go
index fb66724cf..7a41bb639 100644
--- a/internal/aws/b2bi/partnership_singular_data_source_gen.go
+++ b/internal/aws/b2bi/partnership_singular_data_source_gen.go
@@ -84,13 +84,13 @@ func partnershipDataSource(ctx context.Context) (datasource.DataSource, error) {
// "ApplicationReceiverCode": {
// "maxLength": 15,
// "minLength": 2,
- // "pattern": "^[a-zA-Z0-9]*$",
+ // "pattern": "^[a-zA-Z0-9 ]*$",
// "type": "string"
// },
// "ApplicationSenderCode": {
// "maxLength": 15,
// "minLength": 2,
- // "pattern": "^[a-zA-Z0-9]*$",
+ // "pattern": "^[a-zA-Z0-9 ]*$",
// "type": "string"
// },
// "ResponsibleAgencyCode": {
@@ -114,7 +114,7 @@ func partnershipDataSource(ctx context.Context) (datasource.DataSource, error) {
// "ReceiverId": {
// "maxLength": 15,
// "minLength": 15,
- // "pattern": "^[a-zA-Z0-9]*$",
+ // "pattern": "^[a-zA-Z0-9 ]*$",
// "type": "string"
// },
// "ReceiverIdQualifier": {
@@ -131,7 +131,7 @@ func partnershipDataSource(ctx context.Context) (datasource.DataSource, error) {
// "SenderId": {
// "maxLength": 15,
// "minLength": 15,
- // "pattern": "^[a-zA-Z0-9]*$",
+ // "pattern": "^[a-zA-Z0-9 ]*$",
// "type": "string"
// },
// "SenderIdQualifier": {
diff --git a/internal/aws/backup/backup_plan_resource_gen.go b/internal/aws/backup/backup_plan_resource_gen.go
index 71ee8418d..a9147a19b 100644
--- a/internal/aws/backup/backup_plan_resource_gen.go
+++ b/internal/aws/backup/backup_plan_resource_gen.go
@@ -9,6 +9,7 @@ import (
"context"
"github.com/hashicorp/terraform-plugin-framework-jsontypes/jsontypes"
+ "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator"
"github.com/hashicorp/terraform-plugin-framework/resource"
"github.com/hashicorp/terraform-plugin-framework/resource/schema"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier"
@@ -106,6 +107,25 @@ func backupPlanResource(ctx context.Context) (resource.Resource, error) {
// "EnableContinuousBackup": {
// "type": "boolean"
// },
+ // "IndexActions": {
+ // "insertionOrder": true,
+ // "items": {
+ // "additionalProperties": false,
+ // "properties": {
+ // "ResourceTypes": {
+ // "insertionOrder": true,
+ // "items": {
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // },
// "Lifecycle": {
// "additionalProperties": false,
// "properties": {
@@ -280,6 +300,30 @@ func backupPlanResource(ctx context.Context) (resource.Resource, error) {
boolplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: IndexActions
+ "index_actions": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ResourceTypes
+ "resource_types": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Optional: true,
+ Computed: true,
+ Validators: []validator.List{ /*START VALIDATORS*/
+ listvalidator.UniqueValues(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: Lifecycle
"lifecycle": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -455,11 +499,13 @@ func backupPlanResource(ctx context.Context) (resource.Resource, error) {
"delete_after_days": "DeleteAfterDays",
"destination_backup_vault_arn": "DestinationBackupVaultArn",
"enable_continuous_backup": "EnableContinuousBackup",
+ "index_actions": "IndexActions",
"lifecycle": "Lifecycle",
"move_to_cold_storage_after_days": "MoveToColdStorageAfterDays",
"opt_in_to_archive_for_supported_resources": "OptInToArchiveForSupportedResources",
"recovery_point_tags": "RecoveryPointTags",
"resource_type": "ResourceType",
+ "resource_types": "ResourceTypes",
"rule_name": "RuleName",
"schedule_expression": "ScheduleExpression",
"schedule_expression_timezone": "ScheduleExpressionTimezone",
diff --git a/internal/aws/backup/backup_plan_singular_data_source_gen.go b/internal/aws/backup/backup_plan_singular_data_source_gen.go
index be140a49c..8e4e955ff 100644
--- a/internal/aws/backup/backup_plan_singular_data_source_gen.go
+++ b/internal/aws/backup/backup_plan_singular_data_source_gen.go
@@ -97,6 +97,25 @@ func backupPlanDataSource(ctx context.Context) (datasource.DataSource, error) {
// "EnableContinuousBackup": {
// "type": "boolean"
// },
+ // "IndexActions": {
+ // "insertionOrder": true,
+ // "items": {
+ // "additionalProperties": false,
+ // "properties": {
+ // "ResourceTypes": {
+ // "insertionOrder": true,
+ // "items": {
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // },
// "Lifecycle": {
// "additionalProperties": false,
// "properties": {
@@ -218,6 +237,19 @@ func backupPlanDataSource(ctx context.Context) (datasource.DataSource, error) {
"enable_continuous_backup": schema.BoolAttribute{ /*START ATTRIBUTE*/
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: IndexActions
+ "index_actions": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ResourceTypes
+ "resource_types": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Lifecycle
"lifecycle": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -343,11 +375,13 @@ func backupPlanDataSource(ctx context.Context) (datasource.DataSource, error) {
"delete_after_days": "DeleteAfterDays",
"destination_backup_vault_arn": "DestinationBackupVaultArn",
"enable_continuous_backup": "EnableContinuousBackup",
+ "index_actions": "IndexActions",
"lifecycle": "Lifecycle",
"move_to_cold_storage_after_days": "MoveToColdStorageAfterDays",
"opt_in_to_archive_for_supported_resources": "OptInToArchiveForSupportedResources",
"recovery_point_tags": "RecoveryPointTags",
"resource_type": "ResourceType",
+ "resource_types": "ResourceTypes",
"rule_name": "RuleName",
"schedule_expression": "ScheduleExpression",
"schedule_expression_timezone": "ScheduleExpressionTimezone",
diff --git a/internal/aws/bedrock/prompt_resource_gen.go b/internal/aws/bedrock/prompt_resource_gen.go
index bffa2224f..88fa5c149 100644
--- a/internal/aws/bedrock/prompt_resource_gen.go
+++ b/internal/aws/bedrock/prompt_resource_gen.go
@@ -214,6 +214,10 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
// "additionalProperties": false,
// "description": "Prompt variant",
// "properties": {
+ // "AdditionalModelRequestFields": {
+ // "description": "Contains model-specific configurations",
+ // "type": "object"
+ // },
// "GenAiResource": {
// "description": "Target resource to invoke with Prompt",
// "properties": {
@@ -328,6 +332,23 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
// "items": {
// "description": "Configuration for chat prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "description": "Configuration for chat prompt template",
// "minLength": 1,
@@ -363,6 +384,23 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
// "items": {
// "description": "Configuration for chat prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "description": "Configuration for chat prompt template",
// "minLength": 1,
@@ -417,6 +455,23 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
// "items": {
// "description": "Tool details",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "ToolSpec": {
// "additionalProperties": false,
// "description": "Tool specification",
@@ -470,6 +525,23 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
// "additionalProperties": false,
// "description": "Configuration for text prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "InputVariables": {
// "description": "List of input variables",
// "insertionOrder": true,
@@ -554,6 +626,16 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
"variants": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AdditionalModelRequestFields
+ "additional_model_request_fields": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Description: "Contains model-specific configurations",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: GenAiResource
"gen_ai_resource": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -729,6 +811,32 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
"content": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "default",
+ ),
+ fwvalidators.NotNullString(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "Configuration for chat prompt template",
@@ -787,6 +895,32 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
"system": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "default",
+ ),
+ fwvalidators.NotNullString(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "Configuration for chat prompt template",
@@ -874,6 +1008,32 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
"tools": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "default",
+ ),
+ fwvalidators.NotNullString(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: ToolSpec
"tool_spec": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -965,6 +1125,32 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
// Property: Text
"text": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "default",
+ ),
+ fwvalidators.NotNullString(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: InputVariables
"input_variables": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
@@ -1141,47 +1327,50 @@ func promptResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithCloudFormationTypeName("AWS::Bedrock::Prompt").WithTerraformTypeName("awscc_bedrock_prompt")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "agent": "Agent",
- "agent_identifier": "AgentIdentifier",
- "any": "Any",
- "arn": "Arn",
- "auto": "Auto",
- "bucket": "Bucket",
- "chat": "Chat",
- "content": "Content",
- "created_at": "CreatedAt",
- "customer_encryption_key_arn": "CustomerEncryptionKeyArn",
- "default_variant": "DefaultVariant",
- "description": "Description",
- "gen_ai_resource": "GenAiResource",
- "inference_configuration": "InferenceConfiguration",
- "input_schema": "InputSchema",
- "input_variables": "InputVariables",
- "json": "Json",
- "key": "Key",
- "max_tokens": "MaxTokens",
- "messages": "Messages",
- "model_id": "ModelId",
- "name": "Name",
- "prompt_id": "Id",
- "role": "Role",
- "stop_sequences": "StopSequences",
- "system": "System",
- "tags": "Tags",
- "temperature": "Temperature",
- "template_configuration": "TemplateConfiguration",
- "template_type": "TemplateType",
- "text": "Text",
- "text_s3_location": "TextS3Location",
- "tool": "Tool",
- "tool_choice": "ToolChoice",
- "tool_configuration": "ToolConfiguration",
- "tool_spec": "ToolSpec",
- "tools": "Tools",
- "top_p": "TopP",
- "updated_at": "UpdatedAt",
- "variants": "Variants",
- "version": "Version",
+ "additional_model_request_fields": "AdditionalModelRequestFields",
+ "agent": "Agent",
+ "agent_identifier": "AgentIdentifier",
+ "any": "Any",
+ "arn": "Arn",
+ "auto": "Auto",
+ "bucket": "Bucket",
+ "cache_point": "CachePoint",
+ "chat": "Chat",
+ "content": "Content",
+ "created_at": "CreatedAt",
+ "customer_encryption_key_arn": "CustomerEncryptionKeyArn",
+ "default_variant": "DefaultVariant",
+ "description": "Description",
+ "gen_ai_resource": "GenAiResource",
+ "inference_configuration": "InferenceConfiguration",
+ "input_schema": "InputSchema",
+ "input_variables": "InputVariables",
+ "json": "Json",
+ "key": "Key",
+ "max_tokens": "MaxTokens",
+ "messages": "Messages",
+ "model_id": "ModelId",
+ "name": "Name",
+ "prompt_id": "Id",
+ "role": "Role",
+ "stop_sequences": "StopSequences",
+ "system": "System",
+ "tags": "Tags",
+ "temperature": "Temperature",
+ "template_configuration": "TemplateConfiguration",
+ "template_type": "TemplateType",
+ "text": "Text",
+ "text_s3_location": "TextS3Location",
+ "tool": "Tool",
+ "tool_choice": "ToolChoice",
+ "tool_configuration": "ToolConfiguration",
+ "tool_spec": "ToolSpec",
+ "tools": "Tools",
+ "top_p": "TopP",
+ "type": "Type",
+ "updated_at": "UpdatedAt",
+ "variants": "Variants",
+ "version": "Version",
})
opts = opts.WithWriteOnlyPropertyPaths([]string{
diff --git a/internal/aws/bedrock/prompt_singular_data_source_gen.go b/internal/aws/bedrock/prompt_singular_data_source_gen.go
index 936b4bf27..87065e7b4 100644
--- a/internal/aws/bedrock/prompt_singular_data_source_gen.go
+++ b/internal/aws/bedrock/prompt_singular_data_source_gen.go
@@ -161,6 +161,10 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
// "additionalProperties": false,
// "description": "Prompt variant",
// "properties": {
+ // "AdditionalModelRequestFields": {
+ // "description": "Contains model-specific configurations",
+ // "type": "object"
+ // },
// "GenAiResource": {
// "description": "Target resource to invoke with Prompt",
// "properties": {
@@ -275,6 +279,23 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
// "items": {
// "description": "Configuration for chat prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "description": "Configuration for chat prompt template",
// "minLength": 1,
@@ -310,6 +331,23 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
// "items": {
// "description": "Configuration for chat prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "description": "Configuration for chat prompt template",
// "minLength": 1,
@@ -364,6 +402,23 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
// "items": {
// "description": "Tool details",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "ToolSpec": {
// "additionalProperties": false,
// "description": "Tool specification",
@@ -417,6 +472,23 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
// "additionalProperties": false,
// "description": "Configuration for text prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "InputVariables": {
// "description": "List of input variables",
// "insertionOrder": true,
@@ -501,6 +573,12 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
"variants": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AdditionalModelRequestFields
+ "additional_model_request_fields": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Description: "Contains model-specific configurations",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: GenAiResource
"gen_ai_resource": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -593,6 +671,18 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
"content": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "Configuration for chat prompt template",
@@ -617,6 +707,18 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
"system": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "Configuration for chat prompt template",
@@ -665,6 +767,18 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
"tools": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: ToolSpec
"tool_spec": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -709,6 +823,18 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
// Property: Text
"text": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: InputVariables
"input_variables": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
@@ -799,47 +925,50 @@ func promptDataSource(ctx context.Context) (datasource.DataSource, error) {
opts = opts.WithCloudFormationTypeName("AWS::Bedrock::Prompt").WithTerraformTypeName("awscc_bedrock_prompt")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "agent": "Agent",
- "agent_identifier": "AgentIdentifier",
- "any": "Any",
- "arn": "Arn",
- "auto": "Auto",
- "bucket": "Bucket",
- "chat": "Chat",
- "content": "Content",
- "created_at": "CreatedAt",
- "customer_encryption_key_arn": "CustomerEncryptionKeyArn",
- "default_variant": "DefaultVariant",
- "description": "Description",
- "gen_ai_resource": "GenAiResource",
- "inference_configuration": "InferenceConfiguration",
- "input_schema": "InputSchema",
- "input_variables": "InputVariables",
- "json": "Json",
- "key": "Key",
- "max_tokens": "MaxTokens",
- "messages": "Messages",
- "model_id": "ModelId",
- "name": "Name",
- "prompt_id": "Id",
- "role": "Role",
- "stop_sequences": "StopSequences",
- "system": "System",
- "tags": "Tags",
- "temperature": "Temperature",
- "template_configuration": "TemplateConfiguration",
- "template_type": "TemplateType",
- "text": "Text",
- "text_s3_location": "TextS3Location",
- "tool": "Tool",
- "tool_choice": "ToolChoice",
- "tool_configuration": "ToolConfiguration",
- "tool_spec": "ToolSpec",
- "tools": "Tools",
- "top_p": "TopP",
- "updated_at": "UpdatedAt",
- "variants": "Variants",
- "version": "Version",
+ "additional_model_request_fields": "AdditionalModelRequestFields",
+ "agent": "Agent",
+ "agent_identifier": "AgentIdentifier",
+ "any": "Any",
+ "arn": "Arn",
+ "auto": "Auto",
+ "bucket": "Bucket",
+ "cache_point": "CachePoint",
+ "chat": "Chat",
+ "content": "Content",
+ "created_at": "CreatedAt",
+ "customer_encryption_key_arn": "CustomerEncryptionKeyArn",
+ "default_variant": "DefaultVariant",
+ "description": "Description",
+ "gen_ai_resource": "GenAiResource",
+ "inference_configuration": "InferenceConfiguration",
+ "input_schema": "InputSchema",
+ "input_variables": "InputVariables",
+ "json": "Json",
+ "key": "Key",
+ "max_tokens": "MaxTokens",
+ "messages": "Messages",
+ "model_id": "ModelId",
+ "name": "Name",
+ "prompt_id": "Id",
+ "role": "Role",
+ "stop_sequences": "StopSequences",
+ "system": "System",
+ "tags": "Tags",
+ "temperature": "Temperature",
+ "template_configuration": "TemplateConfiguration",
+ "template_type": "TemplateType",
+ "text": "Text",
+ "text_s3_location": "TextS3Location",
+ "tool": "Tool",
+ "tool_choice": "ToolChoice",
+ "tool_configuration": "ToolConfiguration",
+ "tool_spec": "ToolSpec",
+ "tools": "Tools",
+ "top_p": "TopP",
+ "type": "Type",
+ "updated_at": "UpdatedAt",
+ "variants": "Variants",
+ "version": "Version",
})
v, err := generic.NewSingularDataSource(ctx, opts...)
diff --git a/internal/aws/bedrock/prompt_version_resource_gen.go b/internal/aws/bedrock/prompt_version_resource_gen.go
index f533914f5..d8470f150 100644
--- a/internal/aws/bedrock/prompt_version_resource_gen.go
+++ b/internal/aws/bedrock/prompt_version_resource_gen.go
@@ -223,6 +223,10 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// "additionalProperties": false,
// "description": "Prompt variant",
// "properties": {
+ // "AdditionalModelRequestFields": {
+ // "description": "Contains model-specific configurations",
+ // "type": "object"
+ // },
// "GenAiResource": {
// "description": "Target resource to invoke with Prompt",
// "properties": {
@@ -337,6 +341,23 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// "items": {
// "description": "Configuration for chat prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "description": "Configuration for chat prompt template",
// "minLength": 1,
@@ -372,6 +393,23 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// "items": {
// "description": "Configuration for chat prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "description": "Configuration for chat prompt template",
// "minLength": 1,
@@ -426,6 +464,23 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// "items": {
// "description": "Tool details",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "ToolSpec": {
// "additionalProperties": false,
// "description": "Tool specification",
@@ -479,6 +534,23 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// "additionalProperties": false,
// "description": "Configuration for text prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "InputVariables": {
// "description": "List of input variables",
// "insertionOrder": true,
@@ -536,6 +608,12 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
"variants": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AdditionalModelRequestFields
+ "additional_model_request_fields": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Description: "Contains model-specific configurations",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: GenAiResource
"gen_ai_resource": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -628,6 +706,18 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
"content": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "Configuration for chat prompt template",
@@ -652,6 +742,18 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
"system": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "Configuration for chat prompt template",
@@ -700,6 +802,18 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
"tools": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: ToolSpec
"tool_spec": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -744,6 +858,18 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// Property: Text
"text": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: InputVariables
"input_variables": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
@@ -823,45 +949,48 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithCloudFormationTypeName("AWS::Bedrock::PromptVersion").WithTerraformTypeName("awscc_bedrock_prompt_version")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "agent": "Agent",
- "agent_identifier": "AgentIdentifier",
- "any": "Any",
- "arn": "Arn",
- "auto": "Auto",
- "chat": "Chat",
- "content": "Content",
- "created_at": "CreatedAt",
- "customer_encryption_key_arn": "CustomerEncryptionKeyArn",
- "default_variant": "DefaultVariant",
- "description": "Description",
- "gen_ai_resource": "GenAiResource",
- "inference_configuration": "InferenceConfiguration",
- "input_schema": "InputSchema",
- "input_variables": "InputVariables",
- "json": "Json",
- "max_tokens": "MaxTokens",
- "messages": "Messages",
- "model_id": "ModelId",
- "name": "Name",
- "prompt_arn": "PromptArn",
- "prompt_id": "PromptId",
- "role": "Role",
- "stop_sequences": "StopSequences",
- "system": "System",
- "tags": "Tags",
- "temperature": "Temperature",
- "template_configuration": "TemplateConfiguration",
- "template_type": "TemplateType",
- "text": "Text",
- "tool": "Tool",
- "tool_choice": "ToolChoice",
- "tool_configuration": "ToolConfiguration",
- "tool_spec": "ToolSpec",
- "tools": "Tools",
- "top_p": "TopP",
- "updated_at": "UpdatedAt",
- "variants": "Variants",
- "version": "Version",
+ "additional_model_request_fields": "AdditionalModelRequestFields",
+ "agent": "Agent",
+ "agent_identifier": "AgentIdentifier",
+ "any": "Any",
+ "arn": "Arn",
+ "auto": "Auto",
+ "cache_point": "CachePoint",
+ "chat": "Chat",
+ "content": "Content",
+ "created_at": "CreatedAt",
+ "customer_encryption_key_arn": "CustomerEncryptionKeyArn",
+ "default_variant": "DefaultVariant",
+ "description": "Description",
+ "gen_ai_resource": "GenAiResource",
+ "inference_configuration": "InferenceConfiguration",
+ "input_schema": "InputSchema",
+ "input_variables": "InputVariables",
+ "json": "Json",
+ "max_tokens": "MaxTokens",
+ "messages": "Messages",
+ "model_id": "ModelId",
+ "name": "Name",
+ "prompt_arn": "PromptArn",
+ "prompt_id": "PromptId",
+ "role": "Role",
+ "stop_sequences": "StopSequences",
+ "system": "System",
+ "tags": "Tags",
+ "temperature": "Temperature",
+ "template_configuration": "TemplateConfiguration",
+ "template_type": "TemplateType",
+ "text": "Text",
+ "tool": "Tool",
+ "tool_choice": "ToolChoice",
+ "tool_configuration": "ToolConfiguration",
+ "tool_spec": "ToolSpec",
+ "tools": "Tools",
+ "top_p": "TopP",
+ "type": "Type",
+ "updated_at": "UpdatedAt",
+ "variants": "Variants",
+ "version": "Version",
})
opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
diff --git a/internal/aws/bedrock/prompt_version_singular_data_source_gen.go b/internal/aws/bedrock/prompt_version_singular_data_source_gen.go
index 230ecf874..e80fcd8a1 100644
--- a/internal/aws/bedrock/prompt_version_singular_data_source_gen.go
+++ b/internal/aws/bedrock/prompt_version_singular_data_source_gen.go
@@ -175,6 +175,10 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// "additionalProperties": false,
// "description": "Prompt variant",
// "properties": {
+ // "AdditionalModelRequestFields": {
+ // "description": "Contains model-specific configurations",
+ // "type": "object"
+ // },
// "GenAiResource": {
// "description": "Target resource to invoke with Prompt",
// "properties": {
@@ -289,6 +293,23 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// "items": {
// "description": "Configuration for chat prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "description": "Configuration for chat prompt template",
// "minLength": 1,
@@ -324,6 +345,23 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// "items": {
// "description": "Configuration for chat prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "description": "Configuration for chat prompt template",
// "minLength": 1,
@@ -378,6 +416,23 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// "items": {
// "description": "Tool details",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "ToolSpec": {
// "additionalProperties": false,
// "description": "Tool specification",
@@ -431,6 +486,23 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// "additionalProperties": false,
// "description": "Configuration for text prompt template",
// "properties": {
+ // "CachePoint": {
+ // "additionalProperties": false,
+ // "description": "CachePointBlock",
+ // "properties": {
+ // "Type": {
+ // "description": "CachePoint types for CachePointBlock",
+ // "enum": [
+ // "default"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Type"
+ // ],
+ // "type": "object"
+ // },
// "InputVariables": {
// "description": "List of input variables",
// "insertionOrder": true,
@@ -488,6 +560,12 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
"variants": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AdditionalModelRequestFields
+ "additional_model_request_fields": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Description: "Contains model-specific configurations",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: GenAiResource
"gen_ai_resource": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -580,6 +658,18 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
"content": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "Configuration for chat prompt template",
@@ -604,6 +694,18 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
"system": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "Configuration for chat prompt template",
@@ -652,6 +754,18 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
"tools": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: ToolSpec
"tool_spec": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -696,6 +810,18 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// Property: Text
"text": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CachePoint
+ "cache_point": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Type
+ "type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "CachePoint types for CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "CachePointBlock",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: InputVariables
"input_variables": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
@@ -764,45 +890,48 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
opts = opts.WithCloudFormationTypeName("AWS::Bedrock::PromptVersion").WithTerraformTypeName("awscc_bedrock_prompt_version")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "agent": "Agent",
- "agent_identifier": "AgentIdentifier",
- "any": "Any",
- "arn": "Arn",
- "auto": "Auto",
- "chat": "Chat",
- "content": "Content",
- "created_at": "CreatedAt",
- "customer_encryption_key_arn": "CustomerEncryptionKeyArn",
- "default_variant": "DefaultVariant",
- "description": "Description",
- "gen_ai_resource": "GenAiResource",
- "inference_configuration": "InferenceConfiguration",
- "input_schema": "InputSchema",
- "input_variables": "InputVariables",
- "json": "Json",
- "max_tokens": "MaxTokens",
- "messages": "Messages",
- "model_id": "ModelId",
- "name": "Name",
- "prompt_arn": "PromptArn",
- "prompt_id": "PromptId",
- "role": "Role",
- "stop_sequences": "StopSequences",
- "system": "System",
- "tags": "Tags",
- "temperature": "Temperature",
- "template_configuration": "TemplateConfiguration",
- "template_type": "TemplateType",
- "text": "Text",
- "tool": "Tool",
- "tool_choice": "ToolChoice",
- "tool_configuration": "ToolConfiguration",
- "tool_spec": "ToolSpec",
- "tools": "Tools",
- "top_p": "TopP",
- "updated_at": "UpdatedAt",
- "variants": "Variants",
- "version": "Version",
+ "additional_model_request_fields": "AdditionalModelRequestFields",
+ "agent": "Agent",
+ "agent_identifier": "AgentIdentifier",
+ "any": "Any",
+ "arn": "Arn",
+ "auto": "Auto",
+ "cache_point": "CachePoint",
+ "chat": "Chat",
+ "content": "Content",
+ "created_at": "CreatedAt",
+ "customer_encryption_key_arn": "CustomerEncryptionKeyArn",
+ "default_variant": "DefaultVariant",
+ "description": "Description",
+ "gen_ai_resource": "GenAiResource",
+ "inference_configuration": "InferenceConfiguration",
+ "input_schema": "InputSchema",
+ "input_variables": "InputVariables",
+ "json": "Json",
+ "max_tokens": "MaxTokens",
+ "messages": "Messages",
+ "model_id": "ModelId",
+ "name": "Name",
+ "prompt_arn": "PromptArn",
+ "prompt_id": "PromptId",
+ "role": "Role",
+ "stop_sequences": "StopSequences",
+ "system": "System",
+ "tags": "Tags",
+ "temperature": "Temperature",
+ "template_configuration": "TemplateConfiguration",
+ "template_type": "TemplateType",
+ "text": "Text",
+ "tool": "Tool",
+ "tool_choice": "ToolChoice",
+ "tool_configuration": "ToolConfiguration",
+ "tool_spec": "ToolSpec",
+ "tools": "Tools",
+ "top_p": "TopP",
+ "type": "Type",
+ "updated_at": "UpdatedAt",
+ "variants": "Variants",
+ "version": "Version",
})
v, err := generic.NewSingularDataSource(ctx, opts...)
diff --git a/internal/aws/cognito/user_pool_domain_resource_gen.go b/internal/aws/cognito/user_pool_domain_resource_gen.go
new file mode 100644
index 000000000..710eed44c
--- /dev/null
+++ b/internal/aws/cognito/user_pool_domain_resource_gen.go
@@ -0,0 +1,152 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/resource/main.go; DO NOT EDIT.
+
+package cognito
+
+import (
+ "context"
+
+ "github.com/hashicorp/terraform-plugin-framework/resource"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
+ "github.com/hashicorp/terraform-provider-awscc/internal/generic"
+ "github.com/hashicorp/terraform-provider-awscc/internal/registry"
+)
+
+func init() {
+ registry.AddResourceFactory("awscc_cognito_user_pool_domain", userPoolDomainResource)
+}
+
+// userPoolDomainResource returns the Terraform awscc_cognito_user_pool_domain resource.
+// This Terraform resource corresponds to the CloudFormation AWS::Cognito::UserPoolDomain resource.
+func userPoolDomainResource(ctx context.Context) (resource.Resource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CloudFrontDistribution
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "cloudfront_distribution": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: CustomDomainConfig
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "properties": {
+ // "CertificateArn": {
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "custom_domain_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CertificateArn
+ "certificate_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Domain
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "domain": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Required: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.RequiresReplace(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ManagedLoginVersion
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "integer"
+ // }
+ "managed_login_version": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ // ManagedLoginVersion is a write-only property.
+ }, /*END ATTRIBUTE*/
+ // Property: UserPoolId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "user_pool_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Required: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.RequiresReplace(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ } /*END SCHEMA*/
+
+ // Corresponds to CloudFormation primaryIdentifier.
+ attributes["id"] = schema.StringAttribute{
+ Description: "Uniquely identifies the resource.",
+ Computed: true,
+ PlanModifiers: []planmodifier.String{
+ stringplanmodifier.UseStateForUnknown(),
+ },
+ }
+
+ schema := schema.Schema{
+ Description: "Resource Type definition for AWS::Cognito::UserPoolDomain",
+ Version: 1,
+ Attributes: attributes,
+ }
+
+ var opts generic.ResourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Cognito::UserPoolDomain").WithTerraformTypeName("awscc_cognito_user_pool_domain")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "certificate_arn": "CertificateArn",
+ "cloudfront_distribution": "CloudFrontDistribution",
+ "custom_domain_config": "CustomDomainConfig",
+ "domain": "Domain",
+ "managed_login_version": "ManagedLoginVersion",
+ "user_pool_id": "UserPoolId",
+ })
+
+ opts = opts.WithWriteOnlyPropertyPaths([]string{
+ "/properties/ManagedLoginVersion",
+ })
+ opts = opts.WithCreateTimeoutInMinutes(20).WithDeleteTimeoutInMinutes(25)
+
+ opts = opts.WithUpdateTimeoutInMinutes(20)
+
+ v, err := generic.NewResource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/cognito/user_pool_domain_resource_gen_test.go b/internal/aws/cognito/user_pool_domain_resource_gen_test.go
new file mode 100644
index 000000000..f6a46ac9e
--- /dev/null
+++ b/internal/aws/cognito/user_pool_domain_resource_gen_test.go
@@ -0,0 +1,25 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/resource/main.go; DO NOT EDIT.
+
+package cognito_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSCognitoUserPoolDomain_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Cognito::UserPoolDomain", "awscc_cognito_user_pool_domain", "test")
+
+ td.ResourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
diff --git a/internal/aws/cognito/user_pool_domain_singular_data_source_gen.go b/internal/aws/cognito/user_pool_domain_singular_data_source_gen.go
new file mode 100644
index 000000000..a39e33a69
--- /dev/null
+++ b/internal/aws/cognito/user_pool_domain_singular_data_source_gen.go
@@ -0,0 +1,114 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
+
+package cognito
+
+import (
+ "context"
+
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-provider-awscc/internal/generic"
+ "github.com/hashicorp/terraform-provider-awscc/internal/registry"
+)
+
+func init() {
+ registry.AddDataSourceFactory("awscc_cognito_user_pool_domain", userPoolDomainDataSource)
+}
+
+// userPoolDomainDataSource returns the Terraform awscc_cognito_user_pool_domain data source.
+// This Terraform data source corresponds to the CloudFormation AWS::Cognito::UserPoolDomain resource.
+func userPoolDomainDataSource(ctx context.Context) (datasource.DataSource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CloudFrontDistribution
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "cloudfront_distribution": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: CustomDomainConfig
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "properties": {
+ // "CertificateArn": {
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "custom_domain_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CertificateArn
+ "certificate_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Domain
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "domain": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ManagedLoginVersion
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "integer"
+ // }
+ "managed_login_version": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: UserPoolId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "user_pool_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ } /*END SCHEMA*/
+
+ attributes["id"] = schema.StringAttribute{
+ Description: "Uniquely identifies the resource.",
+ Required: true,
+ }
+
+ schema := schema.Schema{
+ Description: "Data Source schema for AWS::Cognito::UserPoolDomain",
+ Attributes: attributes,
+ }
+
+ var opts generic.DataSourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Cognito::UserPoolDomain").WithTerraformTypeName("awscc_cognito_user_pool_domain")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "certificate_arn": "CertificateArn",
+ "cloudfront_distribution": "CloudFrontDistribution",
+ "custom_domain_config": "CustomDomainConfig",
+ "domain": "Domain",
+ "managed_login_version": "ManagedLoginVersion",
+ "user_pool_id": "UserPoolId",
+ })
+
+ v, err := generic.NewSingularDataSource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/cognito/user_pool_domain_singular_data_source_gen_test.go b/internal/aws/cognito/user_pool_domain_singular_data_source_gen_test.go
new file mode 100644
index 000000000..a98f05fea
--- /dev/null
+++ b/internal/aws/cognito/user_pool_domain_singular_data_source_gen_test.go
@@ -0,0 +1,36 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
+
+package cognito_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSCognitoUserPoolDomainDataSource_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Cognito::UserPoolDomain", "awscc_cognito_user_pool_domain", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyDataSourceConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
+
+func TestAccAWSCognitoUserPoolDomainDataSource_NonExistent(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Cognito::UserPoolDomain", "awscc_cognito_user_pool_domain", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.DataSourceWithNonExistentIDConfig(),
+ ExpectError: regexp.MustCompile("Not Found"),
+ },
+ })
+}
diff --git a/internal/aws/connect/contact_flow_version_resource_gen.go b/internal/aws/connect/contact_flow_version_resource_gen.go
new file mode 100644
index 000000000..aa5dced39
--- /dev/null
+++ b/internal/aws/connect/contact_flow_version_resource_gen.go
@@ -0,0 +1,160 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/resource/main.go; DO NOT EDIT.
+
+package connect
+
+import (
+ "context"
+ "regexp"
+
+ "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
+ "github.com/hashicorp/terraform-plugin-framework/resource"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/schema/validator"
+ "github.com/hashicorp/terraform-provider-awscc/internal/generic"
+ "github.com/hashicorp/terraform-provider-awscc/internal/registry"
+)
+
+func init() {
+ registry.AddResourceFactory("awscc_connect_contact_flow_version", contactFlowVersionResource)
+}
+
+// contactFlowVersionResource returns the Terraform awscc_connect_contact_flow_version resource.
+// This Terraform resource corresponds to the CloudFormation AWS::Connect::ContactFlowVersion resource.
+func contactFlowVersionResource(ctx context.Context) (resource.Resource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ContactFlowId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The ARN of the contact flow this version is tied to.",
+ // "maxLength": 500,
+ // "minLength": 1,
+ // "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/contact-flow/[-a-zA-Z0-9]+$",
+ // "type": "string"
+ // }
+ "contact_flow_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ARN of the contact flow this version is tied to.",
+ Required: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(1, 500),
+ stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/contact-flow/[-a-zA-Z0-9]+$"), ""),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.RequiresReplace(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ContactFlowVersionARN
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The identifier of the contact flow version (ARN).",
+ // "maxLength": 500,
+ // "minLength": 1,
+ // "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/contact-flow/[-a-zA-Z0-9]+:[0-9]+$",
+ // "type": "string"
+ // }
+ "contact_flow_version_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The identifier of the contact flow version (ARN).",
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Description
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The description of the version.",
+ // "maxLength": 500,
+ // "type": "string"
+ // }
+ "description": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The description of the version.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthAtMost(500),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: FlowContentSha256
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Indicates the checksum value of the latest published flow content",
+ // "maxLength": 64,
+ // "minLength": 1,
+ // "pattern": "^[a-zA-Z0-9]{64}$",
+ // "type": "string"
+ // }
+ "flow_content_sha_256": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates the checksum value of the latest published flow content",
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Version
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The version number of this revision",
+ // "type": "integer"
+ // }
+ "version": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The version number of this revision",
+ Computed: true,
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ } /*END SCHEMA*/
+
+ // Corresponds to CloudFormation primaryIdentifier.
+ attributes["id"] = schema.StringAttribute{
+ Description: "Uniquely identifies the resource.",
+ Computed: true,
+ PlanModifiers: []planmodifier.String{
+ stringplanmodifier.UseStateForUnknown(),
+ },
+ }
+
+ schema := schema.Schema{
+ Description: "Resource Type Definition for ContactFlowVersion",
+ Version: 1,
+ Attributes: attributes,
+ }
+
+ var opts generic.ResourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Connect::ContactFlowVersion").WithTerraformTypeName("awscc_connect_contact_flow_version")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "contact_flow_id": "ContactFlowId",
+ "contact_flow_version_arn": "ContactFlowVersionARN",
+ "description": "Description",
+ "flow_content_sha_256": "FlowContentSha256",
+ "version": "Version",
+ })
+
+ opts = opts.IsImmutableType(true)
+
+ opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
+
+ v, err := generic.NewResource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/connect/contact_flow_version_resource_gen_test.go b/internal/aws/connect/contact_flow_version_resource_gen_test.go
new file mode 100644
index 000000000..79ab06300
--- /dev/null
+++ b/internal/aws/connect/contact_flow_version_resource_gen_test.go
@@ -0,0 +1,25 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/resource/main.go; DO NOT EDIT.
+
+package connect_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSConnectContactFlowVersion_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Connect::ContactFlowVersion", "awscc_connect_contact_flow_version", "test")
+
+ td.ResourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
diff --git a/internal/aws/connect/contact_flow_version_singular_data_source_gen.go b/internal/aws/connect/contact_flow_version_singular_data_source_gen.go
new file mode 100644
index 000000000..849dcdd41
--- /dev/null
+++ b/internal/aws/connect/contact_flow_version_singular_data_source_gen.go
@@ -0,0 +1,121 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
+
+package connect
+
+import (
+ "context"
+
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-provider-awscc/internal/generic"
+ "github.com/hashicorp/terraform-provider-awscc/internal/registry"
+)
+
+func init() {
+ registry.AddDataSourceFactory("awscc_connect_contact_flow_version", contactFlowVersionDataSource)
+}
+
+// contactFlowVersionDataSource returns the Terraform awscc_connect_contact_flow_version data source.
+// This Terraform data source corresponds to the CloudFormation AWS::Connect::ContactFlowVersion resource.
+func contactFlowVersionDataSource(ctx context.Context) (datasource.DataSource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ContactFlowId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The ARN of the contact flow this version is tied to.",
+ // "maxLength": 500,
+ // "minLength": 1,
+ // "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/contact-flow/[-a-zA-Z0-9]+$",
+ // "type": "string"
+ // }
+ "contact_flow_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ARN of the contact flow this version is tied to.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ContactFlowVersionARN
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The identifier of the contact flow version (ARN).",
+ // "maxLength": 500,
+ // "minLength": 1,
+ // "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/contact-flow/[-a-zA-Z0-9]+:[0-9]+$",
+ // "type": "string"
+ // }
+ "contact_flow_version_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The identifier of the contact flow version (ARN).",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Description
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The description of the version.",
+ // "maxLength": 500,
+ // "type": "string"
+ // }
+ "description": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The description of the version.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: FlowContentSha256
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Indicates the checksum value of the latest published flow content",
+ // "maxLength": 64,
+ // "minLength": 1,
+ // "pattern": "^[a-zA-Z0-9]{64}$",
+ // "type": "string"
+ // }
+ "flow_content_sha_256": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates the checksum value of the latest published flow content",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Version
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The version number of this revision",
+ // "type": "integer"
+ // }
+ "version": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The version number of this revision",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ } /*END SCHEMA*/
+
+ attributes["id"] = schema.StringAttribute{
+ Description: "Uniquely identifies the resource.",
+ Required: true,
+ }
+
+ schema := schema.Schema{
+ Description: "Data Source schema for AWS::Connect::ContactFlowVersion",
+ Attributes: attributes,
+ }
+
+ var opts generic.DataSourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Connect::ContactFlowVersion").WithTerraformTypeName("awscc_connect_contact_flow_version")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "contact_flow_id": "ContactFlowId",
+ "contact_flow_version_arn": "ContactFlowVersionARN",
+ "description": "Description",
+ "flow_content_sha_256": "FlowContentSha256",
+ "version": "Version",
+ })
+
+ v, err := generic.NewSingularDataSource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/connect/contact_flow_version_singular_data_source_gen_test.go b/internal/aws/connect/contact_flow_version_singular_data_source_gen_test.go
new file mode 100644
index 000000000..66b23f3df
--- /dev/null
+++ b/internal/aws/connect/contact_flow_version_singular_data_source_gen_test.go
@@ -0,0 +1,36 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
+
+package connect_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSConnectContactFlowVersionDataSource_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Connect::ContactFlowVersion", "awscc_connect_contact_flow_version", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyDataSourceConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
+
+func TestAccAWSConnectContactFlowVersionDataSource_NonExistent(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Connect::ContactFlowVersion", "awscc_connect_contact_flow_version", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.DataSourceWithNonExistentIDConfig(),
+ ExpectError: regexp.MustCompile("Not Found"),
+ },
+ })
+}
diff --git a/internal/aws/datasync/location_smb_resource_gen.go b/internal/aws/datasync/location_smb_resource_gen.go
index ac74a4c80..cca02eb4a 100644
--- a/internal/aws/datasync/location_smb_resource_gen.go
+++ b/internal/aws/datasync/location_smb_resource_gen.go
@@ -14,6 +14,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
"github.com/hashicorp/terraform-plugin-framework/resource"
"github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/setplanmodifier"
@@ -64,6 +65,62 @@ func locationSMBResource(ctx context.Context) (resource.Resource, error) {
generic.Multiset(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: AuthenticationType
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The authentication mode used to determine identity of user.",
+ // "enum": [
+ // "NTLM",
+ // "KERBEROS"
+ // ],
+ // "type": "string"
+ // }
+ "authentication_type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The authentication mode used to determine identity of user.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "NTLM",
+ "KERBEROS",
+ ),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: DnsIpAddresses
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.",
+ // "insertionOrder": true,
+ // "items": {
+ // "maxLength": 15,
+ // "minLength": 7,
+ // "pattern": "\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z",
+ // "type": "string"
+ // },
+ // "maxItems": 2,
+ // "type": "array"
+ // }
+ "dns_ip_addresses": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.List{ /*START VALIDATORS*/
+ listvalidator.SizeAtMost(2),
+ listvalidator.ValueStringsAre(
+ stringvalidator.LengthBetween(7, 15),
+ stringvalidator.RegexMatches(regexp.MustCompile("\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z"), ""),
+ ),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: Domain
// CloudFormation resource type schema:
//
@@ -85,6 +142,68 @@ func locationSMBResource(ctx context.Context) (resource.Resource, error) {
stringplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: KerberosKeytab
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.",
+ // "maxLength": 87384,
+ // "type": "string"
+ // }
+ "kerberos_keytab": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthAtMost(87384),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ // KerberosKeytab is a write-only property.
+ }, /*END ATTRIBUTE*/
+ // Property: KerberosKrb5Conf
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.",
+ // "maxLength": 174764,
+ // "type": "string"
+ // }
+ "kerberos_krb_5_conf": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthAtMost(174764),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ // KerberosKrb5Conf is a write-only property.
+ }, /*END ATTRIBUTE*/
+ // Property: KerberosPrincipal
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.",
+ // "maxLength": 256,
+ // "minLength": 1,
+ // "pattern": "^.+$",
+ // "type": "string"
+ // }
+ "kerberos_principal": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(1, 256),
+ stringvalidator.RegexMatches(regexp.MustCompile("^.+$"), ""),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: LocationArn
// CloudFormation resource type schema:
//
@@ -213,7 +332,6 @@ func locationSMBResource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// ServerHostname is a write-only property.
}, /*END ATTRIBUTE*/
@@ -328,11 +446,15 @@ func locationSMBResource(ctx context.Context) (resource.Resource, error) {
// }
"user": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The user who can mount the share, has the permissions to access files and folders in the SMB share.",
- Required: true,
+ Optional: true,
+ Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
stringvalidator.LengthAtMost(104),
stringvalidator.RegexMatches(regexp.MustCompile("^[^\\x5B\\x5D\\\\/:;|=,+*?]{1,104}$"), ""),
}, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
} /*END SCHEMA*/
@@ -356,25 +478,32 @@ func locationSMBResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithCloudFormationTypeName("AWS::DataSync::LocationSMB").WithTerraformTypeName("awscc_datasync_location_smb")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "agent_arns": "AgentArns",
- "domain": "Domain",
- "key": "Key",
- "location_arn": "LocationArn",
- "location_uri": "LocationUri",
- "mount_options": "MountOptions",
- "password": "Password",
- "server_hostname": "ServerHostname",
- "subdirectory": "Subdirectory",
- "tags": "Tags",
- "user": "User",
- "value": "Value",
- "version": "Version",
+ "agent_arns": "AgentArns",
+ "authentication_type": "AuthenticationType",
+ "dns_ip_addresses": "DnsIpAddresses",
+ "domain": "Domain",
+ "kerberos_keytab": "KerberosKeytab",
+ "kerberos_krb_5_conf": "KerberosKrb5Conf",
+ "kerberos_principal": "KerberosPrincipal",
+ "key": "Key",
+ "location_arn": "LocationArn",
+ "location_uri": "LocationUri",
+ "mount_options": "MountOptions",
+ "password": "Password",
+ "server_hostname": "ServerHostname",
+ "subdirectory": "Subdirectory",
+ "tags": "Tags",
+ "user": "User",
+ "value": "Value",
+ "version": "Version",
})
opts = opts.WithWriteOnlyPropertyPaths([]string{
"/properties/Password",
"/properties/Subdirectory",
"/properties/ServerHostname",
+ "/properties/KerberosKeytab",
+ "/properties/KerberosKrb5Conf",
})
opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
diff --git a/internal/aws/datasync/location_smb_singular_data_source_gen.go b/internal/aws/datasync/location_smb_singular_data_source_gen.go
index 910246959..a02862a22 100644
--- a/internal/aws/datasync/location_smb_singular_data_source_gen.go
+++ b/internal/aws/datasync/location_smb_singular_data_source_gen.go
@@ -43,6 +43,41 @@ func locationSMBDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block (SMB) location.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: AuthenticationType
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The authentication mode used to determine identity of user.",
+ // "enum": [
+ // "NTLM",
+ // "KERBEROS"
+ // ],
+ // "type": "string"
+ // }
+ "authentication_type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The authentication mode used to determine identity of user.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: DnsIpAddresses
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.",
+ // "insertionOrder": true,
+ // "items": {
+ // "maxLength": 15,
+ // "minLength": 7,
+ // "pattern": "\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z",
+ // "type": "string"
+ // },
+ // "maxItems": 2,
+ // "type": "array"
+ // }
+ "dns_ip_addresses": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Domain
// CloudFormation resource type schema:
//
@@ -56,6 +91,44 @@ func locationSMBDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "The name of the Windows domain that the SMB server belongs to.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: KerberosKeytab
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.",
+ // "maxLength": 87384,
+ // "type": "string"
+ // }
+ "kerberos_keytab": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: KerberosKrb5Conf
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.",
+ // "maxLength": 174764,
+ // "type": "string"
+ // }
+ "kerberos_krb_5_conf": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: KerberosPrincipal
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.",
+ // "maxLength": 256,
+ // "minLength": 1,
+ // "pattern": "^.+$",
+ // "type": "string"
+ // }
+ "kerberos_principal": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: LocationArn
// CloudFormation resource type schema:
//
@@ -239,19 +312,24 @@ func locationSMBDataSource(ctx context.Context) (datasource.DataSource, error) {
opts = opts.WithCloudFormationTypeName("AWS::DataSync::LocationSMB").WithTerraformTypeName("awscc_datasync_location_smb")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "agent_arns": "AgentArns",
- "domain": "Domain",
- "key": "Key",
- "location_arn": "LocationArn",
- "location_uri": "LocationUri",
- "mount_options": "MountOptions",
- "password": "Password",
- "server_hostname": "ServerHostname",
- "subdirectory": "Subdirectory",
- "tags": "Tags",
- "user": "User",
- "value": "Value",
- "version": "Version",
+ "agent_arns": "AgentArns",
+ "authentication_type": "AuthenticationType",
+ "dns_ip_addresses": "DnsIpAddresses",
+ "domain": "Domain",
+ "kerberos_keytab": "KerberosKeytab",
+ "kerberos_krb_5_conf": "KerberosKrb5Conf",
+ "kerberos_principal": "KerberosPrincipal",
+ "key": "Key",
+ "location_arn": "LocationArn",
+ "location_uri": "LocationUri",
+ "mount_options": "MountOptions",
+ "password": "Password",
+ "server_hostname": "ServerHostname",
+ "subdirectory": "Subdirectory",
+ "tags": "Tags",
+ "user": "User",
+ "value": "Value",
+ "version": "Version",
})
v, err := generic.NewSingularDataSource(ctx, opts...)
diff --git a/internal/aws/dynamodb/global_table_resource_gen.go b/internal/aws/dynamodb/global_table_resource_gen.go
index 6b2cb85f3..e68772dc8 100644
--- a/internal/aws/dynamodb/global_table_resource_gen.go
+++ b/internal/aws/dynamodb/global_table_resource_gen.go
@@ -738,51 +738,6 @@ func globalTableResource(ctx context.Context) (resource.Resource, error) {
setplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
- // Property: PointInTimeRecoverySpecification
- // CloudFormation resource type schema:
- //
- // {
- // "additionalProperties": false,
- // "properties": {
- // "PointInTimeRecoveryEnabled": {
- // "type": "boolean"
- // },
- // "RecoveryPeriodInDays": {
- // "maximum": 35,
- // "minimum": 1,
- // "type": "integer"
- // }
- // },
- // "type": "object"
- // }
- "point_in_time_recovery_specification": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
- Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
- // Property: PointInTimeRecoveryEnabled
- "point_in_time_recovery_enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/
- Optional: true,
- Computed: true,
- PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/
- boolplanmodifier.UseStateForUnknown(),
- }, /*END PLAN MODIFIERS*/
- }, /*END ATTRIBUTE*/
- // Property: RecoveryPeriodInDays
- "recovery_period_in_days": schema.Int64Attribute{ /*START ATTRIBUTE*/
- Optional: true,
- Computed: true,
- Validators: []validator.Int64{ /*START VALIDATORS*/
- int64validator.Between(1, 35),
- }, /*END VALIDATORS*/
- PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
- int64planmodifier.UseStateForUnknown(),
- }, /*END PLAN MODIFIERS*/
- }, /*END ATTRIBUTE*/
- }, /*END SCHEMA*/
- Optional: true,
- Computed: true,
- PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
- objectplanmodifier.UseStateForUnknown(),
- }, /*END PLAN MODIFIERS*/
- }, /*END ATTRIBUTE*/
// Property: Replicas
// CloudFormation resource type schema:
//
diff --git a/internal/aws/dynamodb/global_table_singular_data_source_gen.go b/internal/aws/dynamodb/global_table_singular_data_source_gen.go
index a20286057..fc49ca041 100644
--- a/internal/aws/dynamodb/global_table_singular_data_source_gen.go
+++ b/internal/aws/dynamodb/global_table_singular_data_source_gen.go
@@ -500,36 +500,6 @@ func globalTableDataSource(ctx context.Context) (datasource.DataSource, error) {
}, /*END NESTED OBJECT*/
Computed: true,
}, /*END ATTRIBUTE*/
- // Property: PointInTimeRecoverySpecification
- // CloudFormation resource type schema:
- //
- // {
- // "additionalProperties": false,
- // "properties": {
- // "PointInTimeRecoveryEnabled": {
- // "type": "boolean"
- // },
- // "RecoveryPeriodInDays": {
- // "maximum": 35,
- // "minimum": 1,
- // "type": "integer"
- // }
- // },
- // "type": "object"
- // }
- "point_in_time_recovery_specification": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
- Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
- // Property: PointInTimeRecoveryEnabled
- "point_in_time_recovery_enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/
- Computed: true,
- }, /*END ATTRIBUTE*/
- // Property: RecoveryPeriodInDays
- "recovery_period_in_days": schema.Int64Attribute{ /*START ATTRIBUTE*/
- Computed: true,
- }, /*END ATTRIBUTE*/
- }, /*END SCHEMA*/
- Computed: true,
- }, /*END ATTRIBUTE*/
// Property: Replicas
// CloudFormation resource type schema:
//
diff --git a/internal/aws/ec2/ipam_resource_discovery_resource_gen.go b/internal/aws/ec2/ipam_resource_discovery_resource_gen.go
index 3fc48ef71..3f6901172 100644
--- a/internal/aws/ec2/ipam_resource_discovery_resource_gen.go
+++ b/internal/aws/ec2/ipam_resource_discovery_resource_gen.go
@@ -145,6 +145,55 @@ func iPAMResourceDiscoveryResource(ctx context.Context) (resource.Resource, erro
setplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: OrganizationalUnitExclusions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "A set of organizational unit (OU) exclusions for this resource.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "If your IPAM is integrated with AWS Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion.",
+ // "properties": {
+ // "OrganizationsEntityPath": {
+ // "description": "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "OrganizationsEntityPath"
+ // ],
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ "organizational_unit_exclusions": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: OrganizationsEntityPath
+ "organizations_entity_path": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthAtLeast(1),
+ fwvalidators.NotNullString(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "A set of organizational unit (OU) exclusions for this resource.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/
+ setplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: OwnerId
// CloudFormation resource type schema:
//
@@ -272,6 +321,8 @@ func iPAMResourceDiscoveryResource(ctx context.Context) (resource.Resource, erro
"is_default": "IsDefault",
"key": "Key",
"operating_regions": "OperatingRegions",
+ "organizational_unit_exclusions": "OrganizationalUnitExclusions",
+ "organizations_entity_path": "OrganizationsEntityPath",
"owner_id": "OwnerId",
"region_name": "RegionName",
"state": "State",
diff --git a/internal/aws/ec2/ipam_resource_discovery_singular_data_source_gen.go b/internal/aws/ec2/ipam_resource_discovery_singular_data_source_gen.go
index 745a562ca..93ca01396 100644
--- a/internal/aws/ec2/ipam_resource_discovery_singular_data_source_gen.go
+++ b/internal/aws/ec2/ipam_resource_discovery_singular_data_source_gen.go
@@ -111,6 +111,43 @@ func iPAMResourceDiscoveryDataSource(ctx context.Context) (datasource.DataSource
Description: "The regions Resource Discovery is enabled for. Allows resource discoveries to be created in these regions, as well as enabling monitoring",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: OrganizationalUnitExclusions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "A set of organizational unit (OU) exclusions for this resource.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "If your IPAM is integrated with AWS Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion.",
+ // "properties": {
+ // "OrganizationsEntityPath": {
+ // "description": "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "OrganizationsEntityPath"
+ // ],
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ "organizational_unit_exclusions": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: OrganizationsEntityPath
+ "organizations_entity_path": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "A set of organizational unit (OU) exclusions for this resource.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: OwnerId
// CloudFormation resource type schema:
//
@@ -207,6 +244,8 @@ func iPAMResourceDiscoveryDataSource(ctx context.Context) (datasource.DataSource
"is_default": "IsDefault",
"key": "Key",
"operating_regions": "OperatingRegions",
+ "organizational_unit_exclusions": "OrganizationalUnitExclusions",
+ "organizations_entity_path": "OrganizationsEntityPath",
"owner_id": "OwnerId",
"region_name": "RegionName",
"state": "State",
diff --git a/internal/aws/ec2/ipam_resource_gen.go b/internal/aws/ec2/ipam_resource_gen.go
index 57ee6ae2b..bfc769405 100644
--- a/internal/aws/ec2/ipam_resource_gen.go
+++ b/internal/aws/ec2/ipam_resource_gen.go
@@ -72,6 +72,55 @@ func iPAMResource(ctx context.Context) (resource.Resource, error) {
stringplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: DefaultResourceDiscoveryOrganizationalUnitExclusions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "If your IPAM is integrated with AWS Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion.",
+ // "properties": {
+ // "OrganizationsEntityPath": {
+ // "description": "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "OrganizationsEntityPath"
+ // ],
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ "default_resource_discovery_organizational_unit_exclusions": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: OrganizationsEntityPath
+ "organizations_entity_path": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthAtLeast(1),
+ fwvalidators.NotNullString(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/
+ setplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: Description
// CloudFormation resource type schema:
//
@@ -336,21 +385,23 @@ func iPAMResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
"arn": "Arn",
- "default_resource_discovery_association_id": "DefaultResourceDiscoveryAssociationId",
- "default_resource_discovery_id": "DefaultResourceDiscoveryId",
- "description": "Description",
- "enable_private_gua": "EnablePrivateGua",
- "ipam_id": "IpamId",
- "key": "Key",
- "operating_regions": "OperatingRegions",
- "private_default_scope_id": "PrivateDefaultScopeId",
- "public_default_scope_id": "PublicDefaultScopeId",
- "region_name": "RegionName",
- "resource_discovery_association_count": "ResourceDiscoveryAssociationCount",
- "scope_count": "ScopeCount",
- "tags": "Tags",
- "tier": "Tier",
- "value": "Value",
+ "default_resource_discovery_association_id": "DefaultResourceDiscoveryAssociationId",
+ "default_resource_discovery_id": "DefaultResourceDiscoveryId",
+ "default_resource_discovery_organizational_unit_exclusions": "DefaultResourceDiscoveryOrganizationalUnitExclusions",
+ "description": "Description",
+ "enable_private_gua": "EnablePrivateGua",
+ "ipam_id": "IpamId",
+ "key": "Key",
+ "operating_regions": "OperatingRegions",
+ "organizations_entity_path": "OrganizationsEntityPath",
+ "private_default_scope_id": "PrivateDefaultScopeId",
+ "public_default_scope_id": "PublicDefaultScopeId",
+ "region_name": "RegionName",
+ "resource_discovery_association_count": "ResourceDiscoveryAssociationCount",
+ "scope_count": "ScopeCount",
+ "tags": "Tags",
+ "tier": "Tier",
+ "value": "Value",
})
opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
diff --git a/internal/aws/ec2/ipam_singular_data_source_gen.go b/internal/aws/ec2/ipam_singular_data_source_gen.go
index 00da70be5..401902cfc 100644
--- a/internal/aws/ec2/ipam_singular_data_source_gen.go
+++ b/internal/aws/ec2/ipam_singular_data_source_gen.go
@@ -55,6 +55,43 @@ func iPAMDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "The Id of the default resource discovery, created with this IPAM.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: DefaultResourceDiscoveryOrganizationalUnitExclusions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "If your IPAM is integrated with AWS Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion.",
+ // "properties": {
+ // "OrganizationsEntityPath": {
+ // "description": "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "OrganizationsEntityPath"
+ // ],
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ "default_resource_discovery_organizational_unit_exclusions": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: OrganizationsEntityPath
+ "organizations_entity_path": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Description
// CloudFormation resource type schema:
//
@@ -250,21 +287,23 @@ func iPAMDataSource(ctx context.Context) (datasource.DataSource, error) {
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
"arn": "Arn",
- "default_resource_discovery_association_id": "DefaultResourceDiscoveryAssociationId",
- "default_resource_discovery_id": "DefaultResourceDiscoveryId",
- "description": "Description",
- "enable_private_gua": "EnablePrivateGua",
- "ipam_id": "IpamId",
- "key": "Key",
- "operating_regions": "OperatingRegions",
- "private_default_scope_id": "PrivateDefaultScopeId",
- "public_default_scope_id": "PublicDefaultScopeId",
- "region_name": "RegionName",
- "resource_discovery_association_count": "ResourceDiscoveryAssociationCount",
- "scope_count": "ScopeCount",
- "tags": "Tags",
- "tier": "Tier",
- "value": "Value",
+ "default_resource_discovery_association_id": "DefaultResourceDiscoveryAssociationId",
+ "default_resource_discovery_id": "DefaultResourceDiscoveryId",
+ "default_resource_discovery_organizational_unit_exclusions": "DefaultResourceDiscoveryOrganizationalUnitExclusions",
+ "description": "Description",
+ "enable_private_gua": "EnablePrivateGua",
+ "ipam_id": "IpamId",
+ "key": "Key",
+ "operating_regions": "OperatingRegions",
+ "organizations_entity_path": "OrganizationsEntityPath",
+ "private_default_scope_id": "PrivateDefaultScopeId",
+ "public_default_scope_id": "PublicDefaultScopeId",
+ "region_name": "RegionName",
+ "resource_discovery_association_count": "ResourceDiscoveryAssociationCount",
+ "scope_count": "ScopeCount",
+ "tags": "Tags",
+ "tier": "Tier",
+ "value": "Value",
})
v, err := generic.NewSingularDataSource(ctx, opts...)
diff --git a/internal/aws/ecs/cluster_resource_gen.go b/internal/aws/ecs/cluster_resource_gen.go
index 028aa0eb5..26315dcad 100644
--- a/internal/aws/ecs/cluster_resource_gen.go
+++ b/internal/aws/ecs/cluster_resource_gen.go
@@ -82,17 +82,17 @@ func clusterResource(ctx context.Context) (resource.Resource, error) {
// CloudFormation resource type schema:
//
// {
- // "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.",
+ // "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up. \n For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*.",
// "items": {
// "additionalProperties": false,
- // "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.",
+ // "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up. \n For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*.",
// "properties": {
// "Name": {
// "description": "The name of the cluster setting. The value is ``containerInsights`` .",
// "type": "string"
// },
// "Value": {
- // "description": "The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled``. \n If you set ``name`` to ``containerInsights`` and ``value`` to ``enabled``, CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the ``containerInsights`` account setting is turned on. If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
+ // "description": "The value to set for the cluster setting. The supported values are ``enhanced``, ``enabled``, and ``disabled``. \n To use Container Insights with enhanced observability, set the ``containerInsights`` account setting to ``enhanced``.\n To use Container Insights, set the ``containerInsights`` account setting to ``enabled``.\n If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
// "type": "string"
// }
// },
@@ -114,7 +114,7 @@ func clusterResource(ctx context.Context) (resource.Resource, error) {
}, /*END ATTRIBUTE*/
// Property: Value
"value": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled``. \n If you set ``name`` to ``containerInsights`` and ``value`` to ``enabled``, CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the ``containerInsights`` account setting is turned on. If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
+ Description: "The value to set for the cluster setting. The supported values are ``enhanced``, ``enabled``, and ``disabled``. \n To use Container Insights with enhanced observability, set the ``containerInsights`` account setting to ``enhanced``.\n To use Container Insights, set the ``containerInsights`` account setting to ``enabled``.\n If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
Optional: true,
Computed: true,
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
@@ -123,7 +123,7 @@ func clusterResource(ctx context.Context) (resource.Resource, error) {
}, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
}, /*END NESTED OBJECT*/
- Description: "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.",
+ Description: "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up. \n For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*.",
Optional: true,
Computed: true,
PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
diff --git a/internal/aws/ecs/cluster_singular_data_source_gen.go b/internal/aws/ecs/cluster_singular_data_source_gen.go
index ea2d03dc5..f613d3df0 100644
--- a/internal/aws/ecs/cluster_singular_data_source_gen.go
+++ b/internal/aws/ecs/cluster_singular_data_source_gen.go
@@ -64,17 +64,17 @@ func clusterDataSource(ctx context.Context) (datasource.DataSource, error) {
// CloudFormation resource type schema:
//
// {
- // "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.",
+ // "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up. \n For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*.",
// "items": {
// "additionalProperties": false,
- // "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.",
+ // "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up. \n For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*.",
// "properties": {
// "Name": {
// "description": "The name of the cluster setting. The value is ``containerInsights`` .",
// "type": "string"
// },
// "Value": {
- // "description": "The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled``. \n If you set ``name`` to ``containerInsights`` and ``value`` to ``enabled``, CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the ``containerInsights`` account setting is turned on. If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
+ // "description": "The value to set for the cluster setting. The supported values are ``enhanced``, ``enabled``, and ``disabled``. \n To use Container Insights with enhanced observability, set the ``containerInsights`` account setting to ``enhanced``.\n To use Container Insights, set the ``containerInsights`` account setting to ``enabled``.\n If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
// "type": "string"
// }
// },
@@ -92,12 +92,12 @@ func clusterDataSource(ctx context.Context) (datasource.DataSource, error) {
}, /*END ATTRIBUTE*/
// Property: Value
"value": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled``. \n If you set ``name`` to ``containerInsights`` and ``value`` to ``enabled``, CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the ``containerInsights`` account setting is turned on. If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
+ Description: "The value to set for the cluster setting. The supported values are ``enhanced``, ``enabled``, and ``disabled``. \n To use Container Insights with enhanced observability, set the ``containerInsights`` account setting to ``enhanced``.\n To use Container Insights, set the ``containerInsights`` account setting to ``enabled``.\n If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
Computed: true,
}, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
}, /*END NESTED OBJECT*/
- Description: "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.",
+ Description: "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up. \n For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*.",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: Configuration
diff --git a/internal/aws/efs/mount_target_resource_gen.go b/internal/aws/efs/mount_target_resource_gen.go
index 33343e1e1..c17899b74 100644
--- a/internal/aws/efs/mount_target_resource_gen.go
+++ b/internal/aws/efs/mount_target_resource_gen.go
@@ -73,7 +73,7 @@ func mountTargetResource(ctx context.Context) (resource.Resource, error) {
// CloudFormation resource type schema:
//
// {
- // "description": "Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.",
+ // "description": "VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see [Amazon VPC Quotas](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) in the *Amazon VPC User Guide* (see the *Security Groups* table).",
// "insertionOrder": false,
// "items": {
// "type": "string"
@@ -83,7 +83,7 @@ func mountTargetResource(ctx context.Context) (resource.Resource, error) {
// }
"security_groups": schema.SetAttribute{ /*START ATTRIBUTE*/
ElementType: types.StringType,
- Description: "Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.",
+ Description: "VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see [Amazon VPC Quotas](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) in the *Amazon VPC User Guide* (see the *Security Groups* table).",
Required: true,
}, /*END ATTRIBUTE*/
// Property: SubnetId
diff --git a/internal/aws/efs/mount_target_singular_data_source_gen.go b/internal/aws/efs/mount_target_singular_data_source_gen.go
index b588d2ab8..2fd37e767 100644
--- a/internal/aws/efs/mount_target_singular_data_source_gen.go
+++ b/internal/aws/efs/mount_target_singular_data_source_gen.go
@@ -60,7 +60,7 @@ func mountTargetDataSource(ctx context.Context) (datasource.DataSource, error) {
// CloudFormation resource type schema:
//
// {
- // "description": "Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.",
+ // "description": "VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see [Amazon VPC Quotas](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) in the *Amazon VPC User Guide* (see the *Security Groups* table).",
// "insertionOrder": false,
// "items": {
// "type": "string"
@@ -70,7 +70,7 @@ func mountTargetDataSource(ctx context.Context) (datasource.DataSource, error) {
// }
"security_groups": schema.SetAttribute{ /*START ATTRIBUTE*/
ElementType: types.StringType,
- Description: "Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified.",
+ Description: "VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see [Amazon VPC Quotas](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) in the *Amazon VPC User Guide* (see the *Security Groups* table).",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: SubnetId
diff --git a/internal/aws/emrcontainers/virtual_cluster_resource_gen.go b/internal/aws/emrcontainers/virtual_cluster_resource_gen.go
index 34b14f069..1c3b88873 100644
--- a/internal/aws/emrcontainers/virtual_cluster_resource_gen.go
+++ b/internal/aws/emrcontainers/virtual_cluster_resource_gen.go
@@ -172,6 +172,28 @@ func virtualClusterResource(ctx context.Context) (resource.Resource, error) {
stringplanmodifier.RequiresReplace(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: SecurityConfigurationId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The ID of the security configuration.",
+ // "maxLength": 64,
+ // "minLength": 1,
+ // "pattern": "[0-9a-z]+",
+ // "type": "string"
+ // }
+ "security_configuration_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ID of the security configuration.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(1, 64),
+ stringvalidator.RegexMatches(regexp.MustCompile("[0-9a-z]+"), ""),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: Tags
// CloudFormation resource type schema:
//
@@ -258,18 +280,19 @@ func virtualClusterResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithCloudFormationTypeName("AWS::EMRContainers::VirtualCluster").WithTerraformTypeName("awscc_emrcontainers_virtual_cluster")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "arn": "Arn",
- "container_provider": "ContainerProvider",
- "eks_info": "EksInfo",
- "id": "Id",
- "info": "Info",
- "key": "Key",
- "name": "Name",
- "namespace": "Namespace",
- "tags": "Tags",
- "type": "Type",
- "value": "Value",
- "virtual_cluster_id": "Id",
+ "arn": "Arn",
+ "container_provider": "ContainerProvider",
+ "eks_info": "EksInfo",
+ "id": "Id",
+ "info": "Info",
+ "key": "Key",
+ "name": "Name",
+ "namespace": "Namespace",
+ "security_configuration_id": "SecurityConfigurationId",
+ "tags": "Tags",
+ "type": "Type",
+ "value": "Value",
+ "virtual_cluster_id": "Id",
})
opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
diff --git a/internal/aws/emrcontainers/virtual_cluster_singular_data_source_gen.go b/internal/aws/emrcontainers/virtual_cluster_singular_data_source_gen.go
index 0e9d90b41..058f8a2e2 100644
--- a/internal/aws/emrcontainers/virtual_cluster_singular_data_source_gen.go
+++ b/internal/aws/emrcontainers/virtual_cluster_singular_data_source_gen.go
@@ -140,6 +140,20 @@ func virtualClusterDataSource(ctx context.Context) (datasource.DataSource, error
Description: "Name of the virtual cluster.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: SecurityConfigurationId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The ID of the security configuration.",
+ // "maxLength": 64,
+ // "minLength": 1,
+ // "pattern": "[0-9a-z]+",
+ // "type": "string"
+ // }
+ "security_configuration_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ID of the security configuration.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Tags
// CloudFormation resource type schema:
//
@@ -203,18 +217,19 @@ func virtualClusterDataSource(ctx context.Context) (datasource.DataSource, error
opts = opts.WithCloudFormationTypeName("AWS::EMRContainers::VirtualCluster").WithTerraformTypeName("awscc_emrcontainers_virtual_cluster")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "arn": "Arn",
- "container_provider": "ContainerProvider",
- "eks_info": "EksInfo",
- "id": "Id",
- "info": "Info",
- "key": "Key",
- "name": "Name",
- "namespace": "Namespace",
- "tags": "Tags",
- "type": "Type",
- "value": "Value",
- "virtual_cluster_id": "Id",
+ "arn": "Arn",
+ "container_provider": "ContainerProvider",
+ "eks_info": "EksInfo",
+ "id": "Id",
+ "info": "Info",
+ "key": "Key",
+ "name": "Name",
+ "namespace": "Namespace",
+ "security_configuration_id": "SecurityConfigurationId",
+ "tags": "Tags",
+ "type": "Type",
+ "value": "Value",
+ "virtual_cluster_id": "Id",
})
v, err := generic.NewSingularDataSource(ctx, opts...)
diff --git a/internal/aws/glue/crawler_resource_gen.go b/internal/aws/glue/crawler_resource_gen.go
index f01133375..b875317a1 100644
--- a/internal/aws/glue/crawler_resource_gen.go
+++ b/internal/aws/glue/crawler_resource_gen.go
@@ -418,6 +418,42 @@ func crawlerResource(ctx context.Context) (resource.Resource, error) {
// "type": "array",
// "uniqueItems": false
// },
+ // "HudiTargets": {
+ // "description": "Specifies Apache Hudi data store targets.",
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Specifies Apache Hudi data store targets.",
+ // "properties": {
+ // "ConnectionName": {
+ // "description": "The name of the connection to use to connect to the Hudi target.",
+ // "type": "string"
+ // },
+ // "Exclusions": {
+ // "description": "A list of global patterns used to exclude from the crawl.",
+ // "items": {
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // },
+ // "MaximumTraversalDepth": {
+ // "description": "The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time.",
+ // "type": "integer"
+ // },
+ // "Paths": {
+ // "description": "One or more Amazon S3 paths that contains Hudi metadata folders as s3://bucket/prefix .",
+ // "items": {
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // },
// "IcebergTargets": {
// "description": "Specifies Apache Iceberg data store targets.",
// "items": {
@@ -686,6 +722,57 @@ func crawlerResource(ctx context.Context) (resource.Resource, error) {
listplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: HudiTargets
+ "hudi_targets": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ConnectionName
+ "connection_name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The name of the connection to use to connect to the Hudi target.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Exclusions
+ "exclusions": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "A list of global patterns used to exclude from the crawl.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: MaximumTraversalDepth
+ "maximum_traversal_depth": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Paths
+ "paths": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "One or more Amazon S3 paths that contains Hudi metadata folders as s3://bucket/prefix .",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Specifies Apache Hudi data store targets.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: IcebergTargets
"iceberg_targets": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
@@ -930,6 +1017,7 @@ func crawlerResource(ctx context.Context) (resource.Resource, error) {
"enable_additional_metadata": "EnableAdditionalMetadata",
"event_queue_arn": "EventQueueArn",
"exclusions": "Exclusions",
+ "hudi_targets": "HudiTargets",
"iceberg_targets": "IcebergTargets",
"jdbc_targets": "JdbcTargets",
"lake_formation_configuration": "LakeFormationConfiguration",
diff --git a/internal/aws/glue/crawler_singular_data_source_gen.go b/internal/aws/glue/crawler_singular_data_source_gen.go
index a1587ba6e..92abc032d 100644
--- a/internal/aws/glue/crawler_singular_data_source_gen.go
+++ b/internal/aws/glue/crawler_singular_data_source_gen.go
@@ -339,6 +339,42 @@ func crawlerDataSource(ctx context.Context) (datasource.DataSource, error) {
// "type": "array",
// "uniqueItems": false
// },
+ // "HudiTargets": {
+ // "description": "Specifies Apache Hudi data store targets.",
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Specifies Apache Hudi data store targets.",
+ // "properties": {
+ // "ConnectionName": {
+ // "description": "The name of the connection to use to connect to the Hudi target.",
+ // "type": "string"
+ // },
+ // "Exclusions": {
+ // "description": "A list of global patterns used to exclude from the crawl.",
+ // "items": {
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // },
+ // "MaximumTraversalDepth": {
+ // "description": "The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time.",
+ // "type": "integer"
+ // },
+ // "Paths": {
+ // "description": "One or more Amazon S3 paths that contains Hudi metadata folders as s3://bucket/prefix .",
+ // "items": {
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // },
// "IcebergTargets": {
// "description": "Specifies Apache Iceberg data store targets.",
// "items": {
@@ -555,6 +591,37 @@ func crawlerDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "Specifies Amazon DynamoDB targets.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: HudiTargets
+ "hudi_targets": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ConnectionName
+ "connection_name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The name of the connection to use to connect to the Hudi target.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Exclusions
+ "exclusions": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "A list of global patterns used to exclude from the crawl.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: MaximumTraversalDepth
+ "maximum_traversal_depth": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Paths
+ "paths": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "One or more Amazon S3 paths that contains Hudi metadata folders as s3://bucket/prefix .",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Specifies Apache Hudi data store targets.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: IcebergTargets
"iceberg_targets": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
@@ -714,6 +781,7 @@ func crawlerDataSource(ctx context.Context) (datasource.DataSource, error) {
"enable_additional_metadata": "EnableAdditionalMetadata",
"event_queue_arn": "EventQueueArn",
"exclusions": "Exclusions",
+ "hudi_targets": "HudiTargets",
"iceberg_targets": "IcebergTargets",
"jdbc_targets": "JdbcTargets",
"lake_formation_configuration": "LakeFormationConfiguration",
diff --git a/internal/aws/groundstation/dataflow_endpoint_group_resource_gen.go b/internal/aws/groundstation/dataflow_endpoint_group_resource_gen.go
index c9a6ea592..998c42bce 100644
--- a/internal/aws/groundstation/dataflow_endpoint_group_resource_gen.go
+++ b/internal/aws/groundstation/dataflow_endpoint_group_resource_gen.go
@@ -59,6 +59,7 @@ func dataflowEndpointGroupResource(ctx context.Context) (resource.Resource, erro
Computed: true,
PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
int64planmodifier.UseStateForUnknown(),
+ int64planmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: ContactPrePassDurationSeconds
@@ -74,6 +75,7 @@ func dataflowEndpointGroupResource(ctx context.Context) (resource.Resource, erro
Computed: true,
PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
int64planmodifier.UseStateForUnknown(),
+ int64planmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: EndpointDetails
@@ -510,6 +512,9 @@ func dataflowEndpointGroupResource(ctx context.Context) (resource.Resource, erro
Validators: []validator.List{ /*START VALIDATORS*/
listvalidator.SizeAtLeast(1),
}, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.RequiresReplace(),
+ }, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: Id
// CloudFormation resource type schema:
diff --git a/internal/aws/groundstation/mission_profile_resource_gen.go b/internal/aws/groundstation/mission_profile_resource_gen.go
index b463c00b3..993848c1f 100644
--- a/internal/aws/groundstation/mission_profile_resource_gen.go
+++ b/internal/aws/groundstation/mission_profile_resource_gen.go
@@ -188,6 +188,11 @@ func missionProfileResource(ctx context.Context) (resource.Resource, error) {
// "required": [
// "KmsAliasArn"
// ]
+ // },
+ // {
+ // "required": [
+ // "KmsAliasName"
+ // ]
// }
// ],
// "properties": {
@@ -195,6 +200,10 @@ func missionProfileResource(ctx context.Context) (resource.Resource, error) {
// "pattern": "^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$",
// "type": "string"
// },
+ // "KmsAliasName": {
+ // "pattern": "^alias/[a-zA-Z0-9:/_-]+$",
+ // "type": "string"
+ // },
// "KmsKeyArn": {
// "pattern": "^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$",
// "type": "string"
@@ -215,6 +224,17 @@ func missionProfileResource(ctx context.Context) (resource.Resource, error) {
stringplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: KmsAliasName
+ "kms_alias_name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.RegexMatches(regexp.MustCompile("^alias/[a-zA-Z0-9:/_-]+$"), ""),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: KmsKeyArn
"kms_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
Optional: true,
@@ -350,6 +370,7 @@ func missionProfileResource(ctx context.Context) (resource.Resource, error) {
"destination": "Destination",
"key": "Key",
"kms_alias_arn": "KmsAliasArn",
+ "kms_alias_name": "KmsAliasName",
"kms_key_arn": "KmsKeyArn",
"minimum_viable_contact_duration_seconds": "MinimumViableContactDurationSeconds",
"mission_profile_id": "Id",
diff --git a/internal/aws/groundstation/mission_profile_singular_data_source_gen.go b/internal/aws/groundstation/mission_profile_singular_data_source_gen.go
index 4d42fd889..4de2406cc 100644
--- a/internal/aws/groundstation/mission_profile_singular_data_source_gen.go
+++ b/internal/aws/groundstation/mission_profile_singular_data_source_gen.go
@@ -147,6 +147,11 @@ func missionProfileDataSource(ctx context.Context) (datasource.DataSource, error
// "required": [
// "KmsAliasArn"
// ]
+ // },
+ // {
+ // "required": [
+ // "KmsAliasName"
+ // ]
// }
// ],
// "properties": {
@@ -154,6 +159,10 @@ func missionProfileDataSource(ctx context.Context) (datasource.DataSource, error
// "pattern": "^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$",
// "type": "string"
// },
+ // "KmsAliasName": {
+ // "pattern": "^alias/[a-zA-Z0-9:/_-]+$",
+ // "type": "string"
+ // },
// "KmsKeyArn": {
// "pattern": "^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$",
// "type": "string"
@@ -167,6 +176,10 @@ func missionProfileDataSource(ctx context.Context) (datasource.DataSource, error
"kms_alias_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: KmsAliasName
+ "kms_alias_name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: KmsKeyArn
"kms_key_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
Computed: true,
@@ -259,6 +272,7 @@ func missionProfileDataSource(ctx context.Context) (datasource.DataSource, error
"destination": "Destination",
"key": "Key",
"kms_alias_arn": "KmsAliasArn",
+ "kms_alias_name": "KmsAliasName",
"kms_key_arn": "KmsKeyArn",
"minimum_viable_contact_duration_seconds": "MinimumViableContactDurationSeconds",
"mission_profile_id": "Id",
diff --git a/internal/aws/iotsitewise/gateway_resource_gen.go b/internal/aws/iotsitewise/gateway_resource_gen.go
index d4736c08f..2dc48b86e 100644
--- a/internal/aws/iotsitewise/gateway_resource_gen.go
+++ b/internal/aws/iotsitewise/gateway_resource_gen.go
@@ -128,11 +128,6 @@ func gatewayResource(ctx context.Context) (resource.Resource, error) {
// "oneOf": [
// {
// "required": [
- // "Greengrass"
- // ]
- // },
- // {
- // "required": [
// "GreengrassV2"
// ]
// },
diff --git a/internal/aws/iotsitewise/gateway_singular_data_source_gen.go b/internal/aws/iotsitewise/gateway_singular_data_source_gen.go
index 3c9b751fc..e839a87f0 100644
--- a/internal/aws/iotsitewise/gateway_singular_data_source_gen.go
+++ b/internal/aws/iotsitewise/gateway_singular_data_source_gen.go
@@ -99,11 +99,6 @@ func gatewayDataSource(ctx context.Context) (datasource.DataSource, error) {
// "oneOf": [
// {
// "required": [
- // "Greengrass"
- // ]
- // },
- // {
- // "required": [
// "GreengrassV2"
// ]
// },
diff --git a/internal/aws/ivs/playback_key_pair_resource_gen.go b/internal/aws/ivs/playback_key_pair_resource_gen.go
index 859188245..dbb3be55c 100644
--- a/internal/aws/ivs/playback_key_pair_resource_gen.go
+++ b/internal/aws/ivs/playback_key_pair_resource_gen.go
@@ -117,7 +117,7 @@ func playbackKeyPairResource(ctx context.Context) (resource.Resource, error) {
// },
// "Value": {
// "maxLength": 256,
- // "minLength": 1,
+ // "minLength": 0,
// "type": "string"
// }
// },
@@ -151,7 +151,7 @@ func playbackKeyPairResource(ctx context.Context) (resource.Resource, error) {
Optional: true,
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
- stringvalidator.LengthBetween(1, 256),
+ stringvalidator.LengthBetween(0, 256),
fwvalidators.NotNullString(),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
diff --git a/internal/aws/ivs/playback_key_pair_singular_data_source_gen.go b/internal/aws/ivs/playback_key_pair_singular_data_source_gen.go
index 73996d9f8..a1619fa3d 100644
--- a/internal/aws/ivs/playback_key_pair_singular_data_source_gen.go
+++ b/internal/aws/ivs/playback_key_pair_singular_data_source_gen.go
@@ -88,7 +88,7 @@ func playbackKeyPairDataSource(ctx context.Context) (datasource.DataSource, erro
// },
// "Value": {
// "maxLength": 256,
- // "minLength": 1,
+ // "minLength": 0,
// "type": "string"
// }
// },
diff --git a/internal/aws/ivs/public_key_resource_gen.go b/internal/aws/ivs/public_key_resource_gen.go
index 2e591e55e..5ad4ba1dd 100644
--- a/internal/aws/ivs/public_key_resource_gen.go
+++ b/internal/aws/ivs/public_key_resource_gen.go
@@ -120,7 +120,7 @@ func publicKeyResource(ctx context.Context) (resource.Resource, error) {
// },
// "Value": {
// "maxLength": 256,
- // "minLength": 1,
+ // "minLength": 0,
// "type": "string"
// }
// },
@@ -154,7 +154,7 @@ func publicKeyResource(ctx context.Context) (resource.Resource, error) {
Optional: true,
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
- stringvalidator.LengthBetween(1, 256),
+ stringvalidator.LengthBetween(0, 256),
fwvalidators.NotNullString(),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
diff --git a/internal/aws/ivs/public_key_singular_data_source_gen.go b/internal/aws/ivs/public_key_singular_data_source_gen.go
index 531c8e7e8..2c90a31c3 100644
--- a/internal/aws/ivs/public_key_singular_data_source_gen.go
+++ b/internal/aws/ivs/public_key_singular_data_source_gen.go
@@ -89,7 +89,7 @@ func publicKeyDataSource(ctx context.Context) (datasource.DataSource, error) {
// },
// "Value": {
// "maxLength": 256,
- // "minLength": 1,
+ // "minLength": 0,
// "type": "string"
// }
// },
diff --git a/internal/aws/opensearchserverless/security_config_resource_gen.go b/internal/aws/opensearchserverless/security_config_resource_gen.go
index f4c9a9578..e59302da5 100644
--- a/internal/aws/opensearchserverless/security_config_resource_gen.go
+++ b/internal/aws/opensearchserverless/security_config_resource_gen.go
@@ -213,6 +213,13 @@ func securityConfigResource(ctx context.Context) (resource.Resource, error) {
// "pattern": "",
// "type": "string"
// },
+ // "OpenSearchServerlessEntityId": {
+ // "description": "Custom entity id attribute to override default entity id for this saml integration",
+ // "maxLength": 1024,
+ // "minLength": 1,
+ // "pattern": "^aws:opensearch:[0-9]{12}:*",
+ // "type": "string"
+ // },
// "SessionTimeout": {
// "description": "Defines the session timeout in minutes",
// "type": "integer"
@@ -258,6 +265,19 @@ func securityConfigResource(ctx context.Context) (resource.Resource, error) {
stringplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: OpenSearchServerlessEntityId
+ "open_search_serverless_entity_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Custom entity id attribute to override default entity id for this saml integration",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(1, 1024),
+ stringvalidator.RegexMatches(regexp.MustCompile("^aws:opensearch:[0-9]{12}:*"), ""),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: SessionTimeout
"session_timeout": schema.Int64Attribute{ /*START ATTRIBUTE*/
Description: "Defines the session timeout in minutes",
@@ -336,20 +356,21 @@ func securityConfigResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithCloudFormationTypeName("AWS::OpenSearchServerless::SecurityConfig").WithTerraformTypeName("awscc_opensearchserverless_security_config")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "application_arn": "ApplicationArn",
- "application_description": "ApplicationDescription",
- "application_name": "ApplicationName",
- "description": "Description",
- "group_attribute": "GroupAttribute",
- "iam_identity_center_options": "IamIdentityCenterOptions",
- "instance_arn": "InstanceArn",
- "metadata": "Metadata",
- "name": "Name",
- "saml_options": "SamlOptions",
- "security_config_id": "Id",
- "session_timeout": "SessionTimeout",
- "type": "Type",
- "user_attribute": "UserAttribute",
+ "application_arn": "ApplicationArn",
+ "application_description": "ApplicationDescription",
+ "application_name": "ApplicationName",
+ "description": "Description",
+ "group_attribute": "GroupAttribute",
+ "iam_identity_center_options": "IamIdentityCenterOptions",
+ "instance_arn": "InstanceArn",
+ "metadata": "Metadata",
+ "name": "Name",
+ "open_search_serverless_entity_id": "OpenSearchServerlessEntityId",
+ "saml_options": "SamlOptions",
+ "security_config_id": "Id",
+ "session_timeout": "SessionTimeout",
+ "type": "Type",
+ "user_attribute": "UserAttribute",
})
opts = opts.WithWriteOnlyPropertyPaths([]string{
diff --git a/internal/aws/opensearchserverless/security_config_singular_data_source_gen.go b/internal/aws/opensearchserverless/security_config_singular_data_source_gen.go
index d486e5b6b..e452398af 100644
--- a/internal/aws/opensearchserverless/security_config_singular_data_source_gen.go
+++ b/internal/aws/opensearchserverless/security_config_singular_data_source_gen.go
@@ -156,6 +156,13 @@ func securityConfigDataSource(ctx context.Context) (datasource.DataSource, error
// "pattern": "",
// "type": "string"
// },
+ // "OpenSearchServerlessEntityId": {
+ // "description": "Custom entity id attribute to override default entity id for this saml integration",
+ // "maxLength": 1024,
+ // "minLength": 1,
+ // "pattern": "^aws:opensearch:[0-9]{12}:*",
+ // "type": "string"
+ // },
// "SessionTimeout": {
// "description": "Defines the session timeout in minutes",
// "type": "integer"
@@ -185,6 +192,11 @@ func securityConfigDataSource(ctx context.Context) (datasource.DataSource, error
Description: "The XML saml provider metadata document that you want to use",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: OpenSearchServerlessEntityId
+ "open_search_serverless_entity_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Custom entity id attribute to override default entity id for this saml integration",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: SessionTimeout
"session_timeout": schema.Int64Attribute{ /*START ATTRIBUTE*/
Description: "Defines the session timeout in minutes",
@@ -231,20 +243,21 @@ func securityConfigDataSource(ctx context.Context) (datasource.DataSource, error
opts = opts.WithCloudFormationTypeName("AWS::OpenSearchServerless::SecurityConfig").WithTerraformTypeName("awscc_opensearchserverless_security_config")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "application_arn": "ApplicationArn",
- "application_description": "ApplicationDescription",
- "application_name": "ApplicationName",
- "description": "Description",
- "group_attribute": "GroupAttribute",
- "iam_identity_center_options": "IamIdentityCenterOptions",
- "instance_arn": "InstanceArn",
- "metadata": "Metadata",
- "name": "Name",
- "saml_options": "SamlOptions",
- "security_config_id": "Id",
- "session_timeout": "SessionTimeout",
- "type": "Type",
- "user_attribute": "UserAttribute",
+ "application_arn": "ApplicationArn",
+ "application_description": "ApplicationDescription",
+ "application_name": "ApplicationName",
+ "description": "Description",
+ "group_attribute": "GroupAttribute",
+ "iam_identity_center_options": "IamIdentityCenterOptions",
+ "instance_arn": "InstanceArn",
+ "metadata": "Metadata",
+ "name": "Name",
+ "open_search_serverless_entity_id": "OpenSearchServerlessEntityId",
+ "saml_options": "SamlOptions",
+ "security_config_id": "Id",
+ "session_timeout": "SessionTimeout",
+ "type": "Type",
+ "user_attribute": "UserAttribute",
})
v, err := generic.NewSingularDataSource(ctx, opts...)
diff --git a/internal/aws/rds/db_instance_resource_gen.go b/internal/aws/rds/db_instance_resource_gen.go
index 5aa5c3335..fb9d69767 100644
--- a/internal/aws/rds/db_instance_resource_gen.go
+++ b/internal/aws/rds/db_instance_resource_gen.go
@@ -71,6 +71,22 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) {
}, /*END PLAN MODIFIERS*/
// AllowMajorVersionUpgrade is a write-only property.
}, /*END ATTRIBUTE*/
+ // Property: ApplyImmediately
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "",
+ // "type": "boolean"
+ // }
+ "apply_immediately": schema.BoolAttribute{ /*START ATTRIBUTE*/
+ Description: "",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/
+ boolplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ // ApplyImmediately is a write-only property.
+ }, /*END ATTRIBUTE*/
// Property: AssociatedRoles
// CloudFormation resource type schema:
//
@@ -1621,6 +1637,7 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) {
"address": "Address",
"allocated_storage": "AllocatedStorage",
"allow_major_version_upgrade": "AllowMajorVersionUpgrade",
+ "apply_immediately": "ApplyImmediately",
"associated_roles": "AssociatedRoles",
"auto_minor_version_upgrade": "AutoMinorVersionUpgrade",
"automatic_backup_replication_kms_key_id": "AutomaticBackupReplicationKmsKeyId",
@@ -1727,6 +1744,7 @@ func dBInstanceResource(ctx context.Context) (resource.Resource, error) {
"/properties/TdeCredentialPassword",
"/properties/UseDefaultProcessorFeatures",
"/properties/UseLatestRestorableTime",
+ "/properties/ApplyImmediately",
})
opts = opts.WithCreateTimeoutInMinutes(2160).WithDeleteTimeoutInMinutes(2160)
diff --git a/internal/aws/rds/db_instance_singular_data_source_gen.go b/internal/aws/rds/db_instance_singular_data_source_gen.go
index 07ee5b5e6..9763ffa33 100644
--- a/internal/aws/rds/db_instance_singular_data_source_gen.go
+++ b/internal/aws/rds/db_instance_singular_data_source_gen.go
@@ -47,6 +47,17 @@ func dBInstanceDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.\n Constraints: Major version upgrades must be allowed when specifying a value for the ``EngineVersion`` parameter that is a different major version than the DB instance's current version.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: ApplyImmediately
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "",
+ // "type": "boolean"
+ // }
+ "apply_immediately": schema.BoolAttribute{ /*START ATTRIBUTE*/
+ Description: "",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: AssociatedRoles
// CloudFormation resource type schema:
//
@@ -1160,6 +1171,7 @@ func dBInstanceDataSource(ctx context.Context) (datasource.DataSource, error) {
"address": "Address",
"allocated_storage": "AllocatedStorage",
"allow_major_version_upgrade": "AllowMajorVersionUpgrade",
+ "apply_immediately": "ApplyImmediately",
"associated_roles": "AssociatedRoles",
"auto_minor_version_upgrade": "AutoMinorVersionUpgrade",
"automatic_backup_replication_kms_key_id": "AutomaticBackupReplicationKmsKeyId",
diff --git a/internal/aws/sagemaker/mlflow_tracking_server_resource_gen.go b/internal/aws/sagemaker/mlflow_tracking_server_resource_gen.go
index f68eee0e7..168b1028a 100644
--- a/internal/aws/sagemaker/mlflow_tracking_server_resource_gen.go
+++ b/internal/aws/sagemaker/mlflow_tracking_server_resource_gen.go
@@ -298,7 +298,7 @@ func mlflowTrackingServerResource(ctx context.Context) (resource.Resource, error
"weekly_maintenance_window_start": "WeeklyMaintenanceWindowStart",
})
- opts = opts.WithCreateTimeoutInMinutes(65).WithDeleteTimeoutInMinutes(65)
+ opts = opts.WithCreateTimeoutInMinutes(95).WithDeleteTimeoutInMinutes(95)
opts = opts.WithUpdateTimeoutInMinutes(65)
diff --git a/internal/aws/transfer/agreement_resource_gen.go b/internal/aws/transfer/agreement_resource_gen.go
index 0857863d6..8b874f3a3 100644
--- a/internal/aws/transfer/agreement_resource_gen.go
+++ b/internal/aws/transfer/agreement_resource_gen.go
@@ -120,6 +120,31 @@ func agreementResource(ctx context.Context) (resource.Resource, error) {
stringplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: EnforceMessageSigning
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies whether to enforce an AS2 message is signed for this agreement.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // }
+ "enforce_message_signing": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies whether to enforce an AS2 message is signed for this agreement.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "ENABLED",
+ "DISABLED",
+ ),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: LocalProfileId
// CloudFormation resource type schema:
//
@@ -156,6 +181,31 @@ func agreementResource(ctx context.Context) (resource.Resource, error) {
stringvalidator.RegexMatches(regexp.MustCompile("^p-([0-9a-f]{17})$"), ""),
}, /*END VALIDATORS*/
}, /*END ATTRIBUTE*/
+ // Property: PreserveFilename
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies whether to preserve the filename received for this agreement.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // }
+ "preserve_filename": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies whether to preserve the filename received for this agreement.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "ENABLED",
+ "DISABLED",
+ ),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: ServerId
// CloudFormation resource type schema:
//
@@ -298,18 +348,20 @@ func agreementResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithCloudFormationTypeName("AWS::Transfer::Agreement").WithTerraformTypeName("awscc_transfer_agreement")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "access_role": "AccessRole",
- "agreement_id": "AgreementId",
- "arn": "Arn",
- "base_directory": "BaseDirectory",
- "description": "Description",
- "key": "Key",
- "local_profile_id": "LocalProfileId",
- "partner_profile_id": "PartnerProfileId",
- "server_id": "ServerId",
- "status": "Status",
- "tags": "Tags",
- "value": "Value",
+ "access_role": "AccessRole",
+ "agreement_id": "AgreementId",
+ "arn": "Arn",
+ "base_directory": "BaseDirectory",
+ "description": "Description",
+ "enforce_message_signing": "EnforceMessageSigning",
+ "key": "Key",
+ "local_profile_id": "LocalProfileId",
+ "partner_profile_id": "PartnerProfileId",
+ "preserve_filename": "PreserveFilename",
+ "server_id": "ServerId",
+ "status": "Status",
+ "tags": "Tags",
+ "value": "Value",
})
opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
diff --git a/internal/aws/transfer/agreement_singular_data_source_gen.go b/internal/aws/transfer/agreement_singular_data_source_gen.go
index 914177555..f63f9d32e 100644
--- a/internal/aws/transfer/agreement_singular_data_source_gen.go
+++ b/internal/aws/transfer/agreement_singular_data_source_gen.go
@@ -91,6 +91,21 @@ func agreementDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "A textual description for the agreement.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: EnforceMessageSigning
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies whether to enforce an AS2 message is signed for this agreement.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // }
+ "enforce_message_signing": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies whether to enforce an AS2 message is signed for this agreement.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: LocalProfileId
// CloudFormation resource type schema:
//
@@ -119,6 +134,21 @@ func agreementDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "A unique identifier for the partner profile.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: PreserveFilename
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies whether to preserve the filename received for this agreement.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // }
+ "preserve_filename": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies whether to preserve the filename received for this agreement.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: ServerId
// CloudFormation resource type schema:
//
@@ -216,18 +246,20 @@ func agreementDataSource(ctx context.Context) (datasource.DataSource, error) {
opts = opts.WithCloudFormationTypeName("AWS::Transfer::Agreement").WithTerraformTypeName("awscc_transfer_agreement")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "access_role": "AccessRole",
- "agreement_id": "AgreementId",
- "arn": "Arn",
- "base_directory": "BaseDirectory",
- "description": "Description",
- "key": "Key",
- "local_profile_id": "LocalProfileId",
- "partner_profile_id": "PartnerProfileId",
- "server_id": "ServerId",
- "status": "Status",
- "tags": "Tags",
- "value": "Value",
+ "access_role": "AccessRole",
+ "agreement_id": "AgreementId",
+ "arn": "Arn",
+ "base_directory": "BaseDirectory",
+ "description": "Description",
+ "enforce_message_signing": "EnforceMessageSigning",
+ "key": "Key",
+ "local_profile_id": "LocalProfileId",
+ "partner_profile_id": "PartnerProfileId",
+ "preserve_filename": "PreserveFilename",
+ "server_id": "ServerId",
+ "status": "Status",
+ "tags": "Tags",
+ "value": "Value",
})
v, err := generic.NewSingularDataSource(ctx, opts...)
diff --git a/internal/aws/transfer/web_app_plural_data_source_gen.go b/internal/aws/transfer/web_app_plural_data_source_gen.go
new file mode 100644
index 000000000..3e6a26d6b
--- /dev/null
+++ b/internal/aws/transfer/web_app_plural_data_source_gen.go
@@ -0,0 +1,54 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/plural-data-source/main.go; DO NOT EDIT.
+
+package transfer
+
+import (
+ "context"
+
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-provider-awscc/internal/generic"
+ "github.com/hashicorp/terraform-provider-awscc/internal/registry"
+)
+
+func init() {
+ registry.AddDataSourceFactory("awscc_transfer_web_apps", webAppsDataSource)
+}
+
+// webAppsDataSource returns the Terraform awscc_transfer_web_apps data source.
+// This Terraform data source corresponds to the CloudFormation AWS::Transfer::WebApp resource.
+func webAppsDataSource(ctx context.Context) (datasource.DataSource, error) {
+ attributes := map[string]schema.Attribute{
+ "id": schema.StringAttribute{
+ Description: "Uniquely identifies the data source.",
+ Computed: true,
+ },
+ "ids": schema.SetAttribute{
+ Description: "Set of Resource Identifiers.",
+ ElementType: types.StringType,
+ Computed: true,
+ },
+ }
+
+ schema := schema.Schema{
+ Description: "Plural Data Source schema for AWS::Transfer::WebApp",
+ Attributes: attributes,
+ }
+
+ var opts generic.DataSourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Transfer::WebApp").WithTerraformTypeName("awscc_transfer_web_apps")
+ opts = opts.WithTerraformSchema(schema)
+
+ v, err := generic.NewPluralDataSource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/transfer/web_app_plural_data_source_gen_test.go b/internal/aws/transfer/web_app_plural_data_source_gen_test.go
new file mode 100644
index 000000000..b2b4f34a3
--- /dev/null
+++ b/internal/aws/transfer/web_app_plural_data_source_gen_test.go
@@ -0,0 +1,27 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/plural-data-source/main.go; DO NOT EDIT.
+
+package transfer_test
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSTransferWebAppsDataSource_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Transfer::WebApp", "awscc_transfer_web_apps", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyDataSourceConfig(),
+ Check: resource.ComposeTestCheckFunc(
+ resource.TestCheckResourceAttrSet(fmt.Sprintf("data.%s", td.ResourceName), "ids.#"),
+ ),
+ },
+ })
+}
diff --git a/internal/aws/transfer/web_app_resource_gen.go b/internal/aws/transfer/web_app_resource_gen.go
new file mode 100644
index 000000000..6ae0a5c92
--- /dev/null
+++ b/internal/aws/transfer/web_app_resource_gen.go
@@ -0,0 +1,385 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/resource/main.go; DO NOT EDIT.
+
+package transfer
+
+import (
+ "context"
+ "regexp"
+
+ "github.com/hashicorp/terraform-plugin-framework-validators/int64validator"
+ "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator"
+ "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
+ "github.com/hashicorp/terraform-plugin-framework/resource"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/objectplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/schema/validator"
+ "github.com/hashicorp/terraform-provider-awscc/internal/generic"
+ "github.com/hashicorp/terraform-provider-awscc/internal/registry"
+ fwvalidators "github.com/hashicorp/terraform-provider-awscc/internal/validators"
+)
+
+func init() {
+ registry.AddResourceFactory("awscc_transfer_web_app", webAppResource)
+}
+
+// webAppResource returns the Terraform awscc_transfer_web_app resource.
+// This Terraform resource corresponds to the CloudFormation AWS::Transfer::WebApp resource.
+func webAppResource(ctx context.Context) (resource.Resource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AccessEndpoint
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.",
+ // "maxLength": 1024,
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ "access_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(1, 1024),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Arn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies the unique Amazon Resource Name (ARN) for the web app.",
+ // "maxLength": 1600,
+ // "minLength": 20,
+ // "pattern": "arn:.*",
+ // "type": "string"
+ // }
+ "arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies the unique Amazon Resource Name (ARN) for the web app.",
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: IdentityProviderDetails
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "You can provide a structure that contains the details for the identity provider to use with your web app.",
+ // "properties": {
+ // "ApplicationArn": {
+ // "maxLength": 1224,
+ // "minLength": 10,
+ // "pattern": "^arn:[\\w-]+:sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$",
+ // "type": "string"
+ // },
+ // "InstanceArn": {
+ // "description": "The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.",
+ // "maxLength": 1224,
+ // "minLength": 10,
+ // "pattern": "^arn:[\\w-]+:sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$",
+ // "type": "string"
+ // },
+ // "Role": {
+ // "description": "The IAM role in IAM Identity Center used for the web app.",
+ // "maxLength": 2048,
+ // "minLength": 20,
+ // "pattern": "^arn:[a-z-]+:iam::[0-9]{12}:role[:/]\\S+$",
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "identity_provider_details": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ApplicationArn
+ "application_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: InstanceArn
+ "instance_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(10, 1224),
+ stringvalidator.RegexMatches(regexp.MustCompile("^arn:[\\w-]+:sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$"), ""),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Role
+ "role": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The IAM role in IAM Identity Center used for the web app.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(20, 2048),
+ stringvalidator.RegexMatches(regexp.MustCompile("^arn:[a-z-]+:iam::[0-9]{12}:role[:/]\\S+$"), ""),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "You can provide a structure that contains the details for the identity provider to use with your web app.",
+ Required: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Tags
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Key-value pairs that can be used to group and search for web apps.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Key-value pair that can be used to group and search for web apps.",
+ // "properties": {
+ // "Key": {
+ // "maxLength": 128,
+ // "minLength": 0,
+ // "type": "string"
+ // },
+ // "Value": {
+ // "maxLength": 256,
+ // "minLength": 0,
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Key",
+ // "Value"
+ // ],
+ // "type": "object"
+ // },
+ // "maxItems": 50,
+ // "type": "array"
+ // }
+ "tags": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Key
+ "key": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(0, 128),
+ fwvalidators.NotNullString(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Value
+ "value": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(0, 256),
+ fwvalidators.NotNullString(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Key-value pairs that can be used to group and search for web apps.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.List{ /*START VALIDATORS*/
+ listvalidator.SizeAtMost(50),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ generic.Multiset(),
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: WebAppCustomization
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "properties": {
+ // "FaviconFile": {
+ // "description": "Specifies a favicon to display in the browser tab.",
+ // "maxLength": 20960,
+ // "minLength": 1,
+ // "type": "string"
+ // },
+ // "LogoFile": {
+ // "description": "Specifies a logo to display on the web app.",
+ // "maxLength": 51200,
+ // "minLength": 1,
+ // "type": "string"
+ // },
+ // "Title": {
+ // "description": "Specifies a title to display on the web app.",
+ // "maxLength": 100,
+ // "minLength": 0,
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "web_app_customization": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: FaviconFile
+ "favicon_file": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies a favicon to display in the browser tab.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(1, 20960),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: LogoFile
+ "logo_file": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies a logo to display on the web app.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(1, 51200),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Title
+ "title": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies a title to display on the web app.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(0, 100),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: WebAppId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "A unique identifier for the web app.",
+ // "maxLength": 24,
+ // "minLength": 24,
+ // "pattern": "^webapp-([0-9a-f]{17})$",
+ // "type": "string"
+ // }
+ "web_app_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "A unique identifier for the web app.",
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: WebAppUnits
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "properties": {
+ // "Provisioned": {
+ // "minimum": 1,
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "web_app_units": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Provisioned
+ "provisioned": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Int64{ /*START VALIDATORS*/
+ int64validator.AtLeast(1),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ } /*END SCHEMA*/
+
+ // Corresponds to CloudFormation primaryIdentifier.
+ attributes["id"] = schema.StringAttribute{
+ Description: "Uniquely identifies the resource.",
+ Computed: true,
+ PlanModifiers: []planmodifier.String{
+ stringplanmodifier.UseStateForUnknown(),
+ },
+ }
+
+ schema := schema.Schema{
+ Description: "Resource Type definition for AWS::Transfer::WebApp",
+ Version: 1,
+ Attributes: attributes,
+ }
+
+ var opts generic.ResourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Transfer::WebApp").WithTerraformTypeName("awscc_transfer_web_app")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "access_endpoint": "AccessEndpoint",
+ "application_arn": "ApplicationArn",
+ "arn": "Arn",
+ "favicon_file": "FaviconFile",
+ "identity_provider_details": "IdentityProviderDetails",
+ "instance_arn": "InstanceArn",
+ "key": "Key",
+ "logo_file": "LogoFile",
+ "provisioned": "Provisioned",
+ "role": "Role",
+ "tags": "Tags",
+ "title": "Title",
+ "value": "Value",
+ "web_app_customization": "WebAppCustomization",
+ "web_app_id": "WebAppId",
+ "web_app_units": "WebAppUnits",
+ })
+
+ opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
+
+ opts = opts.WithUpdateTimeoutInMinutes(0)
+
+ v, err := generic.NewResource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/transfer/web_app_resource_gen_test.go b/internal/aws/transfer/web_app_resource_gen_test.go
new file mode 100644
index 000000000..3a63a03e8
--- /dev/null
+++ b/internal/aws/transfer/web_app_resource_gen_test.go
@@ -0,0 +1,25 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/resource/main.go; DO NOT EDIT.
+
+package transfer_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSTransferWebApp_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Transfer::WebApp", "awscc_transfer_web_app", "test")
+
+ td.ResourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
diff --git a/internal/aws/transfer/web_app_singular_data_source_gen.go b/internal/aws/transfer/web_app_singular_data_source_gen.go
new file mode 100644
index 000000000..40d346472
--- /dev/null
+++ b/internal/aws/transfer/web_app_singular_data_source_gen.go
@@ -0,0 +1,272 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
+
+package transfer
+
+import (
+ "context"
+
+ "github.com/hashicorp/terraform-plugin-framework/datasource"
+ "github.com/hashicorp/terraform-plugin-framework/datasource/schema"
+ "github.com/hashicorp/terraform-provider-awscc/internal/generic"
+ "github.com/hashicorp/terraform-provider-awscc/internal/registry"
+)
+
+func init() {
+ registry.AddDataSourceFactory("awscc_transfer_web_app", webAppDataSource)
+}
+
+// webAppDataSource returns the Terraform awscc_transfer_web_app data source.
+// This Terraform data source corresponds to the CloudFormation AWS::Transfer::WebApp resource.
+func webAppDataSource(ctx context.Context) (datasource.DataSource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AccessEndpoint
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.",
+ // "maxLength": 1024,
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ "access_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Arn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Specifies the unique Amazon Resource Name (ARN) for the web app.",
+ // "maxLength": 1600,
+ // "minLength": 20,
+ // "pattern": "arn:.*",
+ // "type": "string"
+ // }
+ "arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies the unique Amazon Resource Name (ARN) for the web app.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: IdentityProviderDetails
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "You can provide a structure that contains the details for the identity provider to use with your web app.",
+ // "properties": {
+ // "ApplicationArn": {
+ // "maxLength": 1224,
+ // "minLength": 10,
+ // "pattern": "^arn:[\\w-]+:sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$",
+ // "type": "string"
+ // },
+ // "InstanceArn": {
+ // "description": "The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.",
+ // "maxLength": 1224,
+ // "minLength": 10,
+ // "pattern": "^arn:[\\w-]+:sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$",
+ // "type": "string"
+ // },
+ // "Role": {
+ // "description": "The IAM role in IAM Identity Center used for the web app.",
+ // "maxLength": 2048,
+ // "minLength": 20,
+ // "pattern": "^arn:[a-z-]+:iam::[0-9]{12}:role[:/]\\S+$",
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "identity_provider_details": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ApplicationArn
+ "application_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: InstanceArn
+ "instance_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Role
+ "role": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The IAM role in IAM Identity Center used for the web app.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "You can provide a structure that contains the details for the identity provider to use with your web app.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Tags
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Key-value pairs that can be used to group and search for web apps.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Key-value pair that can be used to group and search for web apps.",
+ // "properties": {
+ // "Key": {
+ // "maxLength": 128,
+ // "minLength": 0,
+ // "type": "string"
+ // },
+ // "Value": {
+ // "maxLength": 256,
+ // "minLength": 0,
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Key",
+ // "Value"
+ // ],
+ // "type": "object"
+ // },
+ // "maxItems": 50,
+ // "type": "array"
+ // }
+ "tags": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Key
+ "key": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Value
+ "value": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Key-value pairs that can be used to group and search for web apps.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: WebAppCustomization
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "properties": {
+ // "FaviconFile": {
+ // "description": "Specifies a favicon to display in the browser tab.",
+ // "maxLength": 20960,
+ // "minLength": 1,
+ // "type": "string"
+ // },
+ // "LogoFile": {
+ // "description": "Specifies a logo to display on the web app.",
+ // "maxLength": 51200,
+ // "minLength": 1,
+ // "type": "string"
+ // },
+ // "Title": {
+ // "description": "Specifies a title to display on the web app.",
+ // "maxLength": 100,
+ // "minLength": 0,
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "web_app_customization": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: FaviconFile
+ "favicon_file": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies a favicon to display in the browser tab.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: LogoFile
+ "logo_file": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies a logo to display on the web app.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Title
+ "title": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Specifies a title to display on the web app.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: WebAppId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "A unique identifier for the web app.",
+ // "maxLength": 24,
+ // "minLength": 24,
+ // "pattern": "^webapp-([0-9a-f]{17})$",
+ // "type": "string"
+ // }
+ "web_app_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "A unique identifier for the web app.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: WebAppUnits
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "properties": {
+ // "Provisioned": {
+ // "minimum": 1,
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "web_app_units": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Provisioned
+ "provisioned": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ } /*END SCHEMA*/
+
+ attributes["id"] = schema.StringAttribute{
+ Description: "Uniquely identifies the resource.",
+ Required: true,
+ }
+
+ schema := schema.Schema{
+ Description: "Data Source schema for AWS::Transfer::WebApp",
+ Attributes: attributes,
+ }
+
+ var opts generic.DataSourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Transfer::WebApp").WithTerraformTypeName("awscc_transfer_web_app")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "access_endpoint": "AccessEndpoint",
+ "application_arn": "ApplicationArn",
+ "arn": "Arn",
+ "favicon_file": "FaviconFile",
+ "identity_provider_details": "IdentityProviderDetails",
+ "instance_arn": "InstanceArn",
+ "key": "Key",
+ "logo_file": "LogoFile",
+ "provisioned": "Provisioned",
+ "role": "Role",
+ "tags": "Tags",
+ "title": "Title",
+ "value": "Value",
+ "web_app_customization": "WebAppCustomization",
+ "web_app_id": "WebAppId",
+ "web_app_units": "WebAppUnits",
+ })
+
+ v, err := generic.NewSingularDataSource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/transfer/web_app_singular_data_source_gen_test.go b/internal/aws/transfer/web_app_singular_data_source_gen_test.go
new file mode 100644
index 000000000..927075665
--- /dev/null
+++ b/internal/aws/transfer/web_app_singular_data_source_gen_test.go
@@ -0,0 +1,36 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
+
+package transfer_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSTransferWebAppDataSource_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Transfer::WebApp", "awscc_transfer_web_app", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyDataSourceConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
+
+func TestAccAWSTransferWebAppDataSource_NonExistent(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Transfer::WebApp", "awscc_transfer_web_app", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.DataSourceWithNonExistentIDConfig(),
+ ExpectError: regexp.MustCompile("Not Found"),
+ },
+ })
+}
diff --git a/internal/provider/all_schemas.hcl b/internal/provider/all_schemas.hcl
index ada0037bd..d230b684a 100644
--- a/internal/provider/all_schemas.hcl
+++ b/internal/provider/all_schemas.hcl
@@ -10,7 +10,7 @@ meta_schema {
path = "../service/cloudformation/meta-schemas/provider.definition.schema.v1.json"
}
-# 1129 CloudFormation resource types schemas are available for use with the Cloud Control API.
+# 1133 CloudFormation resource types schemas are available for use with the Cloud Control API.
resource_schema "aws_acmpca_certificate" {
cloudformation_type_name = "AWS::ACMPCA::Certificate"
@@ -1016,6 +1016,11 @@ resource_schema "aws_cognito_user_pool_client" {
suppress_plural_data_source_generation = true
}
+resource_schema "aws_cognito_user_pool_domain" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolDomain"
+ suppress_plural_data_source_generation = true
+}
+
resource_schema "aws_cognito_user_pool_group" {
cloudformation_type_name = "AWS::Cognito::UserPoolGroup"
suppress_plural_data_source_generation = true
@@ -1103,6 +1108,11 @@ resource_schema "aws_connect_contact_flow_module" {
suppress_plural_data_source_generation = true
}
+resource_schema "aws_connect_contact_flow_version" {
+ cloudformation_type_name = "AWS::Connect::ContactFlowVersion"
+ suppress_plural_data_source_generation = true
+}
+
resource_schema "aws_connect_email_address" {
cloudformation_type_name = "AWS::Connect::EmailAddress"
suppress_plural_data_source_generation = true
@@ -4900,6 +4910,10 @@ resource_schema "aws_transfer_user" {
suppress_singular_data_source_generation = true
}
+resource_schema "aws_transfer_web_app" {
+ cloudformation_type_name = "AWS::Transfer::WebApp"
+}
+
resource_schema "aws_transfer_workflow" {
cloudformation_type_name = "AWS::Transfer::Workflow"
}
diff --git a/internal/provider/generators/allschemas/available_schemas.2025-02-14.hcl b/internal/provider/generators/allschemas/available_schemas.2025-02-14.hcl
new file mode 100644
index 000000000..6de16a068
--- /dev/null
+++ b/internal/provider/generators/allschemas/available_schemas.2025-02-14.hcl
@@ -0,0 +1,4859 @@
+# 1142 CloudFormation resource types schemas are available for use with the Cloud Control API.
+
+resource_schema "aws_acmpca_certificate" {
+ cloudformation_type_name = "AWS::ACMPCA::Certificate"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_acmpca_certificate_authority" {
+ cloudformation_type_name = "AWS::ACMPCA::CertificateAuthority"
+}
+
+resource_schema "aws_acmpca_certificate_authority_activation" {
+ cloudformation_type_name = "AWS::ACMPCA::CertificateAuthorityActivation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_acmpca_permission" {
+ cloudformation_type_name = "AWS::ACMPCA::Permission"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_aps_rule_groups_namespace" {
+ cloudformation_type_name = "AWS::APS::RuleGroupsNamespace"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_aps_scraper" {
+ cloudformation_type_name = "AWS::APS::Scraper"
+}
+
+resource_schema "aws_aps_workspace" {
+ cloudformation_type_name = "AWS::APS::Workspace"
+}
+
+resource_schema "aws_arczonalshift_autoshift_observer_notification_status" {
+ cloudformation_type_name = "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus"
+}
+
+resource_schema "aws_arczonalshift_zonal_autoshift_configuration" {
+ cloudformation_type_name = "AWS::ARCZonalShift::ZonalAutoshiftConfiguration"
+}
+
+resource_schema "aws_accessanalyzer_analyzer" {
+ cloudformation_type_name = "AWS::AccessAnalyzer::Analyzer"
+}
+
+resource_schema "aws_amazonmq_configuration" {
+ cloudformation_type_name = "AWS::AmazonMQ::Configuration"
+}
+
+resource_schema "aws_amplify_app" {
+ cloudformation_type_name = "AWS::Amplify::App"
+}
+
+resource_schema "aws_amplify_branch" {
+ cloudformation_type_name = "AWS::Amplify::Branch"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_amplify_domain" {
+ cloudformation_type_name = "AWS::Amplify::Domain"
+}
+
+resource_schema "aws_amplifyuibuilder_component" {
+ cloudformation_type_name = "AWS::AmplifyUIBuilder::Component"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_amplifyuibuilder_form" {
+ cloudformation_type_name = "AWS::AmplifyUIBuilder::Form"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_amplifyuibuilder_theme" {
+ cloudformation_type_name = "AWS::AmplifyUIBuilder::Theme"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_account" {
+ cloudformation_type_name = "AWS::ApiGateway::Account"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_api_key" {
+ cloudformation_type_name = "AWS::ApiGateway::ApiKey"
+}
+
+resource_schema "aws_apigateway_authorizer" {
+ cloudformation_type_name = "AWS::ApiGateway::Authorizer"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_base_path_mapping" {
+ cloudformation_type_name = "AWS::ApiGateway::BasePathMapping"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_base_path_mapping_v2" {
+ cloudformation_type_name = "AWS::ApiGateway::BasePathMappingV2"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_client_certificate" {
+ cloudformation_type_name = "AWS::ApiGateway::ClientCertificate"
+}
+
+resource_schema "aws_apigateway_deployment" {
+ cloudformation_type_name = "AWS::ApiGateway::Deployment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_documentation_part" {
+ cloudformation_type_name = "AWS::ApiGateway::DocumentationPart"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_documentation_version" {
+ cloudformation_type_name = "AWS::ApiGateway::DocumentationVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_domain_name" {
+ cloudformation_type_name = "AWS::ApiGateway::DomainName"
+}
+
+resource_schema "aws_apigateway_domain_name_access_association" {
+ cloudformation_type_name = "AWS::ApiGateway::DomainNameAccessAssociation"
+}
+
+resource_schema "aws_apigateway_domain_name_v2" {
+ cloudformation_type_name = "AWS::ApiGateway::DomainNameV2"
+}
+
+resource_schema "aws_apigateway_gateway_response" {
+ cloudformation_type_name = "AWS::ApiGateway::GatewayResponse"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_method" {
+ cloudformation_type_name = "AWS::ApiGateway::Method"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_model" {
+ cloudformation_type_name = "AWS::ApiGateway::Model"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_request_validator" {
+ cloudformation_type_name = "AWS::ApiGateway::RequestValidator"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_resource" {
+ cloudformation_type_name = "AWS::ApiGateway::Resource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_rest_api" {
+ cloudformation_type_name = "AWS::ApiGateway::RestApi"
+}
+
+resource_schema "aws_apigateway_stage" {
+ cloudformation_type_name = "AWS::ApiGateway::Stage"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_usage_plan" {
+ cloudformation_type_name = "AWS::ApiGateway::UsagePlan"
+}
+
+resource_schema "aws_apigateway_usage_plan_key" {
+ cloudformation_type_name = "AWS::ApiGateway::UsagePlanKey"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigateway_vpc_link" {
+ cloudformation_type_name = "AWS::ApiGateway::VpcLink"
+}
+
+resource_schema "aws_apigatewayv2_api" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::Api"
+}
+
+resource_schema "aws_apigatewayv2_api_mapping" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::ApiMapping"
+}
+
+resource_schema "aws_apigatewayv2_authorizer" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::Authorizer"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigatewayv2_deployment" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::Deployment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigatewayv2_domain_name" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::DomainName"
+}
+
+resource_schema "aws_apigatewayv2_integration" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::Integration"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigatewayv2_integration_response" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::IntegrationResponse"
+}
+
+resource_schema "aws_apigatewayv2_model" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::Model"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigatewayv2_route" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::Route"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apigatewayv2_route_response" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::RouteResponse"
+}
+
+resource_schema "aws_apigatewayv2_vpc_link" {
+ cloudformation_type_name = "AWS::ApiGatewayV2::VpcLink"
+}
+
+resource_schema "aws_appconfig_application" {
+ cloudformation_type_name = "AWS::AppConfig::Application"
+}
+
+resource_schema "aws_appconfig_configuration_profile" {
+ cloudformation_type_name = "AWS::AppConfig::ConfigurationProfile"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appconfig_deployment" {
+ cloudformation_type_name = "AWS::AppConfig::Deployment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appconfig_deployment_strategy" {
+ cloudformation_type_name = "AWS::AppConfig::DeploymentStrategy"
+}
+
+resource_schema "aws_appconfig_environment" {
+ cloudformation_type_name = "AWS::AppConfig::Environment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appconfig_extension" {
+ cloudformation_type_name = "AWS::AppConfig::Extension"
+}
+
+resource_schema "aws_appconfig_extension_association" {
+ cloudformation_type_name = "AWS::AppConfig::ExtensionAssociation"
+}
+
+resource_schema "aws_appconfig_hosted_configuration_version" {
+ cloudformation_type_name = "AWS::AppConfig::HostedConfigurationVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appflow_connector" {
+ cloudformation_type_name = "AWS::AppFlow::Connector"
+}
+
+resource_schema "aws_appflow_connector_profile" {
+ cloudformation_type_name = "AWS::AppFlow::ConnectorProfile"
+}
+
+resource_schema "aws_appflow_flow" {
+ cloudformation_type_name = "AWS::AppFlow::Flow"
+}
+
+resource_schema "aws_appintegrations_application" {
+ cloudformation_type_name = "AWS::AppIntegrations::Application"
+}
+
+resource_schema "aws_appintegrations_data_integration" {
+ cloudformation_type_name = "AWS::AppIntegrations::DataIntegration"
+}
+
+resource_schema "aws_appintegrations_event_integration" {
+ cloudformation_type_name = "AWS::AppIntegrations::EventIntegration"
+}
+
+resource_schema "aws_apprunner_auto_scaling_configuration" {
+ cloudformation_type_name = "AWS::AppRunner::AutoScalingConfiguration"
+}
+
+resource_schema "aws_apprunner_observability_configuration" {
+ cloudformation_type_name = "AWS::AppRunner::ObservabilityConfiguration"
+}
+
+resource_schema "aws_apprunner_service" {
+ cloudformation_type_name = "AWS::AppRunner::Service"
+}
+
+resource_schema "aws_apprunner_vpc_connector" {
+ cloudformation_type_name = "AWS::AppRunner::VpcConnector"
+}
+
+resource_schema "aws_apprunner_vpc_ingress_connection" {
+ cloudformation_type_name = "AWS::AppRunner::VpcIngressConnection"
+}
+
+resource_schema "aws_appstream_app_block" {
+ cloudformation_type_name = "AWS::AppStream::AppBlock"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appstream_app_block_builder" {
+ cloudformation_type_name = "AWS::AppStream::AppBlockBuilder"
+}
+
+resource_schema "aws_appstream_application" {
+ cloudformation_type_name = "AWS::AppStream::Application"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appstream_application_entitlement_association" {
+ cloudformation_type_name = "AWS::AppStream::ApplicationEntitlementAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appstream_application_fleet_association" {
+ cloudformation_type_name = "AWS::AppStream::ApplicationFleetAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appstream_directory_config" {
+ cloudformation_type_name = "AWS::AppStream::DirectoryConfig"
+}
+
+resource_schema "aws_appstream_entitlement" {
+ cloudformation_type_name = "AWS::AppStream::Entitlement"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appstream_image_builder" {
+ cloudformation_type_name = "AWS::AppStream::ImageBuilder"
+}
+
+resource_schema "aws_appsync_api" {
+ cloudformation_type_name = "AWS::AppSync::Api"
+}
+
+resource_schema "aws_appsync_channel_namespace" {
+ cloudformation_type_name = "AWS::AppSync::ChannelNamespace"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appsync_data_source" {
+ cloudformation_type_name = "AWS::AppSync::DataSource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appsync_domain_name" {
+ cloudformation_type_name = "AWS::AppSync::DomainName"
+}
+
+resource_schema "aws_appsync_domain_name_api_association" {
+ cloudformation_type_name = "AWS::AppSync::DomainNameApiAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appsync_function_configuration" {
+ cloudformation_type_name = "AWS::AppSync::FunctionConfiguration"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appsync_graph_ql_api" {
+ cloudformation_type_name = "AWS::AppSync::GraphQLApi"
+}
+
+resource_schema "aws_appsync_resolver" {
+ cloudformation_type_name = "AWS::AppSync::Resolver"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_appsync_source_api_association" {
+ cloudformation_type_name = "AWS::AppSync::SourceApiAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_apptest_test_case" {
+ cloudformation_type_name = "AWS::AppTest::TestCase"
+}
+
+resource_schema "aws_applicationautoscaling_scalable_target" {
+ cloudformation_type_name = "AWS::ApplicationAutoScaling::ScalableTarget"
+}
+
+resource_schema "aws_applicationautoscaling_scaling_policy" {
+ cloudformation_type_name = "AWS::ApplicationAutoScaling::ScalingPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_applicationinsights_application" {
+ cloudformation_type_name = "AWS::ApplicationInsights::Application"
+}
+
+resource_schema "aws_applicationsignals_service_level_objective" {
+ cloudformation_type_name = "AWS::ApplicationSignals::ServiceLevelObjective"
+}
+
+resource_schema "aws_athena_capacity_reservation" {
+ cloudformation_type_name = "AWS::Athena::CapacityReservation"
+}
+
+resource_schema "aws_athena_data_catalog" {
+ cloudformation_type_name = "AWS::Athena::DataCatalog"
+}
+
+resource_schema "aws_athena_named_query" {
+ cloudformation_type_name = "AWS::Athena::NamedQuery"
+}
+
+resource_schema "aws_athena_prepared_statement" {
+ cloudformation_type_name = "AWS::Athena::PreparedStatement"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_athena_work_group" {
+ cloudformation_type_name = "AWS::Athena::WorkGroup"
+}
+
+resource_schema "aws_auditmanager_assessment" {
+ cloudformation_type_name = "AWS::AuditManager::Assessment"
+}
+
+resource_schema "aws_autoscaling_auto_scaling_group" {
+ cloudformation_type_name = "AWS::AutoScaling::AutoScalingGroup"
+}
+
+resource_schema "aws_autoscaling_launch_configuration" {
+ cloudformation_type_name = "AWS::AutoScaling::LaunchConfiguration"
+}
+
+resource_schema "aws_autoscaling_lifecycle_hook" {
+ cloudformation_type_name = "AWS::AutoScaling::LifecycleHook"
+}
+
+resource_schema "aws_autoscaling_scaling_policy" {
+ cloudformation_type_name = "AWS::AutoScaling::ScalingPolicy"
+}
+
+resource_schema "aws_autoscaling_scheduled_action" {
+ cloudformation_type_name = "AWS::AutoScaling::ScheduledAction"
+}
+
+resource_schema "aws_autoscaling_warm_pool" {
+ cloudformation_type_name = "AWS::AutoScaling::WarmPool"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_b2bi_capability" {
+ cloudformation_type_name = "AWS::B2BI::Capability"
+}
+
+resource_schema "aws_b2bi_partnership" {
+ cloudformation_type_name = "AWS::B2BI::Partnership"
+}
+
+resource_schema "aws_b2bi_profile" {
+ cloudformation_type_name = "AWS::B2BI::Profile"
+}
+
+resource_schema "aws_b2bi_transformer" {
+ cloudformation_type_name = "AWS::B2BI::Transformer"
+}
+
+resource_schema "aws_bcmdataexports_export" {
+ cloudformation_type_name = "AWS::BCMDataExports::Export"
+}
+
+resource_schema "aws_backup_backup_plan" {
+ cloudformation_type_name = "AWS::Backup::BackupPlan"
+}
+
+resource_schema "aws_backup_backup_selection" {
+ cloudformation_type_name = "AWS::Backup::BackupSelection"
+}
+
+resource_schema "aws_backup_backup_vault" {
+ cloudformation_type_name = "AWS::Backup::BackupVault"
+}
+
+resource_schema "aws_backup_framework" {
+ cloudformation_type_name = "AWS::Backup::Framework"
+}
+
+resource_schema "aws_backup_logically_air_gapped_backup_vault" {
+ cloudformation_type_name = "AWS::Backup::LogicallyAirGappedBackupVault"
+}
+
+resource_schema "aws_backup_report_plan" {
+ cloudformation_type_name = "AWS::Backup::ReportPlan"
+}
+
+resource_schema "aws_backup_restore_testing_plan" {
+ cloudformation_type_name = "AWS::Backup::RestoreTestingPlan"
+}
+
+resource_schema "aws_backup_restore_testing_selection" {
+ cloudformation_type_name = "AWS::Backup::RestoreTestingSelection"
+}
+
+resource_schema "aws_backupgateway_hypervisor" {
+ cloudformation_type_name = "AWS::BackupGateway::Hypervisor"
+}
+
+resource_schema "aws_batch_compute_environment" {
+ cloudformation_type_name = "AWS::Batch::ComputeEnvironment"
+}
+
+resource_schema "aws_batch_job_definition" {
+ cloudformation_type_name = "AWS::Batch::JobDefinition"
+}
+
+resource_schema "aws_batch_job_queue" {
+ cloudformation_type_name = "AWS::Batch::JobQueue"
+}
+
+resource_schema "aws_batch_scheduling_policy" {
+ cloudformation_type_name = "AWS::Batch::SchedulingPolicy"
+}
+
+resource_schema "aws_bedrock_agent" {
+ cloudformation_type_name = "AWS::Bedrock::Agent"
+}
+
+resource_schema "aws_bedrock_agent_alias" {
+ cloudformation_type_name = "AWS::Bedrock::AgentAlias"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_bedrock_application_inference_profile" {
+ cloudformation_type_name = "AWS::Bedrock::ApplicationInferenceProfile"
+}
+
+resource_schema "aws_bedrock_data_source" {
+ cloudformation_type_name = "AWS::Bedrock::DataSource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_bedrock_flow" {
+ cloudformation_type_name = "AWS::Bedrock::Flow"
+}
+
+resource_schema "aws_bedrock_flow_alias" {
+ cloudformation_type_name = "AWS::Bedrock::FlowAlias"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_bedrock_flow_version" {
+ cloudformation_type_name = "AWS::Bedrock::FlowVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_bedrock_guardrail" {
+ cloudformation_type_name = "AWS::Bedrock::Guardrail"
+}
+
+resource_schema "aws_bedrock_guardrail_version" {
+ cloudformation_type_name = "AWS::Bedrock::GuardrailVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_bedrock_knowledge_base" {
+ cloudformation_type_name = "AWS::Bedrock::KnowledgeBase"
+}
+
+resource_schema "aws_bedrock_prompt" {
+ cloudformation_type_name = "AWS::Bedrock::Prompt"
+}
+
+resource_schema "aws_bedrock_prompt_version" {
+ cloudformation_type_name = "AWS::Bedrock::PromptVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_billingconductor_billing_group" {
+ cloudformation_type_name = "AWS::BillingConductor::BillingGroup"
+}
+
+resource_schema "aws_billingconductor_custom_line_item" {
+ cloudformation_type_name = "AWS::BillingConductor::CustomLineItem"
+}
+
+resource_schema "aws_billingconductor_pricing_plan" {
+ cloudformation_type_name = "AWS::BillingConductor::PricingPlan"
+}
+
+resource_schema "aws_billingconductor_pricing_rule" {
+ cloudformation_type_name = "AWS::BillingConductor::PricingRule"
+}
+
+resource_schema "aws_budgets_budgets_action" {
+ cloudformation_type_name = "AWS::Budgets::BudgetsAction"
+}
+
+resource_schema "aws_ce_anomaly_monitor" {
+ cloudformation_type_name = "AWS::CE::AnomalyMonitor"
+}
+
+resource_schema "aws_ce_anomaly_subscription" {
+ cloudformation_type_name = "AWS::CE::AnomalySubscription"
+}
+
+resource_schema "aws_ce_cost_category" {
+ cloudformation_type_name = "AWS::CE::CostCategory"
+}
+
+resource_schema "aws_cur_report_definition" {
+ cloudformation_type_name = "AWS::CUR::ReportDefinition"
+}
+
+resource_schema "aws_cassandra_keyspace" {
+ cloudformation_type_name = "AWS::Cassandra::Keyspace"
+}
+
+resource_schema "aws_cassandra_table" {
+ cloudformation_type_name = "AWS::Cassandra::Table"
+}
+
+resource_schema "aws_cassandra_type" {
+ cloudformation_type_name = "AWS::Cassandra::Type"
+}
+
+resource_schema "aws_certificatemanager_account" {
+ cloudformation_type_name = "AWS::CertificateManager::Account"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_chatbot_custom_action" {
+ cloudformation_type_name = "AWS::Chatbot::CustomAction"
+}
+
+resource_schema "aws_chatbot_microsoft_teams_channel_configuration" {
+ cloudformation_type_name = "AWS::Chatbot::MicrosoftTeamsChannelConfiguration"
+}
+
+resource_schema "aws_chatbot_slack_channel_configuration" {
+ cloudformation_type_name = "AWS::Chatbot::SlackChannelConfiguration"
+}
+
+resource_schema "aws_cleanrooms_analysis_template" {
+ cloudformation_type_name = "AWS::CleanRooms::AnalysisTemplate"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cleanrooms_collaboration" {
+ cloudformation_type_name = "AWS::CleanRooms::Collaboration"
+}
+
+resource_schema "aws_cleanrooms_configured_table" {
+ cloudformation_type_name = "AWS::CleanRooms::ConfiguredTable"
+}
+
+resource_schema "aws_cleanrooms_configured_table_association" {
+ cloudformation_type_name = "AWS::CleanRooms::ConfiguredTableAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cleanrooms_id_mapping_table" {
+ cloudformation_type_name = "AWS::CleanRooms::IdMappingTable"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cleanrooms_id_namespace_association" {
+ cloudformation_type_name = "AWS::CleanRooms::IdNamespaceAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cleanrooms_membership" {
+ cloudformation_type_name = "AWS::CleanRooms::Membership"
+}
+
+resource_schema "aws_cleanrooms_privacy_budget_template" {
+ cloudformation_type_name = "AWS::CleanRooms::PrivacyBudgetTemplate"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cleanroomsml_training_dataset" {
+ cloudformation_type_name = "AWS::CleanRoomsML::TrainingDataset"
+}
+
+resource_schema "aws_cloudformation_guard_hook" {
+ cloudformation_type_name = "AWS::CloudFormation::GuardHook"
+}
+
+resource_schema "aws_cloudformation_hook_default_version" {
+ cloudformation_type_name = "AWS::CloudFormation::HookDefaultVersion"
+}
+
+resource_schema "aws_cloudformation_hook_type_config" {
+ cloudformation_type_name = "AWS::CloudFormation::HookTypeConfig"
+}
+
+resource_schema "aws_cloudformation_hook_version" {
+ cloudformation_type_name = "AWS::CloudFormation::HookVersion"
+}
+
+resource_schema "aws_cloudformation_lambda_hook" {
+ cloudformation_type_name = "AWS::CloudFormation::LambdaHook"
+}
+
+resource_schema "aws_cloudformation_module_default_version" {
+ cloudformation_type_name = "AWS::CloudFormation::ModuleDefaultVersion"
+}
+
+resource_schema "aws_cloudformation_module_version" {
+ cloudformation_type_name = "AWS::CloudFormation::ModuleVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cloudformation_public_type_version" {
+ cloudformation_type_name = "AWS::CloudFormation::PublicTypeVersion"
+}
+
+resource_schema "aws_cloudformation_publisher" {
+ cloudformation_type_name = "AWS::CloudFormation::Publisher"
+}
+
+resource_schema "aws_cloudformation_resource_default_version" {
+ cloudformation_type_name = "AWS::CloudFormation::ResourceDefaultVersion"
+}
+
+resource_schema "aws_cloudformation_resource_version" {
+ cloudformation_type_name = "AWS::CloudFormation::ResourceVersion"
+}
+
+resource_schema "aws_cloudformation_stack" {
+ cloudformation_type_name = "AWS::CloudFormation::Stack"
+}
+
+resource_schema "aws_cloudformation_stack_set" {
+ cloudformation_type_name = "AWS::CloudFormation::StackSet"
+}
+
+resource_schema "aws_cloudformation_type_activation" {
+ cloudformation_type_name = "AWS::CloudFormation::TypeActivation"
+}
+
+resource_schema "aws_cloudfront_anycast_ip_list" {
+ cloudformation_type_name = "AWS::CloudFront::AnycastIpList"
+}
+
+resource_schema "aws_cloudfront_cache_policy" {
+ cloudformation_type_name = "AWS::CloudFront::CachePolicy"
+}
+
+resource_schema "aws_cloudfront_cloudfront_origin_access_identity" {
+ cloudformation_type_name = "AWS::CloudFront::CloudFrontOriginAccessIdentity"
+}
+
+resource_schema "aws_cloudfront_continuous_deployment_policy" {
+ cloudformation_type_name = "AWS::CloudFront::ContinuousDeploymentPolicy"
+}
+
+resource_schema "aws_cloudfront_distribution" {
+ cloudformation_type_name = "AWS::CloudFront::Distribution"
+}
+
+resource_schema "aws_cloudfront_function" {
+ cloudformation_type_name = "AWS::CloudFront::Function"
+}
+
+resource_schema "aws_cloudfront_key_group" {
+ cloudformation_type_name = "AWS::CloudFront::KeyGroup"
+}
+
+resource_schema "aws_cloudfront_key_value_store" {
+ cloudformation_type_name = "AWS::CloudFront::KeyValueStore"
+}
+
+resource_schema "aws_cloudfront_monitoring_subscription" {
+ cloudformation_type_name = "AWS::CloudFront::MonitoringSubscription"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cloudfront_origin_access_control" {
+ cloudformation_type_name = "AWS::CloudFront::OriginAccessControl"
+}
+
+resource_schema "aws_cloudfront_origin_request_policy" {
+ cloudformation_type_name = "AWS::CloudFront::OriginRequestPolicy"
+}
+
+resource_schema "aws_cloudfront_public_key" {
+ cloudformation_type_name = "AWS::CloudFront::PublicKey"
+}
+
+resource_schema "aws_cloudfront_realtime_log_config" {
+ cloudformation_type_name = "AWS::CloudFront::RealtimeLogConfig"
+}
+
+resource_schema "aws_cloudfront_response_headers_policy" {
+ cloudformation_type_name = "AWS::CloudFront::ResponseHeadersPolicy"
+}
+
+resource_schema "aws_cloudfront_vpc_origin" {
+ cloudformation_type_name = "AWS::CloudFront::VpcOrigin"
+}
+
+resource_schema "aws_cloudtrail_channel" {
+ cloudformation_type_name = "AWS::CloudTrail::Channel"
+}
+
+resource_schema "aws_cloudtrail_dashboard" {
+ cloudformation_type_name = "AWS::CloudTrail::Dashboard"
+}
+
+resource_schema "aws_cloudtrail_event_data_store" {
+ cloudformation_type_name = "AWS::CloudTrail::EventDataStore"
+}
+
+resource_schema "aws_cloudtrail_resource_policy" {
+ cloudformation_type_name = "AWS::CloudTrail::ResourcePolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cloudtrail_trail" {
+ cloudformation_type_name = "AWS::CloudTrail::Trail"
+}
+
+resource_schema "aws_cloudwatch_alarm" {
+ cloudformation_type_name = "AWS::CloudWatch::Alarm"
+}
+
+resource_schema "aws_cloudwatch_composite_alarm" {
+ cloudformation_type_name = "AWS::CloudWatch::CompositeAlarm"
+}
+
+resource_schema "aws_cloudwatch_dashboard" {
+ cloudformation_type_name = "AWS::CloudWatch::Dashboard"
+}
+
+resource_schema "aws_cloudwatch_metric_stream" {
+ cloudformation_type_name = "AWS::CloudWatch::MetricStream"
+}
+
+resource_schema "aws_codeartifact_domain" {
+ cloudformation_type_name = "AWS::CodeArtifact::Domain"
+}
+
+resource_schema "aws_codeartifact_package_group" {
+ cloudformation_type_name = "AWS::CodeArtifact::PackageGroup"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_codeartifact_repository" {
+ cloudformation_type_name = "AWS::CodeArtifact::Repository"
+}
+
+resource_schema "aws_codebuild_fleet" {
+ cloudformation_type_name = "AWS::CodeBuild::Fleet"
+}
+
+resource_schema "aws_codeconnections_connection" {
+ cloudformation_type_name = "AWS::CodeConnections::Connection"
+}
+
+resource_schema "aws_codedeploy_application" {
+ cloudformation_type_name = "AWS::CodeDeploy::Application"
+}
+
+resource_schema "aws_codedeploy_deployment_config" {
+ cloudformation_type_name = "AWS::CodeDeploy::DeploymentConfig"
+}
+
+resource_schema "aws_codeguruprofiler_profiling_group" {
+ cloudformation_type_name = "AWS::CodeGuruProfiler::ProfilingGroup"
+}
+
+resource_schema "aws_codegurureviewer_repository_association" {
+ cloudformation_type_name = "AWS::CodeGuruReviewer::RepositoryAssociation"
+}
+
+resource_schema "aws_codepipeline_custom_action_type" {
+ cloudformation_type_name = "AWS::CodePipeline::CustomActionType"
+}
+
+resource_schema "aws_codepipeline_pipeline" {
+ cloudformation_type_name = "AWS::CodePipeline::Pipeline"
+}
+
+resource_schema "aws_codestarconnections_connection" {
+ cloudformation_type_name = "AWS::CodeStarConnections::Connection"
+}
+
+resource_schema "aws_codestarconnections_repository_link" {
+ cloudformation_type_name = "AWS::CodeStarConnections::RepositoryLink"
+}
+
+resource_schema "aws_codestarconnections_sync_configuration" {
+ cloudformation_type_name = "AWS::CodeStarConnections::SyncConfiguration"
+}
+
+resource_schema "aws_codestarnotifications_notification_rule" {
+ cloudformation_type_name = "AWS::CodeStarNotifications::NotificationRule"
+}
+
+resource_schema "aws_cognito_identity_pool" {
+ cloudformation_type_name = "AWS::Cognito::IdentityPool"
+}
+
+resource_schema "aws_cognito_identity_pool_principal_tag" {
+ cloudformation_type_name = "AWS::Cognito::IdentityPoolPrincipalTag"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_identity_pool_role_attachment" {
+ cloudformation_type_name = "AWS::Cognito::IdentityPoolRoleAttachment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_log_delivery_configuration" {
+ cloudformation_type_name = "AWS::Cognito::LogDeliveryConfiguration"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_managed_login_branding" {
+ cloudformation_type_name = "AWS::Cognito::ManagedLoginBranding"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_user_pool" {
+ cloudformation_type_name = "AWS::Cognito::UserPool"
+}
+
+resource_schema "aws_cognito_user_pool_client" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolClient"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_user_pool_domain" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolDomain"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_user_pool_group" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolGroup"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_user_pool_identity_provider" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolIdentityProvider"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_user_pool_resource_server" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolResourceServer"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_user_pool_risk_configuration_attachment" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolRiskConfigurationAttachment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_user_pool_ui_customization_attachment" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolUICustomizationAttachment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_user_pool_user" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolUser"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_cognito_user_pool_user_to_group_attachment" {
+ cloudformation_type_name = "AWS::Cognito::UserPoolUserToGroupAttachment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_comprehend_document_classifier" {
+ cloudformation_type_name = "AWS::Comprehend::DocumentClassifier"
+}
+
+resource_schema "aws_comprehend_flywheel" {
+ cloudformation_type_name = "AWS::Comprehend::Flywheel"
+}
+
+resource_schema "aws_config_aggregation_authorization" {
+ cloudformation_type_name = "AWS::Config::AggregationAuthorization"
+}
+
+resource_schema "aws_config_config_rule" {
+ cloudformation_type_name = "AWS::Config::ConfigRule"
+}
+
+resource_schema "aws_config_configuration_aggregator" {
+ cloudformation_type_name = "AWS::Config::ConfigurationAggregator"
+}
+
+resource_schema "aws_config_conformance_pack" {
+ cloudformation_type_name = "AWS::Config::ConformancePack"
+}
+
+resource_schema "aws_config_organization_conformance_pack" {
+ cloudformation_type_name = "AWS::Config::OrganizationConformancePack"
+}
+
+resource_schema "aws_config_stored_query" {
+ cloudformation_type_name = "AWS::Config::StoredQuery"
+}
+
+resource_schema "aws_connect_agent_status" {
+ cloudformation_type_name = "AWS::Connect::AgentStatus"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_approved_origin" {
+ cloudformation_type_name = "AWS::Connect::ApprovedOrigin"
+}
+
+resource_schema "aws_connect_contact_flow" {
+ cloudformation_type_name = "AWS::Connect::ContactFlow"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_contact_flow_module" {
+ cloudformation_type_name = "AWS::Connect::ContactFlowModule"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_contact_flow_version" {
+ cloudformation_type_name = "AWS::Connect::ContactFlowVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_email_address" {
+ cloudformation_type_name = "AWS::Connect::EmailAddress"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_evaluation_form" {
+ cloudformation_type_name = "AWS::Connect::EvaluationForm"
+}
+
+resource_schema "aws_connect_hours_of_operation" {
+ cloudformation_type_name = "AWS::Connect::HoursOfOperation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_instance" {
+ cloudformation_type_name = "AWS::Connect::Instance"
+}
+
+resource_schema "aws_connect_instance_storage_config" {
+ cloudformation_type_name = "AWS::Connect::InstanceStorageConfig"
+}
+
+resource_schema "aws_connect_integration_association" {
+ cloudformation_type_name = "AWS::Connect::IntegrationAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_phone_number" {
+ cloudformation_type_name = "AWS::Connect::PhoneNumber"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_predefined_attribute" {
+ cloudformation_type_name = "AWS::Connect::PredefinedAttribute"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_prompt" {
+ cloudformation_type_name = "AWS::Connect::Prompt"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_queue" {
+ cloudformation_type_name = "AWS::Connect::Queue"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_quick_connect" {
+ cloudformation_type_name = "AWS::Connect::QuickConnect"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_routing_profile" {
+ cloudformation_type_name = "AWS::Connect::RoutingProfile"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_rule" {
+ cloudformation_type_name = "AWS::Connect::Rule"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_security_key" {
+ cloudformation_type_name = "AWS::Connect::SecurityKey"
+}
+
+resource_schema "aws_connect_security_profile" {
+ cloudformation_type_name = "AWS::Connect::SecurityProfile"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_task_template" {
+ cloudformation_type_name = "AWS::Connect::TaskTemplate"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_traffic_distribution_group" {
+ cloudformation_type_name = "AWS::Connect::TrafficDistributionGroup"
+}
+
+resource_schema "aws_connect_user" {
+ cloudformation_type_name = "AWS::Connect::User"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_user_hierarchy_group" {
+ cloudformation_type_name = "AWS::Connect::UserHierarchyGroup"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_user_hierarchy_structure" {
+ cloudformation_type_name = "AWS::Connect::UserHierarchyStructure"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_view" {
+ cloudformation_type_name = "AWS::Connect::View"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connect_view_version" {
+ cloudformation_type_name = "AWS::Connect::ViewVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_connectcampaigns_campaign" {
+ cloudformation_type_name = "AWS::ConnectCampaigns::Campaign"
+}
+
+resource_schema "aws_connectcampaignsv2_campaign" {
+ cloudformation_type_name = "AWS::ConnectCampaignsV2::Campaign"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_controltower_enabled_baseline" {
+ cloudformation_type_name = "AWS::ControlTower::EnabledBaseline"
+}
+
+resource_schema "aws_controltower_enabled_control" {
+ cloudformation_type_name = "AWS::ControlTower::EnabledControl"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_controltower_landing_zone" {
+ cloudformation_type_name = "AWS::ControlTower::LandingZone"
+}
+
+resource_schema "aws_customerprofiles_calculated_attribute_definition" {
+ cloudformation_type_name = "AWS::CustomerProfiles::CalculatedAttributeDefinition"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_customerprofiles_domain" {
+ cloudformation_type_name = "AWS::CustomerProfiles::Domain"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_customerprofiles_event_stream" {
+ cloudformation_type_name = "AWS::CustomerProfiles::EventStream"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_customerprofiles_event_trigger" {
+ cloudformation_type_name = "AWS::CustomerProfiles::EventTrigger"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_customerprofiles_integration" {
+ cloudformation_type_name = "AWS::CustomerProfiles::Integration"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_customerprofiles_object_type" {
+ cloudformation_type_name = "AWS::CustomerProfiles::ObjectType"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_customerprofiles_segment_definition" {
+ cloudformation_type_name = "AWS::CustomerProfiles::SegmentDefinition"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_dms_data_migration" {
+ cloudformation_type_name = "AWS::DMS::DataMigration"
+}
+
+resource_schema "aws_dms_data_provider" {
+ cloudformation_type_name = "AWS::DMS::DataProvider"
+}
+
+resource_schema "aws_dms_instance_profile" {
+ cloudformation_type_name = "AWS::DMS::InstanceProfile"
+}
+
+resource_schema "aws_dms_migration_project" {
+ cloudformation_type_name = "AWS::DMS::MigrationProject"
+}
+
+resource_schema "aws_dms_replication_config" {
+ cloudformation_type_name = "AWS::DMS::ReplicationConfig"
+}
+
+resource_schema "aws_databrew_dataset" {
+ cloudformation_type_name = "AWS::DataBrew::Dataset"
+}
+
+resource_schema "aws_databrew_job" {
+ cloudformation_type_name = "AWS::DataBrew::Job"
+}
+
+resource_schema "aws_databrew_project" {
+ cloudformation_type_name = "AWS::DataBrew::Project"
+}
+
+resource_schema "aws_databrew_recipe" {
+ cloudformation_type_name = "AWS::DataBrew::Recipe"
+}
+
+resource_schema "aws_databrew_ruleset" {
+ cloudformation_type_name = "AWS::DataBrew::Ruleset"
+}
+
+resource_schema "aws_databrew_schedule" {
+ cloudformation_type_name = "AWS::DataBrew::Schedule"
+}
+
+resource_schema "aws_datapipeline_pipeline" {
+ cloudformation_type_name = "AWS::DataPipeline::Pipeline"
+}
+
+resource_schema "aws_datasync_agent" {
+ cloudformation_type_name = "AWS::DataSync::Agent"
+}
+
+resource_schema "aws_datasync_location_azure_blob" {
+ cloudformation_type_name = "AWS::DataSync::LocationAzureBlob"
+}
+
+resource_schema "aws_datasync_location_efs" {
+ cloudformation_type_name = "AWS::DataSync::LocationEFS"
+}
+
+resource_schema "aws_datasync_location_fsx_lustre" {
+ cloudformation_type_name = "AWS::DataSync::LocationFSxLustre"
+}
+
+resource_schema "aws_datasync_location_fsx_ontap" {
+ cloudformation_type_name = "AWS::DataSync::LocationFSxONTAP"
+}
+
+resource_schema "aws_datasync_location_fsx_open_zfs" {
+ cloudformation_type_name = "AWS::DataSync::LocationFSxOpenZFS"
+}
+
+resource_schema "aws_datasync_location_fsx_windows" {
+ cloudformation_type_name = "AWS::DataSync::LocationFSxWindows"
+}
+
+resource_schema "aws_datasync_location_hdfs" {
+ cloudformation_type_name = "AWS::DataSync::LocationHDFS"
+}
+
+resource_schema "aws_datasync_location_nfs" {
+ cloudformation_type_name = "AWS::DataSync::LocationNFS"
+}
+
+resource_schema "aws_datasync_location_object_storage" {
+ cloudformation_type_name = "AWS::DataSync::LocationObjectStorage"
+}
+
+resource_schema "aws_datasync_location_s3" {
+ cloudformation_type_name = "AWS::DataSync::LocationS3"
+}
+
+resource_schema "aws_datasync_location_smb" {
+ cloudformation_type_name = "AWS::DataSync::LocationSMB"
+}
+
+resource_schema "aws_datasync_storage_system" {
+ cloudformation_type_name = "AWS::DataSync::StorageSystem"
+}
+
+resource_schema "aws_datasync_task" {
+ cloudformation_type_name = "AWS::DataSync::Task"
+}
+
+resource_schema "aws_datazone_data_source" {
+ cloudformation_type_name = "AWS::DataZone::DataSource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_datazone_domain" {
+ cloudformation_type_name = "AWS::DataZone::Domain"
+}
+
+resource_schema "aws_datazone_environment" {
+ cloudformation_type_name = "AWS::DataZone::Environment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_datazone_environment_actions" {
+ cloudformation_type_name = "AWS::DataZone::EnvironmentActions"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_datazone_environment_blueprint_configuration" {
+ cloudformation_type_name = "AWS::DataZone::EnvironmentBlueprintConfiguration"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_datazone_environment_profile" {
+ cloudformation_type_name = "AWS::DataZone::EnvironmentProfile"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_datazone_group_profile" {
+ cloudformation_type_name = "AWS::DataZone::GroupProfile"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_datazone_project" {
+ cloudformation_type_name = "AWS::DataZone::Project"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_datazone_project_membership" {
+ cloudformation_type_name = "AWS::DataZone::ProjectMembership"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_datazone_subscription_target" {
+ cloudformation_type_name = "AWS::DataZone::SubscriptionTarget"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_datazone_user_profile" {
+ cloudformation_type_name = "AWS::DataZone::UserProfile"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_deadline_farm" {
+ cloudformation_type_name = "AWS::Deadline::Farm"
+}
+
+resource_schema "aws_deadline_fleet" {
+ cloudformation_type_name = "AWS::Deadline::Fleet"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_deadline_license_endpoint" {
+ cloudformation_type_name = "AWS::Deadline::LicenseEndpoint"
+}
+
+resource_schema "aws_deadline_limit" {
+ cloudformation_type_name = "AWS::Deadline::Limit"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_deadline_metered_product" {
+ cloudformation_type_name = "AWS::Deadline::MeteredProduct"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_deadline_monitor" {
+ cloudformation_type_name = "AWS::Deadline::Monitor"
+}
+
+resource_schema "aws_deadline_queue" {
+ cloudformation_type_name = "AWS::Deadline::Queue"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_deadline_queue_environment" {
+ cloudformation_type_name = "AWS::Deadline::QueueEnvironment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_deadline_queue_fleet_association" {
+ cloudformation_type_name = "AWS::Deadline::QueueFleetAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_deadline_queue_limit_association" {
+ cloudformation_type_name = "AWS::Deadline::QueueLimitAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_deadline_storage_profile" {
+ cloudformation_type_name = "AWS::Deadline::StorageProfile"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_detective_graph" {
+ cloudformation_type_name = "AWS::Detective::Graph"
+}
+
+resource_schema "aws_detective_member_invitation" {
+ cloudformation_type_name = "AWS::Detective::MemberInvitation"
+}
+
+resource_schema "aws_detective_organization_admin" {
+ cloudformation_type_name = "AWS::Detective::OrganizationAdmin"
+}
+
+resource_schema "aws_devopsguru_log_anomaly_detection_integration" {
+ cloudformation_type_name = "AWS::DevOpsGuru::LogAnomalyDetectionIntegration"
+}
+
+resource_schema "aws_devopsguru_notification_channel" {
+ cloudformation_type_name = "AWS::DevOpsGuru::NotificationChannel"
+}
+
+resource_schema "aws_devopsguru_resource_collection" {
+ cloudformation_type_name = "AWS::DevOpsGuru::ResourceCollection"
+}
+
+resource_schema "aws_directoryservice_simple_ad" {
+ cloudformation_type_name = "AWS::DirectoryService::SimpleAD"
+}
+
+resource_schema "aws_docdbelastic_cluster" {
+ cloudformation_type_name = "AWS::DocDBElastic::Cluster"
+}
+
+resource_schema "aws_dynamodb_global_table" {
+ cloudformation_type_name = "AWS::DynamoDB::GlobalTable"
+}
+
+resource_schema "aws_dynamodb_table" {
+ cloudformation_type_name = "AWS::DynamoDB::Table"
+}
+
+resource_schema "aws_ec2_capacity_reservation" {
+ cloudformation_type_name = "AWS::EC2::CapacityReservation"
+}
+
+resource_schema "aws_ec2_capacity_reservation_fleet" {
+ cloudformation_type_name = "AWS::EC2::CapacityReservationFleet"
+}
+
+resource_schema "aws_ec2_carrier_gateway" {
+ cloudformation_type_name = "AWS::EC2::CarrierGateway"
+}
+
+resource_schema "aws_ec2_customer_gateway" {
+ cloudformation_type_name = "AWS::EC2::CustomerGateway"
+}
+
+resource_schema "aws_ec2_dhcp_options" {
+ cloudformation_type_name = "AWS::EC2::DHCPOptions"
+}
+
+resource_schema "aws_ec2_ec2_fleet" {
+ cloudformation_type_name = "AWS::EC2::EC2Fleet"
+}
+
+resource_schema "aws_ec2_eip" {
+ cloudformation_type_name = "AWS::EC2::EIP"
+}
+
+resource_schema "aws_ec2_eip_association" {
+ cloudformation_type_name = "AWS::EC2::EIPAssociation"
+}
+
+resource_schema "aws_ec2_egress_only_internet_gateway" {
+ cloudformation_type_name = "AWS::EC2::EgressOnlyInternetGateway"
+}
+
+resource_schema "aws_ec2_enclave_certificate_iam_role_association" {
+ cloudformation_type_name = "AWS::EC2::EnclaveCertificateIamRoleAssociation"
+}
+
+resource_schema "aws_ec2_flow_log" {
+ cloudformation_type_name = "AWS::EC2::FlowLog"
+}
+
+resource_schema "aws_ec2_gateway_route_table_association" {
+ cloudformation_type_name = "AWS::EC2::GatewayRouteTableAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_host" {
+ cloudformation_type_name = "AWS::EC2::Host"
+}
+
+resource_schema "aws_ec2_ipam" {
+ cloudformation_type_name = "AWS::EC2::IPAM"
+}
+
+resource_schema "aws_ec2_ipam_allocation" {
+ cloudformation_type_name = "AWS::EC2::IPAMAllocation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_ipam_pool" {
+ cloudformation_type_name = "AWS::EC2::IPAMPool"
+}
+
+resource_schema "aws_ec2_ipam_pool_cidr" {
+ cloudformation_type_name = "AWS::EC2::IPAMPoolCidr"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_ipam_resource_discovery" {
+ cloudformation_type_name = "AWS::EC2::IPAMResourceDiscovery"
+}
+
+resource_schema "aws_ec2_ipam_resource_discovery_association" {
+ cloudformation_type_name = "AWS::EC2::IPAMResourceDiscoveryAssociation"
+}
+
+resource_schema "aws_ec2_ipam_scope" {
+ cloudformation_type_name = "AWS::EC2::IPAMScope"
+}
+
+resource_schema "aws_ec2_instance" {
+ cloudformation_type_name = "AWS::EC2::Instance"
+}
+
+resource_schema "aws_ec2_instance_connect_endpoint" {
+ cloudformation_type_name = "AWS::EC2::InstanceConnectEndpoint"
+}
+
+resource_schema "aws_ec2_internet_gateway" {
+ cloudformation_type_name = "AWS::EC2::InternetGateway"
+}
+
+resource_schema "aws_ec2_key_pair" {
+ cloudformation_type_name = "AWS::EC2::KeyPair"
+}
+
+resource_schema "aws_ec2_launch_template" {
+ cloudformation_type_name = "AWS::EC2::LaunchTemplate"
+}
+
+resource_schema "aws_ec2_local_gateway_route" {
+ cloudformation_type_name = "AWS::EC2::LocalGatewayRoute"
+}
+
+resource_schema "aws_ec2_local_gateway_route_table" {
+ cloudformation_type_name = "AWS::EC2::LocalGatewayRouteTable"
+}
+
+resource_schema "aws_ec2_local_gateway_route_table_vpc_association" {
+ cloudformation_type_name = "AWS::EC2::LocalGatewayRouteTableVPCAssociation"
+}
+
+resource_schema "aws_ec2_local_gateway_route_table_virtual_interface_group_association" {
+ cloudformation_type_name = "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation"
+}
+
+resource_schema "aws_ec2_nat_gateway" {
+ cloudformation_type_name = "AWS::EC2::NatGateway"
+}
+
+resource_schema "aws_ec2_network_acl" {
+ cloudformation_type_name = "AWS::EC2::NetworkAcl"
+}
+
+resource_schema "aws_ec2_network_insights_access_scope" {
+ cloudformation_type_name = "AWS::EC2::NetworkInsightsAccessScope"
+}
+
+resource_schema "aws_ec2_network_insights_access_scope_analysis" {
+ cloudformation_type_name = "AWS::EC2::NetworkInsightsAccessScopeAnalysis"
+}
+
+resource_schema "aws_ec2_network_insights_analysis" {
+ cloudformation_type_name = "AWS::EC2::NetworkInsightsAnalysis"
+}
+
+resource_schema "aws_ec2_network_insights_path" {
+ cloudformation_type_name = "AWS::EC2::NetworkInsightsPath"
+}
+
+resource_schema "aws_ec2_network_interface" {
+ cloudformation_type_name = "AWS::EC2::NetworkInterface"
+}
+
+resource_schema "aws_ec2_network_interface_attachment" {
+ cloudformation_type_name = "AWS::EC2::NetworkInterfaceAttachment"
+}
+
+resource_schema "aws_ec2_network_performance_metric_subscription" {
+ cloudformation_type_name = "AWS::EC2::NetworkPerformanceMetricSubscription"
+}
+
+resource_schema "aws_ec2_placement_group" {
+ cloudformation_type_name = "AWS::EC2::PlacementGroup"
+}
+
+resource_schema "aws_ec2_prefix_list" {
+ cloudformation_type_name = "AWS::EC2::PrefixList"
+}
+
+resource_schema "aws_ec2_route" {
+ cloudformation_type_name = "AWS::EC2::Route"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_route_table" {
+ cloudformation_type_name = "AWS::EC2::RouteTable"
+}
+
+resource_schema "aws_ec2_security_group" {
+ cloudformation_type_name = "AWS::EC2::SecurityGroup"
+}
+
+resource_schema "aws_ec2_security_group_egress" {
+ cloudformation_type_name = "AWS::EC2::SecurityGroupEgress"
+}
+
+resource_schema "aws_ec2_security_group_ingress" {
+ cloudformation_type_name = "AWS::EC2::SecurityGroupIngress"
+}
+
+resource_schema "aws_ec2_security_group_vpc_association" {
+ cloudformation_type_name = "AWS::EC2::SecurityGroupVpcAssociation"
+}
+
+resource_schema "aws_ec2_snapshot_block_public_access" {
+ cloudformation_type_name = "AWS::EC2::SnapshotBlockPublicAccess"
+}
+
+resource_schema "aws_ec2_spot_fleet" {
+ cloudformation_type_name = "AWS::EC2::SpotFleet"
+}
+
+resource_schema "aws_ec2_subnet" {
+ cloudformation_type_name = "AWS::EC2::Subnet"
+}
+
+resource_schema "aws_ec2_subnet_cidr_block" {
+ cloudformation_type_name = "AWS::EC2::SubnetCidrBlock"
+}
+
+resource_schema "aws_ec2_subnet_network_acl_association" {
+ cloudformation_type_name = "AWS::EC2::SubnetNetworkAclAssociation"
+}
+
+resource_schema "aws_ec2_subnet_route_table_association" {
+ cloudformation_type_name = "AWS::EC2::SubnetRouteTableAssociation"
+}
+
+resource_schema "aws_ec2_transit_gateway" {
+ cloudformation_type_name = "AWS::EC2::TransitGateway"
+}
+
+resource_schema "aws_ec2_transit_gateway_attachment" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayAttachment"
+}
+
+resource_schema "aws_ec2_transit_gateway_connect" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayConnect"
+}
+
+resource_schema "aws_ec2_transit_gateway_multicast_domain" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayMulticastDomain"
+}
+
+resource_schema "aws_ec2_transit_gateway_multicast_domain_association" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayMulticastDomainAssociation"
+}
+
+resource_schema "aws_ec2_transit_gateway_multicast_group_member" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayMulticastGroupMember"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_transit_gateway_multicast_group_source" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayMulticastGroupSource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_transit_gateway_peering_attachment" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayPeeringAttachment"
+}
+
+resource_schema "aws_ec2_transit_gateway_route" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayRoute"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_transit_gateway_route_table" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayRouteTable"
+}
+
+resource_schema "aws_ec2_transit_gateway_route_table_association" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayRouteTableAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_transit_gateway_route_table_propagation" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayRouteTablePropagation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_transit_gateway_vpc_attachment" {
+ cloudformation_type_name = "AWS::EC2::TransitGatewayVpcAttachment"
+}
+
+resource_schema "aws_ec2_vpc" {
+ cloudformation_type_name = "AWS::EC2::VPC"
+}
+
+resource_schema "aws_ec2_vpc_block_public_access_exclusion" {
+ cloudformation_type_name = "AWS::EC2::VPCBlockPublicAccessExclusion"
+}
+
+resource_schema "aws_ec2_vpc_block_public_access_options" {
+ cloudformation_type_name = "AWS::EC2::VPCBlockPublicAccessOptions"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_vpc_cidr_block" {
+ cloudformation_type_name = "AWS::EC2::VPCCidrBlock"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ec2_vpcdhcp_options_association" {
+ cloudformation_type_name = "AWS::EC2::VPCDHCPOptionsAssociation"
+}
+
+resource_schema "aws_ec2_vpc_endpoint" {
+ cloudformation_type_name = "AWS::EC2::VPCEndpoint"
+}
+
+resource_schema "aws_ec2_vpc_endpoint_connection_notification" {
+ cloudformation_type_name = "AWS::EC2::VPCEndpointConnectionNotification"
+}
+
+resource_schema "aws_ec2_vpc_endpoint_service" {
+ cloudformation_type_name = "AWS::EC2::VPCEndpointService"
+}
+
+resource_schema "aws_ec2_vpc_endpoint_service_permissions" {
+ cloudformation_type_name = "AWS::EC2::VPCEndpointServicePermissions"
+}
+
+resource_schema "aws_ec2_vpc_gateway_attachment" {
+ cloudformation_type_name = "AWS::EC2::VPCGatewayAttachment"
+}
+
+resource_schema "aws_ec2_vpc_peering_connection" {
+ cloudformation_type_name = "AWS::EC2::VPCPeeringConnection"
+}
+
+resource_schema "aws_ec2_vpn_connection" {
+ cloudformation_type_name = "AWS::EC2::VPNConnection"
+}
+
+resource_schema "aws_ec2_vpn_connection_route" {
+ cloudformation_type_name = "AWS::EC2::VPNConnectionRoute"
+}
+
+resource_schema "aws_ec2_vpn_gateway" {
+ cloudformation_type_name = "AWS::EC2::VPNGateway"
+}
+
+resource_schema "aws_ec2_verified_access_endpoint" {
+ cloudformation_type_name = "AWS::EC2::VerifiedAccessEndpoint"
+}
+
+resource_schema "aws_ec2_verified_access_group" {
+ cloudformation_type_name = "AWS::EC2::VerifiedAccessGroup"
+}
+
+resource_schema "aws_ec2_verified_access_instance" {
+ cloudformation_type_name = "AWS::EC2::VerifiedAccessInstance"
+}
+
+resource_schema "aws_ec2_verified_access_trust_provider" {
+ cloudformation_type_name = "AWS::EC2::VerifiedAccessTrustProvider"
+}
+
+resource_schema "aws_ec2_volume" {
+ cloudformation_type_name = "AWS::EC2::Volume"
+}
+
+resource_schema "aws_ec2_volume_attachment" {
+ cloudformation_type_name = "AWS::EC2::VolumeAttachment"
+}
+
+resource_schema "aws_ecr_public_repository" {
+ cloudformation_type_name = "AWS::ECR::PublicRepository"
+}
+
+resource_schema "aws_ecr_pull_through_cache_rule" {
+ cloudformation_type_name = "AWS::ECR::PullThroughCacheRule"
+}
+
+resource_schema "aws_ecr_registry_policy" {
+ cloudformation_type_name = "AWS::ECR::RegistryPolicy"
+}
+
+resource_schema "aws_ecr_replication_configuration" {
+ cloudformation_type_name = "AWS::ECR::ReplicationConfiguration"
+}
+
+resource_schema "aws_ecr_repository" {
+ cloudformation_type_name = "AWS::ECR::Repository"
+}
+
+resource_schema "aws_ecr_repository_creation_template" {
+ cloudformation_type_name = "AWS::ECR::RepositoryCreationTemplate"
+}
+
+resource_schema "aws_ecs_capacity_provider" {
+ cloudformation_type_name = "AWS::ECS::CapacityProvider"
+}
+
+resource_schema "aws_ecs_cluster" {
+ cloudformation_type_name = "AWS::ECS::Cluster"
+}
+
+resource_schema "aws_ecs_cluster_capacity_provider_associations" {
+ cloudformation_type_name = "AWS::ECS::ClusterCapacityProviderAssociations"
+}
+
+resource_schema "aws_ecs_primary_task_set" {
+ cloudformation_type_name = "AWS::ECS::PrimaryTaskSet"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ecs_service" {
+ cloudformation_type_name = "AWS::ECS::Service"
+}
+
+resource_schema "aws_ecs_task_definition" {
+ cloudformation_type_name = "AWS::ECS::TaskDefinition"
+}
+
+resource_schema "aws_ecs_task_set" {
+ cloudformation_type_name = "AWS::ECS::TaskSet"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_efs_access_point" {
+ cloudformation_type_name = "AWS::EFS::AccessPoint"
+}
+
+resource_schema "aws_efs_file_system" {
+ cloudformation_type_name = "AWS::EFS::FileSystem"
+}
+
+resource_schema "aws_efs_mount_target" {
+ cloudformation_type_name = "AWS::EFS::MountTarget"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_eks_access_entry" {
+ cloudformation_type_name = "AWS::EKS::AccessEntry"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_eks_addon" {
+ cloudformation_type_name = "AWS::EKS::Addon"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_eks_cluster" {
+ cloudformation_type_name = "AWS::EKS::Cluster"
+}
+
+resource_schema "aws_eks_fargate_profile" {
+ cloudformation_type_name = "AWS::EKS::FargateProfile"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_eks_identity_provider_config" {
+ cloudformation_type_name = "AWS::EKS::IdentityProviderConfig"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_eks_nodegroup" {
+ cloudformation_type_name = "AWS::EKS::Nodegroup"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_eks_pod_identity_association" {
+ cloudformation_type_name = "AWS::EKS::PodIdentityAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_emr_security_configuration" {
+ cloudformation_type_name = "AWS::EMR::SecurityConfiguration"
+}
+
+resource_schema "aws_emr_studio" {
+ cloudformation_type_name = "AWS::EMR::Studio"
+}
+
+resource_schema "aws_emr_studio_session_mapping" {
+ cloudformation_type_name = "AWS::EMR::StudioSessionMapping"
+}
+
+resource_schema "aws_emr_wal_workspace" {
+ cloudformation_type_name = "AWS::EMR::WALWorkspace"
+}
+
+resource_schema "aws_emrcontainers_virtual_cluster" {
+ cloudformation_type_name = "AWS::EMRContainers::VirtualCluster"
+}
+
+resource_schema "aws_emrserverless_application" {
+ cloudformation_type_name = "AWS::EMRServerless::Application"
+}
+
+resource_schema "aws_elasticache_global_replication_group" {
+ cloudformation_type_name = "AWS::ElastiCache::GlobalReplicationGroup"
+}
+
+resource_schema "aws_elasticache_parameter_group" {
+ cloudformation_type_name = "AWS::ElastiCache::ParameterGroup"
+}
+
+resource_schema "aws_elasticache_serverless_cache" {
+ cloudformation_type_name = "AWS::ElastiCache::ServerlessCache"
+}
+
+resource_schema "aws_elasticache_subnet_group" {
+ cloudformation_type_name = "AWS::ElastiCache::SubnetGroup"
+}
+
+resource_schema "aws_elasticache_user" {
+ cloudformation_type_name = "AWS::ElastiCache::User"
+}
+
+resource_schema "aws_elasticache_user_group" {
+ cloudformation_type_name = "AWS::ElastiCache::UserGroup"
+}
+
+resource_schema "aws_elasticbeanstalk_application" {
+ cloudformation_type_name = "AWS::ElasticBeanstalk::Application"
+}
+
+resource_schema "aws_elasticbeanstalk_application_version" {
+ cloudformation_type_name = "AWS::ElasticBeanstalk::ApplicationVersion"
+}
+
+resource_schema "aws_elasticbeanstalk_configuration_template" {
+ cloudformation_type_name = "AWS::ElasticBeanstalk::ConfigurationTemplate"
+}
+
+resource_schema "aws_elasticbeanstalk_environment" {
+ cloudformation_type_name = "AWS::ElasticBeanstalk::Environment"
+}
+
+resource_schema "aws_elasticloadbalancingv2_listener" {
+ cloudformation_type_name = "AWS::ElasticLoadBalancingV2::Listener"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_elasticloadbalancingv2_listener_rule" {
+ cloudformation_type_name = "AWS::ElasticLoadBalancingV2::ListenerRule"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_elasticloadbalancingv2_load_balancer" {
+ cloudformation_type_name = "AWS::ElasticLoadBalancingV2::LoadBalancer"
+}
+
+resource_schema "aws_elasticloadbalancingv2_target_group" {
+ cloudformation_type_name = "AWS::ElasticLoadBalancingV2::TargetGroup"
+}
+
+resource_schema "aws_elasticloadbalancingv2_trust_store" {
+ cloudformation_type_name = "AWS::ElasticLoadBalancingV2::TrustStore"
+}
+
+resource_schema "aws_elasticloadbalancingv2_trust_store_revocation" {
+ cloudformation_type_name = "AWS::ElasticLoadBalancingV2::TrustStoreRevocation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_entityresolution_id_mapping_workflow" {
+ cloudformation_type_name = "AWS::EntityResolution::IdMappingWorkflow"
+}
+
+resource_schema "aws_entityresolution_id_namespace" {
+ cloudformation_type_name = "AWS::EntityResolution::IdNamespace"
+}
+
+resource_schema "aws_entityresolution_matching_workflow" {
+ cloudformation_type_name = "AWS::EntityResolution::MatchingWorkflow"
+}
+
+resource_schema "aws_entityresolution_policy_statement" {
+ cloudformation_type_name = "AWS::EntityResolution::PolicyStatement"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_entityresolution_schema_mapping" {
+ cloudformation_type_name = "AWS::EntityResolution::SchemaMapping"
+}
+
+resource_schema "aws_eventschemas_discoverer" {
+ cloudformation_type_name = "AWS::EventSchemas::Discoverer"
+}
+
+resource_schema "aws_eventschemas_registry" {
+ cloudformation_type_name = "AWS::EventSchemas::Registry"
+}
+
+resource_schema "aws_eventschemas_registry_policy" {
+ cloudformation_type_name = "AWS::EventSchemas::RegistryPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_eventschemas_schema" {
+ cloudformation_type_name = "AWS::EventSchemas::Schema"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_events_api_destination" {
+ cloudformation_type_name = "AWS::Events::ApiDestination"
+}
+
+resource_schema "aws_events_archive" {
+ cloudformation_type_name = "AWS::Events::Archive"
+}
+
+resource_schema "aws_events_connection" {
+ cloudformation_type_name = "AWS::Events::Connection"
+}
+
+resource_schema "aws_events_endpoint" {
+ cloudformation_type_name = "AWS::Events::Endpoint"
+}
+
+resource_schema "aws_events_event_bus" {
+ cloudformation_type_name = "AWS::Events::EventBus"
+}
+
+resource_schema "aws_events_rule" {
+ cloudformation_type_name = "AWS::Events::Rule"
+}
+
+resource_schema "aws_evidently_experiment" {
+ cloudformation_type_name = "AWS::Evidently::Experiment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_evidently_feature" {
+ cloudformation_type_name = "AWS::Evidently::Feature"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_evidently_launch" {
+ cloudformation_type_name = "AWS::Evidently::Launch"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_evidently_project" {
+ cloudformation_type_name = "AWS::Evidently::Project"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_evidently_segment" {
+ cloudformation_type_name = "AWS::Evidently::Segment"
+}
+
+resource_schema "aws_fis_experiment_template" {
+ cloudformation_type_name = "AWS::FIS::ExperimentTemplate"
+}
+
+resource_schema "aws_fis_target_account_configuration" {
+ cloudformation_type_name = "AWS::FIS::TargetAccountConfiguration"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_fms_notification_channel" {
+ cloudformation_type_name = "AWS::FMS::NotificationChannel"
+}
+
+resource_schema "aws_fms_policy" {
+ cloudformation_type_name = "AWS::FMS::Policy"
+}
+
+resource_schema "aws_fms_resource_set" {
+ cloudformation_type_name = "AWS::FMS::ResourceSet"
+}
+
+resource_schema "aws_fsx_data_repository_association" {
+ cloudformation_type_name = "AWS::FSx::DataRepositoryAssociation"
+}
+
+resource_schema "aws_finspace_environment" {
+ cloudformation_type_name = "AWS::FinSpace::Environment"
+}
+
+resource_schema "aws_forecast_dataset" {
+ cloudformation_type_name = "AWS::Forecast::Dataset"
+}
+
+resource_schema "aws_forecast_dataset_group" {
+ cloudformation_type_name = "AWS::Forecast::DatasetGroup"
+}
+
+resource_schema "aws_frauddetector_detector" {
+ cloudformation_type_name = "AWS::FraudDetector::Detector"
+}
+
+resource_schema "aws_frauddetector_entity_type" {
+ cloudformation_type_name = "AWS::FraudDetector::EntityType"
+}
+
+resource_schema "aws_frauddetector_event_type" {
+ cloudformation_type_name = "AWS::FraudDetector::EventType"
+}
+
+resource_schema "aws_frauddetector_label" {
+ cloudformation_type_name = "AWS::FraudDetector::Label"
+}
+
+resource_schema "aws_frauddetector_list" {
+ cloudformation_type_name = "AWS::FraudDetector::List"
+}
+
+resource_schema "aws_frauddetector_outcome" {
+ cloudformation_type_name = "AWS::FraudDetector::Outcome"
+}
+
+resource_schema "aws_frauddetector_variable" {
+ cloudformation_type_name = "AWS::FraudDetector::Variable"
+}
+
+resource_schema "aws_gamelift_alias" {
+ cloudformation_type_name = "AWS::GameLift::Alias"
+}
+
+resource_schema "aws_gamelift_build" {
+ cloudformation_type_name = "AWS::GameLift::Build"
+}
+
+resource_schema "aws_gamelift_container_fleet" {
+ cloudformation_type_name = "AWS::GameLift::ContainerFleet"
+}
+
+resource_schema "aws_gamelift_container_group_definition" {
+ cloudformation_type_name = "AWS::GameLift::ContainerGroupDefinition"
+}
+
+resource_schema "aws_gamelift_fleet" {
+ cloudformation_type_name = "AWS::GameLift::Fleet"
+}
+
+resource_schema "aws_gamelift_game_server_group" {
+ cloudformation_type_name = "AWS::GameLift::GameServerGroup"
+}
+
+resource_schema "aws_gamelift_game_session_queue" {
+ cloudformation_type_name = "AWS::GameLift::GameSessionQueue"
+}
+
+resource_schema "aws_gamelift_location" {
+ cloudformation_type_name = "AWS::GameLift::Location"
+}
+
+resource_schema "aws_gamelift_matchmaking_configuration" {
+ cloudformation_type_name = "AWS::GameLift::MatchmakingConfiguration"
+}
+
+resource_schema "aws_gamelift_matchmaking_rule_set" {
+ cloudformation_type_name = "AWS::GameLift::MatchmakingRuleSet"
+}
+
+resource_schema "aws_gamelift_script" {
+ cloudformation_type_name = "AWS::GameLift::Script"
+}
+
+resource_schema "aws_globalaccelerator_accelerator" {
+ cloudformation_type_name = "AWS::GlobalAccelerator::Accelerator"
+}
+
+resource_schema "aws_globalaccelerator_cross_account_attachment" {
+ cloudformation_type_name = "AWS::GlobalAccelerator::CrossAccountAttachment"
+}
+
+resource_schema "aws_globalaccelerator_endpoint_group" {
+ cloudformation_type_name = "AWS::GlobalAccelerator::EndpointGroup"
+}
+
+resource_schema "aws_globalaccelerator_listener" {
+ cloudformation_type_name = "AWS::GlobalAccelerator::Listener"
+}
+
+resource_schema "aws_glue_crawler" {
+ cloudformation_type_name = "AWS::Glue::Crawler"
+}
+
+resource_schema "aws_glue_database" {
+ cloudformation_type_name = "AWS::Glue::Database"
+}
+
+resource_schema "aws_glue_job" {
+ cloudformation_type_name = "AWS::Glue::Job"
+}
+
+resource_schema "aws_glue_registry" {
+ cloudformation_type_name = "AWS::Glue::Registry"
+}
+
+resource_schema "aws_glue_schema" {
+ cloudformation_type_name = "AWS::Glue::Schema"
+}
+
+resource_schema "aws_glue_schema_version" {
+ cloudformation_type_name = "AWS::Glue::SchemaVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_glue_schema_version_metadata" {
+ cloudformation_type_name = "AWS::Glue::SchemaVersionMetadata"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_glue_trigger" {
+ cloudformation_type_name = "AWS::Glue::Trigger"
+}
+
+resource_schema "aws_glue_usage_profile" {
+ cloudformation_type_name = "AWS::Glue::UsageProfile"
+}
+
+resource_schema "aws_grafana_workspace" {
+ cloudformation_type_name = "AWS::Grafana::Workspace"
+}
+
+resource_schema "aws_greengrassv2_component_version" {
+ cloudformation_type_name = "AWS::GreengrassV2::ComponentVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_greengrassv2_deployment" {
+ cloudformation_type_name = "AWS::GreengrassV2::Deployment"
+}
+
+resource_schema "aws_groundstation_config" {
+ cloudformation_type_name = "AWS::GroundStation::Config"
+}
+
+resource_schema "aws_groundstation_dataflow_endpoint_group" {
+ cloudformation_type_name = "AWS::GroundStation::DataflowEndpointGroup"
+}
+
+resource_schema "aws_groundstation_mission_profile" {
+ cloudformation_type_name = "AWS::GroundStation::MissionProfile"
+}
+
+resource_schema "aws_guardduty_detector" {
+ cloudformation_type_name = "AWS::GuardDuty::Detector"
+}
+
+resource_schema "aws_guardduty_filter" {
+ cloudformation_type_name = "AWS::GuardDuty::Filter"
+}
+
+resource_schema "aws_guardduty_ip_set" {
+ cloudformation_type_name = "AWS::GuardDuty::IPSet"
+}
+
+resource_schema "aws_guardduty_malware_protection_plan" {
+ cloudformation_type_name = "AWS::GuardDuty::MalwareProtectionPlan"
+}
+
+resource_schema "aws_guardduty_master" {
+ cloudformation_type_name = "AWS::GuardDuty::Master"
+}
+
+resource_schema "aws_guardduty_member" {
+ cloudformation_type_name = "AWS::GuardDuty::Member"
+}
+
+resource_schema "aws_guardduty_threat_intel_set" {
+ cloudformation_type_name = "AWS::GuardDuty::ThreatIntelSet"
+}
+
+resource_schema "aws_healthimaging_datastore" {
+ cloudformation_type_name = "AWS::HealthImaging::Datastore"
+}
+
+resource_schema "aws_healthlake_fhir_datastore" {
+ cloudformation_type_name = "AWS::HealthLake::FHIRDatastore"
+}
+
+resource_schema "aws_iam_group" {
+ cloudformation_type_name = "AWS::IAM::Group"
+}
+
+resource_schema "aws_iam_group_policy" {
+ cloudformation_type_name = "AWS::IAM::GroupPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_iam_instance_profile" {
+ cloudformation_type_name = "AWS::IAM::InstanceProfile"
+}
+
+resource_schema "aws_iam_managed_policy" {
+ cloudformation_type_name = "AWS::IAM::ManagedPolicy"
+}
+
+resource_schema "aws_iam_oidc_provider" {
+ cloudformation_type_name = "AWS::IAM::OIDCProvider"
+}
+
+resource_schema "aws_iam_role" {
+ cloudformation_type_name = "AWS::IAM::Role"
+}
+
+resource_schema "aws_iam_role_policy" {
+ cloudformation_type_name = "AWS::IAM::RolePolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_iam_saml_provider" {
+ cloudformation_type_name = "AWS::IAM::SAMLProvider"
+}
+
+resource_schema "aws_iam_server_certificate" {
+ cloudformation_type_name = "AWS::IAM::ServerCertificate"
+}
+
+resource_schema "aws_iam_service_linked_role" {
+ cloudformation_type_name = "AWS::IAM::ServiceLinkedRole"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_iam_user" {
+ cloudformation_type_name = "AWS::IAM::User"
+}
+
+resource_schema "aws_iam_user_policy" {
+ cloudformation_type_name = "AWS::IAM::UserPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_iam_virtual_mfa_device" {
+ cloudformation_type_name = "AWS::IAM::VirtualMFADevice"
+}
+
+resource_schema "aws_ivs_channel" {
+ cloudformation_type_name = "AWS::IVS::Channel"
+}
+
+resource_schema "aws_ivs_encoder_configuration" {
+ cloudformation_type_name = "AWS::IVS::EncoderConfiguration"
+}
+
+resource_schema "aws_ivs_ingest_configuration" {
+ cloudformation_type_name = "AWS::IVS::IngestConfiguration"
+}
+
+resource_schema "aws_ivs_playback_key_pair" {
+ cloudformation_type_name = "AWS::IVS::PlaybackKeyPair"
+}
+
+resource_schema "aws_ivs_playback_restriction_policy" {
+ cloudformation_type_name = "AWS::IVS::PlaybackRestrictionPolicy"
+}
+
+resource_schema "aws_ivs_public_key" {
+ cloudformation_type_name = "AWS::IVS::PublicKey"
+}
+
+resource_schema "aws_ivs_recording_configuration" {
+ cloudformation_type_name = "AWS::IVS::RecordingConfiguration"
+}
+
+resource_schema "aws_ivs_stage" {
+ cloudformation_type_name = "AWS::IVS::Stage"
+}
+
+resource_schema "aws_ivs_storage_configuration" {
+ cloudformation_type_name = "AWS::IVS::StorageConfiguration"
+}
+
+resource_schema "aws_ivs_stream_key" {
+ cloudformation_type_name = "AWS::IVS::StreamKey"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ivschat_logging_configuration" {
+ cloudformation_type_name = "AWS::IVSChat::LoggingConfiguration"
+}
+
+resource_schema "aws_ivschat_room" {
+ cloudformation_type_name = "AWS::IVSChat::Room"
+}
+
+resource_schema "aws_identitystore_group" {
+ cloudformation_type_name = "AWS::IdentityStore::Group"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_identitystore_group_membership" {
+ cloudformation_type_name = "AWS::IdentityStore::GroupMembership"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_imagebuilder_component" {
+ cloudformation_type_name = "AWS::ImageBuilder::Component"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_imagebuilder_container_recipe" {
+ cloudformation_type_name = "AWS::ImageBuilder::ContainerRecipe"
+}
+
+resource_schema "aws_imagebuilder_distribution_configuration" {
+ cloudformation_type_name = "AWS::ImageBuilder::DistributionConfiguration"
+}
+
+resource_schema "aws_imagebuilder_image" {
+ cloudformation_type_name = "AWS::ImageBuilder::Image"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_imagebuilder_image_pipeline" {
+ cloudformation_type_name = "AWS::ImageBuilder::ImagePipeline"
+}
+
+resource_schema "aws_imagebuilder_image_recipe" {
+ cloudformation_type_name = "AWS::ImageBuilder::ImageRecipe"
+}
+
+resource_schema "aws_imagebuilder_infrastructure_configuration" {
+ cloudformation_type_name = "AWS::ImageBuilder::InfrastructureConfiguration"
+}
+
+resource_schema "aws_imagebuilder_lifecycle_policy" {
+ cloudformation_type_name = "AWS::ImageBuilder::LifecyclePolicy"
+}
+
+resource_schema "aws_imagebuilder_workflow" {
+ cloudformation_type_name = "AWS::ImageBuilder::Workflow"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_inspector_assessment_target" {
+ cloudformation_type_name = "AWS::Inspector::AssessmentTarget"
+}
+
+resource_schema "aws_inspector_assessment_template" {
+ cloudformation_type_name = "AWS::Inspector::AssessmentTemplate"
+}
+
+resource_schema "aws_inspector_resource_group" {
+ cloudformation_type_name = "AWS::Inspector::ResourceGroup"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_inspectorv2_cis_scan_configuration" {
+ cloudformation_type_name = "AWS::InspectorV2::CisScanConfiguration"
+}
+
+resource_schema "aws_inspectorv2_filter" {
+ cloudformation_type_name = "AWS::InspectorV2::Filter"
+}
+
+resource_schema "aws_internetmonitor_monitor" {
+ cloudformation_type_name = "AWS::InternetMonitor::Monitor"
+}
+
+resource_schema "aws_invoicing_invoice_unit" {
+ cloudformation_type_name = "AWS::Invoicing::InvoiceUnit"
+}
+
+resource_schema "aws_iot_account_audit_configuration" {
+ cloudformation_type_name = "AWS::IoT::AccountAuditConfiguration"
+}
+
+resource_schema "aws_iot_authorizer" {
+ cloudformation_type_name = "AWS::IoT::Authorizer"
+}
+
+resource_schema "aws_iot_billing_group" {
+ cloudformation_type_name = "AWS::IoT::BillingGroup"
+}
+
+resource_schema "aws_iot_ca_certificate" {
+ cloudformation_type_name = "AWS::IoT::CACertificate"
+}
+
+resource_schema "aws_iot_certificate" {
+ cloudformation_type_name = "AWS::IoT::Certificate"
+}
+
+resource_schema "aws_iot_certificate_provider" {
+ cloudformation_type_name = "AWS::IoT::CertificateProvider"
+}
+
+resource_schema "aws_iot_command" {
+ cloudformation_type_name = "AWS::IoT::Command"
+}
+
+resource_schema "aws_iot_custom_metric" {
+ cloudformation_type_name = "AWS::IoT::CustomMetric"
+}
+
+resource_schema "aws_iot_dimension" {
+ cloudformation_type_name = "AWS::IoT::Dimension"
+}
+
+resource_schema "aws_iot_domain_configuration" {
+ cloudformation_type_name = "AWS::IoT::DomainConfiguration"
+}
+
+resource_schema "aws_iot_fleet_metric" {
+ cloudformation_type_name = "AWS::IoT::FleetMetric"
+}
+
+resource_schema "aws_iot_job_template" {
+ cloudformation_type_name = "AWS::IoT::JobTemplate"
+}
+
+resource_schema "aws_iot_logging" {
+ cloudformation_type_name = "AWS::IoT::Logging"
+}
+
+resource_schema "aws_iot_mitigation_action" {
+ cloudformation_type_name = "AWS::IoT::MitigationAction"
+}
+
+resource_schema "aws_iot_policy" {
+ cloudformation_type_name = "AWS::IoT::Policy"
+}
+
+resource_schema "aws_iot_provisioning_template" {
+ cloudformation_type_name = "AWS::IoT::ProvisioningTemplate"
+}
+
+resource_schema "aws_iot_resource_specific_logging" {
+ cloudformation_type_name = "AWS::IoT::ResourceSpecificLogging"
+}
+
+resource_schema "aws_iot_role_alias" {
+ cloudformation_type_name = "AWS::IoT::RoleAlias"
+}
+
+resource_schema "aws_iot_scheduled_audit" {
+ cloudformation_type_name = "AWS::IoT::ScheduledAudit"
+}
+
+resource_schema "aws_iot_security_profile" {
+ cloudformation_type_name = "AWS::IoT::SecurityProfile"
+}
+
+resource_schema "aws_iot_software_package" {
+ cloudformation_type_name = "AWS::IoT::SoftwarePackage"
+}
+
+resource_schema "aws_iot_software_package_version" {
+ cloudformation_type_name = "AWS::IoT::SoftwarePackageVersion"
+}
+
+resource_schema "aws_iot_thing" {
+ cloudformation_type_name = "AWS::IoT::Thing"
+}
+
+resource_schema "aws_iot_thing_group" {
+ cloudformation_type_name = "AWS::IoT::ThingGroup"
+}
+
+resource_schema "aws_iot_thing_type" {
+ cloudformation_type_name = "AWS::IoT::ThingType"
+}
+
+resource_schema "aws_iot_topic_rule" {
+ cloudformation_type_name = "AWS::IoT::TopicRule"
+}
+
+resource_schema "aws_iot_topic_rule_destination" {
+ cloudformation_type_name = "AWS::IoT::TopicRuleDestination"
+}
+
+resource_schema "aws_iotanalytics_channel" {
+ cloudformation_type_name = "AWS::IoTAnalytics::Channel"
+}
+
+resource_schema "aws_iotanalytics_dataset" {
+ cloudformation_type_name = "AWS::IoTAnalytics::Dataset"
+}
+
+resource_schema "aws_iotanalytics_datastore" {
+ cloudformation_type_name = "AWS::IoTAnalytics::Datastore"
+}
+
+resource_schema "aws_iotanalytics_pipeline" {
+ cloudformation_type_name = "AWS::IoTAnalytics::Pipeline"
+}
+
+resource_schema "aws_iotcoredeviceadvisor_suite_definition" {
+ cloudformation_type_name = "AWS::IoTCoreDeviceAdvisor::SuiteDefinition"
+}
+
+resource_schema "aws_iotevents_alarm_model" {
+ cloudformation_type_name = "AWS::IoTEvents::AlarmModel"
+}
+
+resource_schema "aws_iotevents_detector_model" {
+ cloudformation_type_name = "AWS::IoTEvents::DetectorModel"
+}
+
+resource_schema "aws_iotevents_input" {
+ cloudformation_type_name = "AWS::IoTEvents::Input"
+}
+
+resource_schema "aws_iotfleethub_application" {
+ cloudformation_type_name = "AWS::IoTFleetHub::Application"
+}
+
+resource_schema "aws_iotfleetwise_campaign" {
+ cloudformation_type_name = "AWS::IoTFleetWise::Campaign"
+}
+
+resource_schema "aws_iotfleetwise_decoder_manifest" {
+ cloudformation_type_name = "AWS::IoTFleetWise::DecoderManifest"
+}
+
+resource_schema "aws_iotfleetwise_fleet" {
+ cloudformation_type_name = "AWS::IoTFleetWise::Fleet"
+}
+
+resource_schema "aws_iotfleetwise_model_manifest" {
+ cloudformation_type_name = "AWS::IoTFleetWise::ModelManifest"
+}
+
+resource_schema "aws_iotfleetwise_signal_catalog" {
+ cloudformation_type_name = "AWS::IoTFleetWise::SignalCatalog"
+}
+
+resource_schema "aws_iotfleetwise_state_template" {
+ cloudformation_type_name = "AWS::IoTFleetWise::StateTemplate"
+}
+
+resource_schema "aws_iotfleetwise_vehicle" {
+ cloudformation_type_name = "AWS::IoTFleetWise::Vehicle"
+}
+
+resource_schema "aws_iotsitewise_access_policy" {
+ cloudformation_type_name = "AWS::IoTSiteWise::AccessPolicy"
+}
+
+resource_schema "aws_iotsitewise_asset" {
+ cloudformation_type_name = "AWS::IoTSiteWise::Asset"
+}
+
+resource_schema "aws_iotsitewise_asset_model" {
+ cloudformation_type_name = "AWS::IoTSiteWise::AssetModel"
+}
+
+resource_schema "aws_iotsitewise_dashboard" {
+ cloudformation_type_name = "AWS::IoTSiteWise::Dashboard"
+}
+
+resource_schema "aws_iotsitewise_gateway" {
+ cloudformation_type_name = "AWS::IoTSiteWise::Gateway"
+}
+
+resource_schema "aws_iotsitewise_portal" {
+ cloudformation_type_name = "AWS::IoTSiteWise::Portal"
+}
+
+resource_schema "aws_iotsitewise_project" {
+ cloudformation_type_name = "AWS::IoTSiteWise::Project"
+}
+
+resource_schema "aws_iottwinmaker_component_type" {
+ cloudformation_type_name = "AWS::IoTTwinMaker::ComponentType"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_iottwinmaker_entity" {
+ cloudformation_type_name = "AWS::IoTTwinMaker::Entity"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_iottwinmaker_scene" {
+ cloudformation_type_name = "AWS::IoTTwinMaker::Scene"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_iottwinmaker_sync_job" {
+ cloudformation_type_name = "AWS::IoTTwinMaker::SyncJob"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_iottwinmaker_workspace" {
+ cloudformation_type_name = "AWS::IoTTwinMaker::Workspace"
+}
+
+resource_schema "aws_iotwireless_destination" {
+ cloudformation_type_name = "AWS::IoTWireless::Destination"
+}
+
+resource_schema "aws_iotwireless_device_profile" {
+ cloudformation_type_name = "AWS::IoTWireless::DeviceProfile"
+}
+
+resource_schema "aws_iotwireless_fuota_task" {
+ cloudformation_type_name = "AWS::IoTWireless::FuotaTask"
+}
+
+resource_schema "aws_iotwireless_multicast_group" {
+ cloudformation_type_name = "AWS::IoTWireless::MulticastGroup"
+}
+
+resource_schema "aws_iotwireless_network_analyzer_configuration" {
+ cloudformation_type_name = "AWS::IoTWireless::NetworkAnalyzerConfiguration"
+}
+
+resource_schema "aws_iotwireless_partner_account" {
+ cloudformation_type_name = "AWS::IoTWireless::PartnerAccount"
+}
+
+resource_schema "aws_iotwireless_service_profile" {
+ cloudformation_type_name = "AWS::IoTWireless::ServiceProfile"
+}
+
+resource_schema "aws_iotwireless_task_definition" {
+ cloudformation_type_name = "AWS::IoTWireless::TaskDefinition"
+}
+
+resource_schema "aws_iotwireless_wireless_device" {
+ cloudformation_type_name = "AWS::IoTWireless::WirelessDevice"
+}
+
+resource_schema "aws_iotwireless_wireless_device_import_task" {
+ cloudformation_type_name = "AWS::IoTWireless::WirelessDeviceImportTask"
+}
+
+resource_schema "aws_iotwireless_wireless_gateway" {
+ cloudformation_type_name = "AWS::IoTWireless::WirelessGateway"
+}
+
+resource_schema "aws_kms_alias" {
+ cloudformation_type_name = "AWS::KMS::Alias"
+}
+
+resource_schema "aws_kms_key" {
+ cloudformation_type_name = "AWS::KMS::Key"
+}
+
+resource_schema "aws_kms_replica_key" {
+ cloudformation_type_name = "AWS::KMS::ReplicaKey"
+}
+
+resource_schema "aws_kafkaconnect_connector" {
+ cloudformation_type_name = "AWS::KafkaConnect::Connector"
+}
+
+resource_schema "aws_kafkaconnect_custom_plugin" {
+ cloudformation_type_name = "AWS::KafkaConnect::CustomPlugin"
+}
+
+resource_schema "aws_kafkaconnect_worker_configuration" {
+ cloudformation_type_name = "AWS::KafkaConnect::WorkerConfiguration"
+}
+
+resource_schema "aws_kendra_data_source" {
+ cloudformation_type_name = "AWS::Kendra::DataSource"
+}
+
+resource_schema "aws_kendra_faq" {
+ cloudformation_type_name = "AWS::Kendra::Faq"
+}
+
+resource_schema "aws_kendra_index" {
+ cloudformation_type_name = "AWS::Kendra::Index"
+}
+
+resource_schema "aws_kendraranking_execution_plan" {
+ cloudformation_type_name = "AWS::KendraRanking::ExecutionPlan"
+}
+
+resource_schema "aws_kinesis_resource_policy" {
+ cloudformation_type_name = "AWS::Kinesis::ResourcePolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_kinesis_stream" {
+ cloudformation_type_name = "AWS::Kinesis::Stream"
+}
+
+resource_schema "aws_kinesisanalyticsv2_application" {
+ cloudformation_type_name = "AWS::KinesisAnalyticsV2::Application"
+}
+
+resource_schema "aws_kinesisfirehose_delivery_stream" {
+ cloudformation_type_name = "AWS::KinesisFirehose::DeliveryStream"
+}
+
+resource_schema "aws_kinesisvideo_signaling_channel" {
+ cloudformation_type_name = "AWS::KinesisVideo::SignalingChannel"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_kinesisvideo_stream" {
+ cloudformation_type_name = "AWS::KinesisVideo::Stream"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_lakeformation_data_cells_filter" {
+ cloudformation_type_name = "AWS::LakeFormation::DataCellsFilter"
+}
+
+resource_schema "aws_lakeformation_principal_permissions" {
+ cloudformation_type_name = "AWS::LakeFormation::PrincipalPermissions"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_lakeformation_tag" {
+ cloudformation_type_name = "AWS::LakeFormation::Tag"
+}
+
+resource_schema "aws_lakeformation_tag_association" {
+ cloudformation_type_name = "AWS::LakeFormation::TagAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_lambda_alias" {
+ cloudformation_type_name = "AWS::Lambda::Alias"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_lambda_code_signing_config" {
+ cloudformation_type_name = "AWS::Lambda::CodeSigningConfig"
+}
+
+resource_schema "aws_lambda_event_invoke_config" {
+ cloudformation_type_name = "AWS::Lambda::EventInvokeConfig"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_lambda_event_source_mapping" {
+ cloudformation_type_name = "AWS::Lambda::EventSourceMapping"
+}
+
+resource_schema "aws_lambda_function" {
+ cloudformation_type_name = "AWS::Lambda::Function"
+}
+
+resource_schema "aws_lambda_layer_version" {
+ cloudformation_type_name = "AWS::Lambda::LayerVersion"
+}
+
+resource_schema "aws_lambda_layer_version_permission" {
+ cloudformation_type_name = "AWS::Lambda::LayerVersionPermission"
+}
+
+resource_schema "aws_lambda_permission" {
+ cloudformation_type_name = "AWS::Lambda::Permission"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_lambda_url" {
+ cloudformation_type_name = "AWS::Lambda::Url"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_lambda_version" {
+ cloudformation_type_name = "AWS::Lambda::Version"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_launchwizard_deployment" {
+ cloudformation_type_name = "AWS::LaunchWizard::Deployment"
+}
+
+resource_schema "aws_lex_bot" {
+ cloudformation_type_name = "AWS::Lex::Bot"
+}
+
+resource_schema "aws_lex_bot_alias" {
+ cloudformation_type_name = "AWS::Lex::BotAlias"
+}
+
+resource_schema "aws_lex_bot_version" {
+ cloudformation_type_name = "AWS::Lex::BotVersion"
+}
+
+resource_schema "aws_lex_resource_policy" {
+ cloudformation_type_name = "AWS::Lex::ResourcePolicy"
+}
+
+resource_schema "aws_licensemanager_grant" {
+ cloudformation_type_name = "AWS::LicenseManager::Grant"
+}
+
+resource_schema "aws_licensemanager_license" {
+ cloudformation_type_name = "AWS::LicenseManager::License"
+}
+
+resource_schema "aws_lightsail_alarm" {
+ cloudformation_type_name = "AWS::Lightsail::Alarm"
+}
+
+resource_schema "aws_lightsail_bucket" {
+ cloudformation_type_name = "AWS::Lightsail::Bucket"
+}
+
+resource_schema "aws_lightsail_certificate" {
+ cloudformation_type_name = "AWS::Lightsail::Certificate"
+}
+
+resource_schema "aws_lightsail_container" {
+ cloudformation_type_name = "AWS::Lightsail::Container"
+}
+
+resource_schema "aws_lightsail_database" {
+ cloudformation_type_name = "AWS::Lightsail::Database"
+}
+
+resource_schema "aws_lightsail_disk" {
+ cloudformation_type_name = "AWS::Lightsail::Disk"
+}
+
+resource_schema "aws_lightsail_distribution" {
+ cloudformation_type_name = "AWS::Lightsail::Distribution"
+}
+
+resource_schema "aws_lightsail_instance" {
+ cloudformation_type_name = "AWS::Lightsail::Instance"
+}
+
+resource_schema "aws_lightsail_load_balancer" {
+ cloudformation_type_name = "AWS::Lightsail::LoadBalancer"
+}
+
+resource_schema "aws_lightsail_load_balancer_tls_certificate" {
+ cloudformation_type_name = "AWS::Lightsail::LoadBalancerTlsCertificate"
+}
+
+resource_schema "aws_lightsail_static_ip" {
+ cloudformation_type_name = "AWS::Lightsail::StaticIp"
+}
+
+resource_schema "aws_location_api_key" {
+ cloudformation_type_name = "AWS::Location::APIKey"
+}
+
+resource_schema "aws_location_geofence_collection" {
+ cloudformation_type_name = "AWS::Location::GeofenceCollection"
+}
+
+resource_schema "aws_location_map" {
+ cloudformation_type_name = "AWS::Location::Map"
+}
+
+resource_schema "aws_location_place_index" {
+ cloudformation_type_name = "AWS::Location::PlaceIndex"
+}
+
+resource_schema "aws_location_route_calculator" {
+ cloudformation_type_name = "AWS::Location::RouteCalculator"
+}
+
+resource_schema "aws_location_tracker" {
+ cloudformation_type_name = "AWS::Location::Tracker"
+}
+
+resource_schema "aws_location_tracker_consumer" {
+ cloudformation_type_name = "AWS::Location::TrackerConsumer"
+}
+
+resource_schema "aws_logs_account_policy" {
+ cloudformation_type_name = "AWS::Logs::AccountPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_logs_delivery" {
+ cloudformation_type_name = "AWS::Logs::Delivery"
+}
+
+resource_schema "aws_logs_delivery_destination" {
+ cloudformation_type_name = "AWS::Logs::DeliveryDestination"
+}
+
+resource_schema "aws_logs_delivery_source" {
+ cloudformation_type_name = "AWS::Logs::DeliverySource"
+}
+
+resource_schema "aws_logs_destination" {
+ cloudformation_type_name = "AWS::Logs::Destination"
+}
+
+resource_schema "aws_logs_integration" {
+ cloudformation_type_name = "AWS::Logs::Integration"
+}
+
+resource_schema "aws_logs_log_anomaly_detector" {
+ cloudformation_type_name = "AWS::Logs::LogAnomalyDetector"
+}
+
+resource_schema "aws_logs_log_group" {
+ cloudformation_type_name = "AWS::Logs::LogGroup"
+}
+
+resource_schema "aws_logs_log_stream" {
+ cloudformation_type_name = "AWS::Logs::LogStream"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_logs_metric_filter" {
+ cloudformation_type_name = "AWS::Logs::MetricFilter"
+}
+
+resource_schema "aws_logs_query_definition" {
+ cloudformation_type_name = "AWS::Logs::QueryDefinition"
+}
+
+resource_schema "aws_logs_resource_policy" {
+ cloudformation_type_name = "AWS::Logs::ResourcePolicy"
+}
+
+resource_schema "aws_logs_subscription_filter" {
+ cloudformation_type_name = "AWS::Logs::SubscriptionFilter"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_logs_transformer" {
+ cloudformation_type_name = "AWS::Logs::Transformer"
+}
+
+resource_schema "aws_lookoutequipment_inference_scheduler" {
+ cloudformation_type_name = "AWS::LookoutEquipment::InferenceScheduler"
+}
+
+resource_schema "aws_lookoutmetrics_alert" {
+ cloudformation_type_name = "AWS::LookoutMetrics::Alert"
+}
+
+resource_schema "aws_lookoutmetrics_anomaly_detector" {
+ cloudformation_type_name = "AWS::LookoutMetrics::AnomalyDetector"
+}
+
+resource_schema "aws_lookoutvision_project" {
+ cloudformation_type_name = "AWS::LookoutVision::Project"
+}
+
+resource_schema "aws_m2_application" {
+ cloudformation_type_name = "AWS::M2::Application"
+}
+
+resource_schema "aws_m2_deployment" {
+ cloudformation_type_name = "AWS::M2::Deployment"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_m2_environment" {
+ cloudformation_type_name = "AWS::M2::Environment"
+}
+
+resource_schema "aws_msk_batch_scram_secret" {
+ cloudformation_type_name = "AWS::MSK::BatchScramSecret"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_msk_cluster" {
+ cloudformation_type_name = "AWS::MSK::Cluster"
+}
+
+resource_schema "aws_msk_cluster_policy" {
+ cloudformation_type_name = "AWS::MSK::ClusterPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_msk_configuration" {
+ cloudformation_type_name = "AWS::MSK::Configuration"
+}
+
+resource_schema "aws_msk_replicator" {
+ cloudformation_type_name = "AWS::MSK::Replicator"
+}
+
+resource_schema "aws_msk_serverless_cluster" {
+ cloudformation_type_name = "AWS::MSK::ServerlessCluster"
+}
+
+resource_schema "aws_msk_vpc_connection" {
+ cloudformation_type_name = "AWS::MSK::VpcConnection"
+}
+
+resource_schema "aws_mwaa_environment" {
+ cloudformation_type_name = "AWS::MWAA::Environment"
+}
+
+resource_schema "aws_macie_allow_list" {
+ cloudformation_type_name = "AWS::Macie::AllowList"
+}
+
+resource_schema "aws_macie_custom_data_identifier" {
+ cloudformation_type_name = "AWS::Macie::CustomDataIdentifier"
+}
+
+resource_schema "aws_macie_findings_filter" {
+ cloudformation_type_name = "AWS::Macie::FindingsFilter"
+}
+
+resource_schema "aws_macie_session" {
+ cloudformation_type_name = "AWS::Macie::Session"
+}
+
+resource_schema "aws_managedblockchain_accessor" {
+ cloudformation_type_name = "AWS::ManagedBlockchain::Accessor"
+}
+
+resource_schema "aws_mediaconnect_bridge" {
+ cloudformation_type_name = "AWS::MediaConnect::Bridge"
+}
+
+resource_schema "aws_mediaconnect_bridge_output" {
+ cloudformation_type_name = "AWS::MediaConnect::BridgeOutput"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_mediaconnect_bridge_source" {
+ cloudformation_type_name = "AWS::MediaConnect::BridgeSource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_mediaconnect_flow" {
+ cloudformation_type_name = "AWS::MediaConnect::Flow"
+}
+
+resource_schema "aws_mediaconnect_flow_entitlement" {
+ cloudformation_type_name = "AWS::MediaConnect::FlowEntitlement"
+}
+
+resource_schema "aws_mediaconnect_flow_output" {
+ cloudformation_type_name = "AWS::MediaConnect::FlowOutput"
+}
+
+resource_schema "aws_mediaconnect_flow_source" {
+ cloudformation_type_name = "AWS::MediaConnect::FlowSource"
+}
+
+resource_schema "aws_mediaconnect_flow_vpc_interface" {
+ cloudformation_type_name = "AWS::MediaConnect::FlowVpcInterface"
+}
+
+resource_schema "aws_mediaconnect_gateway" {
+ cloudformation_type_name = "AWS::MediaConnect::Gateway"
+}
+
+resource_schema "aws_medialive_channel_placement_group" {
+ cloudformation_type_name = "AWS::MediaLive::ChannelPlacementGroup"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_medialive_cloudwatch_alarm_template" {
+ cloudformation_type_name = "AWS::MediaLive::CloudWatchAlarmTemplate"
+}
+
+resource_schema "aws_medialive_cloudwatch_alarm_template_group" {
+ cloudformation_type_name = "AWS::MediaLive::CloudWatchAlarmTemplateGroup"
+}
+
+resource_schema "aws_medialive_cluster" {
+ cloudformation_type_name = "AWS::MediaLive::Cluster"
+}
+
+resource_schema "aws_medialive_event_bridge_rule_template" {
+ cloudformation_type_name = "AWS::MediaLive::EventBridgeRuleTemplate"
+}
+
+resource_schema "aws_medialive_event_bridge_rule_template_group" {
+ cloudformation_type_name = "AWS::MediaLive::EventBridgeRuleTemplateGroup"
+}
+
+resource_schema "aws_medialive_multiplex" {
+ cloudformation_type_name = "AWS::MediaLive::Multiplex"
+}
+
+resource_schema "aws_medialive_multiplexprogram" {
+ cloudformation_type_name = "AWS::MediaLive::Multiplexprogram"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_medialive_network" {
+ cloudformation_type_name = "AWS::MediaLive::Network"
+}
+
+resource_schema "aws_medialive_sdi_source" {
+ cloudformation_type_name = "AWS::MediaLive::SdiSource"
+}
+
+resource_schema "aws_medialive_signal_map" {
+ cloudformation_type_name = "AWS::MediaLive::SignalMap"
+}
+
+resource_schema "aws_mediapackage_asset" {
+ cloudformation_type_name = "AWS::MediaPackage::Asset"
+}
+
+resource_schema "aws_mediapackage_channel" {
+ cloudformation_type_name = "AWS::MediaPackage::Channel"
+}
+
+resource_schema "aws_mediapackage_origin_endpoint" {
+ cloudformation_type_name = "AWS::MediaPackage::OriginEndpoint"
+}
+
+resource_schema "aws_mediapackage_packaging_configuration" {
+ cloudformation_type_name = "AWS::MediaPackage::PackagingConfiguration"
+}
+
+resource_schema "aws_mediapackage_packaging_group" {
+ cloudformation_type_name = "AWS::MediaPackage::PackagingGroup"
+}
+
+resource_schema "aws_mediapackagev2_channel" {
+ cloudformation_type_name = "AWS::MediaPackageV2::Channel"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_mediapackagev2_channel_group" {
+ cloudformation_type_name = "AWS::MediaPackageV2::ChannelGroup"
+}
+
+resource_schema "aws_mediapackagev2_channel_policy" {
+ cloudformation_type_name = "AWS::MediaPackageV2::ChannelPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_mediapackagev2_origin_endpoint" {
+ cloudformation_type_name = "AWS::MediaPackageV2::OriginEndpoint"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_mediapackagev2_origin_endpoint_policy" {
+ cloudformation_type_name = "AWS::MediaPackageV2::OriginEndpointPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_mediatailor_channel" {
+ cloudformation_type_name = "AWS::MediaTailor::Channel"
+}
+
+resource_schema "aws_mediatailor_channel_policy" {
+ cloudformation_type_name = "AWS::MediaTailor::ChannelPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_mediatailor_live_source" {
+ cloudformation_type_name = "AWS::MediaTailor::LiveSource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_mediatailor_playback_configuration" {
+ cloudformation_type_name = "AWS::MediaTailor::PlaybackConfiguration"
+}
+
+resource_schema "aws_mediatailor_source_location" {
+ cloudformation_type_name = "AWS::MediaTailor::SourceLocation"
+}
+
+resource_schema "aws_mediatailor_vod_source" {
+ cloudformation_type_name = "AWS::MediaTailor::VodSource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_memorydb_acl" {
+ cloudformation_type_name = "AWS::MemoryDB::ACL"
+}
+
+resource_schema "aws_memorydb_cluster" {
+ cloudformation_type_name = "AWS::MemoryDB::Cluster"
+}
+
+resource_schema "aws_memorydb_multi_region_cluster" {
+ cloudformation_type_name = "AWS::MemoryDB::MultiRegionCluster"
+}
+
+resource_schema "aws_memorydb_parameter_group" {
+ cloudformation_type_name = "AWS::MemoryDB::ParameterGroup"
+}
+
+resource_schema "aws_memorydb_subnet_group" {
+ cloudformation_type_name = "AWS::MemoryDB::SubnetGroup"
+}
+
+resource_schema "aws_memorydb_user" {
+ cloudformation_type_name = "AWS::MemoryDB::User"
+}
+
+resource_schema "aws_neptune_db_cluster" {
+ cloudformation_type_name = "AWS::Neptune::DBCluster"
+}
+
+resource_schema "aws_neptunegraph_graph" {
+ cloudformation_type_name = "AWS::NeptuneGraph::Graph"
+}
+
+resource_schema "aws_neptunegraph_private_graph_endpoint" {
+ cloudformation_type_name = "AWS::NeptuneGraph::PrivateGraphEndpoint"
+}
+
+resource_schema "aws_networkfirewall_firewall" {
+ cloudformation_type_name = "AWS::NetworkFirewall::Firewall"
+}
+
+resource_schema "aws_networkfirewall_firewall_policy" {
+ cloudformation_type_name = "AWS::NetworkFirewall::FirewallPolicy"
+}
+
+resource_schema "aws_networkfirewall_logging_configuration" {
+ cloudformation_type_name = "AWS::NetworkFirewall::LoggingConfiguration"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_networkfirewall_rule_group" {
+ cloudformation_type_name = "AWS::NetworkFirewall::RuleGroup"
+}
+
+resource_schema "aws_networkfirewall_tls_inspection_configuration" {
+ cloudformation_type_name = "AWS::NetworkFirewall::TLSInspectionConfiguration"
+}
+
+resource_schema "aws_networkmanager_connect_attachment" {
+ cloudformation_type_name = "AWS::NetworkManager::ConnectAttachment"
+}
+
+resource_schema "aws_networkmanager_connect_peer" {
+ cloudformation_type_name = "AWS::NetworkManager::ConnectPeer"
+}
+
+resource_schema "aws_networkmanager_core_network" {
+ cloudformation_type_name = "AWS::NetworkManager::CoreNetwork"
+}
+
+resource_schema "aws_networkmanager_customer_gateway_association" {
+ cloudformation_type_name = "AWS::NetworkManager::CustomerGatewayAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_networkmanager_device" {
+ cloudformation_type_name = "AWS::NetworkManager::Device"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_networkmanager_direct_connect_gateway_attachment" {
+ cloudformation_type_name = "AWS::NetworkManager::DirectConnectGatewayAttachment"
+}
+
+resource_schema "aws_networkmanager_global_network" {
+ cloudformation_type_name = "AWS::NetworkManager::GlobalNetwork"
+}
+
+resource_schema "aws_networkmanager_link" {
+ cloudformation_type_name = "AWS::NetworkManager::Link"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_networkmanager_link_association" {
+ cloudformation_type_name = "AWS::NetworkManager::LinkAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_networkmanager_site" {
+ cloudformation_type_name = "AWS::NetworkManager::Site"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_networkmanager_site_to_site_vpn_attachment" {
+ cloudformation_type_name = "AWS::NetworkManager::SiteToSiteVpnAttachment"
+}
+
+resource_schema "aws_networkmanager_transit_gateway_peering" {
+ cloudformation_type_name = "AWS::NetworkManager::TransitGatewayPeering"
+}
+
+resource_schema "aws_networkmanager_transit_gateway_registration" {
+ cloudformation_type_name = "AWS::NetworkManager::TransitGatewayRegistration"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_networkmanager_transit_gateway_route_table_attachment" {
+ cloudformation_type_name = "AWS::NetworkManager::TransitGatewayRouteTableAttachment"
+}
+
+resource_schema "aws_networkmanager_vpc_attachment" {
+ cloudformation_type_name = "AWS::NetworkManager::VpcAttachment"
+}
+
+resource_schema "aws_notifications_channel_association" {
+ cloudformation_type_name = "AWS::Notifications::ChannelAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_notifications_event_rule" {
+ cloudformation_type_name = "AWS::Notifications::EventRule"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_notifications_managed_notification_account_contact_association" {
+ cloudformation_type_name = "AWS::Notifications::ManagedNotificationAccountContactAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_notifications_managed_notification_additional_channel_association" {
+ cloudformation_type_name = "AWS::Notifications::ManagedNotificationAdditionalChannelAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_notifications_notification_configuration" {
+ cloudformation_type_name = "AWS::Notifications::NotificationConfiguration"
+}
+
+resource_schema "aws_notifications_notification_hub" {
+ cloudformation_type_name = "AWS::Notifications::NotificationHub"
+}
+
+resource_schema "aws_notificationscontacts_email_contact" {
+ cloudformation_type_name = "AWS::NotificationsContacts::EmailContact"
+}
+
+resource_schema "aws_osis_pipeline" {
+ cloudformation_type_name = "AWS::OSIS::Pipeline"
+}
+
+resource_schema "aws_oam_link" {
+ cloudformation_type_name = "AWS::Oam::Link"
+}
+
+resource_schema "aws_oam_sink" {
+ cloudformation_type_name = "AWS::Oam::Sink"
+}
+
+resource_schema "aws_omics_annotation_store" {
+ cloudformation_type_name = "AWS::Omics::AnnotationStore"
+}
+
+resource_schema "aws_omics_reference_store" {
+ cloudformation_type_name = "AWS::Omics::ReferenceStore"
+}
+
+resource_schema "aws_omics_run_group" {
+ cloudformation_type_name = "AWS::Omics::RunGroup"
+}
+
+resource_schema "aws_omics_sequence_store" {
+ cloudformation_type_name = "AWS::Omics::SequenceStore"
+}
+
+resource_schema "aws_omics_variant_store" {
+ cloudformation_type_name = "AWS::Omics::VariantStore"
+}
+
+resource_schema "aws_omics_workflow" {
+ cloudformation_type_name = "AWS::Omics::Workflow"
+}
+
+resource_schema "aws_opensearchserverless_access_policy" {
+ cloudformation_type_name = "AWS::OpenSearchServerless::AccessPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_opensearchserverless_collection" {
+ cloudformation_type_name = "AWS::OpenSearchServerless::Collection"
+}
+
+resource_schema "aws_opensearchserverless_lifecycle_policy" {
+ cloudformation_type_name = "AWS::OpenSearchServerless::LifecyclePolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_opensearchserverless_security_config" {
+ cloudformation_type_name = "AWS::OpenSearchServerless::SecurityConfig"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_opensearchserverless_security_policy" {
+ cloudformation_type_name = "AWS::OpenSearchServerless::SecurityPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_opensearchserverless_vpc_endpoint" {
+ cloudformation_type_name = "AWS::OpenSearchServerless::VpcEndpoint"
+}
+
+resource_schema "aws_opensearchservice_application" {
+ cloudformation_type_name = "AWS::OpenSearchService::Application"
+}
+
+resource_schema "aws_opensearchservice_domain" {
+ cloudformation_type_name = "AWS::OpenSearchService::Domain"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_opsworkscm_server" {
+ cloudformation_type_name = "AWS::OpsWorksCM::Server"
+}
+
+resource_schema "aws_organizations_account" {
+ cloudformation_type_name = "AWS::Organizations::Account"
+}
+
+resource_schema "aws_organizations_organization" {
+ cloudformation_type_name = "AWS::Organizations::Organization"
+}
+
+resource_schema "aws_organizations_organizational_unit" {
+ cloudformation_type_name = "AWS::Organizations::OrganizationalUnit"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_organizations_policy" {
+ cloudformation_type_name = "AWS::Organizations::Policy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_organizations_resource_policy" {
+ cloudformation_type_name = "AWS::Organizations::ResourcePolicy"
+}
+
+resource_schema "aws_pcaconnectorad_connector" {
+ cloudformation_type_name = "AWS::PCAConnectorAD::Connector"
+}
+
+resource_schema "aws_pcaconnectorad_directory_registration" {
+ cloudformation_type_name = "AWS::PCAConnectorAD::DirectoryRegistration"
+}
+
+resource_schema "aws_pcaconnectorad_service_principal_name" {
+ cloudformation_type_name = "AWS::PCAConnectorAD::ServicePrincipalName"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_pcaconnectorad_template" {
+ cloudformation_type_name = "AWS::PCAConnectorAD::Template"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_pcaconnectorad_template_group_access_control_entry" {
+ cloudformation_type_name = "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_pcaconnectorscep_challenge" {
+ cloudformation_type_name = "AWS::PCAConnectorSCEP::Challenge"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_pcaconnectorscep_connector" {
+ cloudformation_type_name = "AWS::PCAConnectorSCEP::Connector"
+}
+
+resource_schema "aws_pcs_cluster" {
+ cloudformation_type_name = "AWS::PCS::Cluster"
+}
+
+resource_schema "aws_pcs_compute_node_group" {
+ cloudformation_type_name = "AWS::PCS::ComputeNodeGroup"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_pcs_queue" {
+ cloudformation_type_name = "AWS::PCS::Queue"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_panorama_application_instance" {
+ cloudformation_type_name = "AWS::Panorama::ApplicationInstance"
+}
+
+resource_schema "aws_panorama_package" {
+ cloudformation_type_name = "AWS::Panorama::Package"
+}
+
+resource_schema "aws_panorama_package_version" {
+ cloudformation_type_name = "AWS::Panorama::PackageVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_paymentcryptography_alias" {
+ cloudformation_type_name = "AWS::PaymentCryptography::Alias"
+}
+
+resource_schema "aws_paymentcryptography_key" {
+ cloudformation_type_name = "AWS::PaymentCryptography::Key"
+}
+
+resource_schema "aws_personalize_dataset" {
+ cloudformation_type_name = "AWS::Personalize::Dataset"
+}
+
+resource_schema "aws_personalize_dataset_group" {
+ cloudformation_type_name = "AWS::Personalize::DatasetGroup"
+}
+
+resource_schema "aws_personalize_schema" {
+ cloudformation_type_name = "AWS::Personalize::Schema"
+}
+
+resource_schema "aws_personalize_solution" {
+ cloudformation_type_name = "AWS::Personalize::Solution"
+}
+
+resource_schema "aws_pinpoint_in_app_template" {
+ cloudformation_type_name = "AWS::Pinpoint::InAppTemplate"
+}
+
+resource_schema "aws_pipes_pipe" {
+ cloudformation_type_name = "AWS::Pipes::Pipe"
+}
+
+resource_schema "aws_proton_environment_account_connection" {
+ cloudformation_type_name = "AWS::Proton::EnvironmentAccountConnection"
+}
+
+resource_schema "aws_proton_environment_template" {
+ cloudformation_type_name = "AWS::Proton::EnvironmentTemplate"
+}
+
+resource_schema "aws_proton_service_template" {
+ cloudformation_type_name = "AWS::Proton::ServiceTemplate"
+}
+
+resource_schema "aws_qbusiness_application" {
+ cloudformation_type_name = "AWS::QBusiness::Application"
+}
+
+resource_schema "aws_qbusiness_data_accessor" {
+ cloudformation_type_name = "AWS::QBusiness::DataAccessor"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_qbusiness_data_source" {
+ cloudformation_type_name = "AWS::QBusiness::DataSource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_qbusiness_index" {
+ cloudformation_type_name = "AWS::QBusiness::Index"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_qbusiness_permission" {
+ cloudformation_type_name = "AWS::QBusiness::Permission"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_qbusiness_plugin" {
+ cloudformation_type_name = "AWS::QBusiness::Plugin"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_qbusiness_retriever" {
+ cloudformation_type_name = "AWS::QBusiness::Retriever"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_qbusiness_web_experience" {
+ cloudformation_type_name = "AWS::QBusiness::WebExperience"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_qldb_stream" {
+ cloudformation_type_name = "AWS::QLDB::Stream"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_quicksight_analysis" {
+ cloudformation_type_name = "AWS::QuickSight::Analysis"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_quicksight_custom_permissions" {
+ cloudformation_type_name = "AWS::QuickSight::CustomPermissions"
+}
+
+resource_schema "aws_quicksight_dashboard" {
+ cloudformation_type_name = "AWS::QuickSight::Dashboard"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_quicksight_data_set" {
+ cloudformation_type_name = "AWS::QuickSight::DataSet"
+}
+
+resource_schema "aws_quicksight_data_source" {
+ cloudformation_type_name = "AWS::QuickSight::DataSource"
+}
+
+resource_schema "aws_quicksight_folder" {
+ cloudformation_type_name = "AWS::QuickSight::Folder"
+}
+
+resource_schema "aws_quicksight_refresh_schedule" {
+ cloudformation_type_name = "AWS::QuickSight::RefreshSchedule"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_quicksight_template" {
+ cloudformation_type_name = "AWS::QuickSight::Template"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_quicksight_theme" {
+ cloudformation_type_name = "AWS::QuickSight::Theme"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_quicksight_topic" {
+ cloudformation_type_name = "AWS::QuickSight::Topic"
+}
+
+resource_schema "aws_quicksight_vpc_connection" {
+ cloudformation_type_name = "AWS::QuickSight::VPCConnection"
+}
+
+resource_schema "aws_ram_permission" {
+ cloudformation_type_name = "AWS::RAM::Permission"
+}
+
+resource_schema "aws_ram_resource_share" {
+ cloudformation_type_name = "AWS::RAM::ResourceShare"
+}
+
+resource_schema "aws_rds_custom_db_engine_version" {
+ cloudformation_type_name = "AWS::RDS::CustomDBEngineVersion"
+}
+
+resource_schema "aws_rds_db_cluster" {
+ cloudformation_type_name = "AWS::RDS::DBCluster"
+}
+
+resource_schema "aws_rds_db_cluster_parameter_group" {
+ cloudformation_type_name = "AWS::RDS::DBClusterParameterGroup"
+}
+
+resource_schema "aws_rds_db_instance" {
+ cloudformation_type_name = "AWS::RDS::DBInstance"
+}
+
+resource_schema "aws_rds_db_parameter_group" {
+ cloudformation_type_name = "AWS::RDS::DBParameterGroup"
+}
+
+resource_schema "aws_rds_db_proxy" {
+ cloudformation_type_name = "AWS::RDS::DBProxy"
+}
+
+resource_schema "aws_rds_db_proxy_endpoint" {
+ cloudformation_type_name = "AWS::RDS::DBProxyEndpoint"
+}
+
+resource_schema "aws_rds_db_proxy_target_group" {
+ cloudformation_type_name = "AWS::RDS::DBProxyTargetGroup"
+}
+
+resource_schema "aws_rds_db_shard_group" {
+ cloudformation_type_name = "AWS::RDS::DBShardGroup"
+}
+
+resource_schema "aws_rds_db_subnet_group" {
+ cloudformation_type_name = "AWS::RDS::DBSubnetGroup"
+}
+
+resource_schema "aws_rds_event_subscription" {
+ cloudformation_type_name = "AWS::RDS::EventSubscription"
+}
+
+resource_schema "aws_rds_global_cluster" {
+ cloudformation_type_name = "AWS::RDS::GlobalCluster"
+}
+
+resource_schema "aws_rds_integration" {
+ cloudformation_type_name = "AWS::RDS::Integration"
+}
+
+resource_schema "aws_rds_option_group" {
+ cloudformation_type_name = "AWS::RDS::OptionGroup"
+}
+
+resource_schema "aws_rum_app_monitor" {
+ cloudformation_type_name = "AWS::RUM::AppMonitor"
+}
+
+resource_schema "aws_rbin_rule" {
+ cloudformation_type_name = "AWS::Rbin::Rule"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_redshift_cluster" {
+ cloudformation_type_name = "AWS::Redshift::Cluster"
+}
+
+resource_schema "aws_redshift_cluster_parameter_group" {
+ cloudformation_type_name = "AWS::Redshift::ClusterParameterGroup"
+}
+
+resource_schema "aws_redshift_cluster_subnet_group" {
+ cloudformation_type_name = "AWS::Redshift::ClusterSubnetGroup"
+}
+
+resource_schema "aws_redshift_endpoint_access" {
+ cloudformation_type_name = "AWS::Redshift::EndpointAccess"
+}
+
+resource_schema "aws_redshift_endpoint_authorization" {
+ cloudformation_type_name = "AWS::Redshift::EndpointAuthorization"
+}
+
+resource_schema "aws_redshift_event_subscription" {
+ cloudformation_type_name = "AWS::Redshift::EventSubscription"
+}
+
+resource_schema "aws_redshift_integration" {
+ cloudformation_type_name = "AWS::Redshift::Integration"
+}
+
+resource_schema "aws_redshift_scheduled_action" {
+ cloudformation_type_name = "AWS::Redshift::ScheduledAction"
+}
+
+resource_schema "aws_redshiftserverless_namespace" {
+ cloudformation_type_name = "AWS::RedshiftServerless::Namespace"
+}
+
+resource_schema "aws_redshiftserverless_workgroup" {
+ cloudformation_type_name = "AWS::RedshiftServerless::Workgroup"
+}
+
+resource_schema "aws_refactorspaces_application" {
+ cloudformation_type_name = "AWS::RefactorSpaces::Application"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_refactorspaces_environment" {
+ cloudformation_type_name = "AWS::RefactorSpaces::Environment"
+}
+
+resource_schema "aws_refactorspaces_route" {
+ cloudformation_type_name = "AWS::RefactorSpaces::Route"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_refactorspaces_service" {
+ cloudformation_type_name = "AWS::RefactorSpaces::Service"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_rekognition_collection" {
+ cloudformation_type_name = "AWS::Rekognition::Collection"
+}
+
+resource_schema "aws_rekognition_project" {
+ cloudformation_type_name = "AWS::Rekognition::Project"
+}
+
+resource_schema "aws_rekognition_stream_processor" {
+ cloudformation_type_name = "AWS::Rekognition::StreamProcessor"
+}
+
+resource_schema "aws_resiliencehub_app" {
+ cloudformation_type_name = "AWS::ResilienceHub::App"
+}
+
+resource_schema "aws_resiliencehub_resiliency_policy" {
+ cloudformation_type_name = "AWS::ResilienceHub::ResiliencyPolicy"
+}
+
+resource_schema "aws_resourceexplorer2_default_view_association" {
+ cloudformation_type_name = "AWS::ResourceExplorer2::DefaultViewAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_resourceexplorer2_index" {
+ cloudformation_type_name = "AWS::ResourceExplorer2::Index"
+}
+
+resource_schema "aws_resourceexplorer2_view" {
+ cloudformation_type_name = "AWS::ResourceExplorer2::View"
+}
+
+resource_schema "aws_resourcegroups_group" {
+ cloudformation_type_name = "AWS::ResourceGroups::Group"
+}
+
+resource_schema "aws_resourcegroups_tag_sync_task" {
+ cloudformation_type_name = "AWS::ResourceGroups::TagSyncTask"
+}
+
+resource_schema "aws_robomaker_fleet" {
+ cloudformation_type_name = "AWS::RoboMaker::Fleet"
+}
+
+resource_schema "aws_robomaker_robot" {
+ cloudformation_type_name = "AWS::RoboMaker::Robot"
+}
+
+resource_schema "aws_robomaker_robot_application" {
+ cloudformation_type_name = "AWS::RoboMaker::RobotApplication"
+}
+
+resource_schema "aws_robomaker_robot_application_version" {
+ cloudformation_type_name = "AWS::RoboMaker::RobotApplicationVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_robomaker_simulation_application" {
+ cloudformation_type_name = "AWS::RoboMaker::SimulationApplication"
+}
+
+resource_schema "aws_robomaker_simulation_application_version" {
+ cloudformation_type_name = "AWS::RoboMaker::SimulationApplicationVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_rolesanywhere_crl" {
+ cloudformation_type_name = "AWS::RolesAnywhere::CRL"
+}
+
+resource_schema "aws_rolesanywhere_profile" {
+ cloudformation_type_name = "AWS::RolesAnywhere::Profile"
+}
+
+resource_schema "aws_rolesanywhere_trust_anchor" {
+ cloudformation_type_name = "AWS::RolesAnywhere::TrustAnchor"
+}
+
+resource_schema "aws_route53_cidr_collection" {
+ cloudformation_type_name = "AWS::Route53::CidrCollection"
+}
+
+resource_schema "aws_route53_dnssec" {
+ cloudformation_type_name = "AWS::Route53::DNSSEC"
+}
+
+resource_schema "aws_route53_health_check" {
+ cloudformation_type_name = "AWS::Route53::HealthCheck"
+}
+
+resource_schema "aws_route53_hosted_zone" {
+ cloudformation_type_name = "AWS::Route53::HostedZone"
+}
+
+resource_schema "aws_route53_key_signing_key" {
+ cloudformation_type_name = "AWS::Route53::KeySigningKey"
+}
+
+resource_schema "aws_route53profiles_profile" {
+ cloudformation_type_name = "AWS::Route53Profiles::Profile"
+}
+
+resource_schema "aws_route53profiles_profile_association" {
+ cloudformation_type_name = "AWS::Route53Profiles::ProfileAssociation"
+}
+
+resource_schema "aws_route53profiles_profile_resource_association" {
+ cloudformation_type_name = "AWS::Route53Profiles::ProfileResourceAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_route53recoverycontrol_cluster" {
+ cloudformation_type_name = "AWS::Route53RecoveryControl::Cluster"
+}
+
+resource_schema "aws_route53recoverycontrol_control_panel" {
+ cloudformation_type_name = "AWS::Route53RecoveryControl::ControlPanel"
+}
+
+resource_schema "aws_route53recoverycontrol_routing_control" {
+ cloudformation_type_name = "AWS::Route53RecoveryControl::RoutingControl"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_route53recoverycontrol_safety_rule" {
+ cloudformation_type_name = "AWS::Route53RecoveryControl::SafetyRule"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_route53recoveryreadiness_cell" {
+ cloudformation_type_name = "AWS::Route53RecoveryReadiness::Cell"
+}
+
+resource_schema "aws_route53recoveryreadiness_readiness_check" {
+ cloudformation_type_name = "AWS::Route53RecoveryReadiness::ReadinessCheck"
+}
+
+resource_schema "aws_route53recoveryreadiness_recovery_group" {
+ cloudformation_type_name = "AWS::Route53RecoveryReadiness::RecoveryGroup"
+}
+
+resource_schema "aws_route53recoveryreadiness_resource_set" {
+ cloudformation_type_name = "AWS::Route53RecoveryReadiness::ResourceSet"
+}
+
+resource_schema "aws_route53resolver_firewall_domain_list" {
+ cloudformation_type_name = "AWS::Route53Resolver::FirewallDomainList"
+}
+
+resource_schema "aws_route53resolver_firewall_rule_group" {
+ cloudformation_type_name = "AWS::Route53Resolver::FirewallRuleGroup"
+}
+
+resource_schema "aws_route53resolver_firewall_rule_group_association" {
+ cloudformation_type_name = "AWS::Route53Resolver::FirewallRuleGroupAssociation"
+}
+
+resource_schema "aws_route53resolver_outpost_resolver" {
+ cloudformation_type_name = "AWS::Route53Resolver::OutpostResolver"
+}
+
+resource_schema "aws_route53resolver_resolver_config" {
+ cloudformation_type_name = "AWS::Route53Resolver::ResolverConfig"
+}
+
+resource_schema "aws_route53resolver_resolver_dnssec_config" {
+ cloudformation_type_name = "AWS::Route53Resolver::ResolverDNSSECConfig"
+}
+
+resource_schema "aws_route53resolver_resolver_query_logging_config" {
+ cloudformation_type_name = "AWS::Route53Resolver::ResolverQueryLoggingConfig"
+}
+
+resource_schema "aws_route53resolver_resolver_query_logging_config_association" {
+ cloudformation_type_name = "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation"
+}
+
+resource_schema "aws_route53resolver_resolver_rule" {
+ cloudformation_type_name = "AWS::Route53Resolver::ResolverRule"
+}
+
+resource_schema "aws_route53resolver_resolver_rule_association" {
+ cloudformation_type_name = "AWS::Route53Resolver::ResolverRuleAssociation"
+}
+
+resource_schema "aws_s3_access_grant" {
+ cloudformation_type_name = "AWS::S3::AccessGrant"
+}
+
+resource_schema "aws_s3_access_grants_instance" {
+ cloudformation_type_name = "AWS::S3::AccessGrantsInstance"
+}
+
+resource_schema "aws_s3_access_grants_location" {
+ cloudformation_type_name = "AWS::S3::AccessGrantsLocation"
+}
+
+resource_schema "aws_s3_access_point" {
+ cloudformation_type_name = "AWS::S3::AccessPoint"
+}
+
+resource_schema "aws_s3_bucket" {
+ cloudformation_type_name = "AWS::S3::Bucket"
+}
+
+resource_schema "aws_s3_bucket_policy" {
+ cloudformation_type_name = "AWS::S3::BucketPolicy"
+}
+
+resource_schema "aws_s3_multi_region_access_point" {
+ cloudformation_type_name = "AWS::S3::MultiRegionAccessPoint"
+}
+
+resource_schema "aws_s3_multi_region_access_point_policy" {
+ cloudformation_type_name = "AWS::S3::MultiRegionAccessPointPolicy"
+}
+
+resource_schema "aws_s3_storage_lens" {
+ cloudformation_type_name = "AWS::S3::StorageLens"
+}
+
+resource_schema "aws_s3_storage_lens_group" {
+ cloudformation_type_name = "AWS::S3::StorageLensGroup"
+}
+
+resource_schema "aws_s3express_bucket_policy" {
+ cloudformation_type_name = "AWS::S3Express::BucketPolicy"
+}
+
+resource_schema "aws_s3express_directory_bucket" {
+ cloudformation_type_name = "AWS::S3Express::DirectoryBucket"
+}
+
+resource_schema "aws_s3objectlambda_access_point" {
+ cloudformation_type_name = "AWS::S3ObjectLambda::AccessPoint"
+}
+
+resource_schema "aws_s3objectlambda_access_point_policy" {
+ cloudformation_type_name = "AWS::S3ObjectLambda::AccessPointPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_s3outposts_access_point" {
+ cloudformation_type_name = "AWS::S3Outposts::AccessPoint"
+}
+
+resource_schema "aws_s3outposts_bucket" {
+ cloudformation_type_name = "AWS::S3Outposts::Bucket"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_s3outposts_bucket_policy" {
+ cloudformation_type_name = "AWS::S3Outposts::BucketPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_s3outposts_endpoint" {
+ cloudformation_type_name = "AWS::S3Outposts::Endpoint"
+}
+
+resource_schema "aws_s3tables_table_bucket" {
+ cloudformation_type_name = "AWS::S3Tables::TableBucket"
+}
+
+resource_schema "aws_s3tables_table_bucket_policy" {
+ cloudformation_type_name = "AWS::S3Tables::TableBucketPolicy"
+}
+
+resource_schema "aws_ses_configuration_set" {
+ cloudformation_type_name = "AWS::SES::ConfigurationSet"
+}
+
+resource_schema "aws_ses_configuration_set_event_destination" {
+ cloudformation_type_name = "AWS::SES::ConfigurationSetEventDestination"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ses_contact_list" {
+ cloudformation_type_name = "AWS::SES::ContactList"
+}
+
+resource_schema "aws_ses_dedicated_ip_pool" {
+ cloudformation_type_name = "AWS::SES::DedicatedIpPool"
+}
+
+resource_schema "aws_ses_email_identity" {
+ cloudformation_type_name = "AWS::SES::EmailIdentity"
+}
+
+resource_schema "aws_ses_mail_manager_addon_instance" {
+ cloudformation_type_name = "AWS::SES::MailManagerAddonInstance"
+}
+
+resource_schema "aws_ses_mail_manager_addon_subscription" {
+ cloudformation_type_name = "AWS::SES::MailManagerAddonSubscription"
+}
+
+resource_schema "aws_ses_mail_manager_archive" {
+ cloudformation_type_name = "AWS::SES::MailManagerArchive"
+}
+
+resource_schema "aws_ses_mail_manager_ingress_point" {
+ cloudformation_type_name = "AWS::SES::MailManagerIngressPoint"
+}
+
+resource_schema "aws_ses_mail_manager_relay" {
+ cloudformation_type_name = "AWS::SES::MailManagerRelay"
+}
+
+resource_schema "aws_ses_mail_manager_rule_set" {
+ cloudformation_type_name = "AWS::SES::MailManagerRuleSet"
+}
+
+resource_schema "aws_ses_mail_manager_traffic_policy" {
+ cloudformation_type_name = "AWS::SES::MailManagerTrafficPolicy"
+}
+
+resource_schema "aws_ses_template" {
+ cloudformation_type_name = "AWS::SES::Template"
+}
+
+resource_schema "aws_ses_vdm_attributes" {
+ cloudformation_type_name = "AWS::SES::VdmAttributes"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_sns_subscription" {
+ cloudformation_type_name = "AWS::SNS::Subscription"
+}
+
+resource_schema "aws_sns_topic" {
+ cloudformation_type_name = "AWS::SNS::Topic"
+}
+
+resource_schema "aws_sns_topic_inline_policy" {
+ cloudformation_type_name = "AWS::SNS::TopicInlinePolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_sqs_queue" {
+ cloudformation_type_name = "AWS::SQS::Queue"
+}
+
+resource_schema "aws_sqs_queue_inline_policy" {
+ cloudformation_type_name = "AWS::SQS::QueueInlinePolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ssm_association" {
+ cloudformation_type_name = "AWS::SSM::Association"
+}
+
+resource_schema "aws_ssm_document" {
+ cloudformation_type_name = "AWS::SSM::Document"
+}
+
+resource_schema "aws_ssm_parameter" {
+ cloudformation_type_name = "AWS::SSM::Parameter"
+}
+
+resource_schema "aws_ssm_patch_baseline" {
+ cloudformation_type_name = "AWS::SSM::PatchBaseline"
+}
+
+resource_schema "aws_ssm_resource_data_sync" {
+ cloudformation_type_name = "AWS::SSM::ResourceDataSync"
+}
+
+resource_schema "aws_ssm_resource_policy" {
+ cloudformation_type_name = "AWS::SSM::ResourcePolicy"
+}
+
+resource_schema "aws_ssmcontacts_contact" {
+ cloudformation_type_name = "AWS::SSMContacts::Contact"
+}
+
+resource_schema "aws_ssmcontacts_contact_channel" {
+ cloudformation_type_name = "AWS::SSMContacts::ContactChannel"
+}
+
+resource_schema "aws_ssmcontacts_plan" {
+ cloudformation_type_name = "AWS::SSMContacts::Plan"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_ssmcontacts_rotation" {
+ cloudformation_type_name = "AWS::SSMContacts::Rotation"
+}
+
+resource_schema "aws_ssmincidents_replication_set" {
+ cloudformation_type_name = "AWS::SSMIncidents::ReplicationSet"
+}
+
+resource_schema "aws_ssmincidents_response_plan" {
+ cloudformation_type_name = "AWS::SSMIncidents::ResponsePlan"
+}
+
+resource_schema "aws_ssmquicksetup_configuration_manager" {
+ cloudformation_type_name = "AWS::SSMQuickSetup::ConfigurationManager"
+}
+
+resource_schema "aws_sso_application" {
+ cloudformation_type_name = "AWS::SSO::Application"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_sso_application_assignment" {
+ cloudformation_type_name = "AWS::SSO::ApplicationAssignment"
+}
+
+resource_schema "aws_sso_assignment" {
+ cloudformation_type_name = "AWS::SSO::Assignment"
+}
+
+resource_schema "aws_sso_instance" {
+ cloudformation_type_name = "AWS::SSO::Instance"
+}
+
+resource_schema "aws_sso_instance_access_control_attribute_configuration" {
+ cloudformation_type_name = "AWS::SSO::InstanceAccessControlAttributeConfiguration"
+}
+
+resource_schema "aws_sso_permission_set" {
+ cloudformation_type_name = "AWS::SSO::PermissionSet"
+}
+
+resource_schema "aws_sagemaker_app" {
+ cloudformation_type_name = "AWS::SageMaker::App"
+}
+
+resource_schema "aws_sagemaker_app_image_config" {
+ cloudformation_type_name = "AWS::SageMaker::AppImageConfig"
+}
+
+resource_schema "aws_sagemaker_cluster" {
+ cloudformation_type_name = "AWS::SageMaker::Cluster"
+}
+
+resource_schema "aws_sagemaker_data_quality_job_definition" {
+ cloudformation_type_name = "AWS::SageMaker::DataQualityJobDefinition"
+}
+
+resource_schema "aws_sagemaker_device" {
+ cloudformation_type_name = "AWS::SageMaker::Device"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_sagemaker_device_fleet" {
+ cloudformation_type_name = "AWS::SageMaker::DeviceFleet"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_sagemaker_domain" {
+ cloudformation_type_name = "AWS::SageMaker::Domain"
+}
+
+resource_schema "aws_sagemaker_endpoint" {
+ cloudformation_type_name = "AWS::SageMaker::Endpoint"
+}
+
+resource_schema "aws_sagemaker_feature_group" {
+ cloudformation_type_name = "AWS::SageMaker::FeatureGroup"
+}
+
+resource_schema "aws_sagemaker_image" {
+ cloudformation_type_name = "AWS::SageMaker::Image"
+}
+
+resource_schema "aws_sagemaker_image_version" {
+ cloudformation_type_name = "AWS::SageMaker::ImageVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_sagemaker_inference_component" {
+ cloudformation_type_name = "AWS::SageMaker::InferenceComponent"
+}
+
+resource_schema "aws_sagemaker_inference_experiment" {
+ cloudformation_type_name = "AWS::SageMaker::InferenceExperiment"
+}
+
+resource_schema "aws_sagemaker_mlflow_tracking_server" {
+ cloudformation_type_name = "AWS::SageMaker::MlflowTrackingServer"
+}
+
+resource_schema "aws_sagemaker_model_bias_job_definition" {
+ cloudformation_type_name = "AWS::SageMaker::ModelBiasJobDefinition"
+}
+
+resource_schema "aws_sagemaker_model_card" {
+ cloudformation_type_name = "AWS::SageMaker::ModelCard"
+}
+
+resource_schema "aws_sagemaker_model_explainability_job_definition" {
+ cloudformation_type_name = "AWS::SageMaker::ModelExplainabilityJobDefinition"
+}
+
+resource_schema "aws_sagemaker_model_package" {
+ cloudformation_type_name = "AWS::SageMaker::ModelPackage"
+}
+
+resource_schema "aws_sagemaker_model_package_group" {
+ cloudformation_type_name = "AWS::SageMaker::ModelPackageGroup"
+}
+
+resource_schema "aws_sagemaker_model_quality_job_definition" {
+ cloudformation_type_name = "AWS::SageMaker::ModelQualityJobDefinition"
+}
+
+resource_schema "aws_sagemaker_monitoring_schedule" {
+ cloudformation_type_name = "AWS::SageMaker::MonitoringSchedule"
+}
+
+resource_schema "aws_sagemaker_partner_app" {
+ cloudformation_type_name = "AWS::SageMaker::PartnerApp"
+}
+
+resource_schema "aws_sagemaker_pipeline" {
+ cloudformation_type_name = "AWS::SageMaker::Pipeline"
+}
+
+resource_schema "aws_sagemaker_project" {
+ cloudformation_type_name = "AWS::SageMaker::Project"
+}
+
+resource_schema "aws_sagemaker_space" {
+ cloudformation_type_name = "AWS::SageMaker::Space"
+}
+
+resource_schema "aws_sagemaker_studio_lifecycle_config" {
+ cloudformation_type_name = "AWS::SageMaker::StudioLifecycleConfig"
+}
+
+resource_schema "aws_sagemaker_user_profile" {
+ cloudformation_type_name = "AWS::SageMaker::UserProfile"
+}
+
+resource_schema "aws_scheduler_schedule" {
+ cloudformation_type_name = "AWS::Scheduler::Schedule"
+}
+
+resource_schema "aws_scheduler_schedule_group" {
+ cloudformation_type_name = "AWS::Scheduler::ScheduleGroup"
+}
+
+resource_schema "aws_secretsmanager_resource_policy" {
+ cloudformation_type_name = "AWS::SecretsManager::ResourcePolicy"
+}
+
+resource_schema "aws_secretsmanager_rotation_schedule" {
+ cloudformation_type_name = "AWS::SecretsManager::RotationSchedule"
+}
+
+resource_schema "aws_secretsmanager_secret" {
+ cloudformation_type_name = "AWS::SecretsManager::Secret"
+}
+
+resource_schema "aws_secretsmanager_secret_target_attachment" {
+ cloudformation_type_name = "AWS::SecretsManager::SecretTargetAttachment"
+}
+
+resource_schema "aws_securityhub_automation_rule" {
+ cloudformation_type_name = "AWS::SecurityHub::AutomationRule"
+}
+
+resource_schema "aws_securityhub_configuration_policy" {
+ cloudformation_type_name = "AWS::SecurityHub::ConfigurationPolicy"
+}
+
+resource_schema "aws_securityhub_delegated_admin" {
+ cloudformation_type_name = "AWS::SecurityHub::DelegatedAdmin"
+}
+
+resource_schema "aws_securityhub_finding_aggregator" {
+ cloudformation_type_name = "AWS::SecurityHub::FindingAggregator"
+}
+
+resource_schema "aws_securityhub_hub" {
+ cloudformation_type_name = "AWS::SecurityHub::Hub"
+}
+
+resource_schema "aws_securityhub_insight" {
+ cloudformation_type_name = "AWS::SecurityHub::Insight"
+}
+
+resource_schema "aws_securityhub_organization_configuration" {
+ cloudformation_type_name = "AWS::SecurityHub::OrganizationConfiguration"
+}
+
+resource_schema "aws_securityhub_policy_association" {
+ cloudformation_type_name = "AWS::SecurityHub::PolicyAssociation"
+}
+
+resource_schema "aws_securityhub_product_subscription" {
+ cloudformation_type_name = "AWS::SecurityHub::ProductSubscription"
+}
+
+resource_schema "aws_securityhub_security_control" {
+ cloudformation_type_name = "AWS::SecurityHub::SecurityControl"
+}
+
+resource_schema "aws_securityhub_standard" {
+ cloudformation_type_name = "AWS::SecurityHub::Standard"
+}
+
+resource_schema "aws_securitylake_aws_log_source" {
+ cloudformation_type_name = "AWS::SecurityLake::AwsLogSource"
+}
+
+resource_schema "aws_securitylake_data_lake" {
+ cloudformation_type_name = "AWS::SecurityLake::DataLake"
+}
+
+resource_schema "aws_securitylake_subscriber" {
+ cloudformation_type_name = "AWS::SecurityLake::Subscriber"
+}
+
+resource_schema "aws_securitylake_subscriber_notification" {
+ cloudformation_type_name = "AWS::SecurityLake::SubscriberNotification"
+}
+
+resource_schema "aws_servicecatalog_cloudformation_provisioned_product" {
+ cloudformation_type_name = "AWS::ServiceCatalog::CloudFormationProvisionedProduct"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_servicecatalog_service_action" {
+ cloudformation_type_name = "AWS::ServiceCatalog::ServiceAction"
+}
+
+resource_schema "aws_servicecatalog_service_action_association" {
+ cloudformation_type_name = "AWS::ServiceCatalog::ServiceActionAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_servicecatalogappregistry_application" {
+ cloudformation_type_name = "AWS::ServiceCatalogAppRegistry::Application"
+}
+
+resource_schema "aws_servicecatalogappregistry_attribute_group" {
+ cloudformation_type_name = "AWS::ServiceCatalogAppRegistry::AttributeGroup"
+}
+
+resource_schema "aws_servicecatalogappregistry_attribute_group_association" {
+ cloudformation_type_name = "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_servicecatalogappregistry_resource_association" {
+ cloudformation_type_name = "AWS::ServiceCatalogAppRegistry::ResourceAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_shield_drt_access" {
+ cloudformation_type_name = "AWS::Shield::DRTAccess"
+}
+
+resource_schema "aws_shield_proactive_engagement" {
+ cloudformation_type_name = "AWS::Shield::ProactiveEngagement"
+}
+
+resource_schema "aws_shield_protection" {
+ cloudformation_type_name = "AWS::Shield::Protection"
+}
+
+resource_schema "aws_shield_protection_group" {
+ cloudformation_type_name = "AWS::Shield::ProtectionGroup"
+}
+
+resource_schema "aws_signer_profile_permission" {
+ cloudformation_type_name = "AWS::Signer::ProfilePermission"
+}
+
+resource_schema "aws_signer_signing_profile" {
+ cloudformation_type_name = "AWS::Signer::SigningProfile"
+}
+
+resource_schema "aws_simspaceweaver_simulation" {
+ cloudformation_type_name = "AWS::SimSpaceWeaver::Simulation"
+}
+
+resource_schema "aws_stepfunctions_activity" {
+ cloudformation_type_name = "AWS::StepFunctions::Activity"
+}
+
+resource_schema "aws_stepfunctions_state_machine" {
+ cloudformation_type_name = "AWS::StepFunctions::StateMachine"
+}
+
+resource_schema "aws_stepfunctions_state_machine_alias" {
+ cloudformation_type_name = "AWS::StepFunctions::StateMachineAlias"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_stepfunctions_state_machine_version" {
+ cloudformation_type_name = "AWS::StepFunctions::StateMachineVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_supportapp_account_alias" {
+ cloudformation_type_name = "AWS::SupportApp::AccountAlias"
+}
+
+resource_schema "aws_supportapp_slack_channel_configuration" {
+ cloudformation_type_name = "AWS::SupportApp::SlackChannelConfiguration"
+}
+
+resource_schema "aws_supportapp_slack_workspace_configuration" {
+ cloudformation_type_name = "AWS::SupportApp::SlackWorkspaceConfiguration"
+}
+
+resource_schema "aws_synthetics_canary" {
+ cloudformation_type_name = "AWS::Synthetics::Canary"
+}
+
+resource_schema "aws_synthetics_group" {
+ cloudformation_type_name = "AWS::Synthetics::Group"
+}
+
+resource_schema "aws_systemsmanagersap_application" {
+ cloudformation_type_name = "AWS::SystemsManagerSAP::Application"
+}
+
+resource_schema "aws_timestream_database" {
+ cloudformation_type_name = "AWS::Timestream::Database"
+}
+
+resource_schema "aws_timestream_influx_db_instance" {
+ cloudformation_type_name = "AWS::Timestream::InfluxDBInstance"
+}
+
+resource_schema "aws_timestream_scheduled_query" {
+ cloudformation_type_name = "AWS::Timestream::ScheduledQuery"
+}
+
+resource_schema "aws_timestream_table" {
+ cloudformation_type_name = "AWS::Timestream::Table"
+}
+
+resource_schema "aws_transfer_agreement" {
+ cloudformation_type_name = "AWS::Transfer::Agreement"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_transfer_certificate" {
+ cloudformation_type_name = "AWS::Transfer::Certificate"
+}
+
+resource_schema "aws_transfer_connector" {
+ cloudformation_type_name = "AWS::Transfer::Connector"
+}
+
+resource_schema "aws_transfer_profile" {
+ cloudformation_type_name = "AWS::Transfer::Profile"
+}
+
+resource_schema "aws_transfer_server" {
+ cloudformation_type_name = "AWS::Transfer::Server"
+}
+
+resource_schema "aws_transfer_user" {
+ cloudformation_type_name = "AWS::Transfer::User"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_transfer_web_app" {
+ cloudformation_type_name = "AWS::Transfer::WebApp"
+}
+
+resource_schema "aws_transfer_workflow" {
+ cloudformation_type_name = "AWS::Transfer::Workflow"
+}
+
+resource_schema "aws_verifiedpermissions_identity_source" {
+ cloudformation_type_name = "AWS::VerifiedPermissions::IdentitySource"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_verifiedpermissions_policy" {
+ cloudformation_type_name = "AWS::VerifiedPermissions::Policy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_verifiedpermissions_policy_store" {
+ cloudformation_type_name = "AWS::VerifiedPermissions::PolicyStore"
+}
+
+resource_schema "aws_verifiedpermissions_policy_template" {
+ cloudformation_type_name = "AWS::VerifiedPermissions::PolicyTemplate"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_voiceid_domain" {
+ cloudformation_type_name = "AWS::VoiceID::Domain"
+}
+
+resource_schema "aws_vpclattice_access_log_subscription" {
+ cloudformation_type_name = "AWS::VpcLattice::AccessLogSubscription"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_vpclattice_auth_policy" {
+ cloudformation_type_name = "AWS::VpcLattice::AuthPolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_vpclattice_listener" {
+ cloudformation_type_name = "AWS::VpcLattice::Listener"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_vpclattice_resource_configuration" {
+ cloudformation_type_name = "AWS::VpcLattice::ResourceConfiguration"
+}
+
+resource_schema "aws_vpclattice_resource_gateway" {
+ cloudformation_type_name = "AWS::VpcLattice::ResourceGateway"
+}
+
+resource_schema "aws_vpclattice_resource_policy" {
+ cloudformation_type_name = "AWS::VpcLattice::ResourcePolicy"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_vpclattice_rule" {
+ cloudformation_type_name = "AWS::VpcLattice::Rule"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_vpclattice_service" {
+ cloudformation_type_name = "AWS::VpcLattice::Service"
+}
+
+resource_schema "aws_vpclattice_service_network" {
+ cloudformation_type_name = "AWS::VpcLattice::ServiceNetwork"
+}
+
+resource_schema "aws_vpclattice_service_network_resource_association" {
+ cloudformation_type_name = "AWS::VpcLattice::ServiceNetworkResourceAssociation"
+}
+
+resource_schema "aws_vpclattice_service_network_service_association" {
+ cloudformation_type_name = "AWS::VpcLattice::ServiceNetworkServiceAssociation"
+}
+
+resource_schema "aws_vpclattice_service_network_vpc_association" {
+ cloudformation_type_name = "AWS::VpcLattice::ServiceNetworkVpcAssociation"
+}
+
+resource_schema "aws_vpclattice_target_group" {
+ cloudformation_type_name = "AWS::VpcLattice::TargetGroup"
+}
+
+resource_schema "aws_wafv2_ip_set" {
+ cloudformation_type_name = "AWS::WAFv2::IPSet"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wafv2_logging_configuration" {
+ cloudformation_type_name = "AWS::WAFv2::LoggingConfiguration"
+}
+
+resource_schema "aws_wafv2_regex_pattern_set" {
+ cloudformation_type_name = "AWS::WAFv2::RegexPatternSet"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wafv2_rule_group" {
+ cloudformation_type_name = "AWS::WAFv2::RuleGroup"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wafv2_web_acl" {
+ cloudformation_type_name = "AWS::WAFv2::WebACL"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wafv2_web_acl_association" {
+ cloudformation_type_name = "AWS::WAFv2::WebACLAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wisdom_ai_agent" {
+ cloudformation_type_name = "AWS::Wisdom::AIAgent"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wisdom_ai_agent_version" {
+ cloudformation_type_name = "AWS::Wisdom::AIAgentVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wisdom_ai_guardrail" {
+ cloudformation_type_name = "AWS::Wisdom::AIGuardrail"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wisdom_ai_guardrail_version" {
+ cloudformation_type_name = "AWS::Wisdom::AIGuardrailVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wisdom_ai_prompt" {
+ cloudformation_type_name = "AWS::Wisdom::AIPrompt"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wisdom_ai_prompt_version" {
+ cloudformation_type_name = "AWS::Wisdom::AIPromptVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wisdom_assistant" {
+ cloudformation_type_name = "AWS::Wisdom::Assistant"
+}
+
+resource_schema "aws_wisdom_assistant_association" {
+ cloudformation_type_name = "AWS::Wisdom::AssistantAssociation"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wisdom_knowledge_base" {
+ cloudformation_type_name = "AWS::Wisdom::KnowledgeBase"
+}
+
+resource_schema "aws_wisdom_message_template" {
+ cloudformation_type_name = "AWS::Wisdom::MessageTemplate"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_wisdom_message_template_version" {
+ cloudformation_type_name = "AWS::Wisdom::MessageTemplateVersion"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_workspaces_connection_alias" {
+ cloudformation_type_name = "AWS::WorkSpaces::ConnectionAlias"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_workspaces_workspaces_pool" {
+ cloudformation_type_name = "AWS::WorkSpaces::WorkspacesPool"
+}
+
+resource_schema "aws_workspacesthinclient_environment" {
+ cloudformation_type_name = "AWS::WorkSpacesThinClient::Environment"
+}
+
+resource_schema "aws_workspacesweb_browser_settings" {
+ cloudformation_type_name = "AWS::WorkSpacesWeb::BrowserSettings"
+}
+
+resource_schema "aws_workspacesweb_data_protection_settings" {
+ cloudformation_type_name = "AWS::WorkSpacesWeb::DataProtectionSettings"
+}
+
+resource_schema "aws_workspacesweb_identity_provider" {
+ cloudformation_type_name = "AWS::WorkSpacesWeb::IdentityProvider"
+ suppress_plural_data_source_generation = true
+}
+
+resource_schema "aws_workspacesweb_ip_access_settings" {
+ cloudformation_type_name = "AWS::WorkSpacesWeb::IpAccessSettings"
+}
+
+resource_schema "aws_workspacesweb_network_settings" {
+ cloudformation_type_name = "AWS::WorkSpacesWeb::NetworkSettings"
+}
+
+resource_schema "aws_workspacesweb_portal" {
+ cloudformation_type_name = "AWS::WorkSpacesWeb::Portal"
+}
+
+resource_schema "aws_workspacesweb_trust_store" {
+ cloudformation_type_name = "AWS::WorkSpacesWeb::TrustStore"
+}
+
+resource_schema "aws_workspacesweb_user_access_logging_settings" {
+ cloudformation_type_name = "AWS::WorkSpacesWeb::UserAccessLoggingSettings"
+}
+
+resource_schema "aws_workspacesweb_user_settings" {
+ cloudformation_type_name = "AWS::WorkSpacesWeb::UserSettings"
+}
+
+resource_schema "aws_xray_group" {
+ cloudformation_type_name = "AWS::XRay::Group"
+}
+
+resource_schema "aws_xray_resource_policy" {
+ cloudformation_type_name = "AWS::XRay::ResourcePolicy"
+}
+
+resource_schema "aws_xray_sampling_rule" {
+ cloudformation_type_name = "AWS::XRay::SamplingRule"
+}
diff --git a/internal/provider/import_examples_gen.json b/internal/provider/import_examples_gen.json
index 8330cfb41..ec7bcbb1e 100644
--- a/internal/provider/import_examples_gen.json
+++ b/internal/provider/import_examples_gen.json
@@ -1039,6 +1039,11 @@
"identifier": ["UserPoolId","ClientId"],
"path": "./examples/resources/awscc_cognito_user_pool_client/import.sh"
},
+ {
+ "resource": "awscc_cognito_user_pool_domain",
+ "identifier": ["UserPoolId","Domain"],
+ "path": "./examples/resources/awscc_cognito_user_pool_domain/import.sh"
+ },
{
"resource": "awscc_cognito_user_pool_group",
"identifier": ["UserPoolId","GroupName"],
@@ -1134,6 +1139,11 @@
"identifier": ["ContactFlowModuleArn"],
"path": "./examples/resources/awscc_connect_contact_flow_module/import.sh"
},
+ {
+ "resource": "awscc_connect_contact_flow_version",
+ "identifier": ["ContactFlowVersionARN"],
+ "path": "./examples/resources/awscc_connect_contact_flow_version/import.sh"
+ },
{
"resource": "awscc_connect_email_address",
"identifier": ["EmailAddressArn"],
@@ -5319,6 +5329,11 @@
"identifier": ["Arn"],
"path": "./examples/resources/awscc_transfer_server/import.sh"
},
+ {
+ "resource": "awscc_transfer_web_app",
+ "identifier": ["Arn"],
+ "path": "./examples/resources/awscc_transfer_web_app/import.sh"
+ },
{
"resource": "awscc_transfer_workflow",
"identifier": ["WorkflowId"],
diff --git a/internal/provider/plural_data_sources.go b/internal/provider/plural_data_sources.go
index c8bf06c05..b9a3f0c27 100644
--- a/internal/provider/plural_data_sources.go
+++ b/internal/provider/plural_data_sources.go
@@ -817,6 +817,7 @@
//go:generate go run generators/plural-data-source/main.go -data-source awscc_transfer_connectors -cftype AWS::Transfer::Connector -package transfer ../aws/transfer/connector_plural_data_source_gen.go ../aws/transfer/connector_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_transfer_profiles -cftype AWS::Transfer::Profile -package transfer ../aws/transfer/profile_plural_data_source_gen.go ../aws/transfer/profile_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_transfer_servers -cftype AWS::Transfer::Server -package transfer ../aws/transfer/server_plural_data_source_gen.go ../aws/transfer/server_plural_data_source_gen_test.go
+//go:generate go run generators/plural-data-source/main.go -data-source awscc_transfer_web_apps -cftype AWS::Transfer::WebApp -package transfer ../aws/transfer/web_app_plural_data_source_gen.go ../aws/transfer/web_app_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_transfer_workflows -cftype AWS::Transfer::Workflow -package transfer ../aws/transfer/workflow_plural_data_source_gen.go ../aws/transfer/workflow_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_verifiedpermissions_policy_stores -cftype AWS::VerifiedPermissions::PolicyStore -package verifiedpermissions ../aws/verifiedpermissions/policy_store_plural_data_source_gen.go ../aws/verifiedpermissions/policy_store_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_voiceid_domains -cftype AWS::VoiceID::Domain -package voiceid ../aws/voiceid/domain_plural_data_source_gen.go ../aws/voiceid/domain_plural_data_source_gen_test.go
diff --git a/internal/provider/resources.go b/internal/provider/resources.go
index 849605d70..65d2c409e 100644
--- a/internal/provider/resources.go
+++ b/internal/provider/resources.go
@@ -210,6 +210,7 @@
//go:generate go run generators/resource/main.go -resource awscc_cognito_log_delivery_configuration -cfschema ../service/cloudformation/schemas/AWS_Cognito_LogDeliveryConfiguration.json -package cognito -- ../aws/cognito/log_delivery_configuration_resource_gen.go ../aws/cognito/log_delivery_configuration_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cognito_managed_login_branding -cfschema ../service/cloudformation/schemas/AWS_Cognito_ManagedLoginBranding.json -package cognito -- ../aws/cognito/managed_login_branding_resource_gen.go ../aws/cognito/managed_login_branding_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cognito_user_pool_client -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolClient.json -package cognito -- ../aws/cognito/user_pool_client_resource_gen.go ../aws/cognito/user_pool_client_resource_gen_test.go
+//go:generate go run generators/resource/main.go -resource awscc_cognito_user_pool_domain -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolDomain.json -package cognito -- ../aws/cognito/user_pool_domain_resource_gen.go ../aws/cognito/user_pool_domain_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cognito_user_pool_group -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolGroup.json -package cognito -- ../aws/cognito/user_pool_group_resource_gen.go ../aws/cognito/user_pool_group_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cognito_user_pool_identity_provider -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolIdentityProvider.json -package cognito -- ../aws/cognito/user_pool_identity_provider_resource_gen.go ../aws/cognito/user_pool_identity_provider_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cognito_user_pool_resource_server -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolResourceServer.json -package cognito -- ../aws/cognito/user_pool_resource_server_resource_gen.go ../aws/cognito/user_pool_resource_server_resource_gen_test.go
@@ -229,6 +230,7 @@
//go:generate go run generators/resource/main.go -resource awscc_connect_approved_origin -cfschema ../service/cloudformation/schemas/AWS_Connect_ApprovedOrigin.json -package connect -- ../aws/connect/approved_origin_resource_gen.go ../aws/connect/approved_origin_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_connect_contact_flow -cfschema ../service/cloudformation/schemas/AWS_Connect_ContactFlow.json -package connect -- ../aws/connect/contact_flow_resource_gen.go ../aws/connect/contact_flow_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_connect_contact_flow_module -cfschema ../service/cloudformation/schemas/AWS_Connect_ContactFlowModule.json -package connect -- ../aws/connect/contact_flow_module_resource_gen.go ../aws/connect/contact_flow_module_resource_gen_test.go
+//go:generate go run generators/resource/main.go -resource awscc_connect_contact_flow_version -cfschema ../service/cloudformation/schemas/AWS_Connect_ContactFlowVersion.json -package connect -- ../aws/connect/contact_flow_version_resource_gen.go ../aws/connect/contact_flow_version_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_connect_email_address -cfschema ../service/cloudformation/schemas/AWS_Connect_EmailAddress.json -package connect -- ../aws/connect/email_address_resource_gen.go ../aws/connect/email_address_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_connect_hours_of_operation -cfschema ../service/cloudformation/schemas/AWS_Connect_HoursOfOperation.json -package connect -- ../aws/connect/hours_of_operation_resource_gen.go ../aws/connect/hours_of_operation_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_connect_instance -cfschema ../service/cloudformation/schemas/AWS_Connect_Instance.json -package connect -- ../aws/connect/instance_resource_gen.go ../aws/connect/instance_resource_gen_test.go
@@ -1066,6 +1068,7 @@
//go:generate go run generators/resource/main.go -resource awscc_transfer_connector -cfschema ../service/cloudformation/schemas/AWS_Transfer_Connector.json -package transfer -- ../aws/transfer/connector_resource_gen.go ../aws/transfer/connector_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_transfer_profile -cfschema ../service/cloudformation/schemas/AWS_Transfer_Profile.json -package transfer -- ../aws/transfer/profile_resource_gen.go ../aws/transfer/profile_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_transfer_server -cfschema ../service/cloudformation/schemas/AWS_Transfer_Server.json -package transfer -- ../aws/transfer/server_resource_gen.go ../aws/transfer/server_resource_gen_test.go
+//go:generate go run generators/resource/main.go -resource awscc_transfer_web_app -cfschema ../service/cloudformation/schemas/AWS_Transfer_WebApp.json -package transfer -- ../aws/transfer/web_app_resource_gen.go ../aws/transfer/web_app_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_transfer_workflow -cfschema ../service/cloudformation/schemas/AWS_Transfer_Workflow.json -package transfer -- ../aws/transfer/workflow_resource_gen.go ../aws/transfer/workflow_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_verifiedpermissions_identity_source -cfschema ../service/cloudformation/schemas/AWS_VerifiedPermissions_IdentitySource.json -package verifiedpermissions -- ../aws/verifiedpermissions/identity_source_resource_gen.go ../aws/verifiedpermissions/identity_source_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_verifiedpermissions_policy -cfschema ../service/cloudformation/schemas/AWS_VerifiedPermissions_Policy.json -package verifiedpermissions -- ../aws/verifiedpermissions/policy_resource_gen.go ../aws/verifiedpermissions/policy_resource_gen_test.go
diff --git a/internal/provider/singular_data_sources.go b/internal/provider/singular_data_sources.go
index e9d3e2e25..64c3c963a 100644
--- a/internal/provider/singular_data_sources.go
+++ b/internal/provider/singular_data_sources.go
@@ -210,6 +210,7 @@
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cognito_log_delivery_configuration -cfschema ../service/cloudformation/schemas/AWS_Cognito_LogDeliveryConfiguration.json -package cognito ../aws/cognito/log_delivery_configuration_singular_data_source_gen.go ../aws/cognito/log_delivery_configuration_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cognito_managed_login_branding -cfschema ../service/cloudformation/schemas/AWS_Cognito_ManagedLoginBranding.json -package cognito ../aws/cognito/managed_login_branding_singular_data_source_gen.go ../aws/cognito/managed_login_branding_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cognito_user_pool_client -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolClient.json -package cognito ../aws/cognito/user_pool_client_singular_data_source_gen.go ../aws/cognito/user_pool_client_singular_data_source_gen_test.go
+//go:generate go run generators/singular-data-source/main.go -data-source awscc_cognito_user_pool_domain -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolDomain.json -package cognito ../aws/cognito/user_pool_domain_singular_data_source_gen.go ../aws/cognito/user_pool_domain_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cognito_user_pool_group -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolGroup.json -package cognito ../aws/cognito/user_pool_group_singular_data_source_gen.go ../aws/cognito/user_pool_group_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cognito_user_pool_identity_provider -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolIdentityProvider.json -package cognito ../aws/cognito/user_pool_identity_provider_singular_data_source_gen.go ../aws/cognito/user_pool_identity_provider_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cognito_user_pool_resource_server -cfschema ../service/cloudformation/schemas/AWS_Cognito_UserPoolResourceServer.json -package cognito ../aws/cognito/user_pool_resource_server_singular_data_source_gen.go ../aws/cognito/user_pool_resource_server_singular_data_source_gen_test.go
@@ -229,6 +230,7 @@
//go:generate go run generators/singular-data-source/main.go -data-source awscc_connect_approved_origin -cfschema ../service/cloudformation/schemas/AWS_Connect_ApprovedOrigin.json -package connect ../aws/connect/approved_origin_singular_data_source_gen.go ../aws/connect/approved_origin_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_connect_contact_flow -cfschema ../service/cloudformation/schemas/AWS_Connect_ContactFlow.json -package connect ../aws/connect/contact_flow_singular_data_source_gen.go ../aws/connect/contact_flow_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_connect_contact_flow_module -cfschema ../service/cloudformation/schemas/AWS_Connect_ContactFlowModule.json -package connect ../aws/connect/contact_flow_module_singular_data_source_gen.go ../aws/connect/contact_flow_module_singular_data_source_gen_test.go
+//go:generate go run generators/singular-data-source/main.go -data-source awscc_connect_contact_flow_version -cfschema ../service/cloudformation/schemas/AWS_Connect_ContactFlowVersion.json -package connect ../aws/connect/contact_flow_version_singular_data_source_gen.go ../aws/connect/contact_flow_version_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_connect_email_address -cfschema ../service/cloudformation/schemas/AWS_Connect_EmailAddress.json -package connect ../aws/connect/email_address_singular_data_source_gen.go ../aws/connect/email_address_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_connect_hours_of_operation -cfschema ../service/cloudformation/schemas/AWS_Connect_HoursOfOperation.json -package connect ../aws/connect/hours_of_operation_singular_data_source_gen.go ../aws/connect/hours_of_operation_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_connect_instance -cfschema ../service/cloudformation/schemas/AWS_Connect_Instance.json -package connect ../aws/connect/instance_singular_data_source_gen.go ../aws/connect/instance_singular_data_source_gen_test.go
@@ -1066,6 +1068,7 @@
//go:generate go run generators/singular-data-source/main.go -data-source awscc_transfer_connector -cfschema ../service/cloudformation/schemas/AWS_Transfer_Connector.json -package transfer ../aws/transfer/connector_singular_data_source_gen.go ../aws/transfer/connector_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_transfer_profile -cfschema ../service/cloudformation/schemas/AWS_Transfer_Profile.json -package transfer ../aws/transfer/profile_singular_data_source_gen.go ../aws/transfer/profile_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_transfer_server -cfschema ../service/cloudformation/schemas/AWS_Transfer_Server.json -package transfer ../aws/transfer/server_singular_data_source_gen.go ../aws/transfer/server_singular_data_source_gen_test.go
+//go:generate go run generators/singular-data-source/main.go -data-source awscc_transfer_web_app -cfschema ../service/cloudformation/schemas/AWS_Transfer_WebApp.json -package transfer ../aws/transfer/web_app_singular_data_source_gen.go ../aws/transfer/web_app_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_transfer_workflow -cfschema ../service/cloudformation/schemas/AWS_Transfer_Workflow.json -package transfer ../aws/transfer/workflow_singular_data_source_gen.go ../aws/transfer/workflow_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_verifiedpermissions_identity_source -cfschema ../service/cloudformation/schemas/AWS_VerifiedPermissions_IdentitySource.json -package verifiedpermissions ../aws/verifiedpermissions/identity_source_singular_data_source_gen.go ../aws/verifiedpermissions/identity_source_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_verifiedpermissions_policy -cfschema ../service/cloudformation/schemas/AWS_VerifiedPermissions_Policy.json -package verifiedpermissions ../aws/verifiedpermissions/policy_singular_data_source_gen.go ../aws/verifiedpermissions/policy_singular_data_source_gen_test.go
diff --git a/internal/service/cloudformation/schemas/AWS_ACMPCA_CertificateAuthority.json b/internal/service/cloudformation/schemas/AWS_ACMPCA_CertificateAuthority.json
index 9de7510af..4e51c64a9 100644
--- a/internal/service/cloudformation/schemas/AWS_ACMPCA_CertificateAuthority.json
+++ b/internal/service/cloudformation/schemas/AWS_ACMPCA_CertificateAuthority.json
@@ -132,6 +132,12 @@
},
"CrlDistributionPointExtensionConfiguration": {
"$ref": "#/definitions/CrlDistributionPointExtensionConfiguration"
+ },
+ "CrlType": {
+ "type": "string"
+ },
+ "CustomPath": {
+ "type": "string"
}
},
"required": [
diff --git a/internal/service/cloudformation/schemas/AWS_Athena_DataCatalog.json b/internal/service/cloudformation/schemas/AWS_Athena_DataCatalog.json
index 50c062d35..0ea3a4fd4 100644
--- a/internal/service/cloudformation/schemas/AWS_Athena_DataCatalog.json
+++ b/internal/service/cloudformation/schemas/AWS_Athena_DataCatalog.json
@@ -113,5 +113,16 @@
"/properties/Name"
],
"additionalProperties": false,
- "taggable": true
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": true,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "athena:UntagResource",
+ "athena:TagResource",
+ "athena:ListTagsForResource"
+ ]
+ }
}
diff --git a/internal/service/cloudformation/schemas/AWS_B2BI_Partnership.json b/internal/service/cloudformation/schemas/AWS_B2BI_Partnership.json
index 1c07fba42..5c52f8a55 100644
--- a/internal/service/cloudformation/schemas/AWS_B2BI_Partnership.json
+++ b/internal/service/cloudformation/schemas/AWS_B2BI_Partnership.json
@@ -88,13 +88,13 @@
"type": "string",
"maxLength": 15,
"minLength": 2,
- "pattern": "^[a-zA-Z0-9]*$"
+ "pattern": "^[a-zA-Z0-9 ]*$"
},
"ApplicationReceiverCode": {
"type": "string",
"maxLength": 15,
"minLength": 2,
- "pattern": "^[a-zA-Z0-9]*$"
+ "pattern": "^[a-zA-Z0-9 ]*$"
},
"ResponsibleAgencyCode": {
"type": "string",
@@ -118,7 +118,7 @@
"type": "string",
"maxLength": 15,
"minLength": 15,
- "pattern": "^[a-zA-Z0-9]*$"
+ "pattern": "^[a-zA-Z0-9 ]*$"
},
"ReceiverIdQualifier": {
"type": "string",
@@ -130,7 +130,7 @@
"type": "string",
"maxLength": 15,
"minLength": 15,
- "pattern": "^[a-zA-Z0-9]*$"
+ "pattern": "^[a-zA-Z0-9 ]*$"
},
"RepetitionSeparator": {
"type": "string",
diff --git a/internal/service/cloudformation/schemas/AWS_Backup_BackupPlan.json b/internal/service/cloudformation/schemas/AWS_Backup_BackupPlan.json
index 995914c00..c5fea7862 100644
--- a/internal/service/cloudformation/schemas/AWS_Backup_BackupPlan.json
+++ b/internal/service/cloudformation/schemas/AWS_Backup_BackupPlan.json
@@ -101,6 +101,14 @@
"ScheduleExpressionTimezone": {
"type": "string"
},
+ "IndexActions": {
+ "type": "array",
+ "insertionOrder": true,
+ "uniqueItems": false,
+ "items": {
+ "$ref": "#/definitions/IndexActionsResourceType"
+ }
+ },
"RecoveryPointTags": {
"type": "object",
"additionalProperties": false,
@@ -161,6 +169,26 @@
"DestinationBackupVaultArn"
]
},
+ "IndexActionsResourceType": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "ResourceTypes": {
+ "$ref": "#/definitions/ResourceTypes"
+ }
+ }
+ },
+ "ResourceTypes": {
+ "type": "array",
+ "insertionOrder": true,
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/definitions/ResourceType"
+ }
+ },
+ "ResourceType": {
+ "type": "string"
+ },
"LifecycleResourceType": {
"type": "object",
"additionalProperties": false,
diff --git a/internal/service/cloudformation/schemas/AWS_Bedrock_Prompt.json b/internal/service/cloudformation/schemas/AWS_Bedrock_Prompt.json
index e3f3a72d0..06e5063a6 100644
--- a/internal/service/cloudformation/schemas/AWS_Bedrock_Prompt.json
+++ b/internal/service/cloudformation/schemas/AWS_Bedrock_Prompt.json
@@ -37,6 +37,9 @@
},
"GenAiResource": {
"$ref": "#/definitions/PromptGenAiResource"
+ },
+ "AdditionalModelRequestFields": {
+ "$ref": "#/definitions/AdditionalModelRequestFields"
}
},
"required": [
@@ -68,6 +71,9 @@
"minItems": 0,
"description": "List of input variables",
"insertionOrder": true
+ },
+ "CachePoint": {
+ "$ref": "#/definitions/CachePointBlock"
}
},
"required": [],
@@ -200,6 +206,19 @@
"Text"
],
"additionalProperties": false
+ },
+ {
+ "title": "CachePoint",
+ "type": "object",
+ "properties": {
+ "CachePoint": {
+ "$ref": "#/definitions/CachePointBlock"
+ }
+ },
+ "required": [
+ "CachePoint"
+ ],
+ "additionalProperties": false
}
]
},
@@ -220,6 +239,19 @@
"Text"
],
"additionalProperties": false
+ },
+ {
+ "title": "CachePoint",
+ "type": "object",
+ "properties": {
+ "CachePoint": {
+ "$ref": "#/definitions/CachePointBlock"
+ }
+ },
+ "required": [
+ "CachePoint"
+ ],
+ "additionalProperties": false
}
]
},
@@ -305,6 +337,19 @@
"ToolSpec"
],
"additionalProperties": false
+ },
+ {
+ "title": "CachePoint",
+ "type": "object",
+ "properties": {
+ "CachePoint": {
+ "$ref": "#/definitions/CachePointBlock"
+ }
+ },
+ "required": [
+ "CachePoint"
+ ],
+ "additionalProperties": false
}
]
},
@@ -513,6 +558,30 @@
"additionalProperties": false
}
]
+ },
+ "CachePointBlock": {
+ "description": "CachePointBlock",
+ "type": "object",
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/CachePointType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "additionalProperties": false
+ },
+ "CachePointType": {
+ "description": "CachePoint types for CachePointBlock",
+ "type": "string",
+ "enum": [
+ "default"
+ ]
+ },
+ "AdditionalModelRequestFields": {
+ "type": "object",
+ "description": "Contains model-specific configurations"
}
},
"properties": {
diff --git a/internal/service/cloudformation/schemas/AWS_Bedrock_PromptVersion.json b/internal/service/cloudformation/schemas/AWS_Bedrock_PromptVersion.json
index 0edbe239a..40ac6c3ae 100644
--- a/internal/service/cloudformation/schemas/AWS_Bedrock_PromptVersion.json
+++ b/internal/service/cloudformation/schemas/AWS_Bedrock_PromptVersion.json
@@ -38,6 +38,9 @@
},
"GenAiResource": {
"$ref": "#/definitions/PromptGenAiResource"
+ },
+ "AdditionalModelRequestFields": {
+ "$ref": "#/definitions/AdditionalModelRequestFields"
}
},
"required": [
@@ -66,6 +69,9 @@
"minItems": 0,
"description": "List of input variables",
"insertionOrder": true
+ },
+ "CachePoint": {
+ "$ref": "#/definitions/CachePointBlock"
}
},
"required": [
@@ -170,6 +176,19 @@
"Text"
],
"additionalProperties": false
+ },
+ {
+ "title": "CachePoint",
+ "type": "object",
+ "properties": {
+ "CachePoint": {
+ "$ref": "#/definitions/CachePointBlock"
+ }
+ },
+ "required": [
+ "CachePoint"
+ ],
+ "additionalProperties": false
}
]
},
@@ -190,6 +209,19 @@
"Text"
],
"additionalProperties": false
+ },
+ {
+ "title": "CachePoint",
+ "type": "object",
+ "properties": {
+ "CachePoint": {
+ "$ref": "#/definitions/CachePointBlock"
+ }
+ },
+ "required": [
+ "CachePoint"
+ ],
+ "additionalProperties": false
}
]
},
@@ -275,6 +307,19 @@
"ToolSpec"
],
"additionalProperties": false
+ },
+ {
+ "title": "CachePoint",
+ "type": "object",
+ "properties": {
+ "CachePoint": {
+ "$ref": "#/definitions/CachePointBlock"
+ }
+ },
+ "required": [
+ "CachePoint"
+ ],
+ "additionalProperties": false
}
]
},
@@ -483,6 +528,30 @@
"additionalProperties": false
}
]
+ },
+ "CachePointBlock": {
+ "description": "CachePointBlock",
+ "type": "object",
+ "properties": {
+ "Type": {
+ "$ref": "#/definitions/CachePointType"
+ }
+ },
+ "required": [
+ "Type"
+ ],
+ "additionalProperties": false
+ },
+ "CachePointType": {
+ "description": "CachePoint types for CachePointBlock",
+ "type": "string",
+ "enum": [
+ "default"
+ ]
+ },
+ "AdditionalModelRequestFields": {
+ "type": "object",
+ "description": "Contains model-specific configurations"
}
},
"properties": {
diff --git a/internal/service/cloudformation/schemas/AWS_CleanRooms_Collaboration.json b/internal/service/cloudformation/schemas/AWS_CleanRooms_Collaboration.json
index 13d1957e9..d83e2851d 100644
--- a/internal/service/cloudformation/schemas/AWS_CleanRooms_Collaboration.json
+++ b/internal/service/cloudformation/schemas/AWS_CleanRooms_Collaboration.json
@@ -304,7 +304,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "cleanrooms:ListTagsForResource",
+ "cleanrooms:UntagResource",
+ "cleanrooms:TagResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_Cognito_UserPoolDomain.json b/internal/service/cloudformation/schemas/AWS_Cognito_UserPoolDomain.json
new file mode 100644
index 000000000..41fe4f68d
--- /dev/null
+++ b/internal/service/cloudformation/schemas/AWS_Cognito_UserPoolDomain.json
@@ -0,0 +1,88 @@
+{
+ "typeName": "AWS::Cognito::UserPoolDomain",
+ "description": "Resource Type definition for AWS::Cognito::UserPoolDomain",
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "tagging": {
+ "taggable": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "cloudFormationSystemTags": false
+ },
+ "definitions": {
+ "CustomDomainConfigType": {
+ "type": "object",
+ "properties": {
+ "CertificateArn": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ }
+ },
+ "properties": {
+ "UserPoolId": {
+ "type": "string"
+ },
+ "Domain": {
+ "type": "string"
+ },
+ "CustomDomainConfig": {
+ "$ref": "#/definitions/CustomDomainConfigType"
+ },
+ "CloudFrontDistribution": {
+ "type": "string"
+ },
+ "ManagedLoginVersion": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "UserPoolId",
+ "Domain"
+ ],
+ "readOnlyProperties": [
+ "/properties/CloudFrontDistribution"
+ ],
+ "primaryIdentifier": [
+ "/properties/UserPoolId",
+ "/properties/Domain"
+ ],
+ "createOnlyProperties": [
+ "/properties/UserPoolId",
+ "/properties/Domain"
+ ],
+ "writeOnlyProperties": [
+ "/properties/ManagedLoginVersion"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "cognito-idp:CreateUserPoolDomain",
+ "cognito-idp:DescribeUserPoolDomain",
+ "cloudfront:updateDistribution"
+ ],
+ "timeoutInMinutes": 20
+ },
+ "read": {
+ "permissions": [
+ "cognito-idp:DescribeUserPoolDomain"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "cognito-idp:UpdateUserPoolDomain",
+ "cognito-idp:DescribeUserPoolDomain",
+ "cloudfront:updateDistribution"
+ ],
+ "timeoutInMinutes": 20
+ },
+ "delete": {
+ "permissions": [
+ "cognito-idp:DeleteUserPoolDomain",
+ "cognito-idp:DescribeUserPoolDomain"
+ ],
+ "timeoutInMinutes": 25
+ }
+ }
+}
diff --git a/internal/service/cloudformation/schemas/AWS_Connect_ContactFlowVersion.json b/internal/service/cloudformation/schemas/AWS_Connect_ContactFlowVersion.json
new file mode 100644
index 000000000..4b89afcbe
--- /dev/null
+++ b/internal/service/cloudformation/schemas/AWS_Connect_ContactFlowVersion.json
@@ -0,0 +1,98 @@
+{
+ "typeName": "AWS::Connect::ContactFlowVersion",
+ "description": "Resource Type Definition for ContactFlowVersion",
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect",
+ "definitions": {},
+ "properties": {
+ "ContactFlowVersionARN": {
+ "description": "The identifier of the contact flow version (ARN).",
+ "type": "string",
+ "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/contact-flow/[-a-zA-Z0-9]+:[0-9]+$",
+ "minLength": 1,
+ "maxLength": 500
+ },
+ "ContactFlowId": {
+ "description": "The ARN of the contact flow this version is tied to.",
+ "type": "string",
+ "pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/contact-flow/[-a-zA-Z0-9]+$",
+ "minLength": 1,
+ "maxLength": 500
+ },
+ "Version": {
+ "description": "The version number of this revision",
+ "type": "integer"
+ },
+ "Description": {
+ "description": "The description of the version.",
+ "type": "string",
+ "maxLength": 500
+ },
+ "FlowContentSha256": {
+ "description": "Indicates the checksum value of the latest published flow content",
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9]{64}$",
+ "minLength": 1,
+ "maxLength": 64
+ }
+ },
+ "additionalProperties": false,
+ "tagging": {
+ "taggable": false,
+ "tagOnCreate": false,
+ "tagUpdatable": false,
+ "cloudFormationSystemTags": false
+ },
+ "required": [
+ "ContactFlowId"
+ ],
+ "primaryIdentifier": [
+ "/properties/ContactFlowVersionARN"
+ ],
+ "readOnlyProperties": [
+ "/properties/ContactFlowVersionARN",
+ "/properties/Version",
+ "/properties/FlowContentSha256"
+ ],
+ "createOnlyProperties": [
+ "/properties/ContactFlowId",
+ "/properties/Description"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "connect:CreateContactFlowVersion",
+ "connect:DescribeContactFlow"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "connect:DescribeContactFlow"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "connect:DeleteContactFlowVersion"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "ContactFlowId": {
+ "$ref": "resource-schema.json#/properties/ContactFlowId"
+ }
+ },
+ "required": [
+ "ContactFlowId"
+ ]
+ },
+ "permissions": [
+ "connect:ListContactFlowVersions"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "connect:DescribeContactFlow"
+ ]
+ }
+ }
+}
diff --git a/internal/service/cloudformation/schemas/AWS_DataSync_LocationSMB.json b/internal/service/cloudformation/schemas/AWS_DataSync_LocationSMB.json
index 8872b7626..4ed7fe53a 100644
--- a/internal/service/cloudformation/schemas/AWS_DataSync_LocationSMB.json
+++ b/internal/service/cloudformation/schemas/AWS_DataSync_LocationSMB.json
@@ -117,6 +117,44 @@
"type": "string",
"pattern": "^(efs|nfs|s3|smb|fsxw)://[a-zA-Z0-9./\\-]+$",
"maxLength": 4356
+ },
+ "AuthenticationType": {
+ "description": "The authentication mode used to determine identity of user.",
+ "type": "string",
+ "enum": [
+ "NTLM",
+ "KERBEROS"
+ ]
+ },
+ "DnsIpAddresses": {
+ "description": "Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z",
+ "minLength": 7,
+ "maxLength": 15
+ },
+ "insertionOrder": true,
+ "default": null,
+ "maxItems": 2
+ },
+ "KerberosPrincipal": {
+ "description": "Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.",
+ "type": "string",
+ "pattern": "^.+$",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "KerberosKeytab": {
+ "description": "The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.",
+ "type": "string",
+ "maxLength": 87384
+ },
+ "KerberosKrb5Conf": {
+ "description": "The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.",
+ "type": "string",
+ "maxLength": 174764
}
},
"tagging": {
@@ -133,7 +171,6 @@
},
"additionalProperties": false,
"required": [
- "User",
"AgentArns"
],
"readOnlyProperties": [
@@ -146,10 +183,9 @@
"writeOnlyProperties": [
"/properties/Password",
"/properties/Subdirectory",
- "/properties/ServerHostname"
- ],
- "createOnlyProperties": [
- "/properties/ServerHostname"
+ "/properties/ServerHostname",
+ "/properties/KerberosKeytab",
+ "/properties/KerberosKrb5Conf"
],
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_DynamoDB_GlobalTable.json b/internal/service/cloudformation/schemas/AWS_DynamoDB_GlobalTable.json
index b3b59b896..f808e73a5 100644
--- a/internal/service/cloudformation/schemas/AWS_DynamoDB_GlobalTable.json
+++ b/internal/service/cloudformation/schemas/AWS_DynamoDB_GlobalTable.json
@@ -1,205 +1,278 @@
{
- "typeName": "AWS::DynamoDB::GlobalTable",
- "description": "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable",
- "additionalProperties": false,
- "properties": {
- "Arn": {
- "type": "string"
- },
- "StreamArn": {
- "type": "string"
- },
- "AttributeDefinitions": {
- "type": "array",
- "uniqueItems": true,
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/AttributeDefinition"
- },
- "minItems": 1
- },
- "BillingMode": {
- "type": "string"
- },
- "GlobalSecondaryIndexes": {
- "type": "array",
- "uniqueItems": true,
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/GlobalSecondaryIndex"
- }
- },
- "KeySchema": {
- "type": "array",
- "uniqueItems": true,
- "items": {
- "$ref": "#/definitions/KeySchema"
- },
- "minItems": 1,
- "maxItems": 2
- },
- "LocalSecondaryIndexes": {
- "type": "array",
- "uniqueItems": true,
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/LocalSecondaryIndex"
- }
- },
- "PointInTimeRecoverySpecification": {
- "$ref": "#/definitions/PointInTimeRecoverySpecification"
- },
- "WriteProvisionedThroughputSettings": {
- "$ref": "#/definitions/WriteProvisionedThroughputSettings"
- },
- "WriteOnDemandThroughputSettings": {
- "$ref": "#/definitions/WriteOnDemandThroughputSettings"
- },
- "WarmThroughput": {
- "$ref": "#/definitions/WarmThroughput"
- },
- "Replicas": {
- "type": "array",
- "uniqueItems": true,
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/ReplicaSpecification"
- },
- "minItems": 1
- },
- "SSESpecification": {
- "$ref": "#/definitions/SSESpecification"
+ "handlers": {
+ "read": {
+ "permissions": [
+ "dynamodb:Describe*",
+ "dynamodb:GetResourcePolicy",
+ "application-autoscaling:Describe*",
+ "cloudwatch:PutMetricData",
+ "dynamodb:ListTagsOfResource",
+ "kms:DescribeKey"
+ ]
},
- "StreamSpecification": {
- "$ref": "#/definitions/StreamSpecification"
+ "create": {
+ "permissions": [
+ "dynamodb:CreateTable",
+ "dynamodb:CreateTableReplica",
+ "dynamodb:Describe*",
+ "dynamodb:UpdateTimeToLive",
+ "dynamodb:UpdateContributorInsights",
+ "dynamodb:UpdateContinuousBackups",
+ "dynamodb:ListTagsOfResource",
+ "dynamodb:Query",
+ "dynamodb:Scan",
+ "dynamodb:UpdateItem",
+ "dynamodb:PutItem",
+ "dynamodb:GetItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:TagResource",
+ "dynamodb:EnableKinesisStreamingDestination",
+ "dynamodb:DisableKinesisStreamingDestination",
+ "dynamodb:UpdateTableReplicaAutoScaling",
+ "dynamodb:TagResource",
+ "dynamodb:GetResourcePolicy",
+ "dynamodb:PutResourcePolicy",
+ "application-autoscaling:DeleteScalingPolicy",
+ "application-autoscaling:DeleteScheduledAction",
+ "application-autoscaling:DeregisterScalableTarget",
+ "application-autoscaling:Describe*",
+ "application-autoscaling:PutScalingPolicy",
+ "application-autoscaling:PutScheduledAction",
+ "application-autoscaling:RegisterScalableTarget",
+ "kinesis:ListStreams",
+ "kinesis:DescribeStream",
+ "kinesis:PutRecords",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "kms:ListAliases",
+ "kms:Decrypt",
+ "kms:RevokeGrant",
+ "cloudwatch:PutMetricData",
+ "iam:CreateServiceLinkedRole"
+ ]
},
- "TableName": {
- "type": "string"
+ "update": {
+ "permissions": [
+ "dynamodb:Describe*",
+ "dynamodb:CreateTableReplica",
+ "dynamodb:UpdateTable",
+ "dynamodb:UpdateTimeToLive",
+ "dynamodb:UpdateContinuousBackups",
+ "dynamodb:UpdateContributorInsights",
+ "dynamodb:ListTagsOfResource",
+ "dynamodb:Query",
+ "dynamodb:Scan",
+ "dynamodb:UpdateItem",
+ "dynamodb:PutItem",
+ "dynamodb:GetItem",
+ "dynamodb:DeleteItem",
+ "dynamodb:BatchWriteItem",
+ "dynamodb:DeleteTable",
+ "dynamodb:DeleteTableReplica",
+ "dynamodb:UpdateItem",
+ "dynamodb:TagResource",
+ "dynamodb:UntagResource",
+ "dynamodb:EnableKinesisStreamingDestination",
+ "dynamodb:DisableKinesisStreamingDestination",
+ "dynamodb:UpdateTableReplicaAutoScaling",
+ "dynamodb:UpdateKinesisStreamingDestination",
+ "dynamodb:GetResourcePolicy",
+ "dynamodb:PutResourcePolicy",
+ "dynamodb:DeleteResourcePolicy",
+ "application-autoscaling:DeleteScalingPolicy",
+ "application-autoscaling:DeleteScheduledAction",
+ "application-autoscaling:DeregisterScalableTarget",
+ "application-autoscaling:Describe*",
+ "application-autoscaling:PutScalingPolicy",
+ "application-autoscaling:PutScheduledAction",
+ "application-autoscaling:RegisterScalableTarget",
+ "kinesis:ListStreams",
+ "kinesis:DescribeStream",
+ "kinesis:PutRecords",
+ "kms:CreateGrant",
+ "kms:DescribeKey",
+ "kms:ListAliases",
+ "kms:RevokeGrant",
+ "cloudwatch:PutMetricData"
+ ],
+ "timeoutInMinutes": 1200
},
- "TableId": {
- "type": "string"
+ "list": {
+ "permissions": [
+ "dynamodb:ListTables",
+ "cloudwatch:PutMetricData"
+ ]
},
- "TimeToLiveSpecification": {
- "$ref": "#/definitions/TimeToLiveSpecification"
+ "delete": {
+ "permissions": [
+ "dynamodb:Describe*",
+ "dynamodb:DeleteTable",
+ "application-autoscaling:DeleteScalingPolicy",
+ "application-autoscaling:DeleteScheduledAction",
+ "application-autoscaling:DeregisterScalableTarget",
+ "application-autoscaling:Describe*",
+ "application-autoscaling:PutScalingPolicy",
+ "application-autoscaling:PutScheduledAction",
+ "application-autoscaling:RegisterScalableTarget"
+ ]
}
},
+ "typeName": "AWS::DynamoDB::GlobalTable",
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/StreamArn",
+ "/properties/TableId"
+ ],
+ "description": "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable",
+ "additionalIdentifiers": [
+ [
+ "/properties/Arn"
+ ],
+ [
+ "/properties/StreamArn"
+ ]
+ ],
+ "writeOnlyProperties": [
+ "/properties/Replicas/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity",
+ "/properties/Replicas/*/GlobalSecondaryIndexes/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity",
+ "/properties/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity",
+ "/properties/GlobalSecondaryIndexes/*/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity"
+ ],
+ "createOnlyProperties": [
+ "/properties/LocalSecondaryIndexes",
+ "/properties/TableName",
+ "/properties/KeySchema"
+ ],
+ "additionalProperties": false,
+ "primaryIdentifier": [
+ "/properties/TableName"
+ ],
"definitions": {
- "StreamSpecification": {
- "type": "object",
+ "LocalSecondaryIndex": {
"additionalProperties": false,
- "properties": {
- "StreamViewType": {
- "type": "string"
- }
- },
- "required": [
- "StreamViewType"
- ]
- },
- "ResourcePolicy": {
"type": "object",
- "additionalProperties": false,
"properties": {
- "PolicyDocument": {
- "type": "object"
+ "IndexName": {
+ "minLength": 3,
+ "type": "string",
+ "maxLength": 255
+ },
+ "Projection": {
+ "$ref": "#/definitions/Projection"
+ },
+ "KeySchema": {
+ "maxItems": 2,
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeySchema"
+ }
}
},
"required": [
- "PolicyDocument"
+ "IndexName",
+ "Projection",
+ "KeySchema"
]
},
- "ReplicaStreamSpecification": {
- "type": "object",
+ "SSESpecification": {
"additionalProperties": false,
+ "type": "object",
"properties": {
- "ResourcePolicy": {
- "$ref": "#/definitions/ResourcePolicy"
+ "SSEEnabled": {
+ "type": "boolean"
+ },
+ "SSEType": {
+ "type": "string"
}
},
"required": [
- "ResourcePolicy"
+ "SSEEnabled"
]
},
"KinesisStreamSpecification": {
- "type": "object",
"additionalProperties": false,
+ "type": "object",
"properties": {
- "StreamArn": {
- "type": "string",
- "relationshipRef": {
- "typeName": "AWS::Kinesis::Stream",
- "propertyPath": "/properties/Arn"
- }
- },
"ApproximateCreationDateTimePrecision": {
"type": "string",
"enum": [
"MICROSECOND",
"MILLISECOND"
]
+ },
+ "StreamArn": {
+ "relationshipRef": {
+ "typeName": "AWS::Kinesis::Stream",
+ "propertyPath": "/properties/Arn"
+ },
+ "type": "string"
}
},
"required": [
"StreamArn"
]
},
- "KeySchema": {
- "type": "object",
+ "StreamSpecification": {
"additionalProperties": false,
+ "type": "object",
"properties": {
- "AttributeName": {
- "type": "string",
- "minLength": 1,
- "maxLength": 255
- },
- "KeyType": {
+ "StreamViewType": {
"type": "string"
}
},
"required": [
- "KeyType",
- "AttributeName"
+ "StreamViewType"
]
},
- "PointInTimeRecoverySpecification": {
- "type": "object",
+ "ContributorInsightsSpecification": {
"additionalProperties": false,
+ "type": "object",
"properties": {
- "PointInTimeRecoveryEnabled": {
+ "Enabled": {
"type": "boolean"
- },
- "RecoveryPeriodInDays": {
- "type": "integer",
- "minimum": 1,
- "maximum": 35
}
},
- "dependencies": {
- "RecoveryPeriodInDays": [
- "PointInTimeRecoveryEnabled"
- ]
- }
+ "required": [
+ "Enabled"
+ ]
},
"ReplicaSpecification": {
- "type": "object",
"additionalProperties": false,
+ "type": "object",
"properties": {
- "Region": {
- "type": "string"
+ "SSESpecification": {
+ "$ref": "#/definitions/ReplicaSSESpecification"
+ },
+ "KinesisStreamSpecification": {
+ "$ref": "#/definitions/KinesisStreamSpecification"
+ },
+ "ContributorInsightsSpecification": {
+ "$ref": "#/definitions/ContributorInsightsSpecification"
+ },
+ "PointInTimeRecoverySpecification": {
+ "$ref": "#/definitions/PointInTimeRecoverySpecification"
+ },
+ "ReplicaStreamSpecification": {
+ "$ref": "#/definitions/ReplicaStreamSpecification"
},
"GlobalSecondaryIndexes": {
- "type": "array",
"uniqueItems": true,
"insertionOrder": false,
+ "type": "array",
"items": {
"$ref": "#/definitions/ReplicaGlobalSecondaryIndexSpecification"
}
},
- "ContributorInsightsSpecification": {
- "$ref": "#/definitions/ContributorInsightsSpecification"
+ "Region": {
+ "type": "string"
},
- "PointInTimeRecoverySpecification": {
- "$ref": "#/definitions/PointInTimeRecoverySpecification"
+ "ResourcePolicy": {
+ "$ref": "#/definitions/ResourcePolicy"
+ },
+ "ReadProvisionedThroughputSettings": {
+ "$ref": "#/definitions/ReadProvisionedThroughputSettings"
},
"TableClass": {
"type": "string"
@@ -207,108 +280,205 @@
"DeletionProtectionEnabled": {
"type": "boolean"
},
- "SSESpecification": {
- "$ref": "#/definitions/ReplicaSSESpecification"
- },
"Tags": {
- "type": "array",
- "insertionOrder": false,
"uniqueItems": true,
+ "insertionOrder": false,
+ "type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
},
- "ReadProvisionedThroughputSettings": {
- "$ref": "#/definitions/ReadProvisionedThroughputSettings"
- },
"ReadOnDemandThroughputSettings": {
"$ref": "#/definitions/ReadOnDemandThroughputSettings"
+ }
+ },
+ "required": [
+ "Region"
+ ]
+ },
+ "CapacityAutoScalingSettings": {
+ "additionalProperties": false,
+ "type": "object",
+ "properties": {
+ "MinCapacity": {
+ "type": "integer",
+ "minimum": 1
},
- "KinesisStreamSpecification": {
- "$ref": "#/definitions/KinesisStreamSpecification"
+ "SeedCapacity": {
+ "type": "integer",
+ "minimum": 1
},
- "ResourcePolicy": {
- "$ref": "#/definitions/ResourcePolicy"
+ "TargetTrackingScalingPolicyConfiguration": {
+ "$ref": "#/definitions/TargetTrackingScalingPolicyConfiguration"
},
- "ReplicaStreamSpecification": {
- "$ref": "#/definitions/ReplicaStreamSpecification"
+ "MaxCapacity": {
+ "type": "integer",
+ "minimum": 1
}
},
"required": [
- "Region"
+ "MinCapacity",
+ "MaxCapacity",
+ "TargetTrackingScalingPolicyConfiguration"
]
},
- "TimeToLiveSpecification": {
- "type": "object",
+ "AttributeDefinition": {
"additionalProperties": false,
+ "type": "object",
"properties": {
+ "AttributeType": {
+ "type": "string"
+ },
"AttributeName": {
+ "minLength": 1,
+ "type": "string",
+ "maxLength": 255
+ }
+ },
+ "required": [
+ "AttributeName",
+ "AttributeType"
+ ]
+ },
+ "Projection": {
+ "additionalProperties": false,
+ "type": "object",
+ "properties": {
+ "NonKeyAttributes": {
+ "maxItems": 20,
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ProjectionType": {
"type": "string"
+ }
+ }
+ },
+ "PointInTimeRecoverySpecification": {
+ "additionalProperties": false,
+ "type": "object",
+ "properties": {
+ "PointInTimeRecoveryEnabled": {
+ "type": "boolean"
+ },
+ "RecoveryPeriodInDays": {
+ "maximum": 35,
+ "type": "integer",
+ "minimum": 1
+ }
+ },
+ "dependencies": {
+ "RecoveryPeriodInDays": [
+ "PointInTimeRecoveryEnabled"
+ ]
+ }
+ },
+ "ReplicaGlobalSecondaryIndexSpecification": {
+ "additionalProperties": false,
+ "type": "object",
+ "properties": {
+ "IndexName": {
+ "minLength": 3,
+ "type": "string",
+ "maxLength": 255
+ },
+ "ContributorInsightsSpecification": {
+ "$ref": "#/definitions/ContributorInsightsSpecification"
+ },
+ "ReadProvisionedThroughputSettings": {
+ "$ref": "#/definitions/ReadProvisionedThroughputSettings"
},
- "Enabled": {
- "type": "boolean"
+ "ReadOnDemandThroughputSettings": {
+ "$ref": "#/definitions/ReadOnDemandThroughputSettings"
}
},
"required": [
- "Enabled"
+ "IndexName"
]
},
- "LocalSecondaryIndex": {
+ "WarmThroughput": {
+ "anyOf": [
+ {
+ "required": [
+ "ReadUnitsPerSecond"
+ ]
+ },
+ {
+ "required": [
+ "WriteUnitsPerSecond"
+ ]
+ }
+ ],
+ "additionalProperties": false,
"type": "object",
+ "properties": {
+ "ReadUnitsPerSecond": {
+ "type": "integer",
+ "minimum": 1
+ },
+ "WriteUnitsPerSecond": {
+ "type": "integer",
+ "minimum": 1
+ }
+ }
+ },
+ "TargetTrackingScalingPolicyConfiguration": {
"additionalProperties": false,
+ "type": "object",
"properties": {
- "IndexName": {
- "type": "string",
- "minLength": 3,
- "maxLength": 255
+ "ScaleOutCooldown": {
+ "type": "integer",
+ "minimum": 0
},
- "KeySchema": {
- "type": "array",
- "uniqueItems": true,
- "items": {
- "$ref": "#/definitions/KeySchema"
- },
- "maxItems": 2
+ "TargetValue": {
+ "format": "double",
+ "type": "number"
},
- "Projection": {
- "$ref": "#/definitions/Projection"
+ "DisableScaleIn": {
+ "type": "boolean"
+ },
+ "ScaleInCooldown": {
+ "type": "integer",
+ "minimum": 0
}
},
"required": [
- "IndexName",
- "Projection",
- "KeySchema"
+ "TargetValue"
]
},
"GlobalSecondaryIndex": {
- "type": "object",
"additionalProperties": false,
+ "type": "object",
"properties": {
"IndexName": {
- "type": "string",
"minLength": 3,
+ "type": "string",
"maxLength": 255
},
+ "Projection": {
+ "$ref": "#/definitions/Projection"
+ },
"KeySchema": {
- "type": "array",
+ "minItems": 1,
+ "maxItems": 2,
"uniqueItems": true,
+ "type": "array",
"items": {
"$ref": "#/definitions/KeySchema"
- },
- "minItems": 1,
- "maxItems": 2
+ }
},
- "Projection": {
- "$ref": "#/definitions/Projection"
+ "WarmThroughput": {
+ "$ref": "#/definitions/WarmThroughput"
},
"WriteProvisionedThroughputSettings": {
"$ref": "#/definitions/WriteProvisionedThroughputSettings"
},
"WriteOnDemandThroughputSettings": {
"$ref": "#/definitions/WriteOnDemandThroughputSettings"
- },
- "WarmThroughput": {
- "$ref": "#/definitions/WarmThroughput"
}
},
"required": [
@@ -317,27 +487,42 @@
"KeySchema"
]
},
- "SSESpecification": {
+ "WriteProvisionedThroughputSettings": {
+ "additionalProperties": false,
"type": "object",
+ "properties": {
+ "WriteCapacityAutoScalingSettings": {
+ "$ref": "#/definitions/CapacityAutoScalingSettings"
+ }
+ }
+ },
+ "WriteOnDemandThroughputSettings": {
"additionalProperties": false,
+ "type": "object",
"properties": {
- "SSEEnabled": {
- "type": "boolean"
- },
- "SSEType": {
- "type": "string"
+ "MaxWriteRequestUnits": {
+ "type": "integer",
+ "minimum": 1
+ }
+ }
+ },
+ "ReplicaStreamSpecification": {
+ "additionalProperties": false,
+ "type": "object",
+ "properties": {
+ "ResourcePolicy": {
+ "$ref": "#/definitions/ResourcePolicy"
}
},
"required": [
- "SSEEnabled"
+ "ResourcePolicy"
]
},
"ReplicaSSESpecification": {
- "type": "object",
"additionalProperties": false,
+ "type": "object",
"properties": {
"KMSMasterKeyId": {
- "type": "string",
"anyOf": [
{
"relationshipRef": {
@@ -357,103 +542,63 @@
"propertyPath": "/properties/AliasName"
}
}
- ]
+ ],
+ "type": "string"
}
},
"required": [
"KMSMasterKeyId"
]
},
- "AttributeDefinition": {
- "type": "object",
+ "ResourcePolicy": {
"additionalProperties": false,
- "properties": {
- "AttributeName": {
- "type": "string",
- "minLength": 1,
- "maxLength": 255
- },
- "AttributeType": {
- "type": "string"
- }
- },
- "required": [
- "AttributeName",
- "AttributeType"
- ]
- },
- "Tag": {
"type": "object",
- "additionalProperties": false,
"properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
+ "PolicyDocument": {
+ "type": "object"
}
},
"required": [
- "Value",
- "Key"
+ "PolicyDocument"
]
},
- "Projection": {
- "type": "object",
+ "KeySchema": {
"additionalProperties": false,
- "properties": {
- "NonKeyAttributes": {
- "type": "array",
- "uniqueItems": true,
- "insertionOrder": false,
- "items": {
- "type": "string"
- },
- "maxItems": 20
- },
- "ProjectionType": {
- "type": "string"
- }
- }
- },
- "ReplicaGlobalSecondaryIndexSpecification": {
"type": "object",
- "additionalProperties": false,
"properties": {
- "IndexName": {
+ "KeyType": {
+ "type": "string"
+ },
+ "AttributeName": {
+ "minLength": 1,
"type": "string",
- "minLength": 3,
"maxLength": 255
- },
- "ContributorInsightsSpecification": {
- "$ref": "#/definitions/ContributorInsightsSpecification"
- },
- "ReadProvisionedThroughputSettings": {
- "$ref": "#/definitions/ReadProvisionedThroughputSettings"
- },
- "ReadOnDemandThroughputSettings": {
- "$ref": "#/definitions/ReadOnDemandThroughputSettings"
}
},
"required": [
- "IndexName"
+ "KeyType",
+ "AttributeName"
]
},
- "ContributorInsightsSpecification": {
- "type": "object",
+ "Tag": {
"additionalProperties": false,
+ "type": "object",
"properties": {
- "Enabled": {
- "type": "boolean"
+ "Value": {
+ "type": "string"
+ },
+ "Key": {
+ "type": "string"
}
},
"required": [
- "Enabled"
+ "Value",
+ "Key"
]
},
"ReadProvisionedThroughputSettings": {
- "type": "object",
"additionalProperties": false,
+ "type": "object",
"properties": {
"ReadCapacityUnits": {
"type": "integer",
@@ -461,113 +606,33 @@
},
"ReadCapacityAutoScalingSettings": {
"$ref": "#/definitions/CapacityAutoScalingSettings"
- }
- }
- },
- "WriteProvisionedThroughputSettings": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "WriteCapacityAutoScalingSettings": {
- "$ref": "#/definitions/CapacityAutoScalingSettings"
- }
- }
- },
- "ReadOnDemandThroughputSettings": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "MaxReadRequestUnits": {
- "type": "integer",
- "minimum": 1
- }
- }
- },
- "WriteOnDemandThroughputSettings": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "MaxWriteRequestUnits": {
- "type": "integer",
- "minimum": 1
- }
- }
- },
- "CapacityAutoScalingSettings": {
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "MinCapacity": {
- "type": "integer",
- "minimum": 1
- },
- "MaxCapacity": {
- "type": "integer",
- "minimum": 1
- },
- "SeedCapacity": {
- "type": "integer",
- "minimum": 1
- },
- "TargetTrackingScalingPolicyConfiguration": {
- "$ref": "#/definitions/TargetTrackingScalingPolicyConfiguration"
- }
- },
- "required": [
- "MinCapacity",
- "MaxCapacity",
- "TargetTrackingScalingPolicyConfiguration"
- ]
+ }
+ }
},
- "TargetTrackingScalingPolicyConfiguration": {
- "type": "object",
+ "TimeToLiveSpecification": {
"additionalProperties": false,
+ "type": "object",
"properties": {
- "DisableScaleIn": {
+ "Enabled": {
"type": "boolean"
},
- "ScaleInCooldown": {
- "type": "integer",
- "minimum": 0
- },
- "ScaleOutCooldown": {
- "type": "integer",
- "minimum": 0
- },
- "TargetValue": {
- "type": "number",
- "format": "double"
+ "AttributeName": {
+ "type": "string"
}
},
"required": [
- "TargetValue"
+ "Enabled"
]
},
- "WarmThroughput": {
- "type": "object",
+ "ReadOnDemandThroughputSettings": {
"additionalProperties": false,
+ "type": "object",
"properties": {
- "ReadUnitsPerSecond": {
- "type": "integer",
- "minimum": 1
- },
- "WriteUnitsPerSecond": {
+ "MaxReadRequestUnits": {
"type": "integer",
"minimum": 1
}
- },
- "anyOf": [
- {
- "required": [
- "ReadUnitsPerSecond"
- ]
- },
- {
- "required": [
- "WriteUnitsPerSecond"
- ]
- }
- ]
+ }
}
},
"required": [
@@ -575,150 +640,82 @@
"AttributeDefinitions",
"Replicas"
],
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/StreamArn",
- "/properties/TableId"
- ],
- "createOnlyProperties": [
- "/properties/LocalSecondaryIndexes",
- "/properties/TableName",
- "/properties/KeySchema"
- ],
- "primaryIdentifier": [
- "/properties/TableName"
- ],
- "additionalIdentifiers": [
- [
- "/properties/Arn"
- ],
- [
- "/properties/StreamArn"
- ]
- ],
- "writeOnlyProperties": [
- "/properties/Replicas/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity",
- "/properties/Replicas/*/GlobalSecondaryIndexes/*/ReadProvisionedThroughputSettings/ReadCapacityAutoScalingSettings/SeedCapacity",
- "/properties/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity",
- "/properties/GlobalSecondaryIndexes/*/WriteProvisionedThroughputSettings/WriteCapacityAutoScalingSettings/SeedCapacity"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "dynamodb:CreateTable",
- "dynamodb:CreateTableReplica",
- "dynamodb:Describe*",
- "dynamodb:UpdateTimeToLive",
- "dynamodb:UpdateContributorInsights",
- "dynamodb:UpdateContinuousBackups",
- "dynamodb:ListTagsOfResource",
- "dynamodb:Query",
- "dynamodb:Scan",
- "dynamodb:UpdateItem",
- "dynamodb:PutItem",
- "dynamodb:GetItem",
- "dynamodb:DeleteItem",
- "dynamodb:BatchWriteItem",
- "dynamodb:TagResource",
- "dynamodb:EnableKinesisStreamingDestination",
- "dynamodb:DisableKinesisStreamingDestination",
- "dynamodb:UpdateTableReplicaAutoScaling",
- "dynamodb:TagResource",
- "dynamodb:GetResourcePolicy",
- "dynamodb:PutResourcePolicy",
- "application-autoscaling:DeleteScalingPolicy",
- "application-autoscaling:DeleteScheduledAction",
- "application-autoscaling:DeregisterScalableTarget",
- "application-autoscaling:Describe*",
- "application-autoscaling:PutScalingPolicy",
- "application-autoscaling:PutScheduledAction",
- "application-autoscaling:RegisterScalableTarget",
- "kinesis:ListStreams",
- "kinesis:DescribeStream",
- "kinesis:PutRecords",
- "kms:CreateGrant",
- "kms:DescribeKey",
- "kms:ListAliases",
- "kms:Decrypt",
- "kms:RevokeGrant",
- "cloudwatch:PutMetricData",
- "iam:CreateServiceLinkedRole"
- ]
+ "properties": {
+ "TableId": {
+ "type": "string"
},
- "read": {
- "permissions": [
- "dynamodb:Describe*",
- "dynamodb:GetResourcePolicy",
- "application-autoscaling:Describe*",
- "cloudwatch:PutMetricData",
- "dynamodb:ListTagsOfResource",
- "kms:DescribeKey"
- ]
+ "SSESpecification": {
+ "$ref": "#/definitions/SSESpecification"
},
- "update": {
- "permissions": [
- "dynamodb:Describe*",
- "dynamodb:CreateTableReplica",
- "dynamodb:UpdateTable",
- "dynamodb:UpdateTimeToLive",
- "dynamodb:UpdateContinuousBackups",
- "dynamodb:UpdateContributorInsights",
- "dynamodb:ListTagsOfResource",
- "dynamodb:Query",
- "dynamodb:Scan",
- "dynamodb:UpdateItem",
- "dynamodb:PutItem",
- "dynamodb:GetItem",
- "dynamodb:DeleteItem",
- "dynamodb:BatchWriteItem",
- "dynamodb:DeleteTable",
- "dynamodb:DeleteTableReplica",
- "dynamodb:UpdateItem",
- "dynamodb:TagResource",
- "dynamodb:UntagResource",
- "dynamodb:EnableKinesisStreamingDestination",
- "dynamodb:DisableKinesisStreamingDestination",
- "dynamodb:UpdateTableReplicaAutoScaling",
- "dynamodb:UpdateKinesisStreamingDestination",
- "dynamodb:GetResourcePolicy",
- "dynamodb:PutResourcePolicy",
- "dynamodb:DeleteResourcePolicy",
- "application-autoscaling:DeleteScalingPolicy",
- "application-autoscaling:DeleteScheduledAction",
- "application-autoscaling:DeregisterScalableTarget",
- "application-autoscaling:Describe*",
- "application-autoscaling:PutScalingPolicy",
- "application-autoscaling:PutScheduledAction",
- "application-autoscaling:RegisterScalableTarget",
- "kinesis:ListStreams",
- "kinesis:DescribeStream",
- "kinesis:PutRecords",
- "kms:CreateGrant",
- "kms:DescribeKey",
- "kms:ListAliases",
- "kms:RevokeGrant",
- "cloudwatch:PutMetricData"
- ],
- "timeoutInMinutes": 1200
+ "StreamSpecification": {
+ "$ref": "#/definitions/StreamSpecification"
},
- "delete": {
- "permissions": [
- "dynamodb:Describe*",
- "dynamodb:DeleteTable",
- "application-autoscaling:DeleteScalingPolicy",
- "application-autoscaling:DeleteScheduledAction",
- "application-autoscaling:DeregisterScalableTarget",
- "application-autoscaling:Describe*",
- "application-autoscaling:PutScalingPolicy",
- "application-autoscaling:PutScheduledAction",
- "application-autoscaling:RegisterScalableTarget"
- ]
+ "WarmThroughput": {
+ "$ref": "#/definitions/WarmThroughput"
},
- "list": {
- "permissions": [
- "dynamodb:ListTables",
- "cloudwatch:PutMetricData"
- ]
+ "Replicas": {
+ "minItems": 1,
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaSpecification"
+ }
+ },
+ "WriteProvisionedThroughputSettings": {
+ "$ref": "#/definitions/WriteProvisionedThroughputSettings"
+ },
+ "WriteOnDemandThroughputSettings": {
+ "$ref": "#/definitions/WriteOnDemandThroughputSettings"
+ },
+ "TableName": {
+ "type": "string"
+ },
+ "AttributeDefinitions": {
+ "minItems": 1,
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttributeDefinition"
+ }
+ },
+ "BillingMode": {
+ "type": "string"
+ },
+ "GlobalSecondaryIndexes": {
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GlobalSecondaryIndex"
+ }
+ },
+ "KeySchema": {
+ "minItems": 1,
+ "maxItems": 2,
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeySchema"
+ }
+ },
+ "LocalSecondaryIndexes": {
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocalSecondaryIndex"
+ }
+ },
+ "Arn": {
+ "type": "string"
+ },
+ "StreamArn": {
+ "type": "string"
+ },
+ "TimeToLiveSpecification": {
+ "$ref": "#/definitions/TimeToLiveSpecification"
}
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_IPAM.json b/internal/service/cloudformation/schemas/AWS_EC2_IPAM.json
index 7b15147bb..1403489ae 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_IPAM.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_IPAM.json
@@ -1,154 +1,83 @@
{
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
- "tagging": {
- "permissions": [
- "ec2:DeleteTags",
- "ec2:CreateTags"
- ],
- "taggable": true,
- "tagOnCreate": true,
- "tagUpdatable": true,
- "tagProperty": "/properties/Tags",
- "cloudFormationSystemTags": false
- },
- "handlers": {
- "read": {
- "permissions": [
- "ec2:DescribeIpams",
- "ec2:DescribeIpamResourceDiscoveries"
- ]
- },
- "create": {
- "permissions": [
- "ec2:CreateIpam",
- "iam:CreateServiceLinkedRole",
- "ec2:CreateTags",
- "ec2:DescribeIpams",
- "ec2:DescribeIpamResourceDiscoveries",
- "ec2:ModifyIpamResourceDiscovery"
- ]
- },
- "update": {
- "permissions": [
- "ec2:ModifyIpam",
- "ec2:CreateTags",
- "ec2:DeleteTags",
- "ec2:DescribeIpams",
- "ec2:DescribeIpamResourceDiscoveries",
- "ec2:ModifyIpamResourceDiscovery"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeIpams"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteIpam",
- "ec2:DeleteTags",
- "ec2:DescribeIpams"
- ]
- }
- },
"typeName": "AWS::EC2::IPAM",
- "readOnlyProperties": [
- "/properties/IpamId",
- "/properties/Arn",
- "/properties/PublicDefaultScopeId",
- "/properties/PrivateDefaultScopeId",
- "/properties/ScopeCount",
- "/properties/ResourceDiscoveryAssociationCount",
- "/properties/DefaultResourceDiscoveryId",
- "/properties/DefaultResourceDiscoveryAssociationId"
- ],
"description": "Resource Schema of AWS::EC2::IPAM Type",
- "additionalProperties": false,
- "primaryIdentifier": [
- "/properties/IpamId"
- ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
"definitions": {
+ "IpamOperatingRegion": {
+ "description": "The regions IPAM is enabled for. Allows pools to be created in these regions, as well as enabling monitoring",
+ "type": "object",
+ "properties": {
+ "RegionName": {
+ "type": "string",
+ "description": "The name of the region."
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "additionalProperties": false
+ },
"Tag": {
"description": "A key-value pair to associate with a resource.",
- "additionalProperties": false,
"type": "object",
"properties": {
- "Value": {
- "minLength": 0,
- "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
- "type": "string",
- "maxLength": 256
- },
"Key": {
- "minLength": 1,
- "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
"type": "string",
+ "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
+ "minLength": 1,
"maxLength": 128
+ },
+ "Value": {
+ "type": "string",
+ "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
+ "minLength": 0,
+ "maxLength": 256
}
},
"required": [
"Key",
"Value"
- ]
+ ],
+ "additionalProperties": false
},
- "IpamOperatingRegion": {
- "description": "The regions IPAM is enabled for. Allows pools to be created in these regions, as well as enabling monitoring",
- "additionalProperties": false,
+ "IpamOrganizationalUnitExclusion": {
+ "description": "If your IPAM is integrated with AWS Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion.",
"type": "object",
"properties": {
- "RegionName": {
- "description": "The name of the region.",
- "type": "string"
+ "OrganizationsEntityPath": {
+ "type": "string",
+ "description": "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ "minLength": 1
}
},
"required": [
- "RegionName"
- ]
+ "OrganizationsEntityPath"
+ ],
+ "additionalProperties": false
}
},
- "required": [],
"properties": {
- "DefaultResourceDiscoveryAssociationId": {
- "description": "The Id of the default association to the default resource discovery, created with this IPAM.",
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Tier": {
- "description": "The tier of the IPAM.",
- "type": "string",
- "enum": [
- "free",
- "advanced"
- ]
- },
- "EnablePrivateGua": {
- "description": "Enable provisioning of GUA space in private pools.",
- "type": "boolean"
- },
"IpamId": {
"description": "Id of the IPAM.",
"type": "string"
},
+ "Arn": {
+ "description": "The Amazon Resource Name (ARN) of the IPAM.",
+ "type": "string"
+ },
"DefaultResourceDiscoveryId": {
"description": "The Id of the default resource discovery, created with this IPAM.",
"type": "string"
},
+ "DefaultResourceDiscoveryAssociationId": {
+ "description": "The Id of the default association to the default resource discovery, created with this IPAM.",
+ "type": "string"
+ },
"ResourceDiscoveryAssociationCount": {
"description": "The count of resource discoveries associated with this IPAM.",
"type": "integer"
},
- "ScopeCount": {
- "description": "The number of scopes that currently exist in this IPAM.",
- "type": "integer"
- },
- "Arn": {
- "description": "The Amazon Resource Name (ARN) of the IPAM.",
- "type": "string"
- },
- "PrivateDefaultScopeId": {
- "description": "The Id of the default scope for publicly routable IP space, created with this IPAM.",
+ "Description": {
"type": "string"
},
"PublicDefaultScopeId": {
@@ -156,23 +85,118 @@
"type": "string",
"maxLength": 255
},
- "Tags": {
+ "PrivateDefaultScopeId": {
+ "description": "The Id of the default scope for publicly routable IP space, created with this IPAM.",
+ "type": "string"
+ },
+ "ScopeCount": {
+ "description": "The number of scopes that currently exist in this IPAM.",
+ "type": "integer"
+ },
+ "OperatingRegions": {
+ "description": "The regions IPAM is enabled for. Allows pools to be created in these regions, as well as enabling monitoring",
+ "type": "array",
"uniqueItems": true,
- "description": "An array of key-value pairs to apply to this resource.",
"insertionOrder": false,
- "type": "array",
"items": {
- "$ref": "#/definitions/Tag"
+ "$ref": "#/definitions/IpamOperatingRegion"
}
},
- "OperatingRegions": {
+ "Tier": {
+ "description": "The tier of the IPAM.",
+ "type": "string",
+ "enum": [
+ "free",
+ "advanced"
+ ]
+ },
+ "EnablePrivateGua": {
+ "description": "Enable provisioning of GUA space in private pools.",
+ "type": "boolean"
+ },
+ "DefaultResourceDiscoveryOrganizationalUnitExclusions": {
+ "description": "A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM.",
+ "type": "array",
"uniqueItems": true,
- "description": "The regions IPAM is enabled for. Allows pools to be created in these regions, as well as enabling monitoring",
"insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOrganizationalUnitExclusion"
+ }
+ },
+ "Tags": {
+ "description": "An array of key-value pairs to apply to this resource.",
"type": "array",
+ "uniqueItems": true,
+ "insertionOrder": false,
"items": {
- "$ref": "#/definitions/IpamOperatingRegion"
+ "$ref": "#/definitions/Tag"
}
}
+ },
+ "additionalProperties": false,
+ "required": [],
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
+ "readOnlyProperties": [
+ "/properties/IpamId",
+ "/properties/Arn",
+ "/properties/PublicDefaultScopeId",
+ "/properties/PrivateDefaultScopeId",
+ "/properties/ScopeCount",
+ "/properties/ResourceDiscoveryAssociationCount",
+ "/properties/DefaultResourceDiscoveryId",
+ "/properties/DefaultResourceDiscoveryAssociationId"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateIpam",
+ "iam:CreateServiceLinkedRole",
+ "ec2:CreateTags",
+ "ec2:DescribeIpams",
+ "ec2:DescribeIpamResourceDiscoveries",
+ "ec2:ModifyIpamResourceDiscovery"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpams",
+ "ec2:DescribeIpamResourceDiscoveries"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpam",
+ "ec2:CreateTags",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams",
+ "ec2:DescribeIpamResourceDiscoveries",
+ "ec2:ModifyIpamResourceDiscovery"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpam",
+ "ec2:DeleteTags",
+ "ec2:DescribeIpams"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpams"
+ ]
+ }
+ },
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": false,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "ec2:DeleteTags",
+ "ec2:CreateTags"
+ ]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_IPAMResourceDiscovery.json b/internal/service/cloudformation/schemas/AWS_EC2_IPAMResourceDiscovery.json
index cc74ee786..48b3bd19b 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_IPAMResourceDiscovery.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_IPAMResourceDiscovery.json
@@ -1,152 +1,176 @@
{
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
- "tagging": {
- "permissions": [
- "ec2:DeleteTags",
- "ec2:CreateTags"
- ],
- "taggable": true,
- "tagOnCreate": true,
- "tagUpdatable": true,
- "tagProperty": "/properties/Tags",
- "cloudFormationSystemTags": false
- },
- "propertyTransform": {},
- "handlers": {
- "read": {
- "permissions": [
- "ec2:DescribeIpamResourceDiscoveries"
- ]
- },
- "create": {
- "permissions": [
- "ec2:CreateIpamResourceDiscovery",
- "ec2:DescribeIpamResourceDiscoveries",
- "ec2:ModifyIpamResourceDiscovery",
- "ec2:CreateTags",
- "iam:CreateServiceLinkedRole"
- ]
- },
- "update": {
- "permissions": [
- "ec2:ModifyIpamResourceDiscovery",
- "ec2:DescribeIpamResourceDiscoveries",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- },
- "list": {
- "permissions": [
- "ec2:DescribeIpamResourceDiscoveries"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteIpamResourceDiscovery",
- "ec2:DescribeIpamResourceDiscoveries",
- "ec2:DeleteTags"
- ]
- }
- },
"typeName": "AWS::EC2::IPAMResourceDiscovery",
- "readOnlyProperties": [
- "/properties/IpamResourceDiscoveryId",
- "/properties/IpamResourceDiscoveryArn",
- "/properties/OwnerId",
- "/properties/IpamResourceDiscoveryRegion",
- "/properties/IsDefault",
- "/properties/State"
- ],
"description": "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type",
- "additionalProperties": false,
- "primaryIdentifier": [
- "/properties/IpamResourceDiscoveryId"
- ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
"definitions": {
+ "IpamOperatingRegion": {
+ "description": "The regions IPAM Resource Discovery is enabled for. Allows for monitoring.",
+ "type": "object",
+ "properties": {
+ "RegionName": {
+ "type": "string",
+ "description": "The name of the region."
+ }
+ },
+ "required": [
+ "RegionName"
+ ],
+ "additionalProperties": false
+ },
"Tag": {
"description": "A key-value pair to associate with a resource.",
- "additionalProperties": false,
"type": "object",
"properties": {
- "Value": {
- "minLength": 0,
- "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
- "type": "string",
- "maxLength": 256
- },
"Key": {
- "minLength": 1,
- "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
"type": "string",
+ "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
+ "minLength": 1,
"maxLength": 128
+ },
+ "Value": {
+ "type": "string",
+ "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
+ "minLength": 0,
+ "maxLength": 256
}
},
"required": [
"Key",
"Value"
- ]
+ ],
+ "additionalProperties": false
},
- "IpamOperatingRegion": {
- "description": "The regions IPAM Resource Discovery is enabled for. Allows for monitoring.",
- "additionalProperties": false,
+ "IpamResourceDiscoveryOrganizationalUnitExclusion": {
+ "description": "If your IPAM is integrated with AWS Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion.",
"type": "object",
"properties": {
- "RegionName": {
- "description": "The name of the region.",
- "type": "string"
+ "OrganizationsEntityPath": {
+ "type": "string",
+ "description": "An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.",
+ "minLength": 1
}
},
"required": [
- "RegionName"
- ]
+ "OrganizationsEntityPath"
+ ],
+ "additionalProperties": false
}
},
- "required": [],
"properties": {
- "IsDefault": {
- "description": "Determines whether or not address space from this pool is publicly advertised. Must be set if and only if the pool is IPv6.",
- "type": "boolean"
- },
- "Description": {
+ "IpamResourceDiscoveryId": {
+ "description": "Id of the IPAM Pool.",
"type": "string"
},
"OwnerId": {
"description": "Owner Account ID of the Resource Discovery",
"type": "string"
},
- "State": {
- "description": "The state of this Resource Discovery.",
- "type": "string"
+ "OperatingRegions": {
+ "description": "The regions Resource Discovery is enabled for. Allows resource discoveries to be created in these regions, as well as enabling monitoring",
+ "type": "array",
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/IpamOperatingRegion"
+ }
},
"IpamResourceDiscoveryRegion": {
"description": "The region the resource discovery is setup in. ",
"type": "string"
},
- "IpamResourceDiscoveryArn": {
- "description": "Amazon Resource Name (Arn) for the Resource Discovery.",
+ "Description": {
"type": "string"
},
- "Tags": {
+ "OrganizationalUnitExclusions": {
+ "description": "A set of organizational unit (OU) exclusions for this resource.",
+ "type": "array",
"uniqueItems": true,
- "description": "An array of key-value pairs to apply to this resource.",
"insertionOrder": false,
- "type": "array",
"items": {
- "$ref": "#/definitions/Tag"
+ "$ref": "#/definitions/IpamResourceDiscoveryOrganizationalUnitExclusion"
}
},
- "IpamResourceDiscoveryId": {
- "description": "Id of the IPAM Pool.",
+ "IsDefault": {
+ "description": "Determines whether or not address space from this pool is publicly advertised. Must be set if and only if the pool is IPv6.",
+ "type": "boolean"
+ },
+ "IpamResourceDiscoveryArn": {
+ "description": "Amazon Resource Name (Arn) for the Resource Discovery.",
"type": "string"
},
- "OperatingRegions": {
+ "State": {
+ "description": "The state of this Resource Discovery.",
+ "type": "string"
+ },
+ "Tags": {
+ "description": "An array of key-value pairs to apply to this resource.",
+ "type": "array",
"uniqueItems": true,
- "description": "The regions Resource Discovery is enabled for. Allows resource discoveries to be created in these regions, as well as enabling monitoring",
"insertionOrder": false,
- "type": "array",
"items": {
- "$ref": "#/definitions/IpamOperatingRegion"
+ "$ref": "#/definitions/Tag"
}
}
+ },
+ "additionalProperties": false,
+ "propertyTransform": {},
+ "required": [],
+ "primaryIdentifier": [
+ "/properties/IpamResourceDiscoveryId"
+ ],
+ "readOnlyProperties": [
+ "/properties/IpamResourceDiscoveryId",
+ "/properties/IpamResourceDiscoveryArn",
+ "/properties/OwnerId",
+ "/properties/IpamResourceDiscoveryRegion",
+ "/properties/IsDefault",
+ "/properties/State"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "ec2:CreateIpamResourceDiscovery",
+ "ec2:DescribeIpamResourceDiscoveries",
+ "ec2:ModifyIpamResourceDiscovery",
+ "ec2:CreateTags",
+ "iam:CreateServiceLinkedRole"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "ec2:DescribeIpamResourceDiscoveries"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "ec2:ModifyIpamResourceDiscovery",
+ "ec2:DescribeIpamResourceDiscoveries",
+ "ec2:CreateTags",
+ "ec2:DeleteTags"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteIpamResourceDiscovery",
+ "ec2:DescribeIpamResourceDiscoveries",
+ "ec2:DeleteTags"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "ec2:DescribeIpamResourceDiscoveries"
+ ]
+ }
+ },
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": false,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "ec2:DeleteTags",
+ "ec2:CreateTags"
+ ]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_TransitGateway.json b/internal/service/cloudformation/schemas/AWS_EC2_TransitGateway.json
index 9084d0887..9bdc1e0c5 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_TransitGateway.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_TransitGateway.json
@@ -92,7 +92,11 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "ec2:CreateTags",
+ "ec2:DeleteTags"
+ ]
},
"handlers": {
"create": {
@@ -100,35 +104,21 @@
"ec2:CreateTransitGateway",
"ec2:CreateTags",
"ec2:DescribeTransitGateways",
- "ec2:DescribeTags",
- "ec2:DeleteTransitGateway",
- "ec2:DeleteTags",
- "ec2:ModifyTransitGateway",
- "ec2:ModifyTransitGatewayOptions"
+ "ec2:DescribeTags"
]
},
"read": {
"permissions": [
- "ec2:CreateTransitGateway",
- "ec2:CreateTags",
"ec2:DescribeTransitGateways",
- "ec2:DescribeTags",
- "ec2:DeleteTransitGateway",
- "ec2:DeleteTags",
- "ec2:ModifyTransitGateway",
- "ec2:ModifyTransitGatewayOptions"
+ "ec2:DescribeTags"
]
},
"delete": {
"permissions": [
- "ec2:CreateTransitGateway",
- "ec2:CreateTags",
"ec2:DescribeTransitGateways",
"ec2:DescribeTags",
"ec2:DeleteTransitGateway",
- "ec2:DeleteTags",
- "ec2:ModifyTransitGateway",
- "ec2:ModifyTransitGatewayOptions"
+ "ec2:DeleteTags"
]
},
"update": {
@@ -145,14 +135,8 @@
},
"list": {
"permissions": [
- "ec2:CreateTransitGateway",
- "ec2:CreateTags",
"ec2:DescribeTransitGateways",
- "ec2:DescribeTags",
- "ec2:DeleteTransitGateway",
- "ec2:DeleteTags",
- "ec2:ModifyTransitGateway",
- "ec2:ModifyTransitGatewayOptions"
+ "ec2:DescribeTags"
]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayAttachment.json b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayAttachment.json
index 5d24c98bf..9100546f6 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayAttachment.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayAttachment.json
@@ -1,6 +1,10 @@
{
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transitgateway",
"tagging": {
+ "permissions": [
+ "ec2:CreateTags",
+ "ec2:DeleteTags"
+ ],
"taggable": true,
"tagOnCreate": true,
"tagUpdatable": true,
@@ -10,33 +14,20 @@
"handlers": {
"read": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
- "ec2:CreateTransitGatewayVpcAttachment",
- "ec2:DeleteTransitGatewayVpcAttachment",
- "ec2:CreateTags",
- "ec2:DeleteTags",
- "ec2:DescribeTags",
- "ec2:DescribeTransitGatewayAttachments",
- "ec2:ModifyTransitGatewayVpcAttachment"
+ "ec2:DescribeTags"
]
},
"create": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:CreateTransitGatewayVpcAttachment",
- "ec2:DeleteTransitGatewayVpcAttachment",
"ec2:CreateTags",
- "ec2:DeleteTags",
- "ec2:DescribeTags",
- "ec2:DescribeTransitGatewayAttachments",
- "ec2:ModifyTransitGatewayVpcAttachment"
+ "ec2:DescribeTags"
]
},
"update": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:DescribeTags",
"ec2:CreateTransitGatewayVpcAttachment",
@@ -48,27 +39,16 @@
},
"list": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
- "ec2:DescribeTags",
- "ec2:CreateTransitGatewayVpcAttachment",
- "ec2:CreateTags",
- "ec2:DeleteTransitGatewayVpcAttachment",
- "ec2:DeleteTags",
- "ec2:ModifyTransitGatewayVpcAttachment"
+ "ec2:DescribeTags"
]
},
"delete": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
- "ec2:CreateTransitGatewayVpcAttachment",
"ec2:DeleteTransitGatewayVpcAttachment",
- "ec2:CreateTags",
"ec2:DeleteTags",
- "ec2:DescribeTags",
- "ec2:DescribeTransitGatewayAttachments",
- "ec2:ModifyTransitGatewayVpcAttachment"
+ "ec2:DescribeTags"
]
}
},
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayConnect.json b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayConnect.json
index 99584dc37..9329b99e3 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayConnect.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayConnect.json
@@ -70,7 +70,11 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": false,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "ec2:CreateTags",
+ "ec2:DeleteTags"
+ ]
},
"additionalProperties": false,
"readOnlyProperties": [
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayMulticastDomain.json b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayMulticastDomain.json
index 1b7a87a5b..e3322182e 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayMulticastDomain.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayMulticastDomain.json
@@ -79,7 +79,11 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": false,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "ec2:CreateTags",
+ "ec2:DeleteTags"
+ ]
},
"readOnlyProperties": [
"/properties/TransitGatewayMulticastDomainId",
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayPeeringAttachment.json b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayPeeringAttachment.json
index be19e94b0..7eeffa29d 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayPeeringAttachment.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayPeeringAttachment.json
@@ -1,5 +1,9 @@
{
"tagging": {
+ "permissions": [
+ "ec2:CreateTags",
+ "ec2:DeleteTags"
+ ],
"taggable": true,
"tagOnCreate": true,
"tagUpdatable": true,
@@ -33,33 +37,38 @@
"handlers": {
"read": {
"permissions": [
- "ec2:DescribeTransitGatewayPeeringAttachments"
+ "ec2:DescribeTransitGatewayPeeringAttachments",
+ "ec2:DescribeTags"
]
},
"create": {
"permissions": [
"ec2:CreateTransitGatewayPeeringAttachment",
"ec2:DescribeTransitGatewayPeeringAttachments",
- "ec2:CreateTags"
+ "ec2:CreateTags",
+ "ec2:DescribeTags"
]
},
"update": {
"permissions": [
"ec2:DescribeTransitGatewayPeeringAttachments",
"ec2:CreateTags",
- "ec2:DeleteTags"
+ "ec2:DeleteTags",
+ "ec2:DescribeTags"
]
},
"list": {
"permissions": [
- "ec2:DescribeTransitGatewayPeeringAttachments"
+ "ec2:DescribeTransitGatewayPeeringAttachments",
+ "ec2:DescribeTags"
]
},
"delete": {
"permissions": [
"ec2:DeleteTransitGatewayPeeringAttachment",
"ec2:DescribeTransitGatewayPeeringAttachments",
- "ec2:DeleteTags"
+ "ec2:DeleteTags",
+ "ec2:DescribeTags"
]
}
},
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayVpcAttachment.json b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayVpcAttachment.json
index bd0a88053..8adad2c05 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayVpcAttachment.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_TransitGatewayVpcAttachment.json
@@ -102,7 +102,11 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": false,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "ec2:CreateTags",
+ "ec2:DeleteTags"
+ ]
},
"readOnlyProperties": [
"/properties/Id"
@@ -117,58 +121,34 @@
"handlers": {
"create": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:CreateTransitGatewayVpcAttachment",
- "ec2:DeleteTransitGatewayVpcAttachment",
"ec2:CreateTags",
- "ec2:DeleteTags",
- "ec2:DescribeTags",
- "ec2:DescribeTransitGatewayAttachments",
- "ec2:ModifyTransitGatewayVpcAttachment"
+ "ec2:DescribeTags"
]
},
"read": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
- "ec2:CreateTransitGatewayVpcAttachment",
- "ec2:DeleteTransitGatewayVpcAttachment",
- "ec2:CreateTags",
- "ec2:DeleteTags",
- "ec2:DescribeTags",
- "ec2:DescribeTransitGatewayAttachments",
- "ec2:ModifyTransitGatewayVpcAttachment"
+ "ec2:DescribeTags"
]
},
"delete": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
- "ec2:CreateTransitGatewayVpcAttachment",
"ec2:DeleteTransitGatewayVpcAttachment",
- "ec2:CreateTags",
"ec2:DeleteTags",
- "ec2:DescribeTags",
- "ec2:DescribeTransitGatewayAttachments",
- "ec2:ModifyTransitGatewayVpcAttachment"
+ "ec2:DescribeTags"
]
},
"list": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
- "ec2:DescribeTags",
- "ec2:CreateTransitGatewayVpcAttachment",
- "ec2:CreateTags",
- "ec2:DeleteTransitGatewayVpcAttachment",
- "ec2:DeleteTags",
- "ec2:ModifyTransitGatewayVpcAttachment"
+ "ec2:DescribeTags"
]
},
"update": {
"permissions": [
- "ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:DescribeTags",
"ec2:CreateTransitGatewayVpcAttachment",
diff --git a/internal/service/cloudformation/schemas/AWS_ECS_Cluster.json b/internal/service/cloudformation/schemas/AWS_ECS_Cluster.json
index 8ec5b52e7..4001473a6 100644
--- a/internal/service/cloudformation/schemas/AWS_ECS_Cluster.json
+++ b/internal/service/cloudformation/schemas/AWS_ECS_Cluster.json
@@ -129,12 +129,12 @@
}
},
"ClusterSettings": {
- "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.",
+ "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up. \n For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*.",
"additionalProperties": false,
"type": "object",
"properties": {
"Value": {
- "description": "The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled``. \n If you set ``name`` to ``containerInsights`` and ``value`` to ``enabled``, CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the ``containerInsights`` account setting is turned on. If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
+ "description": "The value to set for the cluster setting. The supported values are ``enhanced``, ``enabled``, and ``disabled``. \n To use Container Insights with enhanced observability, set the ``containerInsights`` account setting to ``enhanced``.\n To use Container Insights, set the ``containerInsights`` account setting to ``enabled``.\n If a cluster value is specified, it will override the ``containerInsights`` value set with [PutAccountSetting](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html) or [PutAccountSettingDefault](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html).",
"type": "string"
},
"Name": {
@@ -225,7 +225,7 @@
},
"properties": {
"ClusterSettings": {
- "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights for a cluster.",
+ "description": "The settings to use when creating a cluster. This parameter is used to turn on CloudWatch Container Insights with enhanced observability or CloudWatch Container Insights for a cluster.\n Container Insights with enhanced observability provides all the Container Insights metrics, plus additional task and container metrics. This version supports enhanced observability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you configure Container Insights with enhanced observability on Amazon ECS, Container Insights auto-collects detailed infrastructure telemetry from the cluster level down to the container level in your environment and displays these critical performance data in curated dashboards removing the heavy lifting in observability set-up. \n For more information, see [Monitor Amazon ECS containers using Container Insights with enhanced observability](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) in the *Amazon Elastic Container Service Developer Guide*.",
"type": "array",
"items": {
"$ref": "#/definitions/ClusterSettings"
diff --git a/internal/service/cloudformation/schemas/AWS_EFS_MountTarget.json b/internal/service/cloudformation/schemas/AWS_EFS_MountTarget.json
index 320d35e93..ad03cf3b1 100644
--- a/internal/service/cloudformation/schemas/AWS_EFS_MountTarget.json
+++ b/internal/service/cloudformation/schemas/AWS_EFS_MountTarget.json
@@ -22,7 +22,7 @@
"items": {
"type": "string"
},
- "description": "Up to five VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as subnet specified."
+ "description": "VPC security group IDs, of the form ``sg-xxxxxxxx``. These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see [Amazon VPC Quotas](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html) in the *Amazon VPC User Guide* (see the *Security Groups* table)."
},
"SubnetId": {
"type": "string",
diff --git a/internal/service/cloudformation/schemas/AWS_EKS_FargateProfile.json b/internal/service/cloudformation/schemas/AWS_EKS_FargateProfile.json
index 084f7b5e0..f7391e0b9 100644
--- a/internal/service/cloudformation/schemas/AWS_EKS_FargateProfile.json
+++ b/internal/service/cloudformation/schemas/AWS_EKS_FargateProfile.json
@@ -181,7 +181,6 @@
"update": {
"permissions": [
"eks:DescribeFargateProfile",
- "eks:ListTagsForResource",
"eks:TagResource",
"eks:UntagResource"
]
diff --git a/internal/service/cloudformation/schemas/AWS_EMRContainers_VirtualCluster.json b/internal/service/cloudformation/schemas/AWS_EMRContainers_VirtualCluster.json
index 96e90c789..b85bd0865 100644
--- a/internal/service/cloudformation/schemas/AWS_EMRContainers_VirtualCluster.json
+++ b/internal/service/cloudformation/schemas/AWS_EMRContainers_VirtualCluster.json
@@ -104,6 +104,13 @@
"items": {
"$ref": "#/definitions/Tag"
}
+ },
+ "SecurityConfigurationId": {
+ "description": "The ID of the security configuration.",
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 64,
+ "pattern": "[0-9a-z]+"
}
},
"additionalProperties": false,
diff --git a/internal/service/cloudformation/schemas/AWS_EMR_Studio.json b/internal/service/cloudformation/schemas/AWS_EMR_Studio.json
index 841c40454..381e6cffa 100644
--- a/internal/service/cloudformation/schemas/AWS_EMR_Studio.json
+++ b/internal/service/cloudformation/schemas/AWS_EMR_Studio.json
@@ -184,10 +184,15 @@
"/properties/StudioId"
],
"tagging": {
- "taggable": false,
- "tagOnCreate": false,
- "tagUpdatable": false,
- "cloudFormationSystemTags": false
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": false,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "elasticmapreduce:AddTags",
+ "elasticmapreduce:RemoveTags"
+ ]
},
"createOnlyProperties": [
"/properties/AuthMode",
diff --git a/internal/service/cloudformation/schemas/AWS_Glue_Crawler.json b/internal/service/cloudformation/schemas/AWS_Glue_Crawler.json
index 397b7ab35..13cc7e46d 100644
--- a/internal/service/cloudformation/schemas/AWS_Glue_Crawler.json
+++ b/internal/service/cloudformation/schemas/AWS_Glue_Crawler.json
@@ -157,6 +157,37 @@
}
}
},
+ "HudiTarget": {
+ "type": "object",
+ "description": "Specifies Apache Hudi data store targets.",
+ "additionalProperties": false,
+ "properties": {
+ "ConnectionName": {
+ "type": "string",
+ "description": "The name of the connection to use to connect to the Hudi target."
+ },
+ "Paths": {
+ "type": "array",
+ "description": "One or more Amazon S3 paths that contains Hudi metadata folders as s3://bucket/prefix .",
+ "uniqueItems": false,
+ "items": {
+ "type": "string"
+ }
+ },
+ "Exclusions": {
+ "type": "array",
+ "description": "A list of global patterns used to exclude from the crawl.",
+ "uniqueItems": false,
+ "items": {
+ "type": "string"
+ }
+ },
+ "MaximumTraversalDepth": {
+ "type": "integer",
+ "description": "The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Hudi metadata folder in your Amazon S3 path. Used to limit the crawler run time."
+ }
+ }
+ },
"Schedule": {
"type": "object",
"description": "A scheduling object using a cron statement to schedule an event.",
@@ -313,6 +344,14 @@
"items": {
"$ref": "#/definitions/IcebergTarget"
}
+ },
+ "HudiTargets": {
+ "type": "array",
+ "description": "Specifies Apache Hudi data store targets.",
+ "uniqueItems": false,
+ "items": {
+ "$ref": "#/definitions/HudiTarget"
+ }
}
}
},
@@ -364,7 +403,11 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": false,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "glue:TagResource",
+ "glue:UntagResource"
+ ]
},
"required": [
"Role",
diff --git a/internal/service/cloudformation/schemas/AWS_GroundStation_DataflowEndpointGroup.json b/internal/service/cloudformation/schemas/AWS_GroundStation_DataflowEndpointGroup.json
index ed4d2c541..d58bc51ad 100644
--- a/internal/service/cloudformation/schemas/AWS_GroundStation_DataflowEndpointGroup.json
+++ b/internal/service/cloudformation/schemas/AWS_GroundStation_DataflowEndpointGroup.json
@@ -236,6 +236,11 @@
"/properties/Id",
"/properties/Arn"
],
+ "createOnlyProperties": [
+ "/properties/EndpointDetails",
+ "/properties/ContactPrePassDurationSeconds",
+ "/properties/ContactPostPassDurationSeconds"
+ ],
"primaryIdentifier": [
"/properties/Id"
],
diff --git a/internal/service/cloudformation/schemas/AWS_GroundStation_MissionProfile.json b/internal/service/cloudformation/schemas/AWS_GroundStation_MissionProfile.json
index e8da140e1..1428a31cf 100644
--- a/internal/service/cloudformation/schemas/AWS_GroundStation_MissionProfile.json
+++ b/internal/service/cloudformation/schemas/AWS_GroundStation_MissionProfile.json
@@ -43,6 +43,10 @@
"KmsAliasArn": {
"type": "string",
"pattern": "^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$"
+ },
+ "KmsAliasName": {
+ "type": "string",
+ "pattern": "^alias/[a-zA-Z0-9:/_-]+$"
}
},
"oneOf": [
@@ -55,6 +59,11 @@
"required": [
"KmsAliasArn"
]
+ },
+ {
+ "required": [
+ "KmsAliasName"
+ ]
}
],
"additionalProperties": false
diff --git a/internal/service/cloudformation/schemas/AWS_IVSChat_LoggingConfiguration.json b/internal/service/cloudformation/schemas/AWS_IVSChat_LoggingConfiguration.json
index c194448ce..ab5d11548 100644
--- a/internal/service/cloudformation/schemas/AWS_IVSChat_LoggingConfiguration.json
+++ b/internal/service/cloudformation/schemas/AWS_IVSChat_LoggingConfiguration.json
@@ -149,7 +149,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": false,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "ivschat:TagResource",
+ "ivschat:UntagResource",
+ "ivschat:ListTagsForResource"
+ ]
},
"required": [
"DestinationConfiguration"
diff --git a/internal/service/cloudformation/schemas/AWS_IVS_PlaybackKeyPair.json b/internal/service/cloudformation/schemas/AWS_IVS_PlaybackKeyPair.json
index 8c13fdff0..98e4ac0e5 100644
--- a/internal/service/cloudformation/schemas/AWS_IVS_PlaybackKeyPair.json
+++ b/internal/service/cloudformation/schemas/AWS_IVS_PlaybackKeyPair.json
@@ -14,7 +14,7 @@
},
"Value": {
"type": "string",
- "minLength": 1,
+ "minLength": 0,
"maxLength": 256
}
},
diff --git a/internal/service/cloudformation/schemas/AWS_IVS_PublicKey.json b/internal/service/cloudformation/schemas/AWS_IVS_PublicKey.json
index 1282250aa..b398223ad 100644
--- a/internal/service/cloudformation/schemas/AWS_IVS_PublicKey.json
+++ b/internal/service/cloudformation/schemas/AWS_IVS_PublicKey.json
@@ -13,7 +13,7 @@
},
"Value": {
"type": "string",
- "minLength": 1,
+ "minLength": 0,
"maxLength": 256
}
},
diff --git a/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Dashboard.json b/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Dashboard.json
index fdbcd358c..5a2652bf3 100644
--- a/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Dashboard.json
+++ b/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Dashboard.json
@@ -130,6 +130,8 @@
"list": {
"permissions": [
"iotsitewise:ListDashboards",
+ "iotsitewise:ListPortals",
+ "iotsitewise:ListProjects",
"iotsitewise:ListTagsForResource"
]
}
diff --git a/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Gateway.json b/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Gateway.json
index 8213509bf..aa0509ad8 100644
--- a/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Gateway.json
+++ b/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Gateway.json
@@ -129,11 +129,6 @@
},
"GatewayPlatform": {
"oneOf": [
- {
- "required": [
- "Greengrass"
- ]
- },
{
"required": [
"GreengrassV2"
diff --git a/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Project.json b/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Project.json
index 62d469c08..2039ee658 100644
--- a/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Project.json
+++ b/internal/service/cloudformation/schemas/AWS_IoTSiteWise_Project.json
@@ -129,6 +129,7 @@
},
"list": {
"permissions": [
+ "iotsitewise:ListPortals",
"iotsitewise:ListProjects",
"iotsitewise:ListTagsForResource"
]
diff --git a/internal/service/cloudformation/schemas/AWS_Neptune_DBCluster.json b/internal/service/cloudformation/schemas/AWS_Neptune_DBCluster.json
index fad8b1a2c..74b32f5e8 100644
--- a/internal/service/cloudformation/schemas/AWS_Neptune_DBCluster.json
+++ b/internal/service/cloudformation/schemas/AWS_Neptune_DBCluster.json
@@ -259,7 +259,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "rds:AddTagsToResource",
+ "rds:ListTagsForResource",
+ "rds:RemoveTagsFromResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_OpenSearchServerless_SecurityConfig.json b/internal/service/cloudformation/schemas/AWS_OpenSearchServerless_SecurityConfig.json
index 4a0a6ff79..a5ac461ee 100644
--- a/internal/service/cloudformation/schemas/AWS_OpenSearchServerless_SecurityConfig.json
+++ b/internal/service/cloudformation/schemas/AWS_OpenSearchServerless_SecurityConfig.json
@@ -34,6 +34,13 @@
"minLength": 1,
"pattern": "[\\w+=,.@-]+"
},
+ "OpenSearchServerlessEntityId": {
+ "type": "string",
+ "description": "Custom entity id attribute to override default entity id for this saml integration",
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^aws:opensearch:[0-9]{12}:*"
+ },
"SessionTimeout": {
"type": "integer",
"description": "Defines the session timeout in minutes"
diff --git a/internal/service/cloudformation/schemas/AWS_RDS_DBInstance.json b/internal/service/cloudformation/schemas/AWS_RDS_DBInstance.json
index c194ec744..3569c4f90 100644
--- a/internal/service/cloudformation/schemas/AWS_RDS_DBInstance.json
+++ b/internal/service/cloudformation/schemas/AWS_RDS_DBInstance.json
@@ -478,6 +478,10 @@
"type": "string"
},
"description": "A list of the VPC security group IDs to assign to the DB instance. The list can include both the physical IDs of existing VPC security groups and references to [AWS::EC2::SecurityGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html) resources created in the template.\n If you plan to update the resource, don't specify VPC security groups in a shared VPC.\n If you set ``VPCSecurityGroups``, you must not set [DBSecurityGroups](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups), and vice versa.\n You can migrate a DB instance in your stack from an RDS DB security group to a VPC security group, but keep the following in mind:\n + You can't revert to using an RDS security group after you establish a VPC security group membership.\n + When you migrate your DB instance to VPC security groups, if your stack update rolls back because the DB instance update fails or because an update fails in another AWS CloudFormation resource, the rollback fails because it can't revert to an RDS security group.\n + To use the properties that are available when you use a VPC security group, you must recreate the DB instance. If you don't, AWS CloudFormation submits only the property values that are listed in the [DBSecurityGroups](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups) property.\n \n To avoid this situation, migrate your DB instance to using VPC security groups only when that is the only change in your stack template. \n *Amazon Aurora* \n Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. If specified, the setting must match the DB cluster setting."
+ },
+ "ApplyImmediately": {
+ "type": "boolean",
+ "description": ""
}
},
"additionalProperties": false,
@@ -554,7 +558,8 @@
"/properties/SourceRegion",
"/properties/TdeCredentialPassword",
"/properties/UseDefaultProcessorFeatures",
- "/properties/UseLatestRestorableTime"
+ "/properties/UseLatestRestorableTime",
+ "/properties/ApplyImmediately"
],
"readOnlyProperties": [
"/properties/Endpoint/Address",
diff --git a/internal/service/cloudformation/schemas/AWS_Route53RecoveryReadiness_ReadinessCheck.json b/internal/service/cloudformation/schemas/AWS_Route53RecoveryReadiness_ReadinessCheck.json
index b3a35f750..65623afe3 100644
--- a/internal/service/cloudformation/schemas/AWS_Route53RecoveryReadiness_ReadinessCheck.json
+++ b/internal/service/cloudformation/schemas/AWS_Route53RecoveryReadiness_ReadinessCheck.json
@@ -108,7 +108,7 @@
"permissions": [
"route53-recovery-readiness:TagResource",
"route53-recovery-readiness:UntagResource",
- "route53-recovery-readiness:ListTagsForResource"
+ "route53-recovery-readiness:ListTagsForResources"
]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_MlflowTrackingServer.json b/internal/service/cloudformation/schemas/AWS_SageMaker_MlflowTrackingServer.json
index 1d41f15f1..85e72cfa8 100644
--- a/internal/service/cloudformation/schemas/AWS_SageMaker_MlflowTrackingServer.json
+++ b/internal/service/cloudformation/schemas/AWS_SageMaker_MlflowTrackingServer.json
@@ -130,7 +130,7 @@
"sagemaker:ListTags",
"iam:PassRole"
],
- "timeoutInMinutes": 65
+ "timeoutInMinutes": 95
},
"read": {
"permissions": [
@@ -154,7 +154,7 @@
"sagemaker:DeleteMlflowTrackingServer",
"sagemaker:DescribeMlflowTrackingServer"
],
- "timeoutInMinutes": 65
+ "timeoutInMinutes": 95
},
"list": {
"permissions": [
diff --git a/internal/service/cloudformation/schemas/AWS_Transfer_Agreement.json b/internal/service/cloudformation/schemas/AWS_Transfer_Agreement.json
index 2aa7080ad..2b35e8a24 100644
--- a/internal/service/cloudformation/schemas/AWS_Transfer_Agreement.json
+++ b/internal/service/cloudformation/schemas/AWS_Transfer_Agreement.json
@@ -100,6 +100,22 @@
"pattern": "arn:.*",
"minLength": 20,
"maxLength": 1600
+ },
+ "PreserveFilename": {
+ "description": "Specifies whether to preserve the filename received for this agreement.",
+ "type": "string",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ]
+ },
+ "EnforceMessageSigning": {
+ "description": "Specifies whether to enforce an AS2 message is signed for this agreement.",
+ "type": "string",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ]
}
},
"additionalProperties": false,
@@ -126,7 +142,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "transfer:ListTagsForResource",
+ "transfer:UnTagResource",
+ "transfer:TagResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_Transfer_WebApp.json b/internal/service/cloudformation/schemas/AWS_Transfer_WebApp.json
new file mode 100644
index 000000000..1d390dc3f
--- /dev/null
+++ b/internal/service/cloudformation/schemas/AWS_Transfer_WebApp.json
@@ -0,0 +1,229 @@
+{
+ "typeName": "AWS::Transfer::WebApp",
+ "description": "Resource Type definition for AWS::Transfer::WebApp",
+ "definitions": {
+ "IdentityProviderDetails": {
+ "type": "object",
+ "description": "You can provide a structure that contains the details for the identity provider to use with your web app.",
+ "properties": {
+ "ApplicationArn": {
+ "type": "string",
+ "maxLength": 1224,
+ "minLength": 10,
+ "pattern": "^arn:[\\w-]+:sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}$"
+ },
+ "InstanceArn": {
+ "type": "string",
+ "description": "The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.",
+ "maxLength": 1224,
+ "minLength": 10,
+ "pattern": "^arn:[\\w-]+:sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$"
+ },
+ "Role": {
+ "type": "string",
+ "description": "The IAM role in IAM Identity Center used for the web app.",
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:[a-z-]+:iam::[0-9]{12}:role[:/]\\S+$"
+ }
+ },
+ "additionalProperties": false
+ },
+ "Tag": {
+ "type": "object",
+ "description": "Key-value pair that can be used to group and search for web apps.",
+ "properties": {
+ "Key": {
+ "type": "string",
+ "maxLength": 128,
+ "minLength": 0
+ },
+ "Value": {
+ "type": "string",
+ "maxLength": 256,
+ "minLength": 0
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "additionalProperties": false
+ },
+ "WebAppCustomization": {
+ "type": "object",
+ "properties": {
+ "Title": {
+ "description": "Specifies a title to display on the web app.",
+ "type": "string",
+ "maxLength": 100,
+ "minLength": 0
+ },
+ "LogoFile": {
+ "description": "Specifies a logo to display on the web app.",
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 51200
+ },
+ "FaviconFile": {
+ "description": "Specifies a favicon to display in the browser tab.",
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 20960
+ }
+ },
+ "additionalProperties": false
+ },
+ "WebAppUnits": {
+ "oneOf": [
+ {
+ "type": "object",
+ "description": "A union that contains the value for number of concurrent connections or the user sessions on your web app.",
+ "title": "Provisioned",
+ "properties": {
+ "Provisioned": {
+ "type": "integer",
+ "minimum": 1
+ }
+ },
+ "required": [
+ "Provisioned"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ }
+ },
+ "properties": {
+ "Arn": {
+ "description": "Specifies the unique Amazon Resource Name (ARN) for the web app.",
+ "type": "string",
+ "pattern": "arn:.*",
+ "minLength": 20,
+ "maxLength": 1600
+ },
+ "WebAppId": {
+ "description": "A unique identifier for the web app.",
+ "type": "string",
+ "pattern": "^webapp-([0-9a-f]{17})$",
+ "minLength": 24,
+ "maxLength": 24
+ },
+ "IdentityProviderDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails"
+ },
+ "AccessEndpoint": {
+ "description": "The AccessEndpoint is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.",
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "WebAppUnits": {
+ "$ref": "#/definitions/WebAppUnits"
+ },
+ "WebAppCustomization": {
+ "$ref": "#/definitions/WebAppCustomization"
+ },
+ "Tags": {
+ "type": "array",
+ "description": "Key-value pairs that can be used to group and search for web apps.",
+ "maxItems": 50,
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "IdentityProviderDetails"
+ ],
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/WebAppId",
+ "/properties/IdentityProviderDetails/ApplicationArn"
+ ],
+ "createOnlyProperties": [
+ "/properties/IdentityProviderDetails/InstanceArn"
+ ],
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "additionalIdentifiers": [
+ [
+ "/properties/WebAppId"
+ ]
+ ],
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": true,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "transfer:TagResource",
+ "transfer:UnTagResource",
+ "transfer:ListTagsForResource"
+ ]
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "transfer:CreateWebApp",
+ "transfer:DescribeWebApp",
+ "transfer:DescribeWebAppCustomization",
+ "transfer:TagResource",
+ "transfer:UpdateWebAppCustomization",
+ "iam:PassRole",
+ "sso:CreateApplication",
+ "sso:DescribeApplication",
+ "sso:ListApplications",
+ "sso:PutApplicationGrant",
+ "sso:GetApplicationGrant",
+ "sso:ListApplicationGrants",
+ "sso:PutApplicationAuthenticationMethod",
+ "sso:GetApplicationAuthenticationMethod",
+ "sso:ListApplicationAuthenticationMethods",
+ "sso:PutApplicationAccessScope",
+ "sso:GetApplicationAccessScope",
+ "sso:ListApplicationAccessScopes"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "transfer:DescribeWebApp",
+ "transfer:DescribeWebAppCustomization"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "transfer:DescribeWebApp",
+ "transfer:DescribeWebAppCustomization",
+ "transfer:UpdateWebApp",
+ "transfer:UpdateWebAppCustomization",
+ "transfer:DeleteWebAppCustomization",
+ "transfer:UnTagResource",
+ "transfer:TagResource",
+ "iam:PassRole",
+ "sso:PutApplicationGrant",
+ "sso:GetApplicationGrant",
+ "sso:ListApplicationGrants",
+ "sso:UpdateApplication",
+ "sso:DescribeApplication",
+ "sso:ListApplications"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "transfer:DeleteWebApp",
+ "sso:DescribeApplication",
+ "sso:DeleteApplication"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "transfer:ListWebApps"
+ ]
+ }
+ }
+}
diff --git a/internal/service/cloudformation/schemas/AWS_WorkSpacesThinClient_Environment.json b/internal/service/cloudformation/schemas/AWS_WorkSpacesThinClient_Environment.json
index 643cd48fa..7316a5e0d 100644
--- a/internal/service/cloudformation/schemas/AWS_WorkSpacesThinClient_Environment.json
+++ b/internal/service/cloudformation/schemas/AWS_WorkSpacesThinClient_Environment.json
@@ -298,7 +298,6 @@
"workspaces-web:GetPortal",
"workspaces-web:GetUserSettings",
"thinclient:UpdateEnvironment",
- "thinclient:ListTagsForResource",
"thinclient:TagResource",
"thinclient:UntagResource",
"kms:Decrypt",