diff --git a/CHANGELOG.md b/CHANGELOG.md
index cb72be8ed..734e548b7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,13 @@
## 1.27.0 (Unreleased)
+
+* **New Data Source:** `awscc_cloudfront_vpc_origin`
+* **New Data Source:** `awscc_notifications_managed_notification_account_contact_association`
+* **New Data Source:** `awscc_notifications_managed_notification_account_contact_associations`
+* **New Data Source:** `awscc_notifications_managed_notification_additional_channel_association`
+* **New Resource:** `awscc_cloudfront_vpc_origin`
+* **New Resource:** `awscc_notifications_managed_notification_account_contact_association`
+* **New Resource:** `awscc_notifications_managed_notification_additional_channel_association`
+
## 1.26.0 (January 16, 2025)
FEATURES:
diff --git a/docs/data-sources/bedrock_knowledge_base.md b/docs/data-sources/bedrock_knowledge_base.md
index 40539c8a9..fbae2dc63 100644
--- a/docs/data-sources/bedrock_knowledge_base.md
+++ b/docs/data-sources/bedrock_knowledge_base.md
@@ -214,6 +214,7 @@ Read-Only:
Read-Only:
- `dimensions` (Number) The dimensions details for the vector configuration used on the Bedrock embeddings model.
+- `embedding_data_type` (String) The data type for the vectors when using a model to convert text into vector embeddings.
diff --git a/docs/data-sources/bedrock_prompt_version.md b/docs/data-sources/bedrock_prompt_version.md
index 348f17914..07156dc08 100644
--- a/docs/data-sources/bedrock_prompt_version.md
+++ b/docs/data-sources/bedrock_prompt_version.md
@@ -39,12 +39,29 @@ Data Source schema for AWS::Bedrock::PromptVersion
Read-Only:
+- `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.
- `name` (String) Name for a variant.
- `template_configuration` (Attributes) Prompt template configuration (see [below for nested schema](#nestedatt--variants--template_configuration))
- `template_type` (String) Prompt template type
+
+### Nested Schema for `variants.gen_ai_resource`
+
+Read-Only:
+
+- `agent` (Attributes) Target Agent to invoke with Prompt (see [below for nested schema](#nestedatt--variants--gen_ai_resource--agent))
+
+
+### Nested Schema for `variants.gen_ai_resource.agent`
+
+Read-Only:
+
+- `agent_identifier` (String) Arn representation of the Agent Alias.
+
+
+
### Nested Schema for `variants.inference_configuration`
@@ -69,8 +86,106 @@ Read-Only:
Read-Only:
+- `chat` (Attributes) Configuration for chat prompt template (see [below for nested schema](#nestedatt--variants--template_configuration--chat))
- `text` (Attributes) Configuration for text prompt template (see [below for nested schema](#nestedatt--variants--template_configuration--text))
+
+### Nested Schema for `variants.template_configuration.chat`
+
+Read-Only:
+
+- `input_variables` (Attributes List) List of input variables (see [below for nested schema](#nestedatt--variants--template_configuration--chat--input_variables))
+- `messages` (Attributes List) List of messages for chat prompt template (see [below for nested schema](#nestedatt--variants--template_configuration--chat--messages))
+- `system` (Attributes List) Configuration for chat prompt template (see [below for nested schema](#nestedatt--variants--template_configuration--chat--system))
+- `tool_configuration` (Attributes) Tool configuration (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration))
+
+
+### Nested Schema for `variants.template_configuration.chat.input_variables`
+
+Read-Only:
+
+- `name` (String) Name for an input variable
+
+
+
+### Nested Schema for `variants.template_configuration.chat.messages`
+
+Read-Only:
+
+- `content` (Attributes List) List of Content Blocks (see [below for nested schema](#nestedatt--variants--template_configuration--chat--messages--content))
+- `role` (String) Conversation roles for the chat prompt
+
+
+### Nested Schema for `variants.template_configuration.chat.messages.content`
+
+Read-Only:
+
+- `text` (String) Configuration for chat prompt template
+
+
+
+
+### Nested Schema for `variants.template_configuration.chat.system`
+
+Read-Only:
+
+- `text` (String) Configuration for chat prompt template
+
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration`
+
+Read-Only:
+
+- `tool_choice` (Attributes) Tool choice (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tool_choice))
+- `tools` (Attributes List) List of Tools (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools))
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tool_choice`
+
+Read-Only:
+
+- `any` (String) Any Tool choice
+- `auto` (String) Auto Tool choice
+- `tool` (Attributes) Specific Tool choice (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tool_choice--tool))
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tool_choice.tool`
+
+Read-Only:
+
+- `name` (String) Tool name
+
+
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools`
+
+Read-Only:
+
+- `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.tool_spec`
+
+Read-Only:
+
+- `description` (String)
+- `input_schema` (Attributes) Tool input schema (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--tool_spec--input_schema))
+- `name` (String) Tool name
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.tool_spec.input_schema`
+
+Read-Only:
+
+- `json` (String)
+
+
+
+
+
+
### Nested Schema for `variants.template_configuration.text`
diff --git a/docs/data-sources/cloudfront_vpc_origin.md b/docs/data-sources/cloudfront_vpc_origin.md
new file mode 100644
index 000000000..0b4c88df8
--- /dev/null
+++ b/docs/data-sources/cloudfront_vpc_origin.md
@@ -0,0 +1,51 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_cloudfront_vpc_origin Data Source - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Data Source schema for AWS::CloudFront::VpcOrigin
+---
+
+# awscc_cloudfront_vpc_origin (Data Source)
+
+Data Source schema for AWS::CloudFront::VpcOrigin
+
+
+
+
+## Schema
+
+### Required
+
+- `id` (String) Uniquely identifies the resource.
+
+### Read-Only
+
+- `arn` (String)
+- `created_time` (String)
+- `last_modified_time` (String)
+- `status` (String)
+- `tags` (Attributes List) (see [below for nested schema](#nestedatt--tags))
+- `vpc_origin_endpoint_config` (Attributes) (see [below for nested schema](#nestedatt--vpc_origin_endpoint_config))
+- `vpc_origin_id` (String)
+
+
+### Nested Schema for `tags`
+
+Read-Only:
+
+- `key` (String)
+- `value` (String)
+
+
+
+### Nested Schema for `vpc_origin_endpoint_config`
+
+Read-Only:
+
+- `arn` (String)
+- `http_port` (Number)
+- `https_port` (Number)
+- `name` (String)
+- `origin_protocol_policy` (String)
+- `origin_ssl_protocols` (List of String)
diff --git a/docs/data-sources/datazone_data_source.md b/docs/data-sources/datazone_data_source.md
index 51cd1bebb..be97d8dde 100644
--- a/docs/data-sources/datazone_data_source.md
+++ b/docs/data-sources/datazone_data_source.md
@@ -23,6 +23,8 @@ Data Source schema for AWS::DataZone::DataSource
- `asset_forms_input` (Attributes List) The metadata forms that are to be attached to the assets that this data source works with. (see [below for nested schema](#nestedatt--asset_forms_input))
- `configuration` (Attributes) Configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration. (see [below for nested schema](#nestedatt--configuration))
+- `connection_id` (String) The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run
+- `connection_identifier` (String) The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run
- `created_at` (String) The timestamp of when the data source was created.
- `data_source_id` (String) The unique identifier of the data source.
- `description` (String) The description of the data source.
@@ -70,6 +72,7 @@ Read-Only:
Read-Only:
- `auto_import_data_quality_result` (Boolean) Specifies whether to automatically import data quality metrics as part of the data source run.
+- `catalog_name` (String) The catalog name in the AWS Glue run configuration.
- `data_access_role` (String) The data access role included in the configuration details of the AWS Glue data source.
- `relational_filter_configurations` (Attributes List) The relational filter configurations included in the configuration details of the AWS Glue data source. (see [below for nested schema](#nestedatt--configuration--glue_run_configuration--relational_filter_configurations))
diff --git a/docs/data-sources/ec2_capacity_reservation.md b/docs/data-sources/ec2_capacity_reservation.md
index 5e973c161..6685e9de7 100644
--- a/docs/data-sources/ec2_capacity_reservation.md
+++ b/docs/data-sources/ec2_capacity_reservation.md
@@ -22,6 +22,7 @@ Data Source schema for AWS::EC2::CapacityReservation
### Read-Only
- `availability_zone` (String)
+- `availability_zone_id` (String)
- `available_instance_count` (Number)
- `capacity_reservation_id` (String)
- `ebs_optimized` (Boolean)
diff --git a/docs/data-sources/ec2_verified_access_endpoint.md b/docs/data-sources/ec2_verified_access_endpoint.md
index b0a503962..a4eaf6ce2 100644
--- a/docs/data-sources/ec2_verified_access_endpoint.md
+++ b/docs/data-sources/ec2_verified_access_endpoint.md
@@ -23,6 +23,7 @@ Data Source schema for AWS::EC2::VerifiedAccessEndpoint
- `application_domain` (String) The DNS name for users to reach your application.
- `attachment_type` (String) The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.
+- `cidr_options` (Attributes) The options for cidr type endpoint. (see [below for nested schema](#nestedatt--cidr_options))
- `creation_time` (String) The creation time.
- `description` (String) A description for the AWS Verified Access endpoint.
- `device_validation_domain` (String) Returned if endpoint has a device trust provider attached.
@@ -35,6 +36,7 @@ Data Source schema for AWS::EC2::VerifiedAccessEndpoint
- `network_interface_options` (Attributes) The options for network-interface type endpoint. (see [below for nested schema](#nestedatt--network_interface_options))
- `policy_document` (String) The AWS Verified Access policy document.
- `policy_enabled` (Boolean) The status of the Verified Access policy.
+- `rds_options` (Attributes) The options for rds type endpoint. (see [below for nested schema](#nestedatt--rds_options))
- `security_group_ids` (Set of String) The IDs of the security groups for the endpoint.
- `sse_specification` (Attributes) The configuration options for customer provided KMS encryption. (see [below for nested schema](#nestedatt--sse_specification))
- `status` (String) The endpoint status.
@@ -43,6 +45,26 @@ Data Source schema for AWS::EC2::VerifiedAccessEndpoint
- `verified_access_group_id` (String) The ID of the AWS Verified Access group.
- `verified_access_instance_id` (String) The ID of the AWS Verified Access instance.
+
+### Nested Schema for `cidr_options`
+
+Read-Only:
+
+- `cidr` (String) The IP address range, in CIDR notation.
+- `port_ranges` (Attributes Set) The list of port range. (see [below for nested schema](#nestedatt--cidr_options--port_ranges))
+- `protocol` (String) The IP protocol.
+- `subnet_ids` (Set of String) The IDs of the subnets.
+
+
+### Nested Schema for `cidr_options.port_ranges`
+
+Read-Only:
+
+- `from_port` (Number) The first port in the range.
+- `to_port` (Number) The last port in the range.
+
+
+
### Nested Schema for `load_balancer_options`
@@ -50,9 +72,19 @@ Read-Only:
- `load_balancer_arn` (String) The ARN of the load balancer.
- `port` (Number) The IP port number.
+- `port_ranges` (Attributes Set) The list of port range. (see [below for nested schema](#nestedatt--load_balancer_options--port_ranges))
- `protocol` (String) The IP protocol.
- `subnet_ids` (Set of String) The IDs of the subnets.
+
+### Nested Schema for `load_balancer_options.port_ranges`
+
+Read-Only:
+
+- `from_port` (Number) The first port in the range.
+- `to_port` (Number) The last port in the range.
+
+
### Nested Schema for `network_interface_options`
@@ -61,8 +93,32 @@ Read-Only:
- `network_interface_id` (String) The ID of the network interface.
- `port` (Number) The IP port number.
+- `port_ranges` (Attributes Set) The list of port ranges. (see [below for nested schema](#nestedatt--network_interface_options--port_ranges))
- `protocol` (String) The IP protocol.
+
+### Nested Schema for `network_interface_options.port_ranges`
+
+Read-Only:
+
+- `from_port` (Number) The first port in the range.
+- `to_port` (Number) The last port in the range.
+
+
+
+
+### Nested Schema for `rds_options`
+
+Read-Only:
+
+- `port` (Number) The IP port number.
+- `protocol` (String) The IP protocol.
+- `rds_db_cluster_arn` (String) The ARN of the RDS DB cluster.
+- `rds_db_instance_arn` (String) The ARN of the RDS DB instance.
+- `rds_db_proxy_arn` (String) The ARN of the RDS DB proxy.
+- `rds_endpoint` (String) The RDS endpoint.
+- `subnet_ids` (Set of String) The IDs of the subnets.
+
### Nested Schema for `sse_specification`
diff --git a/docs/data-sources/ec2_verified_access_instance.md b/docs/data-sources/ec2_verified_access_instance.md
index 7ca634182..64fd92740 100644
--- a/docs/data-sources/ec2_verified_access_instance.md
+++ b/docs/data-sources/ec2_verified_access_instance.md
@@ -21,6 +21,8 @@ Data Source schema for AWS::EC2::VerifiedAccessInstance
### Read-Only
+- `cidr_endpoints_custom_sub_domain` (String) Introduce CidrEndpointsCustomSubDomain property to represent the domain (say, ava.my-company.com)
+- `cidr_endpoints_custom_sub_domain_name_servers` (List of String) Property to represent the name servers assoicated with the domain that AVA manages (say, ['ns1.amazonaws.com', 'ns2.amazonaws.com', 'ns3.amazonaws.com', 'ns4.amazonaws.com']).
- `creation_time` (String) Time this Verified Access Instance was created.
- `description` (String) A description for the AWS Verified Access instance.
- `fips_enabled` (Boolean) Indicates whether FIPS is enabled
diff --git a/docs/data-sources/ec2_verified_access_trust_provider.md b/docs/data-sources/ec2_verified_access_trust_provider.md
index a3c867f37..4f9d5bd7f 100644
--- a/docs/data-sources/ec2_verified_access_trust_provider.md
+++ b/docs/data-sources/ec2_verified_access_trust_provider.md
@@ -26,6 +26,7 @@ Data Source schema for AWS::EC2::VerifiedAccessTrustProvider
- `device_options` (Attributes) The options for device identity based trust providers. (see [below for nested schema](#nestedatt--device_options))
- `device_trust_provider_type` (String) The type of device-based trust provider. Possible values: jamf|crowdstrike
- `last_updated_time` (String) The last updated time.
+- `native_application_oidc_options` (Attributes) The OpenID Connect details for an oidc -type, user-identity based trust provider for L4. (see [below for nested schema](#nestedatt--native_application_oidc_options))
- `oidc_options` (Attributes) The OpenID Connect details for an oidc -type, user-identity based trust provider. (see [below for nested schema](#nestedatt--oidc_options))
- `policy_reference_name` (String) The identifier to be used when working with policy rules.
- `sse_specification` (Attributes) The configuration options for customer provided KMS encryption. (see [below for nested schema](#nestedatt--sse_specification))
@@ -43,6 +44,21 @@ Read-Only:
- `tenant_id` (String) The ID of the tenant application with the device-identity provider.
+
+### Nested Schema for `native_application_oidc_options`
+
+Read-Only:
+
+- `authorization_endpoint` (String) The OIDC authorization endpoint.
+- `client_id` (String) The client identifier.
+- `client_secret` (String) The client secret.
+- `issuer` (String) The OIDC issuer.
+- `public_signing_key_endpoint` (String) The public signing key for endpoint
+- `scope` (String) OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes.
+- `token_endpoint` (String) The OIDC token endpoint.
+- `user_info_endpoint` (String) The OIDC user info endpoint.
+
+
### Nested Schema for `oidc_options`
diff --git a/docs/data-sources/elasticloadbalancingv2_load_balancer.md b/docs/data-sources/elasticloadbalancingv2_load_balancer.md
index a72ab78ff..fe59d2162 100644
--- a/docs/data-sources/elasticloadbalancingv2_load_balancer.md
+++ b/docs/data-sources/elasticloadbalancingv2_load_balancer.md
@@ -33,7 +33,7 @@ Data Source schema for AWS::ElasticLoadBalancingV2::LoadBalancer
- `load_balancer_attributes` (Attributes Set) The load balancer attributes. (see [below for nested schema](#nestedatt--load_balancer_attributes))
- `load_balancer_full_name` (String)
- `load_balancer_name` (String)
-- `minimum_load_balancer_capacity` (Attributes) (see [below for nested schema](#nestedatt--minimum_load_balancer_capacity))
+- `minimum_load_balancer_capacity` (Attributes) The minimum capacity for a load balancer. (see [below for nested schema](#nestedatt--minimum_load_balancer_capacity))
- `name` (String) The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-".
If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
- `scheme` (String) The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.
@@ -70,6 +70,7 @@ Read-Only:
+ ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.
+ ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.
+ ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.
+ + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.
The following attributes are supported by only Application Load Balancers:
+ ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.
@@ -92,7 +93,6 @@ Read-Only:
The following attributes are supported by only Network Load Balancers:
+ ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.
- + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.
- `value` (String) The value of the attribute.
@@ -101,7 +101,7 @@ Read-Only:
Read-Only:
-- `capacity_units` (Number)
+- `capacity_units` (Number) The number of capacity units.
diff --git a/docs/data-sources/fms_policy.md b/docs/data-sources/fms_policy.md
index a16031795..78373e9a4 100644
--- a/docs/data-sources/fms_policy.md
+++ b/docs/data-sources/fms_policy.md
@@ -31,6 +31,7 @@ Data Source schema for AWS::FMS::Policy
- `policy_name` (String)
- `remediation_enabled` (Boolean)
- `resource_set_ids` (List of String)
+- `resource_tag_logical_operator` (String)
- `resource_tags` (Attributes List) (see [below for nested schema](#nestedatt--resource_tags))
- `resource_type` (String) An AWS resource type
- `resource_type_list` (List of String)
diff --git a/docs/data-sources/iot_billing_group.md b/docs/data-sources/iot_billing_group.md
index c7a1ae65c..1c65d354f 100644
--- a/docs/data-sources/iot_billing_group.md
+++ b/docs/data-sources/iot_billing_group.md
@@ -40,5 +40,5 @@ Read-Only:
Read-Only:
-- `key` (String) 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 -.
-- `value` (String) The value for the tag. You can specify a value that is 1 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 -.
+- `key` (String) Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]
+- `value` (String) Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]
diff --git a/docs/data-sources/iot_thing_group.md b/docs/data-sources/iot_thing_group.md
index 1e4de4e39..8b5fc0f2e 100644
--- a/docs/data-sources/iot_thing_group.md
+++ b/docs/data-sources/iot_thing_group.md
@@ -34,8 +34,8 @@ Data Source schema for AWS::IoT::ThingGroup
Read-Only:
-- `key` (String) 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 -.
-- `value` (String) The value for the tag. You can specify a value that is 1 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 -.
+- `key` (String) Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]
+- `value` (String) Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]
diff --git a/docs/data-sources/mediaconnect_flow.md b/docs/data-sources/mediaconnect_flow.md
index 1000e4924..8eacf9c45 100644
--- a/docs/data-sources/mediaconnect_flow.md
+++ b/docs/data-sources/mediaconnect_flow.md
@@ -193,7 +193,54 @@ Read-Only:
Read-Only:
+- `audio_monitoring_settings` (Attributes List) Contains the settings for audio stream metrics monitoring. (see [below for nested schema](#nestedatt--source_monitoring_config--audio_monitoring_settings))
+- `content_quality_analysis_state` (String) Indicates whether content quality analysis is enabled or disabled.
- `thumbnail_state` (String) The state of thumbnail monitoring.
+- `video_monitoring_settings` (Attributes List) Contains the settings for video stream metrics monitoring. (see [below for nested schema](#nestedatt--source_monitoring_config--video_monitoring_settings))
+
+
+### Nested Schema for `source_monitoring_config.audio_monitoring_settings`
+
+Read-Only:
+
+- `silent_audio` (Attributes) Configures settings for the SilentAudio metric. (see [below for nested schema](#nestedatt--source_monitoring_config--audio_monitoring_settings--silent_audio))
+
+
+### Nested Schema for `source_monitoring_config.audio_monitoring_settings.silent_audio`
+
+Read-Only:
+
+- `state` (String) Indicates whether the SilentAudio metric is enabled or disabled.
+- `threshold_seconds` (Number) Specifies the number of consecutive seconds of silence that triggers an event or alert.
+
+
+
+
+### Nested Schema for `source_monitoring_config.video_monitoring_settings`
+
+Read-Only:
+
+- `black_frames` (Attributes) Configures settings for the BlackFrames metric. (see [below for nested schema](#nestedatt--source_monitoring_config--video_monitoring_settings--black_frames))
+- `frozen_frames` (Attributes) Configures settings for the FrozenFrames metric. (see [below for nested schema](#nestedatt--source_monitoring_config--video_monitoring_settings--frozen_frames))
+
+
+### Nested Schema for `source_monitoring_config.video_monitoring_settings.black_frames`
+
+Read-Only:
+
+- `state` (String) Indicates whether the BlackFrames metric is enabled or disabled.
+- `threshold_seconds` (Number) Specifies the number of consecutive seconds of black frames that triggers an event or alert.
+
+
+
+### Nested Schema for `source_monitoring_config.video_monitoring_settings.frozen_frames`
+
+Read-Only:
+
+- `state` (String) Indicates whether the FrozenFrames metric is enabled or disabled.
+- `threshold_seconds` (Number) Specifies the number of consecutive seconds of a static image that triggers an event or alert.
+
+
diff --git a/docs/data-sources/notifications_managed_notification_account_contact_association.md b/docs/data-sources/notifications_managed_notification_account_contact_association.md
new file mode 100644
index 000000000..0f55995d7
--- /dev/null
+++ b/docs/data-sources/notifications_managed_notification_account_contact_association.md
@@ -0,0 +1,25 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_notifications_managed_notification_account_contact_association Data Source - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Data Source schema for AWS::Notifications::ManagedNotificationAccountContactAssociation
+---
+
+# awscc_notifications_managed_notification_account_contact_association (Data Source)
+
+Data Source schema for AWS::Notifications::ManagedNotificationAccountContactAssociation
+
+
+
+
+## Schema
+
+### Required
+
+- `id` (String) Uniquely identifies the resource.
+
+### Read-Only
+
+- `contact_identifier` (String) This unique identifier for Contact
+- `managed_notification_configuration_arn` (String) The managed notification configuration ARN, against which the account contact association will be created
diff --git a/docs/data-sources/notifications_managed_notification_account_contact_associations.md b/docs/data-sources/notifications_managed_notification_account_contact_associations.md
new file mode 100644
index 000000000..041b1ad10
--- /dev/null
+++ b/docs/data-sources/notifications_managed_notification_account_contact_associations.md
@@ -0,0 +1,21 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_notifications_managed_notification_account_contact_associations Data Source - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Plural Data Source schema for AWS::Notifications::ManagedNotificationAccountContactAssociation
+---
+
+# awscc_notifications_managed_notification_account_contact_associations (Data Source)
+
+Plural Data Source schema for AWS::Notifications::ManagedNotificationAccountContactAssociation
+
+
+
+
+## Schema
+
+### Read-Only
+
+- `id` (String) Uniquely identifies the data source.
+- `ids` (Set of String) Set of Resource Identifiers.
diff --git a/docs/data-sources/notifications_managed_notification_additional_channel_association.md b/docs/data-sources/notifications_managed_notification_additional_channel_association.md
new file mode 100644
index 000000000..d5bfbd73b
--- /dev/null
+++ b/docs/data-sources/notifications_managed_notification_additional_channel_association.md
@@ -0,0 +1,27 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_notifications_managed_notification_additional_channel_association Data Source - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Data Source schema for AWS::Notifications::ManagedNotificationAdditionalChannelAssociation
+---
+
+# awscc_notifications_managed_notification_additional_channel_association (Data Source)
+
+Data Source schema for AWS::Notifications::ManagedNotificationAdditionalChannelAssociation
+
+
+
+
+## Schema
+
+### Required
+
+- `id` (String) Uniquely identifies the resource.
+
+### Read-Only
+
+- `channel_arn` (String) ARN identifier of the channel.
+Example: arn:aws:chatbot::123456789012:chat-configuration/slack-channel/security-ops
+- `managed_notification_configuration_arn` (String) ARN identifier of the Managed Notification.
+Example: arn:aws:notifications::381491923782:managed-notification-configuration/category/AWS-Health/sub-category/Billing
diff --git a/docs/data-sources/qbusiness_web_experience.md b/docs/data-sources/qbusiness_web_experience.md
index daa81dc23..1e53cd367 100644
--- a/docs/data-sources/qbusiness_web_experience.md
+++ b/docs/data-sources/qbusiness_web_experience.md
@@ -22,6 +22,7 @@ Data Source schema for AWS::QBusiness::WebExperience
### Read-Only
- `application_id` (String)
+- `browser_extension_configuration` (Attributes) (see [below for nested schema](#nestedatt--browser_extension_configuration))
- `created_at` (String)
- `customization_configuration` (Attributes) (see [below for nested schema](#nestedatt--customization_configuration))
- `default_endpoint` (String)
@@ -38,6 +39,14 @@ Data Source schema for AWS::QBusiness::WebExperience
- `web_experience_id` (String)
- `welcome_message` (String)
+
+### Nested Schema for `browser_extension_configuration`
+
+Read-Only:
+
+- `enabled_browser_extensions` (Set of String)
+
+
### Nested Schema for `customization_configuration`
diff --git a/docs/data-sources/quicksight_topic.md b/docs/data-sources/quicksight_topic.md
index e29629702..ea3eebe21 100644
--- a/docs/data-sources/quicksight_topic.md
+++ b/docs/data-sources/quicksight_topic.md
@@ -23,12 +23,22 @@ Data Source schema for AWS::QuickSight::Topic
- `arn` (String)
- `aws_account_id` (String)
+- `config_options` (Attributes) Model for configuration of a Topic (see [below for nested schema](#nestedatt--config_options))
- `data_sets` (Attributes List) (see [below for nested schema](#nestedatt--data_sets))
- `description` (String)
+- `folder_arns` (List of String)
- `name` (String)
- `topic_id` (String)
- `user_experience_version` (String)
+
+### Nested Schema for `config_options`
+
+Read-Only:
+
+- `q_business_insights_enabled` (Boolean)
+
+
### Nested Schema for `data_sets`
diff --git a/docs/data-sources/resiliencehub_app.md b/docs/data-sources/resiliencehub_app.md
index 75b7439fc..7085d7c80 100644
--- a/docs/data-sources/resiliencehub_app.md
+++ b/docs/data-sources/resiliencehub_app.md
@@ -29,7 +29,6 @@ Data Source schema for AWS::ResilienceHub::App
- `event_subscriptions` (Attributes List) The list of events you would like to subscribe and get notification for. (see [below for nested schema](#nestedatt--event_subscriptions))
- `name` (String) Name of the app.
- `permission_model` (Attributes) Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment. (see [below for nested schema](#nestedatt--permission_model))
-- `regulatory_policy_arn` (String) Amazon Resource Name (ARN) of the Regulatory Policy.
- `resiliency_policy_arn` (String) Amazon Resource Name (ARN) of the Resiliency Policy.
- `resource_mappings` (Attributes List) An array of ResourceMapping objects. (see [below for nested schema](#nestedatt--resource_mappings))
- `tags` (Map of String)
diff --git a/docs/data-sources/ssmincidents_replication_set.md b/docs/data-sources/ssmincidents_replication_set.md
index 80d9f06e2..8f274cbac 100644
--- a/docs/data-sources/ssmincidents_replication_set.md
+++ b/docs/data-sources/ssmincidents_replication_set.md
@@ -39,7 +39,7 @@ Read-Only:
Read-Only:
-- `sse_kms_key_id` (String) The ARN of the ReplicationSet.
+- `sse_kms_key_id` (String) The AWS Key Management Service key ID or Key Alias to use to encrypt your replication set.
diff --git a/docs/data-sources/timestream_influx_db_instance.md b/docs/data-sources/timestream_influx_db_instance.md
index 3e2e8eaf0..7b7e52663 100644
--- a/docs/data-sources/timestream_influx_db_instance.md
+++ b/docs/data-sources/timestream_influx_db_instance.md
@@ -34,8 +34,10 @@ Data Source schema for AWS::Timestream::InfluxDBInstance
- `influx_db_instance_id` (String) The service generated unique identifier for InfluxDB instance.
- `log_delivery_configuration` (Attributes) Configuration for sending logs to customer account from the InfluxDB instance. (see [below for nested schema](#nestedatt--log_delivery_configuration))
- `name` (String) The unique name that is associated with the InfluxDB instance.
+- `network_type` (String) Network type of the InfluxDB Instance.
- `organization` (String) The organization for the InfluxDB instance.
- `password` (String) The password for the InfluxDB instance.
+- `port` (Number) The port number on which InfluxDB accepts connections.
- `publicly_accessible` (Boolean) Attach a public IP to the customer ENI.
- `secondary_availability_zone` (String) The Secondary Availability Zone (AZ) where the InfluxDB instance is created, if DeploymentType is set as WITH_MULTIAZ_STANDBY.
- `status` (String) Status of the InfluxDB Instance.
diff --git a/docs/resources/bedrock_knowledge_base.md b/docs/resources/bedrock_knowledge_base.md
index 8206c9df3..372ce5645 100644
--- a/docs/resources/bedrock_knowledge_base.md
+++ b/docs/resources/bedrock_knowledge_base.md
@@ -272,6 +272,7 @@ Optional:
Optional:
- `dimensions` (Number) The dimensions details for the vector configuration used on the Bedrock embeddings model.
+- `embedding_data_type` (String) The data type for the vectors when using a model to convert text into vector embeddings.
diff --git a/docs/resources/bedrock_prompt_version.md b/docs/resources/bedrock_prompt_version.md
index 872ad8a5e..036b4cae4 100644
--- a/docs/resources/bedrock_prompt_version.md
+++ b/docs/resources/bedrock_prompt_version.md
@@ -84,12 +84,29 @@ resource "awscc_bedrock_prompt" "example" {
Read-Only:
+- `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.
- `name` (String) Name for a variant.
- `template_configuration` (Attributes) Prompt template configuration (see [below for nested schema](#nestedatt--variants--template_configuration))
- `template_type` (String) Prompt template type
+
+### Nested Schema for `variants.gen_ai_resource`
+
+Read-Only:
+
+- `agent` (Attributes) Target Agent to invoke with Prompt (see [below for nested schema](#nestedatt--variants--gen_ai_resource--agent))
+
+
+### Nested Schema for `variants.gen_ai_resource.agent`
+
+Read-Only:
+
+- `agent_identifier` (String) Arn representation of the Agent Alias.
+
+
+
### Nested Schema for `variants.inference_configuration`
@@ -114,8 +131,106 @@ Read-Only:
Read-Only:
+- `chat` (Attributes) Configuration for chat prompt template (see [below for nested schema](#nestedatt--variants--template_configuration--chat))
- `text` (Attributes) Configuration for text prompt template (see [below for nested schema](#nestedatt--variants--template_configuration--text))
+
+### Nested Schema for `variants.template_configuration.chat`
+
+Read-Only:
+
+- `input_variables` (Attributes List) List of input variables (see [below for nested schema](#nestedatt--variants--template_configuration--chat--input_variables))
+- `messages` (Attributes List) List of messages for chat prompt template (see [below for nested schema](#nestedatt--variants--template_configuration--chat--messages))
+- `system` (Attributes List) Configuration for chat prompt template (see [below for nested schema](#nestedatt--variants--template_configuration--chat--system))
+- `tool_configuration` (Attributes) Tool configuration (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration))
+
+
+### Nested Schema for `variants.template_configuration.chat.input_variables`
+
+Read-Only:
+
+- `name` (String) Name for an input variable
+
+
+
+### Nested Schema for `variants.template_configuration.chat.messages`
+
+Read-Only:
+
+- `content` (Attributes List) List of Content Blocks (see [below for nested schema](#nestedatt--variants--template_configuration--chat--messages--content))
+- `role` (String) Conversation roles for the chat prompt
+
+
+### Nested Schema for `variants.template_configuration.chat.messages.content`
+
+Read-Only:
+
+- `text` (String) Configuration for chat prompt template
+
+
+
+
+### Nested Schema for `variants.template_configuration.chat.system`
+
+Read-Only:
+
+- `text` (String) Configuration for chat prompt template
+
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration`
+
+Read-Only:
+
+- `tool_choice` (Attributes) Tool choice (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tool_choice))
+- `tools` (Attributes List) List of Tools (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools))
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tool_choice`
+
+Read-Only:
+
+- `any` (String) Any Tool choice
+- `auto` (String) Auto Tool choice
+- `tool` (Attributes) Specific Tool choice (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tool_choice--tool))
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tool_choice.tool`
+
+Read-Only:
+
+- `name` (String) Tool name
+
+
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools`
+
+Read-Only:
+
+- `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.tool_spec`
+
+Read-Only:
+
+- `description` (String)
+- `input_schema` (Attributes) Tool input schema (see [below for nested schema](#nestedatt--variants--template_configuration--chat--tool_configuration--tools--tool_spec--input_schema))
+- `name` (String) Tool name
+
+
+### Nested Schema for `variants.template_configuration.chat.tool_configuration.tools.tool_spec.input_schema`
+
+Read-Only:
+
+- `json` (String)
+
+
+
+
+
+
### Nested Schema for `variants.template_configuration.text`
diff --git a/docs/resources/cloudfront_vpc_origin.md b/docs/resources/cloudfront_vpc_origin.md
new file mode 100644
index 000000000..10772708e
--- /dev/null
+++ b/docs/resources/cloudfront_vpc_origin.md
@@ -0,0 +1,65 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_cloudfront_vpc_origin Resource - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Resource Type definition for AWS::CloudFront::VpcOrigin
+---
+
+# awscc_cloudfront_vpc_origin (Resource)
+
+Resource Type definition for AWS::CloudFront::VpcOrigin
+
+
+
+
+## Schema
+
+### Required
+
+- `vpc_origin_endpoint_config` (Attributes) (see [below for nested schema](#nestedatt--vpc_origin_endpoint_config))
+
+### Optional
+
+- `tags` (Attributes List) (see [below for nested schema](#nestedatt--tags))
+
+### Read-Only
+
+- `arn` (String)
+- `created_time` (String)
+- `id` (String) Uniquely identifies the resource.
+- `last_modified_time` (String)
+- `status` (String)
+- `vpc_origin_id` (String)
+
+
+### Nested Schema for `vpc_origin_endpoint_config`
+
+Required:
+
+- `arn` (String)
+- `name` (String)
+
+Optional:
+
+- `http_port` (Number)
+- `https_port` (Number)
+- `origin_protocol_policy` (String)
+- `origin_ssl_protocols` (List of String)
+
+
+
+### Nested Schema for `tags`
+
+Optional:
+
+- `key` (String)
+- `value` (String)
+
+## Import
+
+Import is supported using the following syntax:
+
+```shell
+$ terraform import awscc_cloudfront_vpc_origin.example "id"
+```
diff --git a/docs/resources/config_config_rule.md b/docs/resources/config_config_rule.md
index 27f29849e..a594c6e43 100644
--- a/docs/resources/config_config_rule.md
+++ b/docs/resources/config_config_rule.md
@@ -16,10 +16,10 @@ description: |-
# awscc_config_config_rule (Resource)
You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).
- Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.
+ Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.
There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.
- CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.
- CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.
+ CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.
+ CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.
If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object.
For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.
If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.
diff --git a/docs/resources/datazone_data_source.md b/docs/resources/datazone_data_source.md
index 18b67722c..bfc8c4311 100644
--- a/docs/resources/datazone_data_source.md
+++ b/docs/resources/datazone_data_source.md
@@ -18,7 +18,6 @@ A data source is used to import technical metadata of assets (data) from the sou
### Required
- `domain_identifier` (String) The ID of the Amazon DataZone domain where the data source is created.
-- `environment_identifier` (String) The unique identifier of the Amazon DataZone environment to which the data source publishes assets.
- `name` (String) The name of the data source.
- `project_identifier` (String) The identifier of the Amazon DataZone project in which you want to add the data source.
- `type` (String) The type of the data source.
@@ -27,14 +26,17 @@ A data source is used to import technical metadata of assets (data) from the sou
- `asset_forms_input` (Attributes List) The metadata forms that are to be attached to the assets that this data source works with. (see [below for nested schema](#nestedatt--asset_forms_input))
- `configuration` (Attributes) Configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration. (see [below for nested schema](#nestedatt--configuration))
+- `connection_identifier` (String) The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run
- `description` (String) The description of the data source.
- `enable_setting` (String) Specifies whether the data source is enabled.
+- `environment_identifier` (String) The unique identifier of the Amazon DataZone environment to which the data source publishes assets.
- `publish_on_import` (Boolean) Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.
- `recommendation` (Attributes) Specifies whether the business name generation is to be enabled for this data source. (see [below for nested schema](#nestedatt--recommendation))
- `schedule` (Attributes) The schedule of the data source runs. (see [below for nested schema](#nestedatt--schedule))
### Read-Only
+- `connection_id` (String) The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run
- `created_at` (String) The timestamp of when the data source was created.
- `data_source_id` (String) The unique identifier of the data source.
- `domain_id` (String) The ID of the Amazon DataZone domain where the data source is created.
@@ -73,6 +75,7 @@ Optional:
Optional:
- `auto_import_data_quality_result` (Boolean) Specifies whether to automatically import data quality metrics as part of the data source run.
+- `catalog_name` (String) The catalog name in the AWS Glue run configuration.
- `data_access_role` (String) The data access role included in the configuration details of the AWS Glue data source.
- `relational_filter_configurations` (Attributes List) The relational filter configurations included in the configuration details of the AWS Glue data source. (see [below for nested schema](#nestedatt--configuration--glue_run_configuration--relational_filter_configurations))
diff --git a/docs/resources/ec2_capacity_reservation.md b/docs/resources/ec2_capacity_reservation.md
index ebda798be..424c389d2 100644
--- a/docs/resources/ec2_capacity_reservation.md
+++ b/docs/resources/ec2_capacity_reservation.md
@@ -38,13 +38,14 @@ resource "awscc_ec2_capacity_reservation" "example-capacity-reservation-end-date
### Required
-- `availability_zone` (String)
- `instance_count` (Number)
- `instance_platform` (String)
- `instance_type` (String)
### Optional
+- `availability_zone` (String)
+- `availability_zone_id` (String)
- `ebs_optimized` (Boolean)
- `end_date` (String)
- `end_date_type` (String)
diff --git a/docs/resources/ec2_verified_access_endpoint.md b/docs/resources/ec2_verified_access_endpoint.md
index d81e66363..0a654a43f 100644
--- a/docs/resources/ec2_verified_access_endpoint.md
+++ b/docs/resources/ec2_verified_access_endpoint.md
@@ -147,20 +147,22 @@ resource "awscc_ec2_verified_access_endpoint" "example" {
### Required
-- `application_domain` (String) The DNS name for users to reach your application.
- `attachment_type` (String) The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.
-- `domain_certificate_arn` (String) The ARN of a public TLS/SSL certificate imported into or created with ACM.
-- `endpoint_domain_prefix` (String) A custom identifier that gets prepended to a DNS name that is generated for the endpoint.
- `endpoint_type` (String) The type of AWS Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.The type of AWS Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.
- `verified_access_group_id` (String) The ID of the AWS Verified Access group.
### Optional
+- `application_domain` (String) The DNS name for users to reach your application.
+- `cidr_options` (Attributes) The options for cidr type endpoint. (see [below for nested schema](#nestedatt--cidr_options))
- `description` (String) A description for the AWS Verified Access endpoint.
+- `domain_certificate_arn` (String) The ARN of a public TLS/SSL certificate imported into or created with ACM.
+- `endpoint_domain_prefix` (String) A custom identifier that gets prepended to a DNS name that is generated for the endpoint.
- `load_balancer_options` (Attributes) The load balancer details if creating the AWS Verified Access endpoint as load-balancer type. (see [below for nested schema](#nestedatt--load_balancer_options))
- `network_interface_options` (Attributes) The options for network-interface type endpoint. (see [below for nested schema](#nestedatt--network_interface_options))
- `policy_document` (String) The AWS Verified Access policy document.
- `policy_enabled` (Boolean) The status of the Verified Access policy.
+- `rds_options` (Attributes) The options for rds type endpoint. (see [below for nested schema](#nestedatt--rds_options))
- `security_group_ids` (Set of String) The IDs of the security groups for the endpoint.
- `sse_specification` (Attributes) The configuration options for customer provided KMS encryption. (see [below for nested schema](#nestedatt--sse_specification))
- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags))
@@ -176,6 +178,26 @@ resource "awscc_ec2_verified_access_endpoint" "example" {
- `verified_access_endpoint_id` (String) The ID of the AWS Verified Access endpoint.
- `verified_access_instance_id` (String) The ID of the AWS Verified Access instance.
+
+### Nested Schema for `cidr_options`
+
+Optional:
+
+- `cidr` (String) The IP address range, in CIDR notation.
+- `port_ranges` (Attributes Set) The list of port range. (see [below for nested schema](#nestedatt--cidr_options--port_ranges))
+- `protocol` (String) The IP protocol.
+- `subnet_ids` (Set of String) The IDs of the subnets.
+
+
+### Nested Schema for `cidr_options.port_ranges`
+
+Optional:
+
+- `from_port` (Number) The first port in the range.
+- `to_port` (Number) The last port in the range.
+
+
+
### Nested Schema for `load_balancer_options`
@@ -183,9 +205,19 @@ Optional:
- `load_balancer_arn` (String) The ARN of the load balancer.
- `port` (Number) The IP port number.
+- `port_ranges` (Attributes Set) The list of port range. (see [below for nested schema](#nestedatt--load_balancer_options--port_ranges))
- `protocol` (String) The IP protocol.
- `subnet_ids` (Set of String) The IDs of the subnets.
+
+### Nested Schema for `load_balancer_options.port_ranges`
+
+Optional:
+
+- `from_port` (Number) The first port in the range.
+- `to_port` (Number) The last port in the range.
+
+
### Nested Schema for `network_interface_options`
@@ -193,8 +225,32 @@ Optional:
Optional:
- `network_interface_id` (String) The ID of the network interface.
+- `port` (Number) The IP port number.
+- `port_ranges` (Attributes Set) The list of port ranges. (see [below for nested schema](#nestedatt--network_interface_options--port_ranges))
+- `protocol` (String) The IP protocol.
+
+
+### Nested Schema for `network_interface_options.port_ranges`
+
+Optional:
+
+- `from_port` (Number) The first port in the range.
+- `to_port` (Number) The last port in the range.
+
+
+
+
+### Nested Schema for `rds_options`
+
+Optional:
+
- `port` (Number) The IP port number.
- `protocol` (String) The IP protocol.
+- `rds_db_cluster_arn` (String) The ARN of the RDS DB cluster.
+- `rds_db_instance_arn` (String) The ARN of the RDS DB instance.
+- `rds_db_proxy_arn` (String) The ARN of the RDS DB proxy.
+- `rds_endpoint` (String) The RDS endpoint.
+- `subnet_ids` (Set of String) The IDs of the subnets.
diff --git a/docs/resources/ec2_verified_access_instance.md b/docs/resources/ec2_verified_access_instance.md
index 5fcf6d833..b89fc36fc 100644
--- a/docs/resources/ec2_verified_access_instance.md
+++ b/docs/resources/ec2_verified_access_instance.md
@@ -60,6 +60,7 @@ resource "awscc_ec2_verified_access_instance" "example" {
### Optional
+- `cidr_endpoints_custom_sub_domain` (String) Introduce CidrEndpointsCustomSubDomain property to represent the domain (say, ava.my-company.com)
- `description` (String) A description for the AWS Verified Access instance.
- `fips_enabled` (Boolean) Indicates whether FIPS is enabled
- `logging_configurations` (Attributes) The configuration options for AWS Verified Access instances. (see [below for nested schema](#nestedatt--logging_configurations))
@@ -69,6 +70,7 @@ resource "awscc_ec2_verified_access_instance" "example" {
### Read-Only
+- `cidr_endpoints_custom_sub_domain_name_servers` (List of String) Property to represent the name servers assoicated with the domain that AVA manages (say, ['ns1.amazonaws.com', 'ns2.amazonaws.com', 'ns3.amazonaws.com', 'ns4.amazonaws.com']).
- `creation_time` (String) Time this Verified Access Instance was created.
- `id` (String) Uniquely identifies the resource.
- `last_updated_time` (String) Time this Verified Access Instance was last updated.
diff --git a/docs/resources/ec2_verified_access_trust_provider.md b/docs/resources/ec2_verified_access_trust_provider.md
index bf77dcf46..93b54f4c8 100644
--- a/docs/resources/ec2_verified_access_trust_provider.md
+++ b/docs/resources/ec2_verified_access_trust_provider.md
@@ -59,6 +59,7 @@ resource "awscc_ec2_verified_access_trust_provider" "example" {
- `description` (String) A description for the Amazon Web Services Verified Access trust provider.
- `device_options` (Attributes) The options for device identity based trust providers. (see [below for nested schema](#nestedatt--device_options))
- `device_trust_provider_type` (String) The type of device-based trust provider. Possible values: jamf|crowdstrike
+- `native_application_oidc_options` (Attributes) The OpenID Connect details for an oidc -type, user-identity based trust provider for L4. (see [below for nested schema](#nestedatt--native_application_oidc_options))
- `oidc_options` (Attributes) The OpenID Connect details for an oidc -type, user-identity based trust provider. (see [below for nested schema](#nestedatt--oidc_options))
- `sse_specification` (Attributes) The configuration options for customer provided KMS encryption. (see [below for nested schema](#nestedatt--sse_specification))
- `tags` (Attributes Set) An array of key-value pairs to apply to this resource. (see [below for nested schema](#nestedatt--tags))
@@ -80,6 +81,21 @@ Optional:
- `tenant_id` (String) The ID of the tenant application with the device-identity provider.
+
+### Nested Schema for `native_application_oidc_options`
+
+Optional:
+
+- `authorization_endpoint` (String) The OIDC authorization endpoint.
+- `client_id` (String) The client identifier.
+- `client_secret` (String) The client secret.
+- `issuer` (String) The OIDC issuer.
+- `public_signing_key_endpoint` (String) The public signing key for endpoint
+- `scope` (String) OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes.
+- `token_endpoint` (String) The OIDC token endpoint.
+- `user_info_endpoint` (String) The OIDC user info endpoint.
+
+
### Nested Schema for `oidc_options`
diff --git a/docs/resources/elasticloadbalancingv2_load_balancer.md b/docs/resources/elasticloadbalancingv2_load_balancer.md
index f01581cf3..0db40e8ee 100644
--- a/docs/resources/elasticloadbalancingv2_load_balancer.md
+++ b/docs/resources/elasticloadbalancingv2_load_balancer.md
@@ -160,7 +160,7 @@ resource "awscc_elasticloadbalancingv2_load_balancer" "example" {
Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors.
[Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).
- `load_balancer_attributes` (Attributes Set) The load balancer attributes. (see [below for nested schema](#nestedatt--load_balancer_attributes))
-- `minimum_load_balancer_capacity` (Attributes) (see [below for nested schema](#nestedatt--minimum_load_balancer_capacity))
+- `minimum_load_balancer_capacity` (Attributes) The minimum capacity for a load balancer. (see [below for nested schema](#nestedatt--minimum_load_balancer_capacity))
- `name` (String) The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-".
If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
- `scheme` (String) The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.
@@ -206,6 +206,7 @@ Optional:
+ ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.
+ ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.
+ ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.
+ + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.
The following attributes are supported by only Application Load Balancers:
+ ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.
@@ -228,7 +229,6 @@ Optional:
The following attributes are supported by only Network Load Balancers:
+ ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.
- + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.
- `value` (String) The value of the attribute.
@@ -237,7 +237,7 @@ Optional:
Optional:
-- `capacity_units` (Number)
+- `capacity_units` (Number) The number of capacity units.
diff --git a/docs/resources/fms_policy.md b/docs/resources/fms_policy.md
index 756488462..5f0d583f9 100644
--- a/docs/resources/fms_policy.md
+++ b/docs/resources/fms_policy.md
@@ -86,6 +86,7 @@ resource "awscc_fms_policy" "example" {
- `include_map` (Attributes) An FMS includeMap or excludeMap. (see [below for nested schema](#nestedatt--include_map))
- `policy_description` (String)
- `resource_set_ids` (List of String)
+- `resource_tag_logical_operator` (String)
- `resource_tags` (Attributes List) (see [below for nested schema](#nestedatt--resource_tags))
- `resource_type` (String) An AWS resource type
- `resource_type_list` (List of String)
diff --git a/docs/resources/iot_billing_group.md b/docs/resources/iot_billing_group.md
index e6d5afaa7..651c93e69 100644
--- a/docs/resources/iot_billing_group.md
+++ b/docs/resources/iot_billing_group.md
@@ -53,8 +53,8 @@ Optional:
Optional:
-- `key` (String) 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 -.
-- `value` (String) The value for the tag. You can specify a value that is 1 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 -.
+- `key` (String) Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]
+- `value` (String) Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]
## Import
diff --git a/docs/resources/iot_thing_group.md b/docs/resources/iot_thing_group.md
index 454c2a41f..53c328159 100644
--- a/docs/resources/iot_thing_group.md
+++ b/docs/resources/iot_thing_group.md
@@ -87,8 +87,8 @@ resource "awscc_iot_thing_group" "child_group" {
Optional:
-- `key` (String) 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 -.
-- `value` (String) The value for the tag. You can specify a value that is 1 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 -.
+- `key` (String) Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]
+- `value` (String) Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]
diff --git a/docs/resources/mediaconnect_flow.md b/docs/resources/mediaconnect_flow.md
index 6e2449d07..31fdac84d 100644
--- a/docs/resources/mediaconnect_flow.md
+++ b/docs/resources/mediaconnect_flow.md
@@ -199,7 +199,54 @@ Optional:
Optional:
+- `audio_monitoring_settings` (Attributes List) Contains the settings for audio stream metrics monitoring. (see [below for nested schema](#nestedatt--source_monitoring_config--audio_monitoring_settings))
+- `content_quality_analysis_state` (String) Indicates whether content quality analysis is enabled or disabled.
- `thumbnail_state` (String) The state of thumbnail monitoring.
+- `video_monitoring_settings` (Attributes List) Contains the settings for video stream metrics monitoring. (see [below for nested schema](#nestedatt--source_monitoring_config--video_monitoring_settings))
+
+
+### Nested Schema for `source_monitoring_config.audio_monitoring_settings`
+
+Optional:
+
+- `silent_audio` (Attributes) Configures settings for the SilentAudio metric. (see [below for nested schema](#nestedatt--source_monitoring_config--audio_monitoring_settings--silent_audio))
+
+
+### Nested Schema for `source_monitoring_config.audio_monitoring_settings.silent_audio`
+
+Optional:
+
+- `state` (String) Indicates whether the SilentAudio metric is enabled or disabled.
+- `threshold_seconds` (Number) Specifies the number of consecutive seconds of silence that triggers an event or alert.
+
+
+
+
+### Nested Schema for `source_monitoring_config.video_monitoring_settings`
+
+Optional:
+
+- `black_frames` (Attributes) Configures settings for the BlackFrames metric. (see [below for nested schema](#nestedatt--source_monitoring_config--video_monitoring_settings--black_frames))
+- `frozen_frames` (Attributes) Configures settings for the FrozenFrames metric. (see [below for nested schema](#nestedatt--source_monitoring_config--video_monitoring_settings--frozen_frames))
+
+
+### Nested Schema for `source_monitoring_config.video_monitoring_settings.black_frames`
+
+Optional:
+
+- `state` (String) Indicates whether the BlackFrames metric is enabled or disabled.
+- `threshold_seconds` (Number) Specifies the number of consecutive seconds of black frames that triggers an event or alert.
+
+
+
+### Nested Schema for `source_monitoring_config.video_monitoring_settings.frozen_frames`
+
+Optional:
+
+- `state` (String) Indicates whether the FrozenFrames metric is enabled or disabled.
+- `threshold_seconds` (Number) Specifies the number of consecutive seconds of a static image that triggers an event or alert.
+
+
diff --git a/docs/resources/notifications_managed_notification_account_contact_association.md b/docs/resources/notifications_managed_notification_account_contact_association.md
new file mode 100644
index 000000000..3266a95cc
--- /dev/null
+++ b/docs/resources/notifications_managed_notification_account_contact_association.md
@@ -0,0 +1,33 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_notifications_managed_notification_account_contact_association Resource - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ This resource schema represents the ManagedNotificationAccountContactAssociation resource in the AWS User Notifications.
+---
+
+# awscc_notifications_managed_notification_account_contact_association (Resource)
+
+This resource schema represents the ManagedNotificationAccountContactAssociation resource in the AWS User Notifications.
+
+
+
+
+## Schema
+
+### Required
+
+- `contact_identifier` (String) This unique identifier for Contact
+- `managed_notification_configuration_arn` (String) The managed notification configuration ARN, against which the account contact association will be created
+
+### Read-Only
+
+- `id` (String) Uniquely identifies the resource.
+
+## Import
+
+Import is supported using the following syntax:
+
+```shell
+$ terraform import awscc_notifications_managed_notification_account_contact_association.example "managed_notification_configuration_arn|contact_identifier"
+```
diff --git a/docs/resources/notifications_managed_notification_additional_channel_association.md b/docs/resources/notifications_managed_notification_additional_channel_association.md
new file mode 100644
index 000000000..d1afa7737
--- /dev/null
+++ b/docs/resources/notifications_managed_notification_additional_channel_association.md
@@ -0,0 +1,35 @@
+---
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "awscc_notifications_managed_notification_additional_channel_association Resource - terraform-provider-awscc"
+subcategory: ""
+description: |-
+ Definition of AWS::Notifications::ManagedNotificationAdditionalChannelAssociation Resource Type
+---
+
+# awscc_notifications_managed_notification_additional_channel_association (Resource)
+
+Definition of AWS::Notifications::ManagedNotificationAdditionalChannelAssociation Resource Type
+
+
+
+
+## Schema
+
+### Required
+
+- `channel_arn` (String) ARN identifier of the channel.
+Example: arn:aws:chatbot::123456789012:chat-configuration/slack-channel/security-ops
+- `managed_notification_configuration_arn` (String) ARN identifier of the Managed Notification.
+Example: arn:aws:notifications::381491923782:managed-notification-configuration/category/AWS-Health/sub-category/Billing
+
+### Read-Only
+
+- `id` (String) Uniquely identifies the resource.
+
+## Import
+
+Import is supported using the following syntax:
+
+```shell
+$ terraform import awscc_notifications_managed_notification_additional_channel_association.example "channel_arn|managed_notification_configuration_arn"
+```
diff --git a/docs/resources/qbusiness_web_experience.md b/docs/resources/qbusiness_web_experience.md
index c75fb945e..61aa389a7 100644
--- a/docs/resources/qbusiness_web_experience.md
+++ b/docs/resources/qbusiness_web_experience.md
@@ -101,6 +101,7 @@ data "aws_partition" "current" {}
### Optional
+- `browser_extension_configuration` (Attributes) (see [below for nested schema](#nestedatt--browser_extension_configuration))
- `customization_configuration` (Attributes) (see [below for nested schema](#nestedatt--customization_configuration))
- `identity_provider_configuration` (Attributes) (see [below for nested schema](#nestedatt--identity_provider_configuration))
- `origins` (List of String)
@@ -121,6 +122,14 @@ data "aws_partition" "current" {}
- `web_experience_arn` (String)
- `web_experience_id` (String)
+
+### Nested Schema for `browser_extension_configuration`
+
+Optional:
+
+- `enabled_browser_extensions` (Set of String)
+
+
### Nested Schema for `customization_configuration`
diff --git a/docs/resources/quicksight_topic.md b/docs/resources/quicksight_topic.md
index e9fad3ecb..03064e6c0 100644
--- a/docs/resources/quicksight_topic.md
+++ b/docs/resources/quicksight_topic.md
@@ -18,8 +18,10 @@ Definition of the AWS::QuickSight::Topic Resource Type.
### Optional
- `aws_account_id` (String)
+- `config_options` (Attributes) Model for configuration of a Topic (see [below for nested schema](#nestedatt--config_options))
- `data_sets` (Attributes List) (see [below for nested schema](#nestedatt--data_sets))
- `description` (String)
+- `folder_arns` (List of String)
- `name` (String)
- `topic_id` (String)
- `user_experience_version` (String)
@@ -29,6 +31,14 @@ Definition of the AWS::QuickSight::Topic Resource Type.
- `arn` (String)
- `id` (String) Uniquely identifies the resource.
+
+### Nested Schema for `config_options`
+
+Optional:
+
+- `q_business_insights_enabled` (Boolean)
+
+
### Nested Schema for `data_sets`
diff --git a/docs/resources/resiliencehub_app.md b/docs/resources/resiliencehub_app.md
index fb16cf58e..a0f181e41 100644
--- a/docs/resources/resiliencehub_app.md
+++ b/docs/resources/resiliencehub_app.md
@@ -27,7 +27,6 @@ Resource Type Definition for AWS::ResilienceHub::App.
- `description` (String) App description.
- `event_subscriptions` (Attributes List) The list of events you would like to subscribe and get notification for. (see [below for nested schema](#nestedatt--event_subscriptions))
- `permission_model` (Attributes) Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment. (see [below for nested schema](#nestedatt--permission_model))
-- `regulatory_policy_arn` (String) Amazon Resource Name (ARN) of the Regulatory Policy.
- `resiliency_policy_arn` (String) Amazon Resource Name (ARN) of the Resiliency Policy.
- `tags` (Map of String)
diff --git a/docs/resources/ssmincidents_replication_set.md b/docs/resources/ssmincidents_replication_set.md
index befc566de..29f0448bc 100644
--- a/docs/resources/ssmincidents_replication_set.md
+++ b/docs/resources/ssmincidents_replication_set.md
@@ -42,7 +42,7 @@ Optional:
Optional:
-- `sse_kms_key_id` (String) The ARN of the ReplicationSet.
+- `sse_kms_key_id` (String) The AWS Key Management Service key ID or Key Alias to use to encrypt your replication set.
diff --git a/docs/resources/timestream_influx_db_instance.md b/docs/resources/timestream_influx_db_instance.md
index 4af84e30f..1fd971b42 100644
--- a/docs/resources/timestream_influx_db_instance.md
+++ b/docs/resources/timestream_influx_db_instance.md
@@ -163,8 +163,10 @@ resource "awscc_timestream_influx_db_instance" "example" {
- `deployment_type` (String) Deployment type of the InfluxDB Instance.
- `log_delivery_configuration` (Attributes) Configuration for sending logs to customer account from the InfluxDB instance. (see [below for nested schema](#nestedatt--log_delivery_configuration))
- `name` (String) The unique name that is associated with the InfluxDB instance.
+- `network_type` (String) Network type of the InfluxDB Instance.
- `organization` (String) The organization for the InfluxDB instance.
- `password` (String) The password for the InfluxDB instance.
+- `port` (Number) The port number on which InfluxDB accepts connections.
- `publicly_accessible` (Boolean) Attach a public IP to the customer ENI.
- `tags` (Attributes Set) An arbitrary set of tags (key-value pairs) for this DB instance. (see [below for nested schema](#nestedatt--tags))
- `username` (String) The username for the InfluxDB instance.
diff --git a/examples/resources/awscc_cloudfront_vpc_origin/import.sh b/examples/resources/awscc_cloudfront_vpc_origin/import.sh
new file mode 100644
index 000000000..46cebdb33
--- /dev/null
+++ b/examples/resources/awscc_cloudfront_vpc_origin/import.sh
@@ -0,0 +1 @@
+$ terraform import awscc_cloudfront_vpc_origin.example "id"
\ No newline at end of file
diff --git a/examples/resources/awscc_notifications_managed_notification_account_contact_association/import.sh b/examples/resources/awscc_notifications_managed_notification_account_contact_association/import.sh
new file mode 100644
index 000000000..0479ab084
--- /dev/null
+++ b/examples/resources/awscc_notifications_managed_notification_account_contact_association/import.sh
@@ -0,0 +1 @@
+$ terraform import awscc_notifications_managed_notification_account_contact_association.example "managed_notification_configuration_arn|contact_identifier"
\ No newline at end of file
diff --git a/examples/resources/awscc_notifications_managed_notification_additional_channel_association/import.sh b/examples/resources/awscc_notifications_managed_notification_additional_channel_association/import.sh
new file mode 100644
index 000000000..012509b81
--- /dev/null
+++ b/examples/resources/awscc_notifications_managed_notification_additional_channel_association/import.sh
@@ -0,0 +1 @@
+$ terraform import awscc_notifications_managed_notification_additional_channel_association.example "channel_arn|managed_notification_configuration_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 a8f8ae126..aede94224 100644
--- a/internal/aws/acmpca/certificate_authority_resource_gen.go
+++ b/internal/aws/acmpca/certificate_authority_resource_gen.go
@@ -1213,7 +1213,6 @@ func certificateAuthorityResource(ctx context.Context) (resource.Resource, error
PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
listplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
- // Tags is a write-only property.
}, /*END ATTRIBUTE*/
// Property: Type
// CloudFormation resource type schema:
@@ -1338,7 +1337,6 @@ func certificateAuthorityResource(ctx context.Context) (resource.Resource, error
"/properties/Subject",
"/properties/Subject",
"/properties/CsrExtensions",
- "/properties/Tags",
"/properties/RevocationConfiguration",
"/properties/KeyStorageSecurityStandard",
})
diff --git a/internal/aws/bedrock/knowledge_base_resource_gen.go b/internal/aws/bedrock/knowledge_base_resource_gen.go
index 00171060f..31ebaa001 100644
--- a/internal/aws/bedrock/knowledge_base_resource_gen.go
+++ b/internal/aws/bedrock/knowledge_base_resource_gen.go
@@ -475,6 +475,14 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) {
// "maximum": 4096,
// "minimum": 0,
// "type": "integer"
+ // },
+ // "EmbeddingDataType": {
+ // "description": "The data type for the vectors when using a model to convert text into vector embeddings.",
+ // "enum": [
+ // "FLOAT32",
+ // "BINARY"
+ // ],
+ // "type": "string"
// }
// },
// "type": "object"
@@ -1109,6 +1117,21 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) {
int64planmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: EmbeddingDataType
+ "embedding_data_type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The data type for the vectors when using a model to convert text into vector embeddings.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "FLOAT32",
+ "BINARY",
+ ),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
Description: "The vector configuration details for the Bedrock embeddings model.",
Optional: true,
@@ -2159,6 +2182,7 @@ func knowledgeBaseResource(ctx context.Context) (resource.Resource, error) {
"database_user": "DatabaseUser",
"description": "Description",
"dimensions": "Dimensions",
+ "embedding_data_type": "EmbeddingDataType",
"embedding_model_arn": "EmbeddingModelArn",
"embedding_model_configuration": "EmbeddingModelConfiguration",
"endpoint": "Endpoint",
diff --git a/internal/aws/bedrock/knowledge_base_singular_data_source_gen.go b/internal/aws/bedrock/knowledge_base_singular_data_source_gen.go
index 43ae0ac18..8d841a26a 100644
--- a/internal/aws/bedrock/knowledge_base_singular_data_source_gen.go
+++ b/internal/aws/bedrock/knowledge_base_singular_data_source_gen.go
@@ -446,6 +446,14 @@ func knowledgeBaseDataSource(ctx context.Context) (datasource.DataSource, error)
// "maximum": 4096,
// "minimum": 0,
// "type": "integer"
+ // },
+ // "EmbeddingDataType": {
+ // "description": "The data type for the vectors when using a model to convert text into vector embeddings.",
+ // "enum": [
+ // "FLOAT32",
+ // "BINARY"
+ // ],
+ // "type": "string"
// }
// },
// "type": "object"
@@ -773,6 +781,11 @@ func knowledgeBaseDataSource(ctx context.Context) (datasource.DataSource, error)
Description: "The dimensions details for the vector configuration used on the Bedrock embeddings model.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: EmbeddingDataType
+ "embedding_data_type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The data type for the vectors when using a model to convert text into vector embeddings.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
Description: "The vector configuration details for the Bedrock embeddings model.",
Computed: true,
@@ -1450,6 +1463,7 @@ func knowledgeBaseDataSource(ctx context.Context) (datasource.DataSource, error)
"database_user": "DatabaseUser",
"description": "Description",
"dimensions": "Dimensions",
+ "embedding_data_type": "EmbeddingDataType",
"embedding_model_arn": "EmbeddingModelArn",
"embedding_model_configuration": "EmbeddingModelConfiguration",
"endpoint": "Endpoint",
diff --git a/internal/aws/bedrock/prompt_version_resource_gen.go b/internal/aws/bedrock/prompt_version_resource_gen.go
index 338f7a87b..f533914f5 100644
--- a/internal/aws/bedrock/prompt_version_resource_gen.go
+++ b/internal/aws/bedrock/prompt_version_resource_gen.go
@@ -9,6 +9,7 @@ import (
"context"
"regexp"
+ "github.com/hashicorp/terraform-plugin-framework-jsontypes/jsontypes"
"github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes"
"github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
"github.com/hashicorp/terraform-plugin-framework/resource"
@@ -222,6 +223,28 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// "additionalProperties": false,
// "description": "Prompt variant",
// "properties": {
+ // "GenAiResource": {
+ // "description": "Target resource to invoke with Prompt",
+ // "properties": {
+ // "Agent": {
+ // "additionalProperties": false,
+ // "description": "Target Agent to invoke with Prompt",
+ // "properties": {
+ // "AgentIdentifier": {
+ // "description": "Arn representation of the Agent Alias.",
+ // "maxLength": 2048,
+ // "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent-alias/[0-9a-zA-Z]{10}/[0-9a-zA-Z]{10}$",
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "AgentIdentifier"
+ // ],
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
// "InferenceConfiguration": {
// "description": "Model inference configuration",
// "properties": {
@@ -278,6 +301,180 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// "TemplateConfiguration": {
// "description": "Prompt template configuration",
// "properties": {
+ // "Chat": {
+ // "additionalProperties": false,
+ // "description": "Configuration for chat prompt template",
+ // "properties": {
+ // "InputVariables": {
+ // "description": "List of input variables",
+ // "insertionOrder": true,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Input variable",
+ // "properties": {
+ // "Name": {
+ // "description": "Name for an input variable",
+ // "pattern": "^([0-9a-zA-Z][_-]?){1,100}$",
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "maxItems": 5,
+ // "minItems": 0,
+ // "type": "array"
+ // },
+ // "Messages": {
+ // "description": "List of messages for chat prompt template",
+ // "insertionOrder": true,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Chat prompt Message",
+ // "properties": {
+ // "Content": {
+ // "description": "List of Content Blocks",
+ // "insertionOrder": true,
+ // "items": {
+ // "description": "Configuration for chat prompt template",
+ // "properties": {
+ // "Text": {
+ // "description": "Configuration for chat prompt template",
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "minItems": 1,
+ // "type": "array"
+ // },
+ // "Role": {
+ // "description": "Conversation roles for the chat prompt",
+ // "enum": [
+ // "user",
+ // "assistant"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Role",
+ // "Content"
+ // ],
+ // "type": "object"
+ // },
+ // "minItems": 0,
+ // "type": "array"
+ // },
+ // "System": {
+ // "description": "Configuration for chat prompt template",
+ // "insertionOrder": true,
+ // "items": {
+ // "description": "Configuration for chat prompt template",
+ // "properties": {
+ // "Text": {
+ // "description": "Configuration for chat prompt template",
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "minItems": 0,
+ // "type": "array"
+ // },
+ // "ToolConfiguration": {
+ // "additionalProperties": false,
+ // "description": "Tool configuration",
+ // "properties": {
+ // "ToolChoice": {
+ // "description": "Tool choice",
+ // "properties": {
+ // "Any": {
+ // "additionalProperties": false,
+ // "description": "Any Tool choice",
+ // "type": "object"
+ // },
+ // "Auto": {
+ // "additionalProperties": false,
+ // "description": "Auto Tool choice",
+ // "type": "object"
+ // },
+ // "Tool": {
+ // "additionalProperties": false,
+ // "description": "Specific Tool choice",
+ // "properties": {
+ // "Name": {
+ // "description": "Tool name",
+ // "maxLength": 64,
+ // "minLength": 1,
+ // "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$",
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Name"
+ // ],
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "Tools": {
+ // "description": "List of Tools",
+ // "insertionOrder": true,
+ // "items": {
+ // "description": "Tool details",
+ // "properties": {
+ // "ToolSpec": {
+ // "additionalProperties": false,
+ // "description": "Tool specification",
+ // "properties": {
+ // "Description": {
+ // "minLength": 1,
+ // "type": "string"
+ // },
+ // "InputSchema": {
+ // "description": "Tool input schema",
+ // "properties": {
+ // "Json": {
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "Name": {
+ // "description": "Tool name",
+ // "maxLength": 64,
+ // "minLength": 1,
+ // "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$",
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Name",
+ // "InputSchema"
+ // ],
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "minItems": 1,
+ // "type": "array"
+ // }
+ // },
+ // "required": [
+ // "Tools"
+ // ],
+ // "type": "object"
+ // }
+ // },
+ // "required": [
+ // "Messages"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "additionalProperties": false,
// "description": "Configuration for text prompt template",
@@ -319,7 +516,8 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// "TemplateType": {
// "description": "Prompt template type",
// "enum": [
- // "TEXT"
+ // "TEXT",
+ // "CHAT"
// ],
// "type": "string"
// }
@@ -338,6 +536,25 @@ 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: GenAiResource
+ "gen_ai_resource": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Agent
+ "agent": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AgentIdentifier
+ "agent_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Arn representation of the Agent Alias.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Target Agent to invoke with Prompt",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Target resource to invoke with Prompt",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: InferenceConfiguration
"inference_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -386,6 +603,144 @@ func promptVersionResource(ctx context.Context) (resource.Resource, error) {
// Property: TemplateConfiguration
"template_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Chat
+ "chat": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: InputVariables
+ "input_variables": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Name
+ "name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Name for an input variable",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "List of input variables",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Messages
+ "messages": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Content
+ "content": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Text
+ "text": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Configuration for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "List of Content Blocks",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Role
+ "role": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Conversation roles for the chat prompt",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "List of messages for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: System
+ "system": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Text
+ "text": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Configuration for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Configuration for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ToolConfiguration
+ "tool_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ToolChoice
+ "tool_choice": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Any
+ "any": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Description: "Any Tool choice",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Auto
+ "auto": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Description: "Auto Tool choice",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Tool
+ "tool": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Name
+ "name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Tool name",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Specific Tool choice",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Tool choice",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Tools
+ "tools": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ToolSpec
+ "tool_spec": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Description
+ "description": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: InputSchema
+ "input_schema": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Json
+ "json": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Tool input schema",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Name
+ "name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Tool name",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Tool specification",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "List of Tools",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Tool configuration",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Configuration for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -468,24 +823,41 @@ 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",
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 85071b8eb..230ecf874 100644
--- a/internal/aws/bedrock/prompt_version_singular_data_source_gen.go
+++ b/internal/aws/bedrock/prompt_version_singular_data_source_gen.go
@@ -8,6 +8,7 @@ package bedrock
import (
"context"
+ "github.com/hashicorp/terraform-plugin-framework-jsontypes/jsontypes"
"github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes"
"github.com/hashicorp/terraform-plugin-framework/datasource"
"github.com/hashicorp/terraform-plugin-framework/datasource/schema"
@@ -174,6 +175,28 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// "additionalProperties": false,
// "description": "Prompt variant",
// "properties": {
+ // "GenAiResource": {
+ // "description": "Target resource to invoke with Prompt",
+ // "properties": {
+ // "Agent": {
+ // "additionalProperties": false,
+ // "description": "Target Agent to invoke with Prompt",
+ // "properties": {
+ // "AgentIdentifier": {
+ // "description": "Arn representation of the Agent Alias.",
+ // "maxLength": 2048,
+ // "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent-alias/[0-9a-zA-Z]{10}/[0-9a-zA-Z]{10}$",
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "AgentIdentifier"
+ // ],
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
// "InferenceConfiguration": {
// "description": "Model inference configuration",
// "properties": {
@@ -230,6 +253,180 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// "TemplateConfiguration": {
// "description": "Prompt template configuration",
// "properties": {
+ // "Chat": {
+ // "additionalProperties": false,
+ // "description": "Configuration for chat prompt template",
+ // "properties": {
+ // "InputVariables": {
+ // "description": "List of input variables",
+ // "insertionOrder": true,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Input variable",
+ // "properties": {
+ // "Name": {
+ // "description": "Name for an input variable",
+ // "pattern": "^([0-9a-zA-Z][_-]?){1,100}$",
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "maxItems": 5,
+ // "minItems": 0,
+ // "type": "array"
+ // },
+ // "Messages": {
+ // "description": "List of messages for chat prompt template",
+ // "insertionOrder": true,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Chat prompt Message",
+ // "properties": {
+ // "Content": {
+ // "description": "List of Content Blocks",
+ // "insertionOrder": true,
+ // "items": {
+ // "description": "Configuration for chat prompt template",
+ // "properties": {
+ // "Text": {
+ // "description": "Configuration for chat prompt template",
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "minItems": 1,
+ // "type": "array"
+ // },
+ // "Role": {
+ // "description": "Conversation roles for the chat prompt",
+ // "enum": [
+ // "user",
+ // "assistant"
+ // ],
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Role",
+ // "Content"
+ // ],
+ // "type": "object"
+ // },
+ // "minItems": 0,
+ // "type": "array"
+ // },
+ // "System": {
+ // "description": "Configuration for chat prompt template",
+ // "insertionOrder": true,
+ // "items": {
+ // "description": "Configuration for chat prompt template",
+ // "properties": {
+ // "Text": {
+ // "description": "Configuration for chat prompt template",
+ // "minLength": 1,
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "minItems": 0,
+ // "type": "array"
+ // },
+ // "ToolConfiguration": {
+ // "additionalProperties": false,
+ // "description": "Tool configuration",
+ // "properties": {
+ // "ToolChoice": {
+ // "description": "Tool choice",
+ // "properties": {
+ // "Any": {
+ // "additionalProperties": false,
+ // "description": "Any Tool choice",
+ // "type": "object"
+ // },
+ // "Auto": {
+ // "additionalProperties": false,
+ // "description": "Auto Tool choice",
+ // "type": "object"
+ // },
+ // "Tool": {
+ // "additionalProperties": false,
+ // "description": "Specific Tool choice",
+ // "properties": {
+ // "Name": {
+ // "description": "Tool name",
+ // "maxLength": 64,
+ // "minLength": 1,
+ // "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$",
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Name"
+ // ],
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "Tools": {
+ // "description": "List of Tools",
+ // "insertionOrder": true,
+ // "items": {
+ // "description": "Tool details",
+ // "properties": {
+ // "ToolSpec": {
+ // "additionalProperties": false,
+ // "description": "Tool specification",
+ // "properties": {
+ // "Description": {
+ // "minLength": 1,
+ // "type": "string"
+ // },
+ // "InputSchema": {
+ // "description": "Tool input schema",
+ // "properties": {
+ // "Json": {
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "Name": {
+ // "description": "Tool name",
+ // "maxLength": 64,
+ // "minLength": 1,
+ // "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$",
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Name",
+ // "InputSchema"
+ // ],
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "minItems": 1,
+ // "type": "array"
+ // }
+ // },
+ // "required": [
+ // "Tools"
+ // ],
+ // "type": "object"
+ // }
+ // },
+ // "required": [
+ // "Messages"
+ // ],
+ // "type": "object"
+ // },
// "Text": {
// "additionalProperties": false,
// "description": "Configuration for text prompt template",
@@ -271,7 +468,8 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// "TemplateType": {
// "description": "Prompt template type",
// "enum": [
- // "TEXT"
+ // "TEXT",
+ // "CHAT"
// ],
// "type": "string"
// }
@@ -290,6 +488,25 @@ 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: GenAiResource
+ "gen_ai_resource": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Agent
+ "agent": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AgentIdentifier
+ "agent_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Arn representation of the Agent Alias.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Target Agent to invoke with Prompt",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Target resource to invoke with Prompt",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: InferenceConfiguration
"inference_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -338,6 +555,144 @@ func promptVersionDataSource(ctx context.Context) (datasource.DataSource, error)
// Property: TemplateConfiguration
"template_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Chat
+ "chat": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: InputVariables
+ "input_variables": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Name
+ "name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Name for an input variable",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "List of input variables",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Messages
+ "messages": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Content
+ "content": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Text
+ "text": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Configuration for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "List of Content Blocks",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Role
+ "role": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Conversation roles for the chat prompt",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "List of messages for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: System
+ "system": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Text
+ "text": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Configuration for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Configuration for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ToolConfiguration
+ "tool_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ToolChoice
+ "tool_choice": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Any
+ "any": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Description: "Any Tool choice",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Auto
+ "auto": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Description: "Auto Tool choice",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Tool
+ "tool": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Name
+ "name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Tool name",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Specific Tool choice",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Tool choice",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Tools
+ "tools": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ToolSpec
+ "tool_spec": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Description
+ "description": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: InputSchema
+ "input_schema": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Json
+ "json": schema.StringAttribute{ /*START ATTRIBUTE*/
+ CustomType: jsontypes.NormalizedType{},
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Tool input schema",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Name
+ "name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Tool name",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Tool specification",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "List of Tools",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Tool configuration",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Configuration for chat prompt template",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Text
"text": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
@@ -409,24 +764,41 @@ 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",
diff --git a/internal/aws/cloudfront/vpc_origin_resource_gen.go b/internal/aws/cloudfront/vpc_origin_resource_gen.go
new file mode 100644
index 000000000..5ad1d6cbf
--- /dev/null
+++ b/internal/aws/cloudfront/vpc_origin_resource_gen.go
@@ -0,0 +1,295 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/resource/main.go; DO NOT EDIT.
+
+package cloudfront
+
+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/int64default"
+ "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/planmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault"
+ "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
+ "github.com/hashicorp/terraform-plugin-framework/schema/validator"
+ "github.com/hashicorp/terraform-plugin-framework/types"
+ "github.com/hashicorp/terraform-provider-awscc/internal/defaults"
+ "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_cloudfront_vpc_origin", vpcOriginResource)
+}
+
+// vpcOriginResource returns the Terraform awscc_cloudfront_vpc_origin resource.
+// This Terraform resource corresponds to the CloudFormation AWS::CloudFront::VpcOrigin resource.
+func vpcOriginResource(ctx context.Context) (resource.Resource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Arn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: CreatedTime
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "created_time": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Id
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "vpc_origin_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: LastModifiedTime
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "last_modified_time": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Status
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "status": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Tags
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "items": {
+ // "additionalProperties": false,
+ // "properties": {
+ // "Key": {
+ // "type": "string"
+ // },
+ // "Value": {
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Value",
+ // "Key"
+ // ],
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // }
+ "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*/
+ 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*/
+ fwvalidators.NotNullString(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.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: VpcOriginEndpointConfig
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "properties": {
+ // "Arn": {
+ // "type": "string"
+ // },
+ // "HTTPPort": {
+ // "default": 80,
+ // "type": "integer"
+ // },
+ // "HTTPSPort": {
+ // "default": 443,
+ // "type": "integer"
+ // },
+ // "Name": {
+ // "type": "string"
+ // },
+ // "OriginProtocolPolicy": {
+ // "default": "match-viewer",
+ // "type": "string"
+ // },
+ // "OriginSSLProtocols": {
+ // "default": [
+ // "TLSv1",
+ // "SSLv3"
+ // ],
+ // "items": {
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // }
+ // },
+ // "required": [
+ // "Name",
+ // "Arn"
+ // ],
+ // "type": "object"
+ // }
+ "vpc_origin_endpoint_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Arn
+ "arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Required: true,
+ }, /*END ATTRIBUTE*/
+ // Property: HTTPPort
+ "http_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ Default: int64default.StaticInt64(80),
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: HTTPSPort
+ "https_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ Default: int64default.StaticInt64(443),
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Name
+ "name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Required: true,
+ }, /*END ATTRIBUTE*/
+ // Property: OriginProtocolPolicy
+ "origin_protocol_policy": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ Default: stringdefault.StaticString("match-viewer"),
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: OriginSSLProtocols
+ "origin_ssl_protocols": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Optional: true,
+ Computed: true,
+ Default: defaults.StaticListOfString(
+ "TLSv1",
+ "SSLv3",
+ ),
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Required: true,
+ }, /*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::CloudFront::VpcOrigin",
+ Version: 1,
+ Attributes: attributes,
+ }
+
+ var opts generic.ResourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::CloudFront::VpcOrigin").WithTerraformTypeName("awscc_cloudfront_vpc_origin")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "arn": "Arn",
+ "created_time": "CreatedTime",
+ "http_port": "HTTPPort",
+ "https_port": "HTTPSPort",
+ "key": "Key",
+ "last_modified_time": "LastModifiedTime",
+ "name": "Name",
+ "origin_protocol_policy": "OriginProtocolPolicy",
+ "origin_ssl_protocols": "OriginSSLProtocols",
+ "status": "Status",
+ "tags": "Tags",
+ "value": "Value",
+ "vpc_origin_endpoint_config": "VpcOriginEndpointConfig",
+ "vpc_origin_id": "Id",
+ })
+
+ 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/cloudfront/vpc_origin_resource_gen_test.go b/internal/aws/cloudfront/vpc_origin_resource_gen_test.go
new file mode 100644
index 000000000..68f2186bd
--- /dev/null
+++ b/internal/aws/cloudfront/vpc_origin_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 cloudfront_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSCloudFrontVpcOrigin_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::CloudFront::VpcOrigin", "awscc_cloudfront_vpc_origin", "test")
+
+ td.ResourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
diff --git a/internal/aws/cloudfront/vpc_origin_singular_data_source_gen.go b/internal/aws/cloudfront/vpc_origin_singular_data_source_gen.go
new file mode 100644
index 000000000..0f909123f
--- /dev/null
+++ b/internal/aws/cloudfront/vpc_origin_singular_data_source_gen.go
@@ -0,0 +1,221 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
+
+package cloudfront
+
+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_cloudfront_vpc_origin", vpcOriginDataSource)
+}
+
+// vpcOriginDataSource returns the Terraform awscc_cloudfront_vpc_origin data source.
+// This Terraform data source corresponds to the CloudFormation AWS::CloudFront::VpcOrigin resource.
+func vpcOriginDataSource(ctx context.Context) (datasource.DataSource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Arn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: CreatedTime
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "created_time": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Id
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "vpc_origin_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: LastModifiedTime
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "last_modified_time": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Status
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "status": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Tags
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "items": {
+ // "additionalProperties": false,
+ // "properties": {
+ // "Key": {
+ // "type": "string"
+ // },
+ // "Value": {
+ // "type": "string"
+ // }
+ // },
+ // "required": [
+ // "Value",
+ // "Key"
+ // ],
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // }
+ "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*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: VpcOriginEndpointConfig
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "properties": {
+ // "Arn": {
+ // "type": "string"
+ // },
+ // "HTTPPort": {
+ // "default": 80,
+ // "type": "integer"
+ // },
+ // "HTTPSPort": {
+ // "default": 443,
+ // "type": "integer"
+ // },
+ // "Name": {
+ // "type": "string"
+ // },
+ // "OriginProtocolPolicy": {
+ // "default": "match-viewer",
+ // "type": "string"
+ // },
+ // "OriginSSLProtocols": {
+ // "default": [
+ // "TLSv1",
+ // "SSLv3"
+ // ],
+ // "items": {
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": false
+ // }
+ // },
+ // "required": [
+ // "Name",
+ // "Arn"
+ // ],
+ // "type": "object"
+ // }
+ "vpc_origin_endpoint_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Arn
+ "arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: HTTPPort
+ "http_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: HTTPSPort
+ "https_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Name
+ "name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: OriginProtocolPolicy
+ "origin_protocol_policy": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: OriginSSLProtocols
+ "origin_ssl_protocols": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ 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::CloudFront::VpcOrigin",
+ Attributes: attributes,
+ }
+
+ var opts generic.DataSourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::CloudFront::VpcOrigin").WithTerraformTypeName("awscc_cloudfront_vpc_origin")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "arn": "Arn",
+ "created_time": "CreatedTime",
+ "http_port": "HTTPPort",
+ "https_port": "HTTPSPort",
+ "key": "Key",
+ "last_modified_time": "LastModifiedTime",
+ "name": "Name",
+ "origin_protocol_policy": "OriginProtocolPolicy",
+ "origin_ssl_protocols": "OriginSSLProtocols",
+ "status": "Status",
+ "tags": "Tags",
+ "value": "Value",
+ "vpc_origin_endpoint_config": "VpcOriginEndpointConfig",
+ "vpc_origin_id": "Id",
+ })
+
+ v, err := generic.NewSingularDataSource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/cloudfront/vpc_origin_singular_data_source_gen_test.go b/internal/aws/cloudfront/vpc_origin_singular_data_source_gen_test.go
new file mode 100644
index 000000000..3ee6c48d6
--- /dev/null
+++ b/internal/aws/cloudfront/vpc_origin_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 cloudfront_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSCloudFrontVpcOriginDataSource_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::CloudFront::VpcOrigin", "awscc_cloudfront_vpc_origin", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyDataSourceConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
+
+func TestAccAWSCloudFrontVpcOriginDataSource_NonExistent(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::CloudFront::VpcOrigin", "awscc_cloudfront_vpc_origin", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.DataSourceWithNonExistentIDConfig(),
+ ExpectError: regexp.MustCompile("Not Found"),
+ },
+ })
+}
diff --git a/internal/aws/cloudwatch/metric_stream_resource_gen.go b/internal/aws/cloudwatch/metric_stream_resource_gen.go
index e086ccbdf..28d8542ac 100644
--- a/internal/aws/cloudwatch/metric_stream_resource_gen.go
+++ b/internal/aws/cloudwatch/metric_stream_resource_gen.go
@@ -561,7 +561,6 @@ func metricStreamResource(ctx context.Context) (resource.Resource, error) {
PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
listplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
- // Tags is a write-only property.
}, /*END ATTRIBUTE*/
} /*END SCHEMA*/
@@ -607,9 +606,6 @@ func metricStreamResource(ctx context.Context) (resource.Resource, error) {
"value": "Value",
})
- opts = opts.WithWriteOnlyPropertyPaths([]string{
- "/properties/Tags",
- })
opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
opts = opts.WithUpdateTimeoutInMinutes(0)
diff --git a/internal/aws/codebuild/fleet_resource_gen.go b/internal/aws/codebuild/fleet_resource_gen.go
index af22f0e6f..f04a8bf93 100644
--- a/internal/aws/codebuild/fleet_resource_gen.go
+++ b/internal/aws/codebuild/fleet_resource_gen.go
@@ -177,7 +177,10 @@ func fleetResource(ctx context.Context) (resource.Resource, error) {
// "LINUX_CONTAINER",
// "LINUX_GPU_CONTAINER",
// "ARM_CONTAINER",
- // "MAC_ARM"
+ // "MAC_ARM",
+ // "LINUX_EC2",
+ // "ARM_EC2",
+ // "WINDOWS_EC2"
// ],
// "type": "string"
// }
@@ -192,6 +195,9 @@ func fleetResource(ctx context.Context) (resource.Resource, error) {
"LINUX_GPU_CONTAINER",
"ARM_CONTAINER",
"MAC_ARM",
+ "LINUX_EC2",
+ "ARM_EC2",
+ "WINDOWS_EC2",
),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
diff --git a/internal/aws/codebuild/fleet_singular_data_source_gen.go b/internal/aws/codebuild/fleet_singular_data_source_gen.go
index 64c7b0890..56d7a9588 100644
--- a/internal/aws/codebuild/fleet_singular_data_source_gen.go
+++ b/internal/aws/codebuild/fleet_singular_data_source_gen.go
@@ -116,7 +116,10 @@ func fleetDataSource(ctx context.Context) (datasource.DataSource, error) {
// "LINUX_CONTAINER",
// "LINUX_GPU_CONTAINER",
// "ARM_CONTAINER",
- // "MAC_ARM"
+ // "MAC_ARM",
+ // "LINUX_EC2",
+ // "ARM_EC2",
+ // "WINDOWS_EC2"
// ],
// "type": "string"
// }
diff --git a/internal/aws/config/config_rule_resource_gen.go b/internal/aws/config/config_rule_resource_gen.go
index 5e8723f19..7cd1c2f36 100644
--- a/internal/aws/config/config_rule_resource_gen.go
+++ b/internal/aws/config/config_rule_resource_gen.go
@@ -460,7 +460,7 @@ func configRuleResource(ctx context.Context) (resource.Resource, error) {
}
schema := schema.Schema{
- Description: "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*.",
+ Description: "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*.",
Version: 1,
Attributes: attributes,
}
diff --git a/internal/aws/datasync/location_efs_resource_gen.go b/internal/aws/datasync/location_efs_resource_gen.go
index 56c3f6ca9..b612c8313 100644
--- a/internal/aws/datasync/location_efs_resource_gen.go
+++ b/internal/aws/datasync/location_efs_resource_gen.go
@@ -52,7 +52,6 @@ func locationEFSResource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: Ec2Config
@@ -163,7 +162,6 @@ func locationEFSResource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: InTransitEncryption
@@ -189,7 +187,6 @@ func locationEFSResource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: LocationArn
@@ -243,7 +240,6 @@ func locationEFSResource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// Subdirectory is a write-only property.
}, /*END ATTRIBUTE*/
diff --git a/internal/aws/datasync/location_fsx_lustre_resource_gen.go b/internal/aws/datasync/location_fsx_lustre_resource_gen.go
index 0ccaf8692..13bd2234d 100644
--- a/internal/aws/datasync/location_fsx_lustre_resource_gen.go
+++ b/internal/aws/datasync/location_fsx_lustre_resource_gen.go
@@ -138,7 +138,6 @@ func locationFSxLustreResource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// Subdirectory is a write-only property.
}, /*END ATTRIBUTE*/
diff --git a/internal/aws/datasync/location_fsx_ontap_resource_gen.go b/internal/aws/datasync/location_fsx_ontap_resource_gen.go
index fb969c5f4..e8f99d8db 100644
--- a/internal/aws/datasync/location_fsx_ontap_resource_gen.go
+++ b/internal/aws/datasync/location_fsx_ontap_resource_gen.go
@@ -297,7 +297,6 @@ func locationFSxONTAPResource(ctx context.Context) (resource.Resource, error) {
Computed: true,
PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
objectplanmodifier.UseStateForUnknown(),
- objectplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// Protocol is a write-only property.
}, /*END ATTRIBUTE*/
@@ -371,7 +370,6 @@ func locationFSxONTAPResource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// Subdirectory is a write-only property.
}, /*END ATTRIBUTE*/
diff --git a/internal/aws/datasync/location_fsx_open_zfs_resource_gen.go b/internal/aws/datasync/location_fsx_open_zfs_resource_gen.go
index 18f9b226d..0d0236765 100644
--- a/internal/aws/datasync/location_fsx_open_zfs_resource_gen.go
+++ b/internal/aws/datasync/location_fsx_open_zfs_resource_gen.go
@@ -173,9 +173,6 @@ func locationFSxOpenZFSResource(ctx context.Context) (resource.Resource, error)
}, /*END SCHEMA*/
Description: "Configuration settings for an NFS or SMB protocol, currently only support NFS",
Required: true,
- PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
- objectplanmodifier.RequiresReplace(),
- }, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: SecurityGroupArns
// CloudFormation resource type schema:
@@ -227,7 +224,6 @@ func locationFSxOpenZFSResource(ctx context.Context) (resource.Resource, error)
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// Subdirectory is a write-only property.
}, /*END ATTRIBUTE*/
diff --git a/internal/aws/datasync/location_fsx_windows_resource_gen.go b/internal/aws/datasync/location_fsx_windows_resource_gen.go
index 88cc76743..46f0934b0 100644
--- a/internal/aws/datasync/location_fsx_windows_resource_gen.go
+++ b/internal/aws/datasync/location_fsx_windows_resource_gen.go
@@ -52,7 +52,6 @@ func locationFSxWindowsResource(ctx context.Context) (resource.Resource, error)
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: FsxFilesystemArn
@@ -129,7 +128,6 @@ func locationFSxWindowsResource(ctx context.Context) (resource.Resource, error)
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// Password is a write-only property.
}, /*END ATTRIBUTE*/
@@ -180,7 +178,6 @@ func locationFSxWindowsResource(ctx context.Context) (resource.Resource, error)
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// Subdirectory is a write-only property.
}, /*END ATTRIBUTE*/
@@ -278,9 +275,6 @@ func locationFSxWindowsResource(ctx context.Context) (resource.Resource, error)
stringvalidator.LengthAtMost(104),
stringvalidator.RegexMatches(regexp.MustCompile("^[^\\x5B\\x5D\\\\/:;|=,+*?]{1,104}$"), ""),
}, /*END VALIDATORS*/
- PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
- stringplanmodifier.RequiresReplace(),
- }, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
} /*END SCHEMA*/
diff --git a/internal/aws/datasync/location_s3_resource_gen.go b/internal/aws/datasync/location_s3_resource_gen.go
index 544454a7d..05fce5633 100644
--- a/internal/aws/datasync/location_s3_resource_gen.go
+++ b/internal/aws/datasync/location_s3_resource_gen.go
@@ -13,7 +13,6 @@ 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/objectplanmodifier"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/setplanmodifier"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault"
@@ -120,9 +119,6 @@ func locationS3Resource(ctx context.Context) (resource.Resource, error) {
}, /*END SCHEMA*/
Description: "The Amazon Resource Name (ARN) of the AWS IAM role that is used to access an Amazon S3 bucket.",
Required: true,
- PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
- objectplanmodifier.RequiresReplace(),
- }, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: S3StorageClass
// CloudFormation resource type schema:
@@ -159,7 +155,6 @@ func locationS3Resource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: Subdirectory
@@ -181,7 +176,6 @@ func locationS3Resource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// Subdirectory is a write-only property.
}, /*END ATTRIBUTE*/
diff --git a/internal/aws/datazone/data_source_resource_gen.go b/internal/aws/datazone/data_source_resource_gen.go
index e19336170..3b3abe105 100644
--- a/internal/aws/datazone/data_source_resource_gen.go
+++ b/internal/aws/datazone/data_source_resource_gen.go
@@ -160,6 +160,12 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
// "description": "Specifies whether to automatically import data quality metrics as part of the data source run.",
// "type": "boolean"
// },
+ // "CatalogName": {
+ // "description": "The catalog name in the AWS Glue run configuration.",
+ // "maxLength": 128,
+ // "minLength": 1,
+ // "type": "string"
+ // },
// "DataAccessRole": {
// "description": "The data access role included in the configuration details of the AWS Glue data source.",
// "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$",
@@ -350,8 +356,6 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
// }
// },
// "required": [
- // "RedshiftCredentialConfiguration",
- // "RedshiftStorage",
// "RelationalFilterConfigurations"
// ],
// "type": "object"
@@ -399,6 +403,18 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
boolplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: CatalogName
+ "catalog_name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The catalog name in the AWS Glue run configuration.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.LengthBetween(1, 128),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: DataAccessRole
"data_access_role": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The data access role included in the configuration details of the AWS Glue data source.",
@@ -538,9 +554,6 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
Description: "The details of the credentials required to access an Amazon Redshift cluster.",
Optional: true,
Computed: true,
- Validators: []validator.Object{ /*START VALIDATORS*/
- fwvalidators.NotNullObject(),
- }, /*END VALIDATORS*/
PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
objectplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
@@ -602,9 +615,6 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
Description: "The details of the Amazon Redshift storage as part of the configuration of an Amazon Redshift data source run.",
Optional: true,
Computed: true,
- Validators: []validator.Object{ /*START VALIDATORS*/
- fwvalidators.NotNullObject(),
- }, /*END VALIDATORS*/
PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
objectplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
@@ -735,6 +745,37 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
}, /*END PLAN MODIFIERS*/
// Configuration is a write-only property.
}, /*END ATTRIBUTE*/
+ // Property: ConnectionId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run",
+ // "type": "string"
+ // }
+ "connection_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run",
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ConnectionIdentifier
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run",
+ // "type": "string"
+ // }
+ "connection_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ // ConnectionIdentifier is a write-only property.
+ }, /*END ATTRIBUTE*/
// Property: CreatedAt
// CloudFormation resource type schema:
//
@@ -834,7 +875,6 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
//
// {
// "description": "The unique identifier of the Amazon DataZone environment to which the data source publishes assets.",
- // "pattern": "^[a-zA-Z0-9_-]{1,36}$",
// "type": "string"
// }
"environment_id": schema.StringAttribute{ /*START ATTRIBUTE*/
@@ -853,9 +893,11 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
// }
"environment_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The unique identifier of the Amazon DataZone environment to which the data source publishes assets.",
- Required: true,
+ Optional: true,
+ Computed: true,
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
- stringplanmodifier.RequiresReplace(),
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
// EnvironmentIdentifier is a write-only property.
}, /*END ATTRIBUTE*/
@@ -1146,8 +1188,11 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithAttributeNameMap(map[string]string{
"asset_forms_input": "AssetFormsInput",
"auto_import_data_quality_result": "AutoImportDataQualityResult",
+ "catalog_name": "CatalogName",
"cluster_name": "ClusterName",
"configuration": "Configuration",
+ "connection_id": "ConnectionId",
+ "connection_identifier": "ConnectionIdentifier",
"content": "Content",
"created_at": "CreatedAt",
"data_access_role": "DataAccessRole",
@@ -1194,6 +1239,7 @@ func dataSourceResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithWriteOnlyPropertyPaths([]string{
"/properties/AssetFormsInput",
+ "/properties/ConnectionIdentifier",
"/properties/EnvironmentIdentifier",
"/properties/DomainIdentifier",
"/properties/Configuration",
diff --git a/internal/aws/datazone/data_source_singular_data_source_gen.go b/internal/aws/datazone/data_source_singular_data_source_gen.go
index bd1a9a7ba..6eb10e535 100644
--- a/internal/aws/datazone/data_source_singular_data_source_gen.go
+++ b/internal/aws/datazone/data_source_singular_data_source_gen.go
@@ -110,6 +110,12 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) {
// "description": "Specifies whether to automatically import data quality metrics as part of the data source run.",
// "type": "boolean"
// },
+ // "CatalogName": {
+ // "description": "The catalog name in the AWS Glue run configuration.",
+ // "maxLength": 128,
+ // "minLength": 1,
+ // "type": "string"
+ // },
// "DataAccessRole": {
// "description": "The data access role included in the configuration details of the AWS Glue data source.",
// "pattern": "^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$",
@@ -300,8 +306,6 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) {
// }
// },
// "required": [
- // "RedshiftCredentialConfiguration",
- // "RedshiftStorage",
// "RelationalFilterConfigurations"
// ],
// "type": "object"
@@ -345,6 +349,11 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "Specifies whether to automatically import data quality metrics as part of the data source run.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: CatalogName
+ "catalog_name": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The catalog name in the AWS Glue run configuration.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: DataAccessRole
"data_access_role": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The data access role included in the configuration details of the AWS Glue data source.",
@@ -500,6 +509,28 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "Configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: ConnectionId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run",
+ // "type": "string"
+ // }
+ "connection_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ConnectionIdentifier
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run",
+ // "type": "string"
+ // }
+ "connection_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: CreatedAt
// CloudFormation resource type schema:
//
@@ -569,7 +600,6 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) {
//
// {
// "description": "The unique identifier of the Amazon DataZone environment to which the data source publishes assets.",
- // "pattern": "^[a-zA-Z0-9_-]{1,36}$",
// "type": "string"
// }
"environment_id": schema.StringAttribute{ /*START ATTRIBUTE*/
@@ -807,8 +837,11 @@ func dataSourceDataSource(ctx context.Context) (datasource.DataSource, error) {
opts = opts.WithAttributeNameMap(map[string]string{
"asset_forms_input": "AssetFormsInput",
"auto_import_data_quality_result": "AutoImportDataQualityResult",
+ "catalog_name": "CatalogName",
"cluster_name": "ClusterName",
"configuration": "Configuration",
+ "connection_id": "ConnectionId",
+ "connection_identifier": "ConnectionIdentifier",
"content": "Content",
"created_at": "CreatedAt",
"data_access_role": "DataAccessRole",
diff --git a/internal/aws/ec2/capacity_reservation_resource_gen.go b/internal/aws/ec2/capacity_reservation_resource_gen.go
index b03ae9dd6..814f18a37 100644
--- a/internal/aws/ec2/capacity_reservation_resource_gen.go
+++ b/internal/aws/ec2/capacity_reservation_resource_gen.go
@@ -36,9 +36,25 @@ func capacityReservationResource(ctx context.Context) (resource.Resource, error)
// "type": "string"
// }
"availability_zone": schema.StringAttribute{ /*START ATTRIBUTE*/
- Required: true,
+ Optional: true,
+ Computed: true,
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
- stringplanmodifier.RequiresReplace(),
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: AvailabilityZoneId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "availability_zone_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: AvailableInstanceCount
@@ -350,6 +366,7 @@ func capacityReservationResource(ctx context.Context) (resource.Resource, error)
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
"availability_zone": "AvailabilityZone",
+ "availability_zone_id": "AvailabilityZoneId",
"available_instance_count": "AvailableInstanceCount",
"capacity_reservation_id": "Id",
"ebs_optimized": "EbsOptimized",
diff --git a/internal/aws/ec2/capacity_reservation_singular_data_source_gen.go b/internal/aws/ec2/capacity_reservation_singular_data_source_gen.go
index e32ebd1ab..26e09b390 100644
--- a/internal/aws/ec2/capacity_reservation_singular_data_source_gen.go
+++ b/internal/aws/ec2/capacity_reservation_singular_data_source_gen.go
@@ -31,6 +31,15 @@ func capacityReservationDataSource(ctx context.Context) (datasource.DataSource,
"availability_zone": schema.StringAttribute{ /*START ATTRIBUTE*/
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: AvailabilityZoneId
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "type": "string"
+ // }
+ "availability_zone_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: AvailableInstanceCount
// CloudFormation resource type schema:
//
@@ -249,6 +258,7 @@ func capacityReservationDataSource(ctx context.Context) (datasource.DataSource,
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
"availability_zone": "AvailabilityZone",
+ "availability_zone_id": "AvailabilityZoneId",
"available_instance_count": "AvailableInstanceCount",
"capacity_reservation_id": "Id",
"ebs_optimized": "EbsOptimized",
diff --git a/internal/aws/ec2/verified_access_endpoint_resource_gen.go b/internal/aws/ec2/verified_access_endpoint_resource_gen.go
index 326b4cd81..0fdf6c4d3 100644
--- a/internal/aws/ec2/verified_access_endpoint_resource_gen.go
+++ b/internal/aws/ec2/verified_access_endpoint_resource_gen.go
@@ -42,9 +42,11 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
// }
"application_domain": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The DNS name for users to reach your application.",
- Required: true,
+ Optional: true,
+ Computed: true,
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
- stringplanmodifier.RequiresReplace(),
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: AttachmentType
@@ -61,6 +63,137 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
stringplanmodifier.RequiresReplace(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: CidrOptions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "The options for cidr type endpoint.",
+ // "properties": {
+ // "Cidr": {
+ // "description": "The IP address range, in CIDR notation.",
+ // "type": "string"
+ // },
+ // "PortRanges": {
+ // "description": "The list of port range.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "The IP port range.",
+ // "properties": {
+ // "FromPort": {
+ // "description": "The first port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // },
+ // "ToPort": {
+ // "description": "The last port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // },
+ // "Protocol": {
+ // "description": "The IP protocol.",
+ // "type": "string"
+ // },
+ // "SubnetIds": {
+ // "description": "The IDs of the subnets.",
+ // "insertionOrder": false,
+ // "items": {
+ // "description": "The IDs of the subnet.",
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ // },
+ // "type": "object"
+ // }
+ "cidr_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Cidr
+ "cidr": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The IP address range, in CIDR notation.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: PortRanges
+ "port_ranges": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: FromPort
+ "from_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The first port in the range.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Int64{ /*START VALIDATORS*/
+ int64validator.Between(1, 65535),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ToPort
+ "to_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The last port in the range.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Int64{ /*START VALIDATORS*/
+ int64validator.Between(1, 65535),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "The list of port range.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/
+ setplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Protocol
+ "protocol": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The IP protocol.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: SubnetIds
+ "subnet_ids": schema.SetAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "The IDs of the subnets.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/
+ setplanmodifier.UseStateForUnknown(),
+ setplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "The options for cidr type endpoint.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: CreationTime
// CloudFormation resource type schema:
//
@@ -113,9 +246,11 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
// }
"domain_certificate_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The ARN of a public TLS/SSL certificate imported into or created with ACM.",
- Required: true,
+ Optional: true,
+ Computed: true,
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
- stringplanmodifier.RequiresReplace(),
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: EndpointDomain
@@ -141,9 +276,11 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
// }
"endpoint_domain_prefix": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "A custom identifier that gets prepended to a DNS name that is generated for the endpoint.",
- Required: true,
+ Optional: true,
+ Computed: true,
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
- stringplanmodifier.RequiresReplace(),
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: EndpointType
@@ -191,6 +328,31 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
// "minimum": 1,
// "type": "integer"
// },
+ // "PortRanges": {
+ // "description": "The list of port range.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "The IP port range.",
+ // "properties": {
+ // "FromPort": {
+ // "description": "The first port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // },
+ // "ToPort": {
+ // "description": "The last port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // },
// "Protocol": {
// "description": "The IP protocol.",
// "type": "string"
@@ -232,6 +394,43 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
int64planmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: PortRanges
+ "port_ranges": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: FromPort
+ "from_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The first port in the range.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Int64{ /*START VALIDATORS*/
+ int64validator.Between(1, 65535),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ToPort
+ "to_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The last port in the range.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Int64{ /*START VALIDATORS*/
+ int64validator.Between(1, 65535),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "The list of port range.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/
+ setplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: Protocol
"protocol": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The IP protocol.",
@@ -276,6 +475,31 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
// "minimum": 1,
// "type": "integer"
// },
+ // "PortRanges": {
+ // "description": "The list of port ranges.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "The IP port range.",
+ // "properties": {
+ // "FromPort": {
+ // "description": "The first port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // },
+ // "ToPort": {
+ // "description": "The last port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // },
// "Protocol": {
// "description": "The IP protocol.",
// "type": "string"
@@ -307,6 +531,43 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
int64planmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: PortRanges
+ "port_ranges": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: FromPort
+ "from_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The first port in the range.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Int64{ /*START VALIDATORS*/
+ int64validator.Between(1, 65535),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ToPort
+ "to_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The last port in the range.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Int64{ /*START VALIDATORS*/
+ int64validator.Between(1, 65535),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "The list of port ranges.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/
+ setplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: Protocol
"protocol": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The IP protocol.",
@@ -354,6 +615,133 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
boolplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: RdsOptions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "The options for rds type endpoint.",
+ // "properties": {
+ // "Port": {
+ // "description": "The IP port number.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // },
+ // "Protocol": {
+ // "description": "The IP protocol.",
+ // "type": "string"
+ // },
+ // "RdsDbClusterArn": {
+ // "description": "The ARN of the RDS DB cluster.",
+ // "type": "string"
+ // },
+ // "RdsDbInstanceArn": {
+ // "description": "The ARN of the RDS DB instance.",
+ // "type": "string"
+ // },
+ // "RdsDbProxyArn": {
+ // "description": "The ARN of the RDS DB proxy.",
+ // "type": "string"
+ // },
+ // "RdsEndpoint": {
+ // "description": "The RDS endpoint.",
+ // "type": "string"
+ // },
+ // "SubnetIds": {
+ // "description": "The IDs of the subnets.",
+ // "insertionOrder": false,
+ // "items": {
+ // "description": "The IDs of the subnet.",
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ // },
+ // "type": "object"
+ // }
+ "rds_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Port
+ "port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The IP port number.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Int64{ /*START VALIDATORS*/
+ int64validator.Between(1, 65535),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Protocol
+ "protocol": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The IP protocol.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: RdsDbClusterArn
+ "rds_db_cluster_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ARN of the RDS DB cluster.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: RdsDbInstanceArn
+ "rds_db_instance_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ARN of the RDS DB instance.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: RdsDbProxyArn
+ "rds_db_proxy_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ARN of the RDS DB proxy.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: RdsEndpoint
+ "rds_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The RDS endpoint.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: SubnetIds
+ "subnet_ids": schema.SetAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "The IDs of the subnets.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/
+ setplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "The options for rds type endpoint.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: SecurityGroupIds
// CloudFormation resource type schema:
//
@@ -570,6 +958,8 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
opts = opts.WithAttributeNameMap(map[string]string{
"application_domain": "ApplicationDomain",
"attachment_type": "AttachmentType",
+ "cidr": "Cidr",
+ "cidr_options": "CidrOptions",
"creation_time": "CreationTime",
"customer_managed_key_enabled": "CustomerManagedKeyEnabled",
"description": "Description",
@@ -578,6 +968,7 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
"endpoint_domain": "EndpointDomain",
"endpoint_domain_prefix": "EndpointDomainPrefix",
"endpoint_type": "EndpointType",
+ "from_port": "FromPort",
"key": "Key",
"kms_key_arn": "KmsKeyArn",
"last_updated_time": "LastUpdatedTime",
@@ -588,19 +979,26 @@ func verifiedAccessEndpointResource(ctx context.Context) (resource.Resource, err
"policy_document": "PolicyDocument",
"policy_enabled": "PolicyEnabled",
"port": "Port",
+ "port_ranges": "PortRanges",
"protocol": "Protocol",
+ "rds_db_cluster_arn": "RdsDbClusterArn",
+ "rds_db_instance_arn": "RdsDbInstanceArn",
+ "rds_db_proxy_arn": "RdsDbProxyArn",
+ "rds_endpoint": "RdsEndpoint",
+ "rds_options": "RdsOptions",
"security_group_ids": "SecurityGroupIds",
"sse_specification": "SseSpecification",
"status": "Status",
"subnet_ids": "SubnetIds",
"tags": "Tags",
+ "to_port": "ToPort",
"value": "Value",
"verified_access_endpoint_id": "VerifiedAccessEndpointId",
"verified_access_group_id": "VerifiedAccessGroupId",
"verified_access_instance_id": "VerifiedAccessInstanceId",
})
- opts = opts.WithCreateTimeoutInMinutes(60).WithDeleteTimeoutInMinutes(60)
+ opts = opts.WithCreateTimeoutInMinutes(600).WithDeleteTimeoutInMinutes(60)
opts = opts.WithUpdateTimeoutInMinutes(60)
diff --git a/internal/aws/ec2/verified_access_endpoint_singular_data_source_gen.go b/internal/aws/ec2/verified_access_endpoint_singular_data_source_gen.go
index 5bf168b5f..23a225519 100644
--- a/internal/aws/ec2/verified_access_endpoint_singular_data_source_gen.go
+++ b/internal/aws/ec2/verified_access_endpoint_singular_data_source_gen.go
@@ -45,6 +45,100 @@ func verifiedAccessEndpointDataSource(ctx context.Context) (datasource.DataSourc
Description: "The type of attachment used to provide connectivity between the AWS Verified Access endpoint and the application.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: CidrOptions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "The options for cidr type endpoint.",
+ // "properties": {
+ // "Cidr": {
+ // "description": "The IP address range, in CIDR notation.",
+ // "type": "string"
+ // },
+ // "PortRanges": {
+ // "description": "The list of port range.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "The IP port range.",
+ // "properties": {
+ // "FromPort": {
+ // "description": "The first port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // },
+ // "ToPort": {
+ // "description": "The last port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // },
+ // "Protocol": {
+ // "description": "The IP protocol.",
+ // "type": "string"
+ // },
+ // "SubnetIds": {
+ // "description": "The IDs of the subnets.",
+ // "insertionOrder": false,
+ // "items": {
+ // "description": "The IDs of the subnet.",
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ // },
+ // "type": "object"
+ // }
+ "cidr_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Cidr
+ "cidr": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The IP address range, in CIDR notation.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: PortRanges
+ "port_ranges": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: FromPort
+ "from_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The first port in the range.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ToPort
+ "to_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The last port in the range.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "The list of port range.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Protocol
+ "protocol": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The IP protocol.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: SubnetIds
+ "subnet_ids": schema.SetAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "The IDs of the subnets.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "The options for cidr type endpoint.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: CreationTime
// CloudFormation resource type schema:
//
@@ -150,6 +244,31 @@ func verifiedAccessEndpointDataSource(ctx context.Context) (datasource.DataSourc
// "minimum": 1,
// "type": "integer"
// },
+ // "PortRanges": {
+ // "description": "The list of port range.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "The IP port range.",
+ // "properties": {
+ // "FromPort": {
+ // "description": "The first port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // },
+ // "ToPort": {
+ // "description": "The last port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // },
// "Protocol": {
// "description": "The IP protocol.",
// "type": "string"
@@ -179,6 +298,25 @@ func verifiedAccessEndpointDataSource(ctx context.Context) (datasource.DataSourc
Description: "The IP port number.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: PortRanges
+ "port_ranges": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: FromPort
+ "from_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The first port in the range.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ToPort
+ "to_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The last port in the range.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "The list of port range.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Protocol
"protocol": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The IP protocol.",
@@ -211,6 +349,31 @@ func verifiedAccessEndpointDataSource(ctx context.Context) (datasource.DataSourc
// "minimum": 1,
// "type": "integer"
// },
+ // "PortRanges": {
+ // "description": "The list of port ranges.",
+ // "insertionOrder": false,
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "The IP port range.",
+ // "properties": {
+ // "FromPort": {
+ // "description": "The first port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // },
+ // "ToPort": {
+ // "description": "The last port in the range.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // },
// "Protocol": {
// "description": "The IP protocol.",
// "type": "string"
@@ -230,6 +393,25 @@ func verifiedAccessEndpointDataSource(ctx context.Context) (datasource.DataSourc
Description: "The IP port number.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: PortRanges
+ "port_ranges": schema.SetNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: FromPort
+ "from_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The first port in the range.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ToPort
+ "to_port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The last port in the range.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "The list of port ranges.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Protocol
"protocol": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The IP protocol.",
@@ -261,6 +443,94 @@ func verifiedAccessEndpointDataSource(ctx context.Context) (datasource.DataSourc
Description: "The status of the Verified Access policy.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: RdsOptions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "The options for rds type endpoint.",
+ // "properties": {
+ // "Port": {
+ // "description": "The IP port number.",
+ // "maximum": 65535,
+ // "minimum": 1,
+ // "type": "integer"
+ // },
+ // "Protocol": {
+ // "description": "The IP protocol.",
+ // "type": "string"
+ // },
+ // "RdsDbClusterArn": {
+ // "description": "The ARN of the RDS DB cluster.",
+ // "type": "string"
+ // },
+ // "RdsDbInstanceArn": {
+ // "description": "The ARN of the RDS DB instance.",
+ // "type": "string"
+ // },
+ // "RdsDbProxyArn": {
+ // "description": "The ARN of the RDS DB proxy.",
+ // "type": "string"
+ // },
+ // "RdsEndpoint": {
+ // "description": "The RDS endpoint.",
+ // "type": "string"
+ // },
+ // "SubnetIds": {
+ // "description": "The IDs of the subnets.",
+ // "insertionOrder": false,
+ // "items": {
+ // "description": "The IDs of the subnet.",
+ // "type": "string"
+ // },
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ // },
+ // "type": "object"
+ // }
+ "rds_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: Port
+ "port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The IP port number.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Protocol
+ "protocol": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The IP protocol.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: RdsDbClusterArn
+ "rds_db_cluster_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ARN of the RDS DB cluster.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: RdsDbInstanceArn
+ "rds_db_instance_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ARN of the RDS DB instance.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: RdsDbProxyArn
+ "rds_db_proxy_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The ARN of the RDS DB proxy.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: RdsEndpoint
+ "rds_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The RDS endpoint.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: SubnetIds
+ "subnet_ids": schema.SetAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "The IDs of the subnets.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "The options for rds type endpoint.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: SecurityGroupIds
// CloudFormation resource type schema:
//
@@ -426,6 +696,8 @@ func verifiedAccessEndpointDataSource(ctx context.Context) (datasource.DataSourc
opts = opts.WithAttributeNameMap(map[string]string{
"application_domain": "ApplicationDomain",
"attachment_type": "AttachmentType",
+ "cidr": "Cidr",
+ "cidr_options": "CidrOptions",
"creation_time": "CreationTime",
"customer_managed_key_enabled": "CustomerManagedKeyEnabled",
"description": "Description",
@@ -434,6 +706,7 @@ func verifiedAccessEndpointDataSource(ctx context.Context) (datasource.DataSourc
"endpoint_domain": "EndpointDomain",
"endpoint_domain_prefix": "EndpointDomainPrefix",
"endpoint_type": "EndpointType",
+ "from_port": "FromPort",
"key": "Key",
"kms_key_arn": "KmsKeyArn",
"last_updated_time": "LastUpdatedTime",
@@ -444,12 +717,19 @@ func verifiedAccessEndpointDataSource(ctx context.Context) (datasource.DataSourc
"policy_document": "PolicyDocument",
"policy_enabled": "PolicyEnabled",
"port": "Port",
+ "port_ranges": "PortRanges",
"protocol": "Protocol",
+ "rds_db_cluster_arn": "RdsDbClusterArn",
+ "rds_db_instance_arn": "RdsDbInstanceArn",
+ "rds_db_proxy_arn": "RdsDbProxyArn",
+ "rds_endpoint": "RdsEndpoint",
+ "rds_options": "RdsOptions",
"security_group_ids": "SecurityGroupIds",
"sse_specification": "SseSpecification",
"status": "Status",
"subnet_ids": "SubnetIds",
"tags": "Tags",
+ "to_port": "ToPort",
"value": "Value",
"verified_access_endpoint_id": "VerifiedAccessEndpointId",
"verified_access_group_id": "VerifiedAccessGroupId",
diff --git a/internal/aws/ec2/verified_access_instance_resource_gen.go b/internal/aws/ec2/verified_access_instance_resource_gen.go
index 2cf5775d3..2952b5881 100644
--- a/internal/aws/ec2/verified_access_instance_resource_gen.go
+++ b/internal/aws/ec2/verified_access_instance_resource_gen.go
@@ -12,6 +12,7 @@ import (
"github.com/hashicorp/terraform-plugin-framework/resource"
"github.com/hashicorp/terraform-plugin-framework/resource/schema"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier"
+ "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"
@@ -31,6 +32,42 @@ func init() {
// This Terraform resource corresponds to the CloudFormation AWS::EC2::VerifiedAccessInstance resource.
func verifiedAccessInstanceResource(ctx context.Context) (resource.Resource, error) {
attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CidrEndpointsCustomSubDomain
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Introduce CidrEndpointsCustomSubDomain property to represent the domain (say, ava.my-company.com)",
+ // "type": "string"
+ // }
+ "cidr_endpoints_custom_sub_domain": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Introduce CidrEndpointsCustomSubDomain property to represent the domain (say, ava.my-company.com)",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: CidrEndpointsCustomSubDomainNameServers
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Property to represent the name servers assoicated with the domain that AVA manages (say, ['ns1.amazonaws.com', 'ns2.amazonaws.com', 'ns3.amazonaws.com', 'ns4.amazonaws.com']).",
+ // "insertionOrder": false,
+ // "items": {
+ // "description": "The value of the name server",
+ // "type": "string"
+ // },
+ // "type": "array"
+ // }
+ "cidr_endpoints_custom_sub_domain_name_servers": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "Property to represent the name servers assoicated with the domain that AVA manages (say, ['ns1.amazonaws.com', 'ns2.amazonaws.com', 'ns3.amazonaws.com', 'ns4.amazonaws.com']).",
+ Computed: true,
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ generic.Multiset(),
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: CreationTime
// CloudFormation resource type schema:
//
@@ -514,8 +551,10 @@ func verifiedAccessInstanceResource(ctx context.Context) (resource.Resource, err
opts = opts.WithCloudFormationTypeName("AWS::EC2::VerifiedAccessInstance").WithTerraformTypeName("awscc_ec2_verified_access_instance")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "bucket_name": "BucketName",
- "bucket_owner": "BucketOwner",
+ "bucket_name": "BucketName",
+ "bucket_owner": "BucketOwner",
+ "cidr_endpoints_custom_sub_domain": "CidrEndpointsCustomSubDomain",
+ "cidr_endpoints_custom_sub_domain_name_servers": "CidrEndpointsCustomSubDomainNameServers",
"cloudwatch_logs": "CloudWatchLogs",
"creation_time": "CreationTime",
"delivery_stream": "DeliveryStream",
diff --git a/internal/aws/ec2/verified_access_instance_singular_data_source_gen.go b/internal/aws/ec2/verified_access_instance_singular_data_source_gen.go
index a08879f66..87d5d4759 100644
--- a/internal/aws/ec2/verified_access_instance_singular_data_source_gen.go
+++ b/internal/aws/ec2/verified_access_instance_singular_data_source_gen.go
@@ -23,6 +23,34 @@ func init() {
// This Terraform data source corresponds to the CloudFormation AWS::EC2::VerifiedAccessInstance resource.
func verifiedAccessInstanceDataSource(ctx context.Context) (datasource.DataSource, error) {
attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: CidrEndpointsCustomSubDomain
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Introduce CidrEndpointsCustomSubDomain property to represent the domain (say, ava.my-company.com)",
+ // "type": "string"
+ // }
+ "cidr_endpoints_custom_sub_domain": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Introduce CidrEndpointsCustomSubDomain property to represent the domain (say, ava.my-company.com)",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: CidrEndpointsCustomSubDomainNameServers
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Property to represent the name servers assoicated with the domain that AVA manages (say, ['ns1.amazonaws.com', 'ns2.amazonaws.com', 'ns3.amazonaws.com', 'ns4.amazonaws.com']).",
+ // "insertionOrder": false,
+ // "items": {
+ // "description": "The value of the name server",
+ // "type": "string"
+ // },
+ // "type": "array"
+ // }
+ "cidr_endpoints_custom_sub_domain_name_servers": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Description: "Property to represent the name servers assoicated with the domain that AVA manages (say, ['ns1.amazonaws.com', 'ns2.amazonaws.com', 'ns3.amazonaws.com', 'ns4.amazonaws.com']).",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: CreationTime
// CloudFormation resource type schema:
//
@@ -380,8 +408,10 @@ func verifiedAccessInstanceDataSource(ctx context.Context) (datasource.DataSourc
opts = opts.WithCloudFormationTypeName("AWS::EC2::VerifiedAccessInstance").WithTerraformTypeName("awscc_ec2_verified_access_instance")
opts = opts.WithTerraformSchema(schema)
opts = opts.WithAttributeNameMap(map[string]string{
- "bucket_name": "BucketName",
- "bucket_owner": "BucketOwner",
+ "bucket_name": "BucketName",
+ "bucket_owner": "BucketOwner",
+ "cidr_endpoints_custom_sub_domain": "CidrEndpointsCustomSubDomain",
+ "cidr_endpoints_custom_sub_domain_name_servers": "CidrEndpointsCustomSubDomainNameServers",
"cloudwatch_logs": "CloudWatchLogs",
"creation_time": "CreationTime",
"delivery_stream": "DeliveryStream",
diff --git a/internal/aws/ec2/verified_access_trust_provider_resource_gen.go b/internal/aws/ec2/verified_access_trust_provider_resource_gen.go
index 72cb09a5f..eb8503904 100644
--- a/internal/aws/ec2/verified_access_trust_provider_resource_gen.go
+++ b/internal/aws/ec2/verified_access_trust_provider_resource_gen.go
@@ -136,6 +136,131 @@ func verifiedAccessTrustProviderResource(ctx context.Context) (resource.Resource
stringplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: NativeApplicationOidcOptions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "The OpenID Connect details for an oidc -type, user-identity based trust provider for L4.",
+ // "properties": {
+ // "AuthorizationEndpoint": {
+ // "description": "The OIDC authorization endpoint.",
+ // "type": "string"
+ // },
+ // "ClientId": {
+ // "description": "The client identifier.",
+ // "type": "string"
+ // },
+ // "ClientSecret": {
+ // "description": "The client secret.",
+ // "type": "string"
+ // },
+ // "Issuer": {
+ // "description": "The OIDC issuer.",
+ // "type": "string"
+ // },
+ // "PublicSigningKeyEndpoint": {
+ // "description": "The public signing key for endpoint",
+ // "type": "string"
+ // },
+ // "Scope": {
+ // "description": "OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes.",
+ // "type": "string"
+ // },
+ // "TokenEndpoint": {
+ // "description": "The OIDC token endpoint.",
+ // "type": "string"
+ // },
+ // "UserInfoEndpoint": {
+ // "description": "The OIDC user info endpoint.",
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "native_application_oidc_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AuthorizationEndpoint
+ "authorization_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The OIDC authorization endpoint.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ClientId
+ "client_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The client identifier.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ClientSecret
+ "client_secret": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The client secret.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ // ClientSecret is a write-only property.
+ }, /*END ATTRIBUTE*/
+ // Property: Issuer
+ "issuer": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The OIDC issuer.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: PublicSigningKeyEndpoint
+ "public_signing_key_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The public signing key for endpoint",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: Scope
+ "scope": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: TokenEndpoint
+ "token_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The OIDC token endpoint.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: UserInfoEndpoint
+ "user_info_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The OIDC user info endpoint.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "The OpenID Connect details for an oidc -type, user-identity based trust provider for L4.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: OidcOptions
// CloudFormation resource type schema:
//
@@ -455,8 +580,10 @@ func verifiedAccessTrustProviderResource(ctx context.Context) (resource.Resource
"key": "Key",
"kms_key_arn": "KmsKeyArn",
"last_updated_time": "LastUpdatedTime",
+ "native_application_oidc_options": "NativeApplicationOidcOptions",
"oidc_options": "OidcOptions",
"policy_reference_name": "PolicyReferenceName",
+ "public_signing_key_endpoint": "PublicSigningKeyEndpoint",
"public_signing_key_url": "PublicSigningKeyUrl",
"scope": "Scope",
"sse_specification": "SseSpecification",
@@ -470,6 +597,9 @@ func verifiedAccessTrustProviderResource(ctx context.Context) (resource.Resource
"verified_access_trust_provider_id": "VerifiedAccessTrustProviderId",
})
+ opts = opts.WithWriteOnlyPropertyPaths([]string{
+ "/properties/NativeApplicationOidcOptions/ClientSecret",
+ })
opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
opts = opts.WithUpdateTimeoutInMinutes(0)
diff --git a/internal/aws/ec2/verified_access_trust_provider_singular_data_source_gen.go b/internal/aws/ec2/verified_access_trust_provider_singular_data_source_gen.go
index 779c41bdd..87d536bd8 100644
--- a/internal/aws/ec2/verified_access_trust_provider_singular_data_source_gen.go
+++ b/internal/aws/ec2/verified_access_trust_provider_singular_data_source_gen.go
@@ -100,6 +100,94 @@ func verifiedAccessTrustProviderDataSource(ctx context.Context) (datasource.Data
Description: "The last updated time.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: NativeApplicationOidcOptions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "The OpenID Connect details for an oidc -type, user-identity based trust provider for L4.",
+ // "properties": {
+ // "AuthorizationEndpoint": {
+ // "description": "The OIDC authorization endpoint.",
+ // "type": "string"
+ // },
+ // "ClientId": {
+ // "description": "The client identifier.",
+ // "type": "string"
+ // },
+ // "ClientSecret": {
+ // "description": "The client secret.",
+ // "type": "string"
+ // },
+ // "Issuer": {
+ // "description": "The OIDC issuer.",
+ // "type": "string"
+ // },
+ // "PublicSigningKeyEndpoint": {
+ // "description": "The public signing key for endpoint",
+ // "type": "string"
+ // },
+ // "Scope": {
+ // "description": "OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes.",
+ // "type": "string"
+ // },
+ // "TokenEndpoint": {
+ // "description": "The OIDC token endpoint.",
+ // "type": "string"
+ // },
+ // "UserInfoEndpoint": {
+ // "description": "The OIDC user info endpoint.",
+ // "type": "string"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "native_application_oidc_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AuthorizationEndpoint
+ "authorization_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The OIDC authorization endpoint.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ClientId
+ "client_id": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The client identifier.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ClientSecret
+ "client_secret": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The client secret.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Issuer
+ "issuer": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The OIDC issuer.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: PublicSigningKeyEndpoint
+ "public_signing_key_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The public signing key for endpoint",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: Scope
+ "scope": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: TokenEndpoint
+ "token_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The OIDC token endpoint.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: UserInfoEndpoint
+ "user_info_endpoint": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The OIDC user info endpoint.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "The OpenID Connect details for an oidc -type, user-identity based trust provider for L4.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: OidcOptions
// CloudFormation resource type schema:
//
@@ -336,8 +424,10 @@ func verifiedAccessTrustProviderDataSource(ctx context.Context) (datasource.Data
"key": "Key",
"kms_key_arn": "KmsKeyArn",
"last_updated_time": "LastUpdatedTime",
+ "native_application_oidc_options": "NativeApplicationOidcOptions",
"oidc_options": "OidcOptions",
"policy_reference_name": "PolicyReferenceName",
+ "public_signing_key_endpoint": "PublicSigningKeyEndpoint",
"public_signing_key_url": "PublicSigningKeyUrl",
"scope": "Scope",
"sse_specification": "SseSpecification",
diff --git a/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go b/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go
index 595d758a5..e28ee95cc 100644
--- a/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go
+++ b/internal/aws/elasticloadbalancingv2/load_balancer_resource_gen.go
@@ -130,7 +130,7 @@ func loadBalancerResource(ctx context.Context) (resource.Resource, error) {
// "description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.",
// "properties": {
// "Key": {
- // "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.",
+ // "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.",
// "type": "string"
// },
// "Value": {
@@ -148,7 +148,7 @@ func loadBalancerResource(ctx context.Context) (resource.Resource, error) {
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: Key
"key": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.",
+ Description: "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.",
Optional: true,
Computed: true,
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
@@ -206,9 +206,10 @@ func loadBalancerResource(ctx context.Context) (resource.Resource, error) {
//
// {
// "additionalProperties": false,
- // "description": "",
+ // "description": "The minimum capacity for a load balancer.",
// "properties": {
// "CapacityUnits": {
+ // "description": "The number of capacity units.",
// "type": "integer"
// }
// },
@@ -221,8 +222,9 @@ func loadBalancerResource(ctx context.Context) (resource.Resource, error) {
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: CapacityUnits
"capacity_units": schema.Int64Attribute{ /*START ATTRIBUTE*/
- Optional: true,
- Computed: true,
+ Description: "The number of capacity units.",
+ Optional: true,
+ Computed: true,
Validators: []validator.Int64{ /*START VALIDATORS*/
fwvalidators.NotNullInt64(),
}, /*END VALIDATORS*/
@@ -231,7 +233,7 @@ func loadBalancerResource(ctx context.Context) (resource.Resource, error) {
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
- Description: "",
+ Description: "The minimum capacity for a load balancer.",
Optional: true,
Computed: true,
PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
diff --git a/internal/aws/elasticloadbalancingv2/load_balancer_singular_data_source_gen.go b/internal/aws/elasticloadbalancingv2/load_balancer_singular_data_source_gen.go
index ba863a52f..8233f04e5 100644
--- a/internal/aws/elasticloadbalancingv2/load_balancer_singular_data_source_gen.go
+++ b/internal/aws/elasticloadbalancingv2/load_balancer_singular_data_source_gen.go
@@ -101,7 +101,7 @@ func loadBalancerDataSource(ctx context.Context) (datasource.DataSource, error)
// "description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.",
// "properties": {
// "Key": {
- // "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.",
+ // "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.",
// "type": "string"
// },
// "Value": {
@@ -119,7 +119,7 @@ func loadBalancerDataSource(ctx context.Context) (datasource.DataSource, error)
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: Key
"key": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.",
+ Description: "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: Value
@@ -159,9 +159,10 @@ func loadBalancerDataSource(ctx context.Context) (datasource.DataSource, error)
//
// {
// "additionalProperties": false,
- // "description": "",
+ // "description": "The minimum capacity for a load balancer.",
// "properties": {
// "CapacityUnits": {
+ // "description": "The number of capacity units.",
// "type": "integer"
// }
// },
@@ -174,10 +175,11 @@ func loadBalancerDataSource(ctx context.Context) (datasource.DataSource, error)
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: CapacityUnits
"capacity_units": schema.Int64Attribute{ /*START ATTRIBUTE*/
- Computed: true,
+ Description: "The number of capacity units.",
+ Computed: true,
}, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
- Description: "",
+ Description: "The minimum capacity for a load balancer.",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: Name
diff --git a/internal/aws/fms/policy_resource_gen.go b/internal/aws/fms/policy_resource_gen.go
index 9b13f46d1..397ebbc8d 100644
--- a/internal/aws/fms/policy_resource_gen.go
+++ b/internal/aws/fms/policy_resource_gen.go
@@ -308,6 +308,29 @@ func policyResource(ctx context.Context) (resource.Resource, error) {
listplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: ResourceTagLogicalOperator
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "enum": [
+ // "AND",
+ // "OR"
+ // ],
+ // "type": "string"
+ // }
+ "resource_tag_logical_operator": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "AND",
+ "OR",
+ ),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: ResourceTags
// CloudFormation resource type schema:
//
@@ -1323,6 +1346,7 @@ func policyResource(ctx context.Context) (resource.Resource, error) {
"protocol": "Protocol",
"remediation_enabled": "RemediationEnabled",
"resource_set_ids": "ResourceSetIds",
+ "resource_tag_logical_operator": "ResourceTagLogicalOperator",
"resource_tags": "ResourceTags",
"resource_type": "ResourceType",
"resource_type_list": "ResourceTypeList",
diff --git a/internal/aws/fms/policy_singular_data_source_gen.go b/internal/aws/fms/policy_singular_data_source_gen.go
index 5736c2dcd..ec0995257 100644
--- a/internal/aws/fms/policy_singular_data_source_gen.go
+++ b/internal/aws/fms/policy_singular_data_source_gen.go
@@ -214,6 +214,19 @@ func policyDataSource(ctx context.Context) (datasource.DataSource, error) {
ElementType: types.StringType,
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: ResourceTagLogicalOperator
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "enum": [
+ // "AND",
+ // "OR"
+ // ],
+ // "type": "string"
+ // }
+ "resource_tag_logical_operator": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: ResourceTags
// CloudFormation resource type schema:
//
@@ -909,6 +922,7 @@ func policyDataSource(ctx context.Context) (datasource.DataSource, error) {
"protocol": "Protocol",
"remediation_enabled": "RemediationEnabled",
"resource_set_ids": "ResourceSetIds",
+ "resource_tag_logical_operator": "ResourceTagLogicalOperator",
"resource_tags": "ResourceTags",
"resource_type": "ResourceType",
"resource_type_list": "ResourceTypeList",
diff --git a/internal/aws/iot/billing_group_resource_gen.go b/internal/aws/iot/billing_group_resource_gen.go
index 38ba1f5b5..2dfca4a8f 100644
--- a/internal/aws/iot/billing_group_resource_gen.go
+++ b/internal/aws/iot/billing_group_resource_gen.go
@@ -121,14 +121,14 @@ func billingGroupResource(ctx context.Context) (resource.Resource, error) {
// "description": "A key-value pair to associate with a resource.",
// "properties": {
// "Key": {
- // "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ // "description": "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
// "maxLength": 128,
// "minLength": 1,
// "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
// "type": "string"
// },
// "Value": {
- // "description": "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ // "description": "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
// "maxLength": 256,
// "minLength": 1,
// "type": "string"
@@ -149,7 +149,7 @@ func billingGroupResource(ctx context.Context) (resource.Resource, error) {
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: Key
"key": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ Description: "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
Optional: true,
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
@@ -163,7 +163,7 @@ func billingGroupResource(ctx context.Context) (resource.Resource, error) {
}, /*END ATTRIBUTE*/
// Property: Value
"value": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ Description: "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
Optional: true,
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
diff --git a/internal/aws/iot/billing_group_singular_data_source_gen.go b/internal/aws/iot/billing_group_singular_data_source_gen.go
index db839579e..f0faa22dd 100644
--- a/internal/aws/iot/billing_group_singular_data_source_gen.go
+++ b/internal/aws/iot/billing_group_singular_data_source_gen.go
@@ -86,14 +86,14 @@ func billingGroupDataSource(ctx context.Context) (datasource.DataSource, error)
// "description": "A key-value pair to associate with a resource.",
// "properties": {
// "Key": {
- // "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ // "description": "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
// "maxLength": 128,
// "minLength": 1,
// "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
// "type": "string"
// },
// "Value": {
- // "description": "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ // "description": "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
// "maxLength": 256,
// "minLength": 1,
// "type": "string"
@@ -114,12 +114,12 @@ func billingGroupDataSource(ctx context.Context) (datasource.DataSource, error)
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: Key
"key": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ Description: "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: Value
"value": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ Description: "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
Computed: true,
}, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
diff --git a/internal/aws/iot/thing_group_resource_gen.go b/internal/aws/iot/thing_group_resource_gen.go
index c08f07d83..9233f4500 100644
--- a/internal/aws/iot/thing_group_resource_gen.go
+++ b/internal/aws/iot/thing_group_resource_gen.go
@@ -107,14 +107,14 @@ func thingGroupResource(ctx context.Context) (resource.Resource, error) {
// "description": "A key-value pair to associate with a resource.",
// "properties": {
// "Key": {
- // "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ // "description": "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
// "maxLength": 128,
// "minLength": 1,
// "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
// "type": "string"
// },
// "Value": {
- // "description": "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ // "description": "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
// "maxLength": 256,
// "minLength": 1,
// "type": "string"
@@ -135,7 +135,7 @@ func thingGroupResource(ctx context.Context) (resource.Resource, error) {
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: Key
"key": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ Description: "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
Optional: true,
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
@@ -149,7 +149,7 @@ func thingGroupResource(ctx context.Context) (resource.Resource, error) {
}, /*END ATTRIBUTE*/
// Property: Value
"value": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ Description: "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
Optional: true,
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
diff --git a/internal/aws/iot/thing_group_singular_data_source_gen.go b/internal/aws/iot/thing_group_singular_data_source_gen.go
index f99249cd9..c6ddae2c5 100644
--- a/internal/aws/iot/thing_group_singular_data_source_gen.go
+++ b/internal/aws/iot/thing_group_singular_data_source_gen.go
@@ -75,14 +75,14 @@ func thingGroupDataSource(ctx context.Context) (datasource.DataSource, error) {
// "description": "A key-value pair to associate with a resource.",
// "properties": {
// "Key": {
- // "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ // "description": "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
// "maxLength": 128,
// "minLength": 1,
// "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
// "type": "string"
// },
// "Value": {
- // "description": "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ // "description": "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
// "maxLength": 256,
// "minLength": 1,
// "type": "string"
@@ -103,12 +103,12 @@ func thingGroupDataSource(ctx context.Context) (datasource.DataSource, error) {
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: Key
"key": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ Description: "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
Computed: true,
}, /*END ATTRIBUTE*/
// Property: Value
"value": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ Description: "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
Computed: true,
}, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
diff --git a/internal/aws/mediaconnect/flow_resource_gen.go b/internal/aws/mediaconnect/flow_resource_gen.go
index f0eed1dd8..b5a9ceae8 100644
--- a/internal/aws/mediaconnect/flow_resource_gen.go
+++ b/internal/aws/mediaconnect/flow_resource_gen.go
@@ -1340,6 +1340,44 @@ func flowResource(ctx context.Context) (resource.Resource, error) {
// "additionalProperties": false,
// "description": "The source monitoring config of the flow.",
// "properties": {
+ // "AudioMonitoringSettings": {
+ // "description": "Contains the settings for audio stream metrics monitoring.",
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Specifies the configuration for audio stream metrics monitoring.",
+ // "properties": {
+ // "SilentAudio": {
+ // "additionalProperties": false,
+ // "description": "Configures settings for the SilentAudio metric.",
+ // "properties": {
+ // "State": {
+ // "description": "Indicates whether the SilentAudio metric is enabled or disabled.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // },
+ // "ThresholdSeconds": {
+ // "description": "Specifies the number of consecutive seconds of silence that triggers an event or alert.",
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array"
+ // },
+ // "ContentQualityAnalysisState": {
+ // "description": "Indicates whether content quality analysis is enabled or disabled.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // },
// "ThumbnailState": {
// "description": "The state of thumbnail monitoring.",
// "enum": [
@@ -1347,15 +1385,124 @@ func flowResource(ctx context.Context) (resource.Resource, error) {
// "DISABLED"
// ],
// "type": "string"
+ // },
+ // "VideoMonitoringSettings": {
+ // "description": "Contains the settings for video stream metrics monitoring.",
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Specifies the configuration for video stream metrics monitoring.",
+ // "properties": {
+ // "BlackFrames": {
+ // "additionalProperties": false,
+ // "description": "Configures settings for the BlackFrames metric.",
+ // "properties": {
+ // "State": {
+ // "description": "Indicates whether the BlackFrames metric is enabled or disabled.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // },
+ // "ThresholdSeconds": {
+ // "description": "Specifies the number of consecutive seconds of black frames that triggers an event or alert.",
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "FrozenFrames": {
+ // "additionalProperties": false,
+ // "description": "Configures settings for the FrozenFrames metric.",
+ // "properties": {
+ // "State": {
+ // "description": "Indicates whether the FrozenFrames metric is enabled or disabled.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // },
+ // "ThresholdSeconds": {
+ // "description": "Specifies the number of consecutive seconds of a static image that triggers an event or alert.",
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array"
// }
// },
- // "required": [
- // "ThumbnailState"
- // ],
// "type": "object"
// }
"source_monitoring_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AudioMonitoringSettings
+ "audio_monitoring_settings": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: SilentAudio
+ "silent_audio": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: State
+ "state": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates whether the SilentAudio metric is enabled or disabled.",
+ 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: ThresholdSeconds
+ "threshold_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "Specifies the number of consecutive seconds of silence that triggers an event or alert.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Configures settings for the SilentAudio metric.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Contains the settings for audio stream metrics monitoring.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ContentQualityAnalysisState
+ "content_quality_analysis_state": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates whether content quality analysis is enabled or disabled.",
+ 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: ThumbnailState
"thumbnail_state": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The state of thumbnail monitoring.",
@@ -1366,12 +1513,94 @@ func flowResource(ctx context.Context) (resource.Resource, error) {
"ENABLED",
"DISABLED",
),
- fwvalidators.NotNullString(),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: VideoMonitoringSettings
+ "video_monitoring_settings": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: BlackFrames
+ "black_frames": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: State
+ "state": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates whether the BlackFrames metric is enabled or disabled.",
+ 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: ThresholdSeconds
+ "threshold_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "Specifies the number of consecutive seconds of black frames that triggers an event or alert.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Configures settings for the BlackFrames metric.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: FrozenFrames
+ "frozen_frames": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: State
+ "state": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates whether the FrozenFrames metric is enabled or disabled.",
+ 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: ThresholdSeconds
+ "threshold_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "Specifies the number of consecutive seconds of a static image that triggers an event or alert.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Configures settings for the FrozenFrames metric.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Contains the settings for video stream metrics monitoring.",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
Description: "The source monitoring config of the flow.",
Optional: true,
@@ -1544,12 +1773,15 @@ func flowResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithAttributeNameMap(map[string]string{
"algorithm": "Algorithm",
"attributes": "Attributes",
+ "audio_monitoring_settings": "AudioMonitoringSettings",
"availability_zone": "AvailabilityZone",
+ "black_frames": "BlackFrames",
"bridge_arn": "BridgeArn",
"channel_order": "ChannelOrder",
"clock_rate": "ClockRate",
"colorimetry": "Colorimetry",
"constant_initialization_vector": "ConstantInitializationVector",
+ "content_quality_analysis_state": "ContentQualityAnalysisState",
"decryption": "Decryption",
"description": "Description",
"device_id": "DeviceId",
@@ -1562,6 +1794,7 @@ func flowResource(ctx context.Context) (resource.Resource, error) {
"flow_availability_zone": "FlowAvailabilityZone",
"fmt": "Fmt",
"fmtp": "Fmtp",
+ "frozen_frames": "FrozenFrames",
"gateway_bridge_source": "GatewayBridgeSource",
"ingest_ip": "IngestIp",
"ingest_port": "IngestPort",
@@ -1598,6 +1831,7 @@ func flowResource(ctx context.Context) (resource.Resource, error) {
"security_group_ids": "SecurityGroupIds",
"sender_control_port": "SenderControlPort",
"sender_ip_address": "SenderIpAddress",
+ "silent_audio": "SilentAudio",
"source": "Source",
"source_arn": "SourceArn",
"source_failover_config": "SourceFailoverConfig",
@@ -1610,9 +1844,11 @@ func flowResource(ctx context.Context) (resource.Resource, error) {
"stream_id": "StreamId",
"subnet_id": "SubnetId",
"tcs": "Tcs",
+ "threshold_seconds": "ThresholdSeconds",
"thumbnail_state": "ThumbnailState",
"url": "Url",
"video_format": "VideoFormat",
+ "video_monitoring_settings": "VideoMonitoringSettings",
"vpc_interface_attachment": "VpcInterfaceAttachment",
"vpc_interface_name": "VpcInterfaceName",
"vpc_interfaces": "VpcInterfaces",
diff --git a/internal/aws/mediaconnect/flow_singular_data_source_gen.go b/internal/aws/mediaconnect/flow_singular_data_source_gen.go
index 30ec7eebf..bfd3cbd81 100644
--- a/internal/aws/mediaconnect/flow_singular_data_source_gen.go
+++ b/internal/aws/mediaconnect/flow_singular_data_source_gen.go
@@ -902,6 +902,44 @@ func flowDataSource(ctx context.Context) (datasource.DataSource, error) {
// "additionalProperties": false,
// "description": "The source monitoring config of the flow.",
// "properties": {
+ // "AudioMonitoringSettings": {
+ // "description": "Contains the settings for audio stream metrics monitoring.",
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Specifies the configuration for audio stream metrics monitoring.",
+ // "properties": {
+ // "SilentAudio": {
+ // "additionalProperties": false,
+ // "description": "Configures settings for the SilentAudio metric.",
+ // "properties": {
+ // "State": {
+ // "description": "Indicates whether the SilentAudio metric is enabled or disabled.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // },
+ // "ThresholdSeconds": {
+ // "description": "Specifies the number of consecutive seconds of silence that triggers an event or alert.",
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array"
+ // },
+ // "ContentQualityAnalysisState": {
+ // "description": "Indicates whether content quality analysis is enabled or disabled.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // },
// "ThumbnailState": {
// "description": "The state of thumbnail monitoring.",
// "enum": [
@@ -909,20 +947,140 @@ func flowDataSource(ctx context.Context) (datasource.DataSource, error) {
// "DISABLED"
// ],
// "type": "string"
+ // },
+ // "VideoMonitoringSettings": {
+ // "description": "Contains the settings for video stream metrics monitoring.",
+ // "items": {
+ // "additionalProperties": false,
+ // "description": "Specifies the configuration for video stream metrics monitoring.",
+ // "properties": {
+ // "BlackFrames": {
+ // "additionalProperties": false,
+ // "description": "Configures settings for the BlackFrames metric.",
+ // "properties": {
+ // "State": {
+ // "description": "Indicates whether the BlackFrames metric is enabled or disabled.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // },
+ // "ThresholdSeconds": {
+ // "description": "Specifies the number of consecutive seconds of black frames that triggers an event or alert.",
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "FrozenFrames": {
+ // "additionalProperties": false,
+ // "description": "Configures settings for the FrozenFrames metric.",
+ // "properties": {
+ // "State": {
+ // "description": "Indicates whether the FrozenFrames metric is enabled or disabled.",
+ // "enum": [
+ // "ENABLED",
+ // "DISABLED"
+ // ],
+ // "type": "string"
+ // },
+ // "ThresholdSeconds": {
+ // "description": "Specifies the number of consecutive seconds of a static image that triggers an event or alert.",
+ // "type": "integer"
+ // }
+ // },
+ // "type": "object"
+ // }
+ // },
+ // "type": "object"
+ // },
+ // "type": "array"
// }
// },
- // "required": [
- // "ThumbnailState"
- // ],
// "type": "object"
// }
"source_monitoring_config": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: AudioMonitoringSettings
+ "audio_monitoring_settings": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: SilentAudio
+ "silent_audio": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: State
+ "state": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates whether the SilentAudio metric is enabled or disabled.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ThresholdSeconds
+ "threshold_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "Specifies the number of consecutive seconds of silence that triggers an event or alert.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Configures settings for the SilentAudio metric.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Contains the settings for audio stream metrics monitoring.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ContentQualityAnalysisState
+ "content_quality_analysis_state": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates whether content quality analysis is enabled or disabled.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: ThumbnailState
"thumbnail_state": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The state of thumbnail monitoring.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: VideoMonitoringSettings
+ "video_monitoring_settings": schema.ListNestedAttribute{ /*START ATTRIBUTE*/
+ NestedObject: schema.NestedAttributeObject{ /*START NESTED OBJECT*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: BlackFrames
+ "black_frames": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: State
+ "state": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates whether the BlackFrames metric is enabled or disabled.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ThresholdSeconds
+ "threshold_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "Specifies the number of consecutive seconds of black frames that triggers an event or alert.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Configures settings for the BlackFrames metric.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: FrozenFrames
+ "frozen_frames": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: State
+ "state": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Indicates whether the FrozenFrames metric is enabled or disabled.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ThresholdSeconds
+ "threshold_seconds": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "Specifies the number of consecutive seconds of a static image that triggers an event or alert.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Configures settings for the FrozenFrames metric.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ }, /*END NESTED OBJECT*/
+ Description: "Contains the settings for video stream metrics monitoring.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
Description: "The source monitoring config of the flow.",
Computed: true,
@@ -1040,12 +1198,15 @@ func flowDataSource(ctx context.Context) (datasource.DataSource, error) {
opts = opts.WithAttributeNameMap(map[string]string{
"algorithm": "Algorithm",
"attributes": "Attributes",
+ "audio_monitoring_settings": "AudioMonitoringSettings",
"availability_zone": "AvailabilityZone",
+ "black_frames": "BlackFrames",
"bridge_arn": "BridgeArn",
"channel_order": "ChannelOrder",
"clock_rate": "ClockRate",
"colorimetry": "Colorimetry",
"constant_initialization_vector": "ConstantInitializationVector",
+ "content_quality_analysis_state": "ContentQualityAnalysisState",
"decryption": "Decryption",
"description": "Description",
"device_id": "DeviceId",
@@ -1058,6 +1219,7 @@ func flowDataSource(ctx context.Context) (datasource.DataSource, error) {
"flow_availability_zone": "FlowAvailabilityZone",
"fmt": "Fmt",
"fmtp": "Fmtp",
+ "frozen_frames": "FrozenFrames",
"gateway_bridge_source": "GatewayBridgeSource",
"ingest_ip": "IngestIp",
"ingest_port": "IngestPort",
@@ -1094,6 +1256,7 @@ func flowDataSource(ctx context.Context) (datasource.DataSource, error) {
"security_group_ids": "SecurityGroupIds",
"sender_control_port": "SenderControlPort",
"sender_ip_address": "SenderIpAddress",
+ "silent_audio": "SilentAudio",
"source": "Source",
"source_arn": "SourceArn",
"source_failover_config": "SourceFailoverConfig",
@@ -1106,9 +1269,11 @@ func flowDataSource(ctx context.Context) (datasource.DataSource, error) {
"stream_id": "StreamId",
"subnet_id": "SubnetId",
"tcs": "Tcs",
+ "threshold_seconds": "ThresholdSeconds",
"thumbnail_state": "ThumbnailState",
"url": "Url",
"video_format": "VideoFormat",
+ "video_monitoring_settings": "VideoMonitoringSettings",
"vpc_interface_attachment": "VpcInterfaceAttachment",
"vpc_interface_name": "VpcInterfaceName",
"vpc_interfaces": "VpcInterfaces",
diff --git a/internal/aws/notifications/managed_notification_account_contact_association_plural_data_source_gen.go b/internal/aws/notifications/managed_notification_account_contact_association_plural_data_source_gen.go
new file mode 100644
index 000000000..f58e84a69
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_account_contact_association_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 notifications
+
+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_notifications_managed_notification_account_contact_associations", managedNotificationAccountContactAssociationsDataSource)
+}
+
+// managedNotificationAccountContactAssociationsDataSource returns the Terraform awscc_notifications_managed_notification_account_contact_associations data source.
+// This Terraform data source corresponds to the CloudFormation AWS::Notifications::ManagedNotificationAccountContactAssociation resource.
+func managedNotificationAccountContactAssociationsDataSource(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::Notifications::ManagedNotificationAccountContactAssociation",
+ Attributes: attributes,
+ }
+
+ var opts generic.DataSourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Notifications::ManagedNotificationAccountContactAssociation").WithTerraformTypeName("awscc_notifications_managed_notification_account_contact_associations")
+ opts = opts.WithTerraformSchema(schema)
+
+ v, err := generic.NewPluralDataSource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/notifications/managed_notification_account_contact_association_plural_data_source_gen_test.go b/internal/aws/notifications/managed_notification_account_contact_association_plural_data_source_gen_test.go
new file mode 100644
index 000000000..403897696
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_account_contact_association_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 notifications_test
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSNotificationsManagedNotificationAccountContactAssociationsDataSource_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Notifications::ManagedNotificationAccountContactAssociation", "awscc_notifications_managed_notification_account_contact_associations", "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/notifications/managed_notification_account_contact_association_resource_gen.go b/internal/aws/notifications/managed_notification_account_contact_association_resource_gen.go
new file mode 100644
index 000000000..1d4a7f2f3
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_account_contact_association_resource_gen.go
@@ -0,0 +1,113 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/resource/main.go; DO NOT EDIT.
+
+package notifications
+
+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/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_notifications_managed_notification_account_contact_association", managedNotificationAccountContactAssociationResource)
+}
+
+// managedNotificationAccountContactAssociationResource returns the Terraform awscc_notifications_managed_notification_account_contact_association resource.
+// This Terraform resource corresponds to the CloudFormation AWS::Notifications::ManagedNotificationAccountContactAssociation resource.
+func managedNotificationAccountContactAssociationResource(ctx context.Context) (resource.Resource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ContactIdentifier
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "This unique identifier for Contact",
+ // "enum": [
+ // "ACCOUNT_PRIMARY",
+ // "ACCOUNT_ALTERNATE_SECURITY",
+ // "ACCOUNT_ALTERNATE_OPERATIONS",
+ // "ACCOUNT_ALTERNATE_BILLING"
+ // ],
+ // "type": "string"
+ // }
+ "contact_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "This unique identifier for Contact",
+ Required: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "ACCOUNT_PRIMARY",
+ "ACCOUNT_ALTERNATE_SECURITY",
+ "ACCOUNT_ALTERNATE_OPERATIONS",
+ "ACCOUNT_ALTERNATE_BILLING",
+ ),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.RequiresReplace(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ManagedNotificationConfigurationArn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The managed notification configuration ARN, against which the account contact association will be created",
+ // "pattern": "^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$",
+ // "type": "string"
+ // }
+ "managed_notification_configuration_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The managed notification configuration ARN, against which the account contact association will be created",
+ Required: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.RegexMatches(regexp.MustCompile("^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$"), ""),
+ }, /*END VALIDATORS*/
+ 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: "This resource schema represents the ManagedNotificationAccountContactAssociation resource in the AWS User Notifications.",
+ Version: 1,
+ Attributes: attributes,
+ }
+
+ var opts generic.ResourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Notifications::ManagedNotificationAccountContactAssociation").WithTerraformTypeName("awscc_notifications_managed_notification_account_contact_association")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "contact_identifier": "ContactIdentifier",
+ "managed_notification_configuration_arn": "ManagedNotificationConfigurationArn",
+ })
+
+ 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/notifications/managed_notification_account_contact_association_resource_gen_test.go b/internal/aws/notifications/managed_notification_account_contact_association_resource_gen_test.go
new file mode 100644
index 000000000..c16a577ac
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_account_contact_association_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 notifications_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSNotificationsManagedNotificationAccountContactAssociation_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Notifications::ManagedNotificationAccountContactAssociation", "awscc_notifications_managed_notification_account_contact_association", "test")
+
+ td.ResourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
diff --git a/internal/aws/notifications/managed_notification_account_contact_association_singular_data_source_gen.go b/internal/aws/notifications/managed_notification_account_contact_association_singular_data_source_gen.go
new file mode 100644
index 000000000..83280f9b8
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_account_contact_association_singular_data_source_gen.go
@@ -0,0 +1,82 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
+
+package notifications
+
+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_notifications_managed_notification_account_contact_association", managedNotificationAccountContactAssociationDataSource)
+}
+
+// managedNotificationAccountContactAssociationDataSource returns the Terraform awscc_notifications_managed_notification_account_contact_association data source.
+// This Terraform data source corresponds to the CloudFormation AWS::Notifications::ManagedNotificationAccountContactAssociation resource.
+func managedNotificationAccountContactAssociationDataSource(ctx context.Context) (datasource.DataSource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ContactIdentifier
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "This unique identifier for Contact",
+ // "enum": [
+ // "ACCOUNT_PRIMARY",
+ // "ACCOUNT_ALTERNATE_SECURITY",
+ // "ACCOUNT_ALTERNATE_OPERATIONS",
+ // "ACCOUNT_ALTERNATE_BILLING"
+ // ],
+ // "type": "string"
+ // }
+ "contact_identifier": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "This unique identifier for Contact",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ManagedNotificationConfigurationArn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The managed notification configuration ARN, against which the account contact association will be created",
+ // "pattern": "^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$",
+ // "type": "string"
+ // }
+ "managed_notification_configuration_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "The managed notification configuration ARN, against which the account contact association will be created",
+ 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::Notifications::ManagedNotificationAccountContactAssociation",
+ Attributes: attributes,
+ }
+
+ var opts generic.DataSourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Notifications::ManagedNotificationAccountContactAssociation").WithTerraformTypeName("awscc_notifications_managed_notification_account_contact_association")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "contact_identifier": "ContactIdentifier",
+ "managed_notification_configuration_arn": "ManagedNotificationConfigurationArn",
+ })
+
+ v, err := generic.NewSingularDataSource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/notifications/managed_notification_account_contact_association_singular_data_source_gen_test.go b/internal/aws/notifications/managed_notification_account_contact_association_singular_data_source_gen_test.go
new file mode 100644
index 000000000..bc7609792
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_account_contact_association_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 notifications_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSNotificationsManagedNotificationAccountContactAssociationDataSource_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Notifications::ManagedNotificationAccountContactAssociation", "awscc_notifications_managed_notification_account_contact_association", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyDataSourceConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
+
+func TestAccAWSNotificationsManagedNotificationAccountContactAssociationDataSource_NonExistent(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Notifications::ManagedNotificationAccountContactAssociation", "awscc_notifications_managed_notification_account_contact_association", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.DataSourceWithNonExistentIDConfig(),
+ ExpectError: regexp.MustCompile("Not Found"),
+ },
+ })
+}
diff --git a/internal/aws/notifications/managed_notification_additional_channel_association_resource_gen.go b/internal/aws/notifications/managed_notification_additional_channel_association_resource_gen.go
new file mode 100644
index 000000000..6cf22d4f8
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_additional_channel_association_resource_gen.go
@@ -0,0 +1,103 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/resource/main.go; DO NOT EDIT.
+
+package notifications
+
+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/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_notifications_managed_notification_additional_channel_association", managedNotificationAdditionalChannelAssociationResource)
+}
+
+// managedNotificationAdditionalChannelAssociationResource returns the Terraform awscc_notifications_managed_notification_additional_channel_association resource.
+// This Terraform resource corresponds to the CloudFormation AWS::Notifications::ManagedNotificationAdditionalChannelAssociation resource.
+func managedNotificationAdditionalChannelAssociationResource(ctx context.Context) (resource.Resource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ChannelArn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "ARN identifier of the channel.\nExample: arn:aws:chatbot::123456789012:chat-configuration/slack-channel/security-ops",
+ // "pattern": "^arn:aws:(chatbot|consoleapp|notifications-contacts):[a-zA-Z0-9-]*:[0-9]{12}:[a-zA-Z0-9-_.@]+/[a-zA-Z0-9/_.@:-]+$",
+ // "type": "string"
+ // }
+ "channel_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "ARN identifier of the channel.\nExample: arn:aws:chatbot::123456789012:chat-configuration/slack-channel/security-ops",
+ Required: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws:(chatbot|consoleapp|notifications-contacts):[a-zA-Z0-9-]*:[0-9]{12}:[a-zA-Z0-9-_.@]+/[a-zA-Z0-9/_.@:-]+$"), ""),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.RequiresReplace(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: ManagedNotificationConfigurationArn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "ARN identifier of the Managed Notification.\nExample: arn:aws:notifications::381491923782:managed-notification-configuration/category/AWS-Health/sub-category/Billing",
+ // "pattern": "^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$",
+ // "type": "string"
+ // }
+ "managed_notification_configuration_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "ARN identifier of the Managed Notification.\nExample: arn:aws:notifications::381491923782:managed-notification-configuration/category/AWS-Health/sub-category/Billing",
+ Required: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.RegexMatches(regexp.MustCompile("^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$"), ""),
+ }, /*END VALIDATORS*/
+ 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: "Definition of AWS::Notifications::ManagedNotificationAdditionalChannelAssociation Resource Type",
+ Version: 1,
+ Attributes: attributes,
+ }
+
+ var opts generic.ResourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Notifications::ManagedNotificationAdditionalChannelAssociation").WithTerraformTypeName("awscc_notifications_managed_notification_additional_channel_association")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "channel_arn": "ChannelArn",
+ "managed_notification_configuration_arn": "ManagedNotificationConfigurationArn",
+ })
+
+ 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/notifications/managed_notification_additional_channel_association_resource_gen_test.go b/internal/aws/notifications/managed_notification_additional_channel_association_resource_gen_test.go
new file mode 100644
index 000000000..e7051033a
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_additional_channel_association_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 notifications_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSNotificationsManagedNotificationAdditionalChannelAssociation_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Notifications::ManagedNotificationAdditionalChannelAssociation", "awscc_notifications_managed_notification_additional_channel_association", "test")
+
+ td.ResourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
diff --git a/internal/aws/notifications/managed_notification_additional_channel_association_singular_data_source_gen.go b/internal/aws/notifications/managed_notification_additional_channel_association_singular_data_source_gen.go
new file mode 100644
index 000000000..344f669bc
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_additional_channel_association_singular_data_source_gen.go
@@ -0,0 +1,77 @@
+// Copyright (c) HashiCorp, Inc.
+// SPDX-License-Identifier: MPL-2.0
+
+// Code generated by generators/singular-data-source/main.go; DO NOT EDIT.
+
+package notifications
+
+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_notifications_managed_notification_additional_channel_association", managedNotificationAdditionalChannelAssociationDataSource)
+}
+
+// managedNotificationAdditionalChannelAssociationDataSource returns the Terraform awscc_notifications_managed_notification_additional_channel_association data source.
+// This Terraform data source corresponds to the CloudFormation AWS::Notifications::ManagedNotificationAdditionalChannelAssociation resource.
+func managedNotificationAdditionalChannelAssociationDataSource(ctx context.Context) (datasource.DataSource, error) {
+ attributes := map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: ChannelArn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "ARN identifier of the channel.\nExample: arn:aws:chatbot::123456789012:chat-configuration/slack-channel/security-ops",
+ // "pattern": "^arn:aws:(chatbot|consoleapp|notifications-contacts):[a-zA-Z0-9-]*:[0-9]{12}:[a-zA-Z0-9-_.@]+/[a-zA-Z0-9/_.@:-]+$",
+ // "type": "string"
+ // }
+ "channel_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "ARN identifier of the channel.\nExample: arn:aws:chatbot::123456789012:chat-configuration/slack-channel/security-ops",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ // Property: ManagedNotificationConfigurationArn
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "ARN identifier of the Managed Notification.\nExample: arn:aws:notifications::381491923782:managed-notification-configuration/category/AWS-Health/sub-category/Billing",
+ // "pattern": "^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$",
+ // "type": "string"
+ // }
+ "managed_notification_configuration_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "ARN identifier of the Managed Notification.\nExample: arn:aws:notifications::381491923782:managed-notification-configuration/category/AWS-Health/sub-category/Billing",
+ 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::Notifications::ManagedNotificationAdditionalChannelAssociation",
+ Attributes: attributes,
+ }
+
+ var opts generic.DataSourceOptions
+
+ opts = opts.WithCloudFormationTypeName("AWS::Notifications::ManagedNotificationAdditionalChannelAssociation").WithTerraformTypeName("awscc_notifications_managed_notification_additional_channel_association")
+ opts = opts.WithTerraformSchema(schema)
+ opts = opts.WithAttributeNameMap(map[string]string{
+ "channel_arn": "ChannelArn",
+ "managed_notification_configuration_arn": "ManagedNotificationConfigurationArn",
+ })
+
+ v, err := generic.NewSingularDataSource(ctx, opts...)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return v, nil
+}
diff --git a/internal/aws/notifications/managed_notification_additional_channel_association_singular_data_source_gen_test.go b/internal/aws/notifications/managed_notification_additional_channel_association_singular_data_source_gen_test.go
new file mode 100644
index 000000000..281db15f1
--- /dev/null
+++ b/internal/aws/notifications/managed_notification_additional_channel_association_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 notifications_test
+
+import (
+ "regexp"
+ "testing"
+
+ "github.com/hashicorp/terraform-plugin-testing/helper/resource"
+ "github.com/hashicorp/terraform-provider-awscc/internal/acctest"
+)
+
+func TestAccAWSNotificationsManagedNotificationAdditionalChannelAssociationDataSource_basic(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Notifications::ManagedNotificationAdditionalChannelAssociation", "awscc_notifications_managed_notification_additional_channel_association", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.EmptyDataSourceConfig(),
+ ExpectError: regexp.MustCompile("Missing required argument"),
+ },
+ })
+}
+
+func TestAccAWSNotificationsManagedNotificationAdditionalChannelAssociationDataSource_NonExistent(t *testing.T) {
+ td := acctest.NewTestData(t, "AWS::Notifications::ManagedNotificationAdditionalChannelAssociation", "awscc_notifications_managed_notification_additional_channel_association", "test")
+
+ td.DataSourceTest(t, []resource.TestStep{
+ {
+ Config: td.DataSourceWithNonExistentIDConfig(),
+ ExpectError: regexp.MustCompile("Not Found"),
+ },
+ })
+}
diff --git a/internal/aws/pcs/cluster_resource_gen.go b/internal/aws/pcs/cluster_resource_gen.go
index 5baf208ee..ff1b42360 100644
--- a/internal/aws/pcs/cluster_resource_gen.go
+++ b/internal/aws/pcs/cluster_resource_gen.go
@@ -184,7 +184,6 @@ func clusterResource(ctx context.Context) (resource.Resource, error) {
//
// {
// "description": "The name that identifies the cluster.",
- // "pattern": "",
// "type": "string"
// }
"name": schema.StringAttribute{ /*START ATTRIBUTE*/
diff --git a/internal/aws/pcs/cluster_singular_data_source_gen.go b/internal/aws/pcs/cluster_singular_data_source_gen.go
index d96711079..56c094535 100644
--- a/internal/aws/pcs/cluster_singular_data_source_gen.go
+++ b/internal/aws/pcs/cluster_singular_data_source_gen.go
@@ -160,7 +160,6 @@ func clusterDataSource(ctx context.Context) (datasource.DataSource, error) {
//
// {
// "description": "The name that identifies the cluster.",
- // "pattern": "",
// "type": "string"
// }
"name": schema.StringAttribute{ /*START ATTRIBUTE*/
diff --git a/internal/aws/pcs/compute_node_group_resource_gen.go b/internal/aws/pcs/compute_node_group_resource_gen.go
index 7dc698d2b..62e911018 100644
--- a/internal/aws/pcs/compute_node_group_resource_gen.go
+++ b/internal/aws/pcs/compute_node_group_resource_gen.go
@@ -237,7 +237,6 @@ func computeNodeGroupResource(ctx context.Context) (resource.Resource, error) {
//
// {
// "description": "The name that identifies the compute node group.",
- // "pattern": "",
// "type": "string"
// }
"name": schema.StringAttribute{ /*START ATTRIBUTE*/
diff --git a/internal/aws/pcs/compute_node_group_singular_data_source_gen.go b/internal/aws/pcs/compute_node_group_singular_data_source_gen.go
index 3bf034f33..3246cfb61 100644
--- a/internal/aws/pcs/compute_node_group_singular_data_source_gen.go
+++ b/internal/aws/pcs/compute_node_group_singular_data_source_gen.go
@@ -196,7 +196,6 @@ func computeNodeGroupDataSource(ctx context.Context) (datasource.DataSource, err
//
// {
// "description": "The name that identifies the compute node group.",
- // "pattern": "",
// "type": "string"
// }
"name": schema.StringAttribute{ /*START ATTRIBUTE*/
diff --git a/internal/aws/pcs/queue_resource_gen.go b/internal/aws/pcs/queue_resource_gen.go
index fbf04fd95..e8e80abca 100644
--- a/internal/aws/pcs/queue_resource_gen.go
+++ b/internal/aws/pcs/queue_resource_gen.go
@@ -161,7 +161,6 @@ func queueResource(ctx context.Context) (resource.Resource, error) {
//
// {
// "description": "The name that identifies the queue.",
- // "pattern": "",
// "type": "string"
// }
"name": schema.StringAttribute{ /*START ATTRIBUTE*/
diff --git a/internal/aws/pcs/queue_singular_data_source_gen.go b/internal/aws/pcs/queue_singular_data_source_gen.go
index c8b4f4825..495ec97e3 100644
--- a/internal/aws/pcs/queue_singular_data_source_gen.go
+++ b/internal/aws/pcs/queue_singular_data_source_gen.go
@@ -135,7 +135,6 @@ func queueDataSource(ctx context.Context) (datasource.DataSource, error) {
//
// {
// "description": "The name that identifies the queue.",
- // "pattern": "",
// "type": "string"
// }
"name": schema.StringAttribute{ /*START ATTRIBUTE*/
diff --git a/internal/aws/qbusiness/web_experience_resource_gen.go b/internal/aws/qbusiness/web_experience_resource_gen.go
index 0d30dc147..b242b6f77 100644
--- a/internal/aws/qbusiness/web_experience_resource_gen.go
+++ b/internal/aws/qbusiness/web_experience_resource_gen.go
@@ -11,12 +11,14 @@ import (
"github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes"
"github.com/hashicorp/terraform-plugin-framework-validators/listvalidator"
+ "github.com/hashicorp/terraform-plugin-framework-validators/setvalidator"
"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"
"github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier"
"github.com/hashicorp/terraform-plugin-framework/schema/validator"
"github.com/hashicorp/terraform-plugin-framework/types"
@@ -52,6 +54,60 @@ func webExperienceResource(ctx context.Context) (resource.Resource, error) {
stringplanmodifier.RequiresReplace(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: BrowserExtensionConfiguration
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "properties": {
+ // "EnabledBrowserExtensions": {
+ // "insertionOrder": false,
+ // "items": {
+ // "enum": [
+ // "FIREFOX",
+ // "CHROME"
+ // ],
+ // "type": "string"
+ // },
+ // "maxItems": 2,
+ // "minItems": 0,
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ // },
+ // "required": [
+ // "EnabledBrowserExtensions"
+ // ],
+ // "type": "object"
+ // }
+ "browser_extension_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: EnabledBrowserExtensions
+ "enabled_browser_extensions": schema.SetAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Set{ /*START VALIDATORS*/
+ setvalidator.SizeBetween(0, 2),
+ setvalidator.ValueStringsAre(
+ stringvalidator.OneOf(
+ "FIREFOX",
+ "CHROME",
+ ),
+ ),
+ fwvalidators.NotNullSet(),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Set{ /*START PLAN MODIFIERS*/
+ setplanmodifier.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: CreatedAt
// CloudFormation resource type schema:
//
@@ -568,10 +624,12 @@ func webExperienceResource(ctx context.Context) (resource.Resource, error) {
opts = opts.WithAttributeNameMap(map[string]string{
"application_id": "ApplicationId",
"authentication_url": "AuthenticationUrl",
+ "browser_extension_configuration": "BrowserExtensionConfiguration",
"created_at": "CreatedAt",
"custom_css_url": "CustomCSSUrl",
"customization_configuration": "CustomizationConfiguration",
"default_endpoint": "DefaultEndpoint",
+ "enabled_browser_extensions": "EnabledBrowserExtensions",
"favicon_url": "FaviconUrl",
"font_url": "FontUrl",
"identity_provider_configuration": "IdentityProviderConfiguration",
diff --git a/internal/aws/qbusiness/web_experience_singular_data_source_gen.go b/internal/aws/qbusiness/web_experience_singular_data_source_gen.go
index 9464ece33..f47de6f8a 100644
--- a/internal/aws/qbusiness/web_experience_singular_data_source_gen.go
+++ b/internal/aws/qbusiness/web_experience_singular_data_source_gen.go
@@ -36,6 +36,42 @@ func webExperienceDataSource(ctx context.Context) (datasource.DataSource, error)
"application_id": schema.StringAttribute{ /*START ATTRIBUTE*/
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: BrowserExtensionConfiguration
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "properties": {
+ // "EnabledBrowserExtensions": {
+ // "insertionOrder": false,
+ // "items": {
+ // "enum": [
+ // "FIREFOX",
+ // "CHROME"
+ // ],
+ // "type": "string"
+ // },
+ // "maxItems": 2,
+ // "minItems": 0,
+ // "type": "array",
+ // "uniqueItems": true
+ // }
+ // },
+ // "required": [
+ // "EnabledBrowserExtensions"
+ // ],
+ // "type": "object"
+ // }
+ "browser_extension_configuration": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: EnabledBrowserExtensions
+ "enabled_browser_extensions": schema.SetAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: CreatedAt
// CloudFormation resource type schema:
//
@@ -380,10 +416,12 @@ func webExperienceDataSource(ctx context.Context) (datasource.DataSource, error)
opts = opts.WithAttributeNameMap(map[string]string{
"application_id": "ApplicationId",
"authentication_url": "AuthenticationUrl",
+ "browser_extension_configuration": "BrowserExtensionConfiguration",
"created_at": "CreatedAt",
"custom_css_url": "CustomCSSUrl",
"customization_configuration": "CustomizationConfiguration",
"default_endpoint": "DefaultEndpoint",
+ "enabled_browser_extensions": "EnabledBrowserExtensions",
"favicon_url": "FaviconUrl",
"font_url": "FontUrl",
"identity_provider_configuration": "IdentityProviderConfiguration",
diff --git a/internal/aws/quicksight/topic_resource_gen.go b/internal/aws/quicksight/topic_resource_gen.go
index 600c55e8a..a8fc38abc 100644
--- a/internal/aws/quicksight/topic_resource_gen.go
+++ b/internal/aws/quicksight/topic_resource_gen.go
@@ -70,6 +70,37 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: ConfigOptions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "Model for configuration of a Topic",
+ // "properties": {
+ // "QBusinessInsightsEnabled": {
+ // "type": "boolean"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "config_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: QBusinessInsightsEnabled
+ "q_business_insights_enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Bool{ /*START PLAN MODIFIERS*/
+ boolplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Model for configuration of a Topic",
+ Optional: true,
+ Computed: true,
+ PlanModifiers: []planmodifier.Object{ /*START PLAN MODIFIERS*/
+ objectplanmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: DataSets
// CloudFormation resource type schema:
//
@@ -270,7 +301,9 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
// "THOUSANDS",
// "MILLIONS",
// "BILLIONS",
- // "TRILLIONS"
+ // "TRILLIONS",
+ // "LAKHS",
+ // "CRORES"
// ],
// "type": "string"
// },
@@ -593,7 +626,9 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
// "THOUSANDS",
// "MILLIONS",
// "BILLIONS",
- // "TRILLIONS"
+ // "TRILLIONS",
+ // "LAKHS",
+ // "CRORES"
// ],
// "type": "string"
// },
@@ -1525,6 +1560,8 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
"MILLIONS",
"BILLIONS",
"TRILLIONS",
+ "LAKHS",
+ "CRORES",
),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
@@ -2094,6 +2131,8 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
"MILLIONS",
"BILLIONS",
"TRILLIONS",
+ "LAKHS",
+ "CRORES",
),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
@@ -3122,6 +3161,30 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
stringplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
+ // Property: FolderArns
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "items": {
+ // "type": "string"
+ // },
+ // "maxItems": 20,
+ // "minItems": 0,
+ // "type": "array"
+ // }
+ "folder_arns": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Optional: true,
+ Computed: true,
+ Validators: []validator.List{ /*START VALIDATORS*/
+ listvalidator.SizeBetween(0, 20),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.List{ /*START PLAN MODIFIERS*/
+ listplanmodifier.UseStateForUnknown(),
+ listplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ // FolderArns is a write-only property.
+ }, /*END ATTRIBUTE*/
// Property: Name
// CloudFormation resource type schema:
//
@@ -3229,6 +3292,7 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
"column_synonyms": "ColumnSynonyms",
"columns": "Columns",
"comparative_order": "ComparativeOrder",
+ "config_options": "ConfigOptions",
"constant": "Constant",
"constant_type": "ConstantType",
"currency_symbol": "CurrencySymbol",
@@ -3261,6 +3325,7 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
"filter_synonyms": "FilterSynonyms",
"filter_type": "FilterType",
"filters": "Filters",
+ "folder_arns": "FolderArns",
"fraction_digits": "FractionDigits",
"grouping_separator": "GroupingSeparator",
"inclusive": "Inclusive",
@@ -3282,6 +3347,7 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
"property_name": "PropertyName",
"property_role": "PropertyRole",
"property_usage": "PropertyUsage",
+ "q_business_insights_enabled": "QBusinessInsightsEnabled",
"range_constant": "RangeConstant",
"relative_date_filter": "RelativeDateFilter",
"relative_date_filter_function": "RelativeDateFilterFunction",
@@ -3307,6 +3373,9 @@ func topicResource(ctx context.Context) (resource.Resource, error) {
"value_list": "ValueList",
})
+ opts = opts.WithWriteOnlyPropertyPaths([]string{
+ "/properties/FolderArns",
+ })
opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0)
opts = opts.WithUpdateTimeoutInMinutes(0)
diff --git a/internal/aws/quicksight/topic_singular_data_source_gen.go b/internal/aws/quicksight/topic_singular_data_source_gen.go
index d34715c23..7b8e71544 100644
--- a/internal/aws/quicksight/topic_singular_data_source_gen.go
+++ b/internal/aws/quicksight/topic_singular_data_source_gen.go
@@ -44,6 +44,29 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) {
"aws_account_id": schema.StringAttribute{ /*START ATTRIBUTE*/
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: ConfigOptions
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "additionalProperties": false,
+ // "description": "Model for configuration of a Topic",
+ // "properties": {
+ // "QBusinessInsightsEnabled": {
+ // "type": "boolean"
+ // }
+ // },
+ // "type": "object"
+ // }
+ "config_options": schema.SingleNestedAttribute{ /*START ATTRIBUTE*/
+ Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
+ // Property: QBusinessInsightsEnabled
+ "q_business_insights_enabled": schema.BoolAttribute{ /*START ATTRIBUTE*/
+ Computed: true,
+ }, /*END ATTRIBUTE*/
+ }, /*END SCHEMA*/
+ Description: "Model for configuration of a Topic",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: DataSets
// CloudFormation resource type schema:
//
@@ -244,7 +267,9 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) {
// "THOUSANDS",
// "MILLIONS",
// "BILLIONS",
- // "TRILLIONS"
+ // "TRILLIONS",
+ // "LAKHS",
+ // "CRORES"
// ],
// "type": "string"
// },
@@ -567,7 +592,9 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) {
// "THOUSANDS",
// "MILLIONS",
// "BILLIONS",
- // "TRILLIONS"
+ // "TRILLIONS",
+ // "LAKHS",
+ // "CRORES"
// ],
// "type": "string"
// },
@@ -1901,6 +1928,21 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) {
"description": schema.StringAttribute{ /*START ATTRIBUTE*/
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: FolderArns
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "items": {
+ // "type": "string"
+ // },
+ // "maxItems": 20,
+ // "minItems": 0,
+ // "type": "array"
+ // }
+ "folder_arns": schema.ListAttribute{ /*START ATTRIBUTE*/
+ ElementType: types.StringType,
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Name
// CloudFormation resource type schema:
//
@@ -1977,6 +2019,7 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) {
"column_synonyms": "ColumnSynonyms",
"columns": "Columns",
"comparative_order": "ComparativeOrder",
+ "config_options": "ConfigOptions",
"constant": "Constant",
"constant_type": "ConstantType",
"currency_symbol": "CurrencySymbol",
@@ -2009,6 +2052,7 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) {
"filter_synonyms": "FilterSynonyms",
"filter_type": "FilterType",
"filters": "Filters",
+ "folder_arns": "FolderArns",
"fraction_digits": "FractionDigits",
"grouping_separator": "GroupingSeparator",
"inclusive": "Inclusive",
@@ -2030,6 +2074,7 @@ func topicDataSource(ctx context.Context) (datasource.DataSource, error) {
"property_name": "PropertyName",
"property_role": "PropertyRole",
"property_usage": "PropertyUsage",
+ "q_business_insights_enabled": "QBusinessInsightsEnabled",
"range_constant": "RangeConstant",
"relative_date_filter": "RelativeDateFilter",
"relative_date_filter_function": "RelativeDateFilterFunction",
diff --git a/internal/aws/resiliencehub/app_resource_gen.go b/internal/aws/resiliencehub/app_resource_gen.go
index 014cde18a..7d53097b1 100644
--- a/internal/aws/resiliencehub/app_resource_gen.go
+++ b/internal/aws/resiliencehub/app_resource_gen.go
@@ -318,22 +318,6 @@ func appResource(ctx context.Context) (resource.Resource, error) {
objectplanmodifier.UseStateForUnknown(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
- // Property: RegulatoryPolicyArn
- // CloudFormation resource type schema:
- //
- // {
- // "description": "Amazon Resource Name (ARN) of the Regulatory Policy.",
- // "pattern": "",
- // "type": "string"
- // }
- "regulatory_policy_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "Amazon Resource Name (ARN) of the Regulatory Policy.",
- Optional: true,
- Computed: true,
- PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
- stringplanmodifier.UseStateForUnknown(),
- }, /*END PLAN MODIFIERS*/
- }, /*END ATTRIBUTE*/
// Property: ResiliencyPolicyArn
// CloudFormation resource type schema:
//
@@ -571,7 +555,6 @@ func appResource(ctx context.Context) (resource.Resource, error) {
"name": "Name",
"permission_model": "PermissionModel",
"physical_resource_id": "PhysicalResourceId",
- "regulatory_policy_arn": "RegulatoryPolicyArn",
"resiliency_policy_arn": "ResiliencyPolicyArn",
"resource_mappings": "ResourceMappings",
"resource_name": "ResourceName",
diff --git a/internal/aws/resiliencehub/app_singular_data_source_gen.go b/internal/aws/resiliencehub/app_singular_data_source_gen.go
index 0de4d4fe8..9c6676a00 100644
--- a/internal/aws/resiliencehub/app_singular_data_source_gen.go
+++ b/internal/aws/resiliencehub/app_singular_data_source_gen.go
@@ -224,18 +224,6 @@ func appDataSource(ctx context.Context) (datasource.DataSource, error) {
Description: "Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment.",
Computed: true,
}, /*END ATTRIBUTE*/
- // Property: RegulatoryPolicyArn
- // CloudFormation resource type schema:
- //
- // {
- // "description": "Amazon Resource Name (ARN) of the Regulatory Policy.",
- // "pattern": "",
- // "type": "string"
- // }
- "regulatory_policy_arn": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "Amazon Resource Name (ARN) of the Regulatory Policy.",
- Computed: true,
- }, /*END ATTRIBUTE*/
// Property: ResiliencyPolicyArn
// CloudFormation resource type schema:
//
@@ -415,7 +403,6 @@ func appDataSource(ctx context.Context) (datasource.DataSource, error) {
"name": "Name",
"permission_model": "PermissionModel",
"physical_resource_id": "PhysicalResourceId",
- "regulatory_policy_arn": "RegulatoryPolicyArn",
"resiliency_policy_arn": "ResiliencyPolicyArn",
"resource_mappings": "ResourceMappings",
"resource_name": "ResourceName",
diff --git a/internal/aws/sagemaker/domain_resource_gen.go b/internal/aws/sagemaker/domain_resource_gen.go
index 29f1d639d..3aa8fbb95 100644
--- a/internal/aws/sagemaker/domain_resource_gen.go
+++ b/internal/aws/sagemaker/domain_resource_gen.go
@@ -2640,7 +2640,8 @@ func domainResource(ctx context.Context) (resource.Resource, error) {
// "Comet",
// "DeepchecksLLMEvaluation",
// "Fiddler",
- // "LakeraGuard"
+ // "LakeraGuard",
+ // "PerformanceEvaluation"
// ],
// "type": "string"
// },
@@ -4178,6 +4179,7 @@ func domainResource(ctx context.Context) (resource.Resource, error) {
"DeepchecksLLMEvaluation",
"Fiddler",
"LakeraGuard",
+ "PerformanceEvaluation",
),
),
}, /*END VALIDATORS*/
diff --git a/internal/aws/sagemaker/domain_singular_data_source_gen.go b/internal/aws/sagemaker/domain_singular_data_source_gen.go
index 2280be065..2787ae41c 100644
--- a/internal/aws/sagemaker/domain_singular_data_source_gen.go
+++ b/internal/aws/sagemaker/domain_singular_data_source_gen.go
@@ -2018,7 +2018,8 @@ func domainDataSource(ctx context.Context) (datasource.DataSource, error) {
// "Comet",
// "DeepchecksLLMEvaluation",
// "Fiddler",
- // "LakeraGuard"
+ // "LakeraGuard",
+ // "PerformanceEvaluation"
// ],
// "type": "string"
// },
diff --git a/internal/aws/sagemaker/user_profile_resource_gen.go b/internal/aws/sagemaker/user_profile_resource_gen.go
index 25e60da66..b4fc8fcec 100644
--- a/internal/aws/sagemaker/user_profile_resource_gen.go
+++ b/internal/aws/sagemaker/user_profile_resource_gen.go
@@ -1099,7 +1099,8 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) {
// "Comet",
// "DeepchecksLLMEvaluation",
// "Fiddler",
- // "LakeraGuard"
+ // "LakeraGuard",
+ // "PerformanceEvaluation"
// ],
// "type": "string"
// },
@@ -2445,6 +2446,7 @@ func userProfileResource(ctx context.Context) (resource.Resource, error) {
"DeepchecksLLMEvaluation",
"Fiddler",
"LakeraGuard",
+ "PerformanceEvaluation",
),
),
}, /*END VALIDATORS*/
diff --git a/internal/aws/sagemaker/user_profile_singular_data_source_gen.go b/internal/aws/sagemaker/user_profile_singular_data_source_gen.go
index b43fca6ba..af9a356bc 100644
--- a/internal/aws/sagemaker/user_profile_singular_data_source_gen.go
+++ b/internal/aws/sagemaker/user_profile_singular_data_source_gen.go
@@ -1030,7 +1030,8 @@ func userProfileDataSource(ctx context.Context) (datasource.DataSource, error) {
// "Comet",
// "DeepchecksLLMEvaluation",
// "Fiddler",
- // "LakeraGuard"
+ // "LakeraGuard",
+ // "PerformanceEvaluation"
// ],
// "type": "string"
// },
diff --git a/internal/aws/ssmincidents/replication_set_resource_gen.go b/internal/aws/ssmincidents/replication_set_resource_gen.go
index 400581e98..c178be36b 100644
--- a/internal/aws/ssmincidents/replication_set_resource_gen.go
+++ b/internal/aws/ssmincidents/replication_set_resource_gen.go
@@ -7,7 +7,6 @@ package ssmincidents
import (
"context"
- "regexp"
"github.com/hashicorp/terraform-plugin-framework-validators/setvalidator"
"github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
@@ -82,9 +81,8 @@ func replicationSetResource(ctx context.Context) (resource.Resource, error) {
// "description": "The ReplicationSet regional configuration.",
// "properties": {
// "SseKmsKeyId": {
- // "description": "The ARN of the ReplicationSet.",
- // "maxLength": 1000,
- // "pattern": "^arn:aws(-(cn|us-gov|iso(-b)?))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$",
+ // "description": "The AWS Key Management Service key ID or Key Alias to use to encrypt your replication set.",
+ // "maxLength": 2048,
// "type": "string"
// }
// },
@@ -114,12 +112,11 @@ func replicationSetResource(ctx context.Context) (resource.Resource, error) {
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: SseKmsKeyId
"sse_kms_key_id": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The ARN of the ReplicationSet.",
+ Description: "The AWS Key Management Service key ID or Key Alias to use to encrypt your replication set.",
Optional: true,
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
- stringvalidator.LengthAtMost(1000),
- stringvalidator.RegexMatches(regexp.MustCompile("^arn:aws(-(cn|us-gov|iso(-b)?))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$"), ""),
+ stringvalidator.LengthAtMost(2048),
fwvalidators.NotNullString(),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
diff --git a/internal/aws/ssmincidents/replication_set_singular_data_source_gen.go b/internal/aws/ssmincidents/replication_set_singular_data_source_gen.go
index 0f11cb872..911fdc0c4 100644
--- a/internal/aws/ssmincidents/replication_set_singular_data_source_gen.go
+++ b/internal/aws/ssmincidents/replication_set_singular_data_source_gen.go
@@ -62,9 +62,8 @@ func replicationSetDataSource(ctx context.Context) (datasource.DataSource, error
// "description": "The ReplicationSet regional configuration.",
// "properties": {
// "SseKmsKeyId": {
- // "description": "The ARN of the ReplicationSet.",
- // "maxLength": 1000,
- // "pattern": "^arn:aws(-(cn|us-gov|iso(-b)?))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$",
+ // "description": "The AWS Key Management Service key ID or Key Alias to use to encrypt your replication set.",
+ // "maxLength": 2048,
// "type": "string"
// }
// },
@@ -94,7 +93,7 @@ func replicationSetDataSource(ctx context.Context) (datasource.DataSource, error
Attributes: map[string]schema.Attribute{ /*START SCHEMA*/
// Property: SseKmsKeyId
"sse_kms_key_id": schema.StringAttribute{ /*START ATTRIBUTE*/
- Description: "The ARN of the ReplicationSet.",
+ Description: "The AWS Key Management Service key ID or Key Alias to use to encrypt your replication set.",
Computed: true,
}, /*END ATTRIBUTE*/
}, /*END SCHEMA*/
diff --git a/internal/aws/timestream/influx_db_instance_resource_gen.go b/internal/aws/timestream/influx_db_instance_resource_gen.go
index 07175953f..952f311a6 100644
--- a/internal/aws/timestream/influx_db_instance_resource_gen.go
+++ b/internal/aws/timestream/influx_db_instance_resource_gen.go
@@ -149,7 +149,6 @@ func influxDBInstanceResource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: DbParameterGroupIdentifier
@@ -225,7 +224,6 @@ func influxDBInstanceResource(ctx context.Context) (resource.Resource, error) {
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
- stringplanmodifier.RequiresReplaceIfConfigured(),
}, /*END PLAN MODIFIERS*/
}, /*END ATTRIBUTE*/
// Property: Endpoint
@@ -366,7 +364,7 @@ func influxDBInstanceResource(ctx context.Context) (resource.Resource, error) {
// "description": "The unique name that is associated with the InfluxDB instance.",
// "maxLength": 40,
// "minLength": 3,
- // "pattern": "^[a-zA-z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ // "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
// "type": "string"
// }
"name": schema.StringAttribute{ /*START ATTRIBUTE*/
@@ -375,7 +373,33 @@ func influxDBInstanceResource(ctx context.Context) (resource.Resource, error) {
Computed: true,
Validators: []validator.String{ /*START VALIDATORS*/
stringvalidator.LengthBetween(3, 40),
- stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$"), ""),
+ stringvalidator.RegexMatches(regexp.MustCompile("^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$"), ""),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
+ stringplanmodifier.UseStateForUnknown(),
+ stringplanmodifier.RequiresReplaceIfConfigured(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
+ // Property: NetworkType
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Network type of the InfluxDB Instance.",
+ // "enum": [
+ // "IPV4",
+ // "DUAL"
+ // ],
+ // "type": "string"
+ // }
+ "network_type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Network type of the InfluxDB Instance.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.String{ /*START VALIDATORS*/
+ stringvalidator.OneOf(
+ "IPV4",
+ "DUAL",
+ ),
}, /*END VALIDATORS*/
PlanModifiers: []planmodifier.String{ /*START PLAN MODIFIERS*/
stringplanmodifier.UseStateForUnknown(),
@@ -428,6 +452,26 @@ func influxDBInstanceResource(ctx context.Context) (resource.Resource, error) {
}, /*END PLAN MODIFIERS*/
// Password is a write-only property.
}, /*END ATTRIBUTE*/
+ // Property: Port
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The port number on which InfluxDB accepts connections.",
+ // "maximum": 65535,
+ // "minimum": 1024,
+ // "type": "integer"
+ // }
+ "port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The port number on which InfluxDB accepts connections.",
+ Optional: true,
+ Computed: true,
+ Validators: []validator.Int64{ /*START VALIDATORS*/
+ int64validator.Between(1024, 65535),
+ }, /*END VALIDATORS*/
+ PlanModifiers: []planmodifier.Int64{ /*START PLAN MODIFIERS*/
+ int64planmodifier.UseStateForUnknown(),
+ }, /*END PLAN MODIFIERS*/
+ }, /*END ATTRIBUTE*/
// Property: PubliclyAccessible
// CloudFormation resource type schema:
//
@@ -471,6 +515,8 @@ func influxDBInstanceResource(ctx context.Context) (resource.Resource, error) {
// "DELETING",
// "MODIFYING",
// "UPDATING",
+ // "UPDATING_DEPLOYMENT_TYPE",
+ // "UPDATING_INSTANCE_TYPE",
// "DELETED",
// "FAILED"
// ],
@@ -670,8 +716,10 @@ func influxDBInstanceResource(ctx context.Context) (resource.Resource, error) {
"key": "Key",
"log_delivery_configuration": "LogDeliveryConfiguration",
"name": "Name",
+ "network_type": "NetworkType",
"organization": "Organization",
"password": "Password",
+ "port": "Port",
"publicly_accessible": "PubliclyAccessible",
"s3_configuration": "S3Configuration",
"secondary_availability_zone": "SecondaryAvailabilityZone",
diff --git a/internal/aws/timestream/influx_db_instance_singular_data_source_gen.go b/internal/aws/timestream/influx_db_instance_singular_data_source_gen.go
index 85744b2fe..50d022603 100644
--- a/internal/aws/timestream/influx_db_instance_singular_data_source_gen.go
+++ b/internal/aws/timestream/influx_db_instance_singular_data_source_gen.go
@@ -243,13 +243,28 @@ func influxDBInstanceDataSource(ctx context.Context) (datasource.DataSource, err
// "description": "The unique name that is associated with the InfluxDB instance.",
// "maxLength": 40,
// "minLength": 3,
- // "pattern": "^[a-zA-z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ // "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
// "type": "string"
// }
"name": schema.StringAttribute{ /*START ATTRIBUTE*/
Description: "The unique name that is associated with the InfluxDB instance.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: NetworkType
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "Network type of the InfluxDB Instance.",
+ // "enum": [
+ // "IPV4",
+ // "DUAL"
+ // ],
+ // "type": "string"
+ // }
+ "network_type": schema.StringAttribute{ /*START ATTRIBUTE*/
+ Description: "Network type of the InfluxDB Instance.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: Organization
// CloudFormation resource type schema:
//
@@ -277,6 +292,19 @@ func influxDBInstanceDataSource(ctx context.Context) (datasource.DataSource, err
Description: "The password for the InfluxDB instance.",
Computed: true,
}, /*END ATTRIBUTE*/
+ // Property: Port
+ // CloudFormation resource type schema:
+ //
+ // {
+ // "description": "The port number on which InfluxDB accepts connections.",
+ // "maximum": 65535,
+ // "minimum": 1024,
+ // "type": "integer"
+ // }
+ "port": schema.Int64Attribute{ /*START ATTRIBUTE*/
+ Description: "The port number on which InfluxDB accepts connections.",
+ Computed: true,
+ }, /*END ATTRIBUTE*/
// Property: PubliclyAccessible
// CloudFormation resource type schema:
//
@@ -311,6 +339,8 @@ func influxDBInstanceDataSource(ctx context.Context) (datasource.DataSource, err
// "DELETING",
// "MODIFYING",
// "UPDATING",
+ // "UPDATING_DEPLOYMENT_TYPE",
+ // "UPDATING_INSTANCE_TYPE",
// "DELETED",
// "FAILED"
// ],
@@ -453,8 +483,10 @@ func influxDBInstanceDataSource(ctx context.Context) (datasource.DataSource, err
"key": "Key",
"log_delivery_configuration": "LogDeliveryConfiguration",
"name": "Name",
+ "network_type": "NetworkType",
"organization": "Organization",
"password": "Password",
+ "port": "Port",
"publicly_accessible": "PubliclyAccessible",
"s3_configuration": "S3Configuration",
"secondary_availability_zone": "SecondaryAvailabilityZone",
diff --git a/internal/provider/all_schemas.hcl b/internal/provider/all_schemas.hcl
index 71cdda04e..fba67cdd6 100644
--- a/internal/provider/all_schemas.hcl
+++ b/internal/provider/all_schemas.hcl
@@ -874,6 +874,11 @@ 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"
+ suppress_plural_data_source_generation = true
+}
+
resource_schema "aws_cloudtrail_channel" {
cloudformation_type_name = "AWS::CloudTrail::Channel"
}
@@ -3591,6 +3596,15 @@ resource_schema "aws_notifications_event_rule" {
suppress_plural_data_source_generation = true
}
+resource_schema "aws_notifications_managed_notification_account_contact_association" {
+ cloudformation_type_name = "AWS::Notifications::ManagedNotificationAccountContactAssociation"
+}
+
+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"
}
diff --git a/internal/provider/generators/allschemas/available_schemas.2025-01-27.hcl b/internal/provider/generators/allschemas/available_schemas.2025-01-27.hcl
new file mode 100644
index 000000000..19b56c2f0
--- /dev/null
+++ b/internal/provider/generators/allschemas/available_schemas.2025-01-27.hcl
@@ -0,0 +1,4835 @@
+# 1137 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_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_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_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_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_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 e30596ab8..9e7badb5e 100644
--- a/internal/provider/import_examples_gen.json
+++ b/internal/provider/import_examples_gen.json
@@ -884,6 +884,11 @@
"identifier": ["Id"],
"path": "./examples/resources/awscc_cloudfront_response_headers_policy/import.sh"
},
+ {
+ "resource": "awscc_cloudfront_vpc_origin",
+ "identifier": ["Id"],
+ "path": "./examples/resources/awscc_cloudfront_vpc_origin/import.sh"
+ },
{
"resource": "awscc_cloudtrail_channel",
"identifier": ["ChannelArn"],
@@ -3889,6 +3894,16 @@
"identifier": ["Arn"],
"path": "./examples/resources/awscc_notifications_event_rule/import.sh"
},
+ {
+ "resource": "awscc_notifications_managed_notification_account_contact_association",
+ "identifier": ["ManagedNotificationConfigurationArn","ContactIdentifier"],
+ "path": "./examples/resources/awscc_notifications_managed_notification_account_contact_association/import.sh"
+ },
+ {
+ "resource": "awscc_notifications_managed_notification_additional_channel_association",
+ "identifier": ["ChannelArn","ManagedNotificationConfigurationArn"],
+ "path": "./examples/resources/awscc_notifications_managed_notification_additional_channel_association/import.sh"
+ },
{
"resource": "awscc_notifications_notification_configuration",
"identifier": ["Arn"],
diff --git a/internal/provider/plural_data_sources.go b/internal/provider/plural_data_sources.go
index 6967b798d..c8bf06c05 100644
--- a/internal/provider/plural_data_sources.go
+++ b/internal/provider/plural_data_sources.go
@@ -588,6 +588,7 @@
//go:generate go run generators/plural-data-source/main.go -data-source awscc_networkmanager_transit_gateway_route_table_attachments -cftype AWS::NetworkManager::TransitGatewayRouteTableAttachment -package networkmanager ../aws/networkmanager/transit_gateway_route_table_attachment_plural_data_source_gen.go ../aws/networkmanager/transit_gateway_route_table_attachment_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_networkmanager_vpc_attachments -cftype AWS::NetworkManager::VpcAttachment -package networkmanager ../aws/networkmanager/vpc_attachment_plural_data_source_gen.go ../aws/networkmanager/vpc_attachment_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_nimblestudio_studios -cftype AWS::NimbleStudio::Studio -package nimblestudio ../aws/nimblestudio/studio_plural_data_source_gen.go ../aws/nimblestudio/studio_plural_data_source_gen_test.go
+//go:generate go run generators/plural-data-source/main.go -data-source awscc_notifications_managed_notification_account_contact_associations -cftype AWS::Notifications::ManagedNotificationAccountContactAssociation -package notifications ../aws/notifications/managed_notification_account_contact_association_plural_data_source_gen.go ../aws/notifications/managed_notification_account_contact_association_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_notifications_notification_configurations -cftype AWS::Notifications::NotificationConfiguration -package notifications ../aws/notifications/notification_configuration_plural_data_source_gen.go ../aws/notifications/notification_configuration_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_notifications_notification_hubs -cftype AWS::Notifications::NotificationHub -package notifications ../aws/notifications/notification_hub_plural_data_source_gen.go ../aws/notifications/notification_hub_plural_data_source_gen_test.go
//go:generate go run generators/plural-data-source/main.go -data-source awscc_notificationscontacts_email_contacts -cftype AWS::NotificationsContacts::EmailContact -package notificationscontacts ../aws/notificationscontacts/email_contact_plural_data_source_gen.go ../aws/notificationscontacts/email_contact_plural_data_source_gen_test.go
diff --git a/internal/provider/resources.go b/internal/provider/resources.go
index 56a927a17..bbd0d8755 100644
--- a/internal/provider/resources.go
+++ b/internal/provider/resources.go
@@ -179,6 +179,7 @@
//go:generate go run generators/resource/main.go -resource awscc_cloudfront_public_key -cfschema ../service/cloudformation/schemas/AWS_CloudFront_PublicKey.json -package cloudfront -- ../aws/cloudfront/public_key_resource_gen.go ../aws/cloudfront/public_key_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cloudfront_realtime_log_config -cfschema ../service/cloudformation/schemas/AWS_CloudFront_RealtimeLogConfig.json -package cloudfront -- ../aws/cloudfront/realtime_log_config_resource_gen.go ../aws/cloudfront/realtime_log_config_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cloudfront_response_headers_policy -cfschema ../service/cloudformation/schemas/AWS_CloudFront_ResponseHeadersPolicy.json -package cloudfront -- ../aws/cloudfront/response_headers_policy_resource_gen.go ../aws/cloudfront/response_headers_policy_resource_gen_test.go
+//go:generate go run generators/resource/main.go -resource awscc_cloudfront_vpc_origin -cfschema ../service/cloudformation/schemas/AWS_CloudFront_VpcOrigin.json -package cloudfront -- ../aws/cloudfront/vpc_origin_resource_gen.go ../aws/cloudfront/vpc_origin_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cloudtrail_channel -cfschema ../service/cloudformation/schemas/AWS_CloudTrail_Channel.json -package cloudtrail -- ../aws/cloudtrail/channel_resource_gen.go ../aws/cloudtrail/channel_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cloudtrail_dashboard -cfschema ../service/cloudformation/schemas/AWS_CloudTrail_Dashboard.json -package cloudtrail -- ../aws/cloudtrail/dashboard_resource_gen.go ../aws/cloudtrail/dashboard_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_cloudtrail_event_data_store -cfschema ../service/cloudformation/schemas/AWS_CloudTrail_EventDataStore.json -package cloudtrail -- ../aws/cloudtrail/event_data_store_resource_gen.go ../aws/cloudtrail/event_data_store_resource_gen_test.go
@@ -780,6 +781,8 @@
//go:generate go run generators/resource/main.go -resource awscc_nimblestudio_studio_component -cfschema ../service/cloudformation/schemas/AWS_NimbleStudio_StudioComponent.json -package nimblestudio -- ../aws/nimblestudio/studio_component_resource_gen.go ../aws/nimblestudio/studio_component_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_notifications_channel_association -cfschema ../service/cloudformation/schemas/AWS_Notifications_ChannelAssociation.json -package notifications -- ../aws/notifications/channel_association_resource_gen.go ../aws/notifications/channel_association_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_notifications_event_rule -cfschema ../service/cloudformation/schemas/AWS_Notifications_EventRule.json -package notifications -- ../aws/notifications/event_rule_resource_gen.go ../aws/notifications/event_rule_resource_gen_test.go
+//go:generate go run generators/resource/main.go -resource awscc_notifications_managed_notification_account_contact_association -cfschema ../service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAccountContactAssociation.json -package notifications -- ../aws/notifications/managed_notification_account_contact_association_resource_gen.go ../aws/notifications/managed_notification_account_contact_association_resource_gen_test.go
+//go:generate go run generators/resource/main.go -resource awscc_notifications_managed_notification_additional_channel_association -cfschema ../service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAdditionalChannelAssociation.json -package notifications -- ../aws/notifications/managed_notification_additional_channel_association_resource_gen.go ../aws/notifications/managed_notification_additional_channel_association_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_notifications_notification_configuration -cfschema ../service/cloudformation/schemas/AWS_Notifications_NotificationConfiguration.json -package notifications -- ../aws/notifications/notification_configuration_resource_gen.go ../aws/notifications/notification_configuration_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_notifications_notification_hub -cfschema ../service/cloudformation/schemas/AWS_Notifications_NotificationHub.json -package notifications -- ../aws/notifications/notification_hub_resource_gen.go ../aws/notifications/notification_hub_resource_gen_test.go
//go:generate go run generators/resource/main.go -resource awscc_notificationscontacts_email_contact -cfschema ../service/cloudformation/schemas/AWS_NotificationsContacts_EmailContact.json -package notificationscontacts -- ../aws/notificationscontacts/email_contact_resource_gen.go ../aws/notificationscontacts/email_contact_resource_gen_test.go
diff --git a/internal/provider/singular_data_sources.go b/internal/provider/singular_data_sources.go
index e45f865d9..e215fd074 100644
--- a/internal/provider/singular_data_sources.go
+++ b/internal/provider/singular_data_sources.go
@@ -179,6 +179,7 @@
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cloudfront_public_key -cfschema ../service/cloudformation/schemas/AWS_CloudFront_PublicKey.json -package cloudfront ../aws/cloudfront/public_key_singular_data_source_gen.go ../aws/cloudfront/public_key_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cloudfront_realtime_log_config -cfschema ../service/cloudformation/schemas/AWS_CloudFront_RealtimeLogConfig.json -package cloudfront ../aws/cloudfront/realtime_log_config_singular_data_source_gen.go ../aws/cloudfront/realtime_log_config_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cloudfront_response_headers_policy -cfschema ../service/cloudformation/schemas/AWS_CloudFront_ResponseHeadersPolicy.json -package cloudfront ../aws/cloudfront/response_headers_policy_singular_data_source_gen.go ../aws/cloudfront/response_headers_policy_singular_data_source_gen_test.go
+//go:generate go run generators/singular-data-source/main.go -data-source awscc_cloudfront_vpc_origin -cfschema ../service/cloudformation/schemas/AWS_CloudFront_VpcOrigin.json -package cloudfront ../aws/cloudfront/vpc_origin_singular_data_source_gen.go ../aws/cloudfront/vpc_origin_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cloudtrail_channel -cfschema ../service/cloudformation/schemas/AWS_CloudTrail_Channel.json -package cloudtrail ../aws/cloudtrail/channel_singular_data_source_gen.go ../aws/cloudtrail/channel_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cloudtrail_dashboard -cfschema ../service/cloudformation/schemas/AWS_CloudTrail_Dashboard.json -package cloudtrail ../aws/cloudtrail/dashboard_singular_data_source_gen.go ../aws/cloudtrail/dashboard_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_cloudtrail_event_data_store -cfschema ../service/cloudformation/schemas/AWS_CloudTrail_EventDataStore.json -package cloudtrail ../aws/cloudtrail/event_data_store_singular_data_source_gen.go ../aws/cloudtrail/event_data_store_singular_data_source_gen_test.go
@@ -780,6 +781,8 @@
//go:generate go run generators/singular-data-source/main.go -data-source awscc_nimblestudio_studio_component -cfschema ../service/cloudformation/schemas/AWS_NimbleStudio_StudioComponent.json -package nimblestudio ../aws/nimblestudio/studio_component_singular_data_source_gen.go ../aws/nimblestudio/studio_component_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_notifications_channel_association -cfschema ../service/cloudformation/schemas/AWS_Notifications_ChannelAssociation.json -package notifications ../aws/notifications/channel_association_singular_data_source_gen.go ../aws/notifications/channel_association_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_notifications_event_rule -cfschema ../service/cloudformation/schemas/AWS_Notifications_EventRule.json -package notifications ../aws/notifications/event_rule_singular_data_source_gen.go ../aws/notifications/event_rule_singular_data_source_gen_test.go
+//go:generate go run generators/singular-data-source/main.go -data-source awscc_notifications_managed_notification_account_contact_association -cfschema ../service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAccountContactAssociation.json -package notifications ../aws/notifications/managed_notification_account_contact_association_singular_data_source_gen.go ../aws/notifications/managed_notification_account_contact_association_singular_data_source_gen_test.go
+//go:generate go run generators/singular-data-source/main.go -data-source awscc_notifications_managed_notification_additional_channel_association -cfschema ../service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAdditionalChannelAssociation.json -package notifications ../aws/notifications/managed_notification_additional_channel_association_singular_data_source_gen.go ../aws/notifications/managed_notification_additional_channel_association_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_notifications_notification_configuration -cfschema ../service/cloudformation/schemas/AWS_Notifications_NotificationConfiguration.json -package notifications ../aws/notifications/notification_configuration_singular_data_source_gen.go ../aws/notifications/notification_configuration_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_notifications_notification_hub -cfschema ../service/cloudformation/schemas/AWS_Notifications_NotificationHub.json -package notifications ../aws/notifications/notification_hub_singular_data_source_gen.go ../aws/notifications/notification_hub_singular_data_source_gen_test.go
//go:generate go run generators/singular-data-source/main.go -data-source awscc_notificationscontacts_email_contact -cfschema ../service/cloudformation/schemas/AWS_NotificationsContacts_EmailContact.json -package notificationscontacts ../aws/notificationscontacts/email_contact_singular_data_source_gen.go ../aws/notificationscontacts/email_contact_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 c6cf1caa9..9de7510af 100644
--- a/internal/service/cloudformation/schemas/AWS_ACMPCA_CertificateAuthority.json
+++ b/internal/service/cloudformation/schemas/AWS_ACMPCA_CertificateAuthority.json
@@ -423,7 +423,6 @@
"/properties/Subject",
"/properties/Subject",
"/properties/CsrExtensions",
- "/properties/Tags",
"/properties/RevocationConfiguration",
"/properties/KeyStorageSecurityStandard"
],
@@ -456,7 +455,6 @@
},
"update": {
"permissions": [
- "acm-pca:ListTags",
"acm-pca:TagCertificateAuthority",
"acm-pca:UntagCertificateAuthority",
"acm-pca:UpdateCertificateAuthority"
diff --git a/internal/service/cloudformation/schemas/AWS_AppFlow_Flow.json b/internal/service/cloudformation/schemas/AWS_AppFlow_Flow.json
index 31a873a25..998005c55 100644
--- a/internal/service/cloudformation/schemas/AWS_AppFlow_Flow.json
+++ b/internal/service/cloudformation/schemas/AWS_AppFlow_Flow.json
@@ -1734,6 +1734,7 @@
},
"update": {
"permissions": [
+ "appflow:DescribeFlow",
"appflow:UpdateFlow",
"appflow:StartFlow",
"appflow:StopFlow",
@@ -1765,6 +1766,12 @@
"taggable": true,
"tagOnCreate": true,
"tagUpdatable": false,
- "cloudFormationSystemTags": false
+ "cloudFormationSystemTags": false,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "appflow:TagResource",
+ "appflow:UntagResource",
+ "appflow:ListTagsForResource"
+ ]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_Athena_DataCatalog.json b/internal/service/cloudformation/schemas/AWS_Athena_DataCatalog.json
index 18462c7ca..50c062d35 100644
--- a/internal/service/cloudformation/schemas/AWS_Athena_DataCatalog.json
+++ b/internal/service/cloudformation/schemas/AWS_Athena_DataCatalog.json
@@ -102,7 +102,7 @@
},
"list": {
"permissions": [
- "athena:ListDataCatalog"
+ "athena:ListDataCatalogs"
]
}
},
diff --git a/internal/service/cloudformation/schemas/AWS_Bedrock_KnowledgeBase.json b/internal/service/cloudformation/schemas/AWS_Bedrock_KnowledgeBase.json
index 124fc7252..39755d8fc 100644
--- a/internal/service/cloudformation/schemas/AWS_Bedrock_KnowledgeBase.json
+++ b/internal/service/cloudformation/schemas/AWS_Bedrock_KnowledgeBase.json
@@ -459,6 +459,14 @@
"maximum": 4096,
"minimum": 0,
"description": "The dimensions details for the vector configuration used on the Bedrock embeddings model."
+ },
+ "EmbeddingDataType": {
+ "type": "string",
+ "description": "The data type for the vectors when using a model to convert text into vector embeddings.",
+ "enum": [
+ "FLOAT32",
+ "BINARY"
+ ]
}
},
"additionalProperties": false
diff --git a/internal/service/cloudformation/schemas/AWS_Bedrock_PromptVersion.json b/internal/service/cloudformation/schemas/AWS_Bedrock_PromptVersion.json
index ae1d06599..0edbe239a 100644
--- a/internal/service/cloudformation/schemas/AWS_Bedrock_PromptVersion.json
+++ b/internal/service/cloudformation/schemas/AWS_Bedrock_PromptVersion.json
@@ -7,7 +7,8 @@
"type": "string",
"description": "Prompt template type",
"enum": [
- "TEXT"
+ "TEXT",
+ "CHAT"
]
},
"PromptVariant": {
@@ -34,6 +35,9 @@
},
"InferenceConfiguration": {
"$ref": "#/definitions/PromptInferenceConfiguration"
+ },
+ "GenAiResource": {
+ "$ref": "#/definitions/PromptGenAiResource"
}
},
"required": [
@@ -69,6 +73,47 @@
],
"additionalProperties": false
},
+ "ChatPromptTemplateConfiguration": {
+ "type": "object",
+ "description": "Configuration for chat prompt template",
+ "properties": {
+ "Messages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Message"
+ },
+ "minItems": 0,
+ "description": "List of messages for chat prompt template",
+ "insertionOrder": true
+ },
+ "System": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SystemContentBlock"
+ },
+ "minItems": 0,
+ "description": "Configuration for chat prompt template",
+ "insertionOrder": true
+ },
+ "ToolConfiguration": {
+ "$ref": "#/definitions/ToolConfiguration"
+ },
+ "InputVariables": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PromptInputVariable"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "description": "List of input variables",
+ "insertionOrder": true
+ }
+ },
+ "required": [
+ "Messages"
+ ],
+ "additionalProperties": false
+ },
"PromptTemplateConfiguration": {
"description": "Prompt template configuration",
"oneOf": [
@@ -84,9 +129,248 @@
"Text"
],
"additionalProperties": false
+ },
+ {
+ "type": "object",
+ "title": "Chat",
+ "properties": {
+ "Chat": {
+ "$ref": "#/definitions/ChatPromptTemplateConfiguration"
+ }
+ },
+ "required": [
+ "Chat"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "ConversationRole": {
+ "type": "string",
+ "description": "Conversation roles for the chat prompt",
+ "enum": [
+ "user",
+ "assistant"
+ ]
+ },
+ "ContentBlock": {
+ "description": "Configuration for chat prompt template",
+ "oneOf": [
+ {
+ "title": "Text",
+ "type": "object",
+ "properties": {
+ "Text": {
+ "type": "string",
+ "minLength": 1,
+ "description": "Configuration for chat prompt template"
+ }
+ },
+ "required": [
+ "Text"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "SystemContentBlock": {
+ "description": "Configuration for chat prompt template",
+ "oneOf": [
+ {
+ "title": "Text",
+ "type": "object",
+ "properties": {
+ "Text": {
+ "type": "string",
+ "minLength": 1,
+ "description": "Configuration for chat prompt template"
+ }
+ },
+ "required": [
+ "Text"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "Message": {
+ "type": "object",
+ "description": "Chat prompt Message",
+ "properties": {
+ "Role": {
+ "$ref": "#/definitions/ConversationRole"
+ },
+ "Content": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentBlock"
+ },
+ "minItems": 1,
+ "description": "List of Content Blocks",
+ "insertionOrder": true
+ }
+ },
+ "required": [
+ "Role",
+ "Content"
+ ],
+ "additionalProperties": false
+ },
+ "ToolInputSchema": {
+ "description": "Tool input schema",
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Json",
+ "properties": {
+ "Json": {
+ "type": "object"
+ }
+ },
+ "description": "Tool input schema json",
+ "required": [
+ "Json"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "ToolSpecification": {
+ "type": "object",
+ "description": "Tool specification",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "Tool name"
+ },
+ "Description": {
+ "type": "string",
+ "minLength": 1
+ },
+ "InputSchema": {
+ "$ref": "#/definitions/ToolInputSchema"
+ }
+ },
+ "required": [
+ "Name",
+ "InputSchema"
+ ],
+ "additionalProperties": false
+ },
+ "Tool": {
+ "description": "Tool details",
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "ToolSpec",
+ "properties": {
+ "ToolSpec": {
+ "$ref": "#/definitions/ToolSpecification"
+ }
+ },
+ "required": [
+ "ToolSpec"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "AutoToolChoice": {
+ "type": "object",
+ "description": "Auto Tool choice",
+ "additionalProperties": false
+ },
+ "AnyToolChoice": {
+ "type": "object",
+ "description": "Any Tool choice",
+ "additionalProperties": false
+ },
+ "SpecificToolChoice": {
+ "type": "object",
+ "description": "Specific Tool choice",
+ "properties": {
+ "Name": {
+ "type": "string",
+ "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "Tool name"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "additionalProperties": false
+ },
+ "ToolChoice": {
+ "description": "Tool choice",
+ "oneOf": [
+ {
+ "title": "Auto",
+ "type": "object",
+ "properties": {
+ "Auto": {
+ "$ref": "#/definitions/AutoToolChoice"
+ }
+ },
+ "required": [
+ "Auto"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "title": "Any",
+ "type": "object",
+ "properties": {
+ "Any": {
+ "$ref": "#/definitions/AnyToolChoice"
+ }
+ },
+ "required": [
+ "Any"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "title": "Tool",
+ "type": "object",
+ "properties": {
+ "Tool": {
+ "$ref": "#/definitions/SpecificToolChoice"
+ }
+ },
+ "required": [
+ "Tool"
+ ],
+ "additionalProperties": false
}
]
},
+ "ToolConfiguration": {
+ "type": "object",
+ "description": "Tool configuration",
+ "properties": {
+ "Tools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tool"
+ },
+ "minItems": 1,
+ "description": "List of Tools",
+ "insertionOrder": true
+ },
+ "ToolChoice": {
+ "$ref": "#/definitions/ToolChoice"
+ }
+ },
+ "required": [
+ "Tools"
+ ],
+ "additionalProperties": false
+ },
"PromptModelInferenceConfiguration": {
"type": "object",
"description": "Prompt model inference configuration",
@@ -165,6 +449,40 @@
}
},
"additionalProperties": false
+ },
+ "PromptAgentResource": {
+ "description": "Target Agent to invoke with Prompt",
+ "type": "object",
+ "properties": {
+ "AgentIdentifier": {
+ "type": "string",
+ "maxLength": 2048,
+ "pattern": "^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:agent-alias/[0-9a-zA-Z]{10}/[0-9a-zA-Z]{10}$",
+ "description": "Arn representation of the Agent Alias."
+ }
+ },
+ "required": [
+ "AgentIdentifier"
+ ],
+ "additionalProperties": false
+ },
+ "PromptGenAiResource": {
+ "description": "Target resource to invoke with Prompt",
+ "oneOf": [
+ {
+ "type": "object",
+ "title": "Agent",
+ "properties": {
+ "Agent": {
+ "$ref": "#/definitions/PromptAgentResource"
+ }
+ },
+ "required": [
+ "Agent"
+ ],
+ "additionalProperties": false
+ }
+ ]
}
},
"properties": {
diff --git a/internal/service/cloudformation/schemas/AWS_Budgets_BudgetsAction.json b/internal/service/cloudformation/schemas/AWS_Budgets_BudgetsAction.json
index 0f4cb219f..591d93cf5 100644
--- a/internal/service/cloudformation/schemas/AWS_Budgets_BudgetsAction.json
+++ b/internal/service/cloudformation/schemas/AWS_Budgets_BudgetsAction.json
@@ -275,6 +275,11 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/ResourceTags"
+ "tagProperty": "/properties/ResourceTags",
+ "permissions": [
+ "budgets:TagResource",
+ "budgets:UntagResource",
+ "budgets:ListTagsForResource"
+ ]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_CloudFront_VpcOrigin.json b/internal/service/cloudformation/schemas/AWS_CloudFront_VpcOrigin.json
new file mode 100644
index 000000000..354c3be64
--- /dev/null
+++ b/internal/service/cloudformation/schemas/AWS_CloudFront_VpcOrigin.json
@@ -0,0 +1,164 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "type": "string"
+ },
+ "Value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "VpcOriginEndpointConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "HTTPPort": {
+ "default": 80,
+ "type": "integer"
+ },
+ "HTTPSPort": {
+ "default": 443,
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "OriginProtocolPolicy": {
+ "default": "match-viewer",
+ "type": "string"
+ },
+ "OriginSSLProtocols": {
+ "default": [
+ "TLSv1",
+ "SSLv3"
+ ],
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "required": [
+ "Name",
+ "Arn"
+ ],
+ "type": "object"
+ }
+ },
+ "description": "Resource Type definition for AWS::CloudFront::VpcOrigin",
+ "handlers": {
+ "create": {
+ "permissions": [
+ "cloudfront:CreateVpcOrigin",
+ "cloudfront:GetVpcOrigin",
+ "cloudfront:TagResource",
+ "ec2:DescribeInstances",
+ "elasticloadbalancing:DescribeLoadBalancers",
+ "ec2:DescribeInternetGateways",
+ "iam:CreateServiceLinkedRole",
+ "sts:AssumeRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "cloudfront:DeleteVpcOrigin",
+ "cloudfront:GetVpcOrigin",
+ "elasticloadbalancing:DescribeLoadBalancers",
+ "ec2:DescribeInstances",
+ "ec2:DescribeInternetGateways",
+ "iam:CreateServiceLinkedRole",
+ "sts:AssumeRole"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "cloudfront:ListVpcOrigins"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "cloudfront:GetVpcOrigin",
+ "cloudfront:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "cloudfront:UpdateVpcOrigin",
+ "cloudfront:GetVpcOrigin",
+ "cloudfront:TagResource",
+ "ec2:DescribeInstances",
+ "cloudfront:UntagResource",
+ "cloudfront:ListTagsForResource",
+ "elasticloadbalancing:DescribeLoadBalancers",
+ "ec2:DescribeInternetGateways",
+ "iam:CreateServiceLinkedRole",
+ "sts:AssumeRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Id"
+ ],
+ "properties": {
+ "Arn": {
+ "type": "string"
+ },
+ "CreatedTime": {
+ "type": "string"
+ },
+ "Id": {
+ "type": "string"
+ },
+ "LastModifiedTime": {
+ "type": "string"
+ },
+ "Status": {
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "VpcOriginEndpointConfig": {
+ "$ref": "#/definitions/VpcOriginEndpointConfig"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Id",
+ "/properties/Arn",
+ "/properties/Status",
+ "/properties/CreatedTime",
+ "/properties/LastModifiedTime"
+ ],
+ "required": [
+ "VpcOriginEndpointConfig"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "permissions": [
+ "cloudfront:TagResource",
+ "cloudfront:UntagResource",
+ "cloudfront:ListTagsForResource"
+ ],
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::CloudFront::VpcOrigin"
+}
diff --git a/internal/service/cloudformation/schemas/AWS_CloudWatch_MetricStream.json b/internal/service/cloudformation/schemas/AWS_CloudWatch_MetricStream.json
index 0273658f8..7e0fe8194 100644
--- a/internal/service/cloudformation/schemas/AWS_CloudWatch_MetricStream.json
+++ b/internal/service/cloudformation/schemas/AWS_CloudWatch_MetricStream.json
@@ -3,7 +3,18 @@
"description": "Resource Type definition for Metric Stream",
"additionalProperties": false,
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudwatch.git",
- "taggable": true,
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": false,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "cloudwatch:TagResource",
+ "cloudwatch:UntagResource",
+ "cloudwatch:ListTagsForResource"
+ ]
+ },
"properties": {
"Arn": {
"description": "Amazon Resource Name of the metric stream.",
@@ -240,7 +251,8 @@
},
"read": {
"permissions": [
- "cloudwatch:GetMetricStream"
+ "cloudwatch:GetMetricStream",
+ "cloudwatch:ListTagsForResource"
]
}
},
@@ -275,8 +287,5 @@
"/properties/CreationDate",
"/properties/LastUpdateDate",
"/properties/State"
- ],
- "writeOnlyProperties": [
- "/properties/Tags"
]
}
diff --git a/internal/service/cloudformation/schemas/AWS_CodeBuild_Fleet.json b/internal/service/cloudformation/schemas/AWS_CodeBuild_Fleet.json
index 721f50171..6c0908160 100644
--- a/internal/service/cloudformation/schemas/AWS_CodeBuild_Fleet.json
+++ b/internal/service/cloudformation/schemas/AWS_CodeBuild_Fleet.json
@@ -20,7 +20,10 @@
"LINUX_CONTAINER",
"LINUX_GPU_CONTAINER",
"ARM_CONTAINER",
- "MAC_ARM"
+ "MAC_ARM",
+ "LINUX_EC2",
+ "ARM_EC2",
+ "WINDOWS_EC2"
]
},
"ComputeType": {
diff --git a/internal/service/cloudformation/schemas/AWS_CodeConnections_Connection.json b/internal/service/cloudformation/schemas/AWS_CodeConnections_Connection.json
index 3a58702e1..59fcb1875 100644
--- a/internal/service/cloudformation/schemas/AWS_CodeConnections_Connection.json
+++ b/internal/service/cloudformation/schemas/AWS_CodeConnections_Connection.json
@@ -93,7 +93,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "codeconnections:TagResource",
+ "codeconnections:ListTagsForResource",
+ "codeconnections:UntagResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_CodeStarConnections_Connection.json b/internal/service/cloudformation/schemas/AWS_CodeStarConnections_Connection.json
index 6d602c815..b280eb9f9 100644
--- a/internal/service/cloudformation/schemas/AWS_CodeStarConnections_Connection.json
+++ b/internal/service/cloudformation/schemas/AWS_CodeStarConnections_Connection.json
@@ -93,7 +93,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "codestar-connections:TagResource",
+ "codestar-connections:ListTagsForResource",
+ "codestar-connections:UntagResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_Comprehend_Flywheel.json b/internal/service/cloudformation/schemas/AWS_Comprehend_Flywheel.json
index 8dcc1a1ff..1b5552818 100644
--- a/internal/service/cloudformation/schemas/AWS_Comprehend_Flywheel.json
+++ b/internal/service/cloudformation/schemas/AWS_Comprehend_Flywheel.json
@@ -75,7 +75,11 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "comprehend:TagResource",
+ "comprehend:UntagResource"
+ ]
},
"definitions": {
"Tag": {
diff --git a/internal/service/cloudformation/schemas/AWS_Config_ConfigRule.json b/internal/service/cloudformation/schemas/AWS_Config_ConfigRule.json
index acc23132b..b805146fc 100644
--- a/internal/service/cloudformation/schemas/AWS_Config_ConfigRule.json
+++ b/internal/service/cloudformation/schemas/AWS_Config_ConfigRule.json
@@ -1,6 +1,6 @@
{
"typeName": "AWS::Config::ConfigRule",
- "description": "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*.",
+ "description": "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*.",
"sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-config.git",
"definitions": {
"Scope": {
diff --git a/internal/service/cloudformation/schemas/AWS_Connect_Instance.json b/internal/service/cloudformation/schemas/AWS_Connect_Instance.json
index 8edfa7ace..9427e9ac0 100644
--- a/internal/service/cloudformation/schemas/AWS_Connect_Instance.json
+++ b/internal/service/cloudformation/schemas/AWS_Connect_Instance.json
@@ -179,7 +179,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "connect:ListTagsForResource",
+ "connect:UntagResource",
+ "connect:TagResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_Connect_QuickConnect.json b/internal/service/cloudformation/schemas/AWS_Connect_QuickConnect.json
index a4cf8bf0a..48075ee8b 100644
--- a/internal/service/cloudformation/schemas/AWS_Connect_QuickConnect.json
+++ b/internal/service/cloudformation/schemas/AWS_Connect_QuickConnect.json
@@ -232,6 +232,10 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "connect:TagResource",
+ "connect:UntagResource"
+ ]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_DataSync_LocationEFS.json b/internal/service/cloudformation/schemas/AWS_DataSync_LocationEFS.json
index 896022e1a..3f2420673 100644
--- a/internal/service/cloudformation/schemas/AWS_DataSync_LocationEFS.json
+++ b/internal/service/cloudformation/schemas/AWS_DataSync_LocationEFS.json
@@ -142,11 +142,7 @@
],
"createOnlyProperties": [
"/properties/Ec2Config",
- "/properties/EfsFilesystemArn",
- "/properties/Subdirectory",
- "/properties/FileSystemAccessRoleArn",
- "/properties/InTransitEncryption",
- "/properties/AccessPointArn"
+ "/properties/EfsFilesystemArn"
],
"writeOnlyProperties": [
"/properties/EfsFilesystemArn",
@@ -175,10 +171,13 @@
},
"update": {
"permissions": [
+ "datasync:UpdateLocationEfs",
"datasync:DescribeLocationEfs",
"datasync:ListTagsForResource",
"datasync:TagResource",
- "datasync:UntagResource"
+ "datasync:UntagResource",
+ "elasticfilesystem:DescribeFileSystems",
+ "elasticfilesystem:DescribeAccessPoints"
]
},
"delete": {
diff --git a/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxLustre.json b/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxLustre.json
index 82598a5f1..8145ff86c 100644
--- a/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxLustre.json
+++ b/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxLustre.json
@@ -107,8 +107,7 @@
],
"createOnlyProperties": [
"/properties/FsxFilesystemArn",
- "/properties/SecurityGroupArns",
- "/properties/Subdirectory"
+ "/properties/SecurityGroupArns"
],
"handlers": {
"create": {
@@ -133,8 +132,11 @@
"permissions": [
"datasync:DescribeLocationFsxLustre",
"datasync:ListTagsForResource",
+ "datasync:UpdateLocationFsxLustre",
"datasync:TagResource",
- "datasync:UntagResource"
+ "datasync:UntagResource",
+ "fsx:DescribeFileSystems",
+ "ec2:DescribeNetworkInterfaces"
]
},
"delete": {
diff --git a/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxONTAP.json b/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxONTAP.json
index a3f8f1f2b..b1dcc2fea 100644
--- a/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxONTAP.json
+++ b/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxONTAP.json
@@ -210,9 +210,7 @@
],
"createOnlyProperties": [
"/properties/StorageVirtualMachineArn",
- "/properties/SecurityGroupArns",
- "/properties/Protocol",
- "/properties/Subdirectory"
+ "/properties/SecurityGroupArns"
],
"handlers": {
"create": {
@@ -236,10 +234,14 @@
},
"update": {
"permissions": [
+ "datasync:UpdateLocationFsxOntap",
"datasync:DescribeLocationFsxOntap",
"datasync:ListTagsForResource",
"datasync:TagResource",
- "datasync:UntagResource"
+ "datasync:UntagResource",
+ "fsx:DescribeFileSystems",
+ "fsx:DescribeStorageVirtualMachines",
+ "ec2:DescribeNetworkInterfaces"
]
},
"delete": {
diff --git a/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxOpenZFS.json b/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxOpenZFS.json
index 193da5b2e..9432ff544 100644
--- a/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxOpenZFS.json
+++ b/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxOpenZFS.json
@@ -151,9 +151,7 @@
],
"createOnlyProperties": [
"/properties/FsxFilesystemArn",
- "/properties/SecurityGroupArns",
- "/properties/Protocol",
- "/properties/Subdirectory"
+ "/properties/SecurityGroupArns"
],
"handlers": {
"create": {
@@ -177,9 +175,12 @@
"update": {
"permissions": [
"datasync:DescribeLocationFsxOpenZfs",
+ "datasync:UpdateLocationFsxOpenZfs",
"datasync:ListTagsForResource",
"datasync:TagResource",
- "datasync:UntagResource"
+ "datasync:UntagResource",
+ "fsx:DescribeFileSystems",
+ "ec2:DescribeNetworkInterfaces"
]
},
"delete": {
diff --git a/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxWindows.json b/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxWindows.json
index ed78eef29..2f4ed6c5b 100644
--- a/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxWindows.json
+++ b/internal/service/cloudformation/schemas/AWS_DataSync_LocationFSxWindows.json
@@ -123,12 +123,8 @@
"/properties/LocationArn"
],
"createOnlyProperties": [
- "/properties/Domain",
"/properties/FsxFilesystemArn",
- "/properties/Password",
- "/properties/SecurityGroupArns",
- "/properties/Subdirectory",
- "/properties/User"
+ "/properties/SecurityGroupArns"
],
"handlers": {
"create": {
@@ -152,9 +148,12 @@
"update": {
"permissions": [
"datasync:DescribeLocationFsxWindows",
+ "datasync:UpdateLocationFsxWindows",
"datasync:ListTagsForResource",
"datasync:TagResource",
- "datasync:UntagResource"
+ "datasync:UntagResource",
+ "fsx:DescribeFileSystems",
+ "ec2:DescribeNetworkInterfaces"
]
},
"delete": {
diff --git a/internal/service/cloudformation/schemas/AWS_DataSync_LocationS3.json b/internal/service/cloudformation/schemas/AWS_DataSync_LocationS3.json
index 32c71f24d..1a05486ed 100644
--- a/internal/service/cloudformation/schemas/AWS_DataSync_LocationS3.json
+++ b/internal/service/cloudformation/schemas/AWS_DataSync_LocationS3.json
@@ -104,7 +104,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "datasync:TagResource",
+ "datasync:UntagResource",
+ "datasync:ListTagsForResource"
+ ]
},
"required": [
"S3Config"
@@ -117,9 +122,6 @@
"/properties/LocationArn"
],
"createOnlyProperties": [
- "/properties/S3Config",
- "/properties/S3StorageClass",
- "/properties/Subdirectory",
"/properties/S3BucketArn"
],
"writeOnlyProperties": [
@@ -150,7 +152,8 @@
"datasync:DescribeLocationS3",
"datasync:ListTagsForResource",
"datasync:TagResource",
- "datasync:UntagResource"
+ "datasync:UntagResource",
+ "datasync:UpdateLocationS3"
]
},
"delete": {
diff --git a/internal/service/cloudformation/schemas/AWS_DataZone_DataSource.json b/internal/service/cloudformation/schemas/AWS_DataZone_DataSource.json
index e0faff331..e670917ec 100644
--- a/internal/service/cloudformation/schemas/AWS_DataZone_DataSource.json
+++ b/internal/service/cloudformation/schemas/AWS_DataZone_DataSource.json
@@ -142,6 +142,12 @@
"description": "Specifies whether to automatically import data quality metrics as part of the data source run.",
"type": "boolean"
},
+ "CatalogName": {
+ "type": "string",
+ "description": "The catalog name in the AWS Glue run configuration.",
+ "maxLength": 128,
+ "minLength": 1
+ },
"DataAccessRole": {
"description": "The data access role included in the configuration details of the AWS Glue data source.",
"$ref": "#/definitions/DataAccessRole"
@@ -225,8 +231,6 @@
}
},
"required": [
- "RedshiftCredentialConfiguration",
- "RedshiftStorage",
"RelationalFilterConfigurations"
],
"additionalProperties": false
@@ -395,6 +399,14 @@
"minItems": 0,
"insertionOrder": false
},
+ "ConnectionId": {
+ "type": "string",
+ "description": "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run"
+ },
+ "ConnectionIdentifier": {
+ "type": "string",
+ "description": "The unique identifier of a connection used to fetch relevant parameters from connection during Datasource run"
+ },
"CreatedAt": {
"type": "string",
"description": "The timestamp of when the data source was created.",
@@ -421,8 +433,7 @@
},
"EnvironmentId": {
"type": "string",
- "description": "The unique identifier of the Amazon DataZone environment to which the data source publishes assets.",
- "pattern": "^[a-zA-Z0-9_-]{1,36}$"
+ "description": "The unique identifier of the Amazon DataZone environment to which the data source publishes assets."
},
"EnvironmentIdentifier": {
"description": "The unique identifier of the Amazon DataZone environment to which the data source publishes assets.",
@@ -496,10 +507,10 @@
"Name",
"DomainIdentifier",
"ProjectIdentifier",
- "EnvironmentIdentifier",
"Type"
],
"readOnlyProperties": [
+ "/properties/ConnectionId",
"/properties/CreatedAt",
"/properties/DomainId",
"/properties/EnvironmentId",
@@ -513,12 +524,14 @@
],
"writeOnlyProperties": [
"/properties/AssetFormsInput",
+ "/properties/ConnectionIdentifier",
"/properties/EnvironmentIdentifier",
"/properties/DomainIdentifier",
"/properties/Configuration",
"/properties/ProjectIdentifier"
],
"createOnlyProperties": [
+ "/properties/ConnectionIdentifier",
"/properties/EnvironmentIdentifier",
"/properties/DomainIdentifier",
"/properties/ProjectIdentifier",
diff --git a/internal/service/cloudformation/schemas/AWS_Detective_Graph.json b/internal/service/cloudformation/schemas/AWS_Detective_Graph.json
index 2d2c4edfe..6659b0b26 100644
--- a/internal/service/cloudformation/schemas/AWS_Detective_Graph.json
+++ b/internal/service/cloudformation/schemas/AWS_Detective_Graph.json
@@ -63,12 +63,15 @@
"create": {
"permissions": [
"detective:CreateGraph",
+ "detective:ListGraphs",
+ "detective:TagResource",
"detective:UpdateOrganizationConfiguration",
"organizations:DescribeOrganization"
]
},
"update": {
"permissions": [
+ "detective:ListGraphs",
"detective:UntagResource",
"detective:TagResource",
"detective:ListTagsForResource",
@@ -86,7 +89,8 @@
},
"delete": {
"permissions": [
- "detective:DeleteGraph"
+ "detective:DeleteGraph",
+ "detective:ListGraphs"
]
},
"list": {
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json b/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json
index cebf9e90d..bfdf176ac 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_CapacityReservation.json
@@ -58,6 +58,9 @@
},
"UnusedReservationBillingOwnerId": {
"type": "string"
+ },
+ "AvailabilityZoneId": {
+ "type": "string"
}
},
"definitions": {
@@ -97,7 +100,6 @@
},
"required": [
"InstanceCount",
- "AvailabilityZone",
"InstancePlatform",
"InstanceType"
],
@@ -110,7 +112,8 @@
"/properties/OutPostArn",
"/properties/EphemeralStorage",
"/properties/EbsOptimized",
- "/properties/PlacementGroupArn"
+ "/properties/PlacementGroupArn",
+ "/properties/AvailabilityZoneId"
],
"primaryIdentifier": [
"/properties/Id"
@@ -123,6 +126,17 @@
"writeOnlyProperties": [
"/properties/UnusedReservationBillingOwnerId"
],
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": true,
+ "tagProperty": "/properties/TagSpecifications",
+ "permissions": [
+ "ec2:CreateTags",
+ "ec2:DeleteTags"
+ ]
+ },
"handlers": {
"create": {
"permissions": [
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_IPAM.json b/internal/service/cloudformation/schemas/AWS_EC2_IPAM.json
index 7e12479cc..7b15147bb 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_IPAM.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_IPAM.json
@@ -1,173 +1,178 @@
{
+ "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",
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "additionalProperties": false,
+ "primaryIdentifier": [
+ "/properties/IpamId"
+ ],
"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": {
- "Key": {
- "type": "string",
- "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
- "minLength": 1,
- "maxLength": 128
- },
"Value": {
- "type": "string",
- "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
"minLength": 0,
+ "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
+ "type": "string",
"maxLength": 256
+ },
+ "Key": {
+ "minLength": 1,
+ "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
+ "type": "string",
+ "maxLength": 128
}
},
"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,
+ "type": "object",
+ "properties": {
+ "RegionName": {
+ "description": "The name of the region.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ]
}
},
+ "required": [],
"properties": {
- "IpamId": {
- "description": "Id of the IPAM.",
+ "DefaultResourceDiscoveryAssociationId": {
+ "description": "The Id of the default association to the default resource discovery, created with this IPAM.",
"type": "string"
},
- "Arn": {
- "description": "The Amazon Resource Name (ARN) of the IPAM.",
+ "Description": {
"type": "string"
},
- "DefaultResourceDiscoveryId": {
- "description": "The Id of the default resource discovery, created with this IPAM.",
+ "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"
},
- "DefaultResourceDiscoveryAssociationId": {
- "description": "The Id of the default association to the default resource discovery, created with this IPAM.",
+ "DefaultResourceDiscoveryId": {
+ "description": "The Id of the default resource discovery, created with this IPAM.",
"type": "string"
},
"ResourceDiscoveryAssociationCount": {
"description": "The count of resource discoveries associated with this IPAM.",
"type": "integer"
},
- "Description": {
- "type": "string"
+ "ScopeCount": {
+ "description": "The number of scopes that currently exist in this IPAM.",
+ "type": "integer"
},
- "PublicDefaultScopeId": {
- "description": "The Id of the default scope for publicly routable IP space, created with this IPAM.",
- "type": "string",
- "maxLength": 255
+ "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.",
"type": "string"
},
- "ScopeCount": {
- "description": "The number of scopes that currently exist in this IPAM.",
- "type": "integer"
+ "PublicDefaultScopeId": {
+ "description": "The Id of the default scope for publicly routable IP space, created with this IPAM.",
+ "type": "string",
+ "maxLength": 255
},
- "OperatingRegions": {
- "description": "The regions IPAM is enabled for. Allows pools to be created in these regions, as well as enabling monitoring",
- "type": "array",
+ "Tags": {
"uniqueItems": true,
+ "description": "An array of key-value pairs to apply to this resource.",
"insertionOrder": false,
+ "type": "array",
"items": {
- "$ref": "#/definitions/IpamOperatingRegion"
+ "$ref": "#/definitions/Tag"
}
},
- "Tier": {
- "description": "The tier of the IPAM.",
- "type": "string",
- "enum": [
- "free",
- "advanced"
- ]
- },
- "EnablePrivateGua": {
- "description": "Enable provisioning of GUA space in private pools.",
- "type": "boolean"
- },
- "Tags": {
- "description": "An array of key-value pairs to apply to this resource.",
- "type": "array",
+ "OperatingRegions": {
"uniqueItems": true,
+ "description": "The regions IPAM is enabled for. Allows pools to be created in these regions, as well as enabling monitoring",
"insertionOrder": false,
+ "type": "array",
"items": {
- "$ref": "#/definitions/Tag"
+ "$ref": "#/definitions/IpamOperatingRegion"
}
}
- },
- "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"
- ]
- },
- "read": {
- "permissions": [
- "ec2:DescribeIpams"
- ]
- },
- "update": {
- "permissions": [
- "ec2:ModifyIpam",
- "ec2:CreateTags",
- "ec2:DeleteTags",
- "ec2:DescribeIpams"
- ]
- },
- "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 49ed4189d..cc74ee786 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_IPAMResourceDiscovery.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_IPAMResourceDiscovery.json
@@ -1,150 +1,152 @@
{
+ "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",
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ipam.git",
+ "additionalProperties": false,
+ "primaryIdentifier": [
+ "/properties/IpamResourceDiscoveryId"
+ ],
"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": {
- "Key": {
- "type": "string",
- "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
- "minLength": 1,
- "maxLength": 128
- },
"Value": {
- "type": "string",
- "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
"minLength": 0,
+ "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
+ "type": "string",
"maxLength": 256
+ },
+ "Key": {
+ "minLength": 1,
+ "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.",
+ "type": "string",
+ "maxLength": 128
}
},
"required": [
"Key",
"Value"
- ],
- "additionalProperties": false
+ ]
+ },
+ "IpamOperatingRegion": {
+ "description": "The regions IPAM Resource Discovery is enabled for. Allows for monitoring.",
+ "additionalProperties": false,
+ "type": "object",
+ "properties": {
+ "RegionName": {
+ "description": "The name of the region.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RegionName"
+ ]
}
},
+ "required": [],
"properties": {
- "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"
+ },
+ "Description": {
"type": "string"
},
"OwnerId": {
"description": "Owner Account ID of the 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"
- }
+ "State": {
+ "description": "The state of this Resource Discovery.",
+ "type": "string"
},
"IpamResourceDiscoveryRegion": {
"description": "The region the resource discovery is setup in. ",
"type": "string"
},
- "Description": {
- "type": "string"
- },
- "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"
},
- "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": "An array of key-value pairs to apply to this resource.",
"insertionOrder": false,
+ "type": "array",
"items": {
"$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:CreateTags"
- ]
},
- "read": {
- "permissions": [
- "ec2:DescribeIpamResourceDiscoveries"
- ]
- },
- "update": {
- "permissions": [
- "ec2:ModifyIpamResourceDiscovery",
- "ec2:DescribeIpamResourceDiscoveries",
- "ec2:CreateTags",
- "ec2:DeleteTags"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteIpamResourceDiscovery",
- "ec2:DescribeIpamResourceDiscoveries",
- "ec2:DeleteTags"
- ]
+ "IpamResourceDiscoveryId": {
+ "description": "Id of the IPAM Pool.",
+ "type": "string"
},
- "list": {
- "permissions": [
- "ec2:DescribeIpamResourceDiscoveries"
- ]
+ "OperatingRegions": {
+ "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"
+ }
}
- },
- "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_VPNConnection.json b/internal/service/cloudformation/schemas/AWS_EC2_VPNConnection.json
index 129cb03ba..f0c189c76 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_VPNConnection.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_VPNConnection.json
@@ -11,6 +11,34 @@
"cloudFormationSystemTags": false
},
"$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json",
+ "typeName": "AWS::EC2::VPNConnection",
+ "readOnlyProperties": [
+ "/properties/VpnConnectionId"
+ ],
+ "description": "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*.",
+ "createOnlyProperties": [
+ "/properties/Type",
+ "/properties/CustomerGatewayId",
+ "/properties/VpnGatewayId",
+ "/properties/TransitGatewayId",
+ "/properties/EnableAcceleration",
+ "/properties/LocalIpv4NetworkCidr",
+ "/properties/LocalIpv6NetworkCidr",
+ "/properties/OutsideIpAddressType",
+ "/properties/RemoteIpv4NetworkCidr",
+ "/properties/RemoteIpv6NetworkCidr",
+ "/properties/StaticRoutesOnly",
+ "/properties/TransportTransitGatewayAttachmentId",
+ "/properties/TunnelInsideIpVersion",
+ "/properties/VpnTunnelOptionsSpecifications"
+ ],
+ "primaryIdentifier": [
+ "/properties/VpnConnectionId"
+ ],
+ "required": [
+ "Type",
+ "CustomerGatewayId"
+ ],
"handlers": {
"read": {
"permissions": [
@@ -43,31 +71,7 @@
]
}
},
- "typeName": "AWS::EC2::VPNConnection",
- "readOnlyProperties": [
- "/properties/VpnConnectionId"
- ],
- "description": "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*.",
- "createOnlyProperties": [
- "/properties/Type",
- "/properties/CustomerGatewayId",
- "/properties/VpnGatewayId",
- "/properties/TransitGatewayId",
- "/properties/EnableAcceleration",
- "/properties/LocalIpv4NetworkCidr",
- "/properties/LocalIpv6NetworkCidr",
- "/properties/OutsideIpAddressType",
- "/properties/RemoteIpv4NetworkCidr",
- "/properties/RemoteIpv6NetworkCidr",
- "/properties/StaticRoutesOnly",
- "/properties/TransportTransitGatewayAttachmentId",
- "/properties/TunnelInsideIpVersion",
- "/properties/VpnTunnelOptionsSpecifications"
- ],
"additionalProperties": false,
- "primaryIdentifier": [
- "/properties/VpnConnectionId"
- ],
"definitions": {
"CloudwatchLogOptionsSpecification": {
"description": "Options for sending VPN tunnel logs to CloudWatch.",
@@ -398,6 +402,7 @@
}
}
},
+ "replacementStrategy": "delete_then_create",
"properties": {
"RemoteIpv6NetworkCidr": {
"description": "The IPv6 CIDR on the AWS side of the VPN connection.\n Default: ``::/0``",
@@ -473,9 +478,5 @@
"$ref": "#/definitions/Tag"
}
}
- },
- "required": [
- "Type",
- "CustomerGatewayId"
- ]
+ }
}
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessEndpoint.json b/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessEndpoint.json
index 48991bfa5..e7bcefc8c 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessEndpoint.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessEndpoint.json
@@ -36,6 +36,14 @@
"description": "The load balancer details if creating the AWS Verified Access endpoint as load-balancer type.",
"$ref": "#/definitions/LoadBalancerOptions"
},
+ "RdsOptions": {
+ "description": "The options for rds type endpoint.",
+ "$ref": "#/definitions/RdsOptions"
+ },
+ "CidrOptions": {
+ "description": "The options for cidr type endpoint.",
+ "$ref": "#/definitions/CidrOptions"
+ },
"EndpointType": {
"description": "The type of AWS Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.The type of AWS Verified Access endpoint. Incoming application requests will be sent to an IP address, load balancer or a network interface depending on the endpoint type specified.",
"type": "string"
@@ -117,6 +125,15 @@
"minimum": 1,
"maximum": 65535
},
+ "PortRanges": {
+ "description": "The list of port ranges.",
+ "type": "array",
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/PortRange"
+ }
+ },
"Protocol": {
"description": "The IP protocol.",
"type": "string"
@@ -138,6 +155,90 @@
"minimum": 1,
"maximum": 65535
},
+ "PortRanges": {
+ "description": "The list of port range.",
+ "type": "array",
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/PortRange"
+ }
+ },
+ "Protocol": {
+ "description": "The IP protocol.",
+ "type": "string"
+ },
+ "SubnetIds": {
+ "description": "The IDs of the subnets.",
+ "type": "array",
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SubnetId"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "RdsOptions": {
+ "description": "The options for rds type endpoint.",
+ "type": "object",
+ "properties": {
+ "Protocol": {
+ "description": "The IP protocol.",
+ "type": "string"
+ },
+ "Port": {
+ "description": "The IP port number.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 65535
+ },
+ "RdsDbInstanceArn": {
+ "description": "The ARN of the RDS DB instance.",
+ "type": "string"
+ },
+ "RdsDbClusterArn": {
+ "description": "The ARN of the RDS DB cluster.",
+ "type": "string"
+ },
+ "RdsDbProxyArn": {
+ "description": "The ARN of the RDS DB proxy.",
+ "type": "string"
+ },
+ "RdsEndpoint": {
+ "description": "The RDS endpoint.",
+ "type": "string"
+ },
+ "SubnetIds": {
+ "description": "The IDs of the subnets.",
+ "type": "array",
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/SubnetId"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "CidrOptions": {
+ "description": "The options for cidr type endpoint.",
+ "type": "object",
+ "properties": {
+ "Cidr": {
+ "description": "The IP address range, in CIDR notation.",
+ "type": "string"
+ },
+ "PortRanges": {
+ "description": "The list of port range.",
+ "type": "array",
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/PortRange"
+ }
+ },
"Protocol": {
"description": "The IP protocol.",
"type": "string"
@@ -154,6 +255,25 @@
},
"additionalProperties": false
},
+ "PortRange": {
+ "description": "The IP port range.",
+ "type": "object",
+ "properties": {
+ "FromPort": {
+ "description": "The first port in the range.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 65535
+ },
+ "ToPort": {
+ "description": "The last port in the range.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 65535
+ }
+ },
+ "additionalProperties": false
+ },
"SubnetId": {
"description": "The IDs of the subnet.",
"type": "string"
@@ -199,12 +319,9 @@
},
"additionalProperties": false,
"required": [
- "ApplicationDomain",
"AttachmentType",
- "DomainCertificateArn",
"EndpointType",
- "VerifiedAccessGroupId",
- "EndpointDomainPrefix"
+ "VerifiedAccessGroupId"
],
"readOnlyProperties": [
"/properties/VerifiedAccessEndpointId",
@@ -223,7 +340,14 @@
"/properties/EndpointType",
"/properties/SecurityGroupIds",
"/properties/NetworkInterfaceOptions/NetworkInterfaceId",
- "/properties/LoadBalancerOptions/LoadBalancerArn"
+ "/properties/LoadBalancerOptions/LoadBalancerArn",
+ "/properties/RdsOptions/Protocol",
+ "/properties/RdsOptions/RdsDbInstanceArn",
+ "/properties/RdsOptions/RdsDbClusterArn",
+ "/properties/RdsOptions/RdsDbProxyArn",
+ "/properties/CidrOptions/Cidr",
+ "/properties/CidrOptions/Protocol",
+ "/properties/CidrOptions/SubnetIds"
],
"primaryIdentifier": [
"/properties/VerifiedAccessEndpointId"
@@ -245,70 +369,44 @@
"permissions": [
"ec2:CreateVerifiedAccessEndpoint",
"ec2:DescribeVerifiedAccessEndpoints",
- "iam:CreateServiceLinkedRole",
- "iam:ListRoles",
- "acm:GetCertificateWithPK",
- "acm:DescribeCertificate",
- "acm:CreateCertificateRelation",
- "sso:GetManagedApplicationInstance",
- "sso:GetPeregrineStatus",
- "sso:GetSharedSsoConfiguration",
- "sso:CreateManagedApplicationInstance",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeAccountAttributes",
- "elasticloadbalancing:DescribeLoadBalancers",
- "elasticloadbalancing:DescribeListeners",
- "elasticloadbalancing:DescribeListenerCertificates",
"ec2:CreateTags",
"ec2:DescribeTags",
- "acm:DeleteCertificateRelation",
- "ec2:DeleteVerifiedAccessEndpoint",
+ "ec2:DescribeVpcs",
"ec2:GetVerifiedAccessEndpointPolicy",
- "ec2:ModifyVerifiedAccessEndpoint",
- "ec2:ModifyVerifiedAccessEndpointPolicy",
+ "elasticloadbalancing:DescribeLoadBalancers",
+ "elasticloadbalancing:DescribeListeners",
+ "elasticloadbalancing:DescribeListenerCertificates",
+ "iam:CreateServiceLinkedRole",
+ "acm:DescribeCertificate",
+ "sso:PutApplicationAccessScope",
+ "sso:GetSharedSsoConfiguration",
+ "sso:CreateManagedApplicationInstance",
"sso:DeleteManagedApplicationInstance",
"kms:DescribeKey",
+ "kms:GenerateDataKey",
"kms:RetireGrant",
"kms:CreateGrant",
- "kms:GenerateDataKey",
- "kms:Decrypt"
+ "kms:Decrypt",
+ "rds:DescribeDbInstances",
+ "rds:DescribeDbProxies",
+ "rds:DescribeDbClusters",
+ "ec2:DescribeAvailabilityZones",
+ "ec2:DescribeVpcEndpointServiceConfigurations"
],
- "timeoutInMinutes": 60
+ "timeoutInMinutes": 600
},
"read": {
"permissions": [
"ec2:DescribeVerifiedAccessEndpoints",
"ec2:GetVerifiedAccessEndpointPolicy",
"ec2:DescribeTags",
- "acm:CreateCertificateRelation",
- "acm:DeleteCertificateRelation",
- "acm:DescribeCertificate",
- "acm:GetCertificateWithPK",
- "ec2:CreateVerifiedAccessEndpoint",
- "ec2:DeleteVerifiedAccessEndpoint",
- "ec2:DescribeAccountAttributes",
- "ec2:DescribeNetworkInterfaces",
- "ec2:DescribeSecurityGroups",
- "ec2:DescribeSubnets",
- "ec2:ModifyVerifiedAccessEndpoint",
- "ec2:ModifyVerifiedAccessEndpointPolicy",
- "elasticloadbalancing:DescribeListenerCertificates",
- "elasticloadbalancing:DescribeListeners",
- "elasticloadbalancing:DescribeLoadBalancers",
- "iam:CreateServiceLinkedRole",
- "iam:ListRoles",
- "sso:CreateManagedApplicationInstance",
- "sso:DeleteManagedApplicationInstance",
- "sso:GetManagedApplicationInstance",
- "sso:GetPeregrineStatus",
- "sso:GetSharedSsoConfiguration",
"kms:DescribeKey",
- "kms:RetireGrant",
- "kms:CreateGrant",
- "kms:GenerateDataKey",
- "kms:Decrypt"
+ "kms:Decrypt",
+ "kms:GenerateDataKey"
]
},
"update": {
@@ -317,34 +415,24 @@
"ec2:ModifyVerifiedAccessEndpointPolicy",
"ec2:DescribeVerifiedAccessEndpoints",
"ec2:GetVerifiedAccessEndpointPolicy",
- "acm:GetCertificateWithPK",
- "acm:DescribeCertificate",
- "acm:CreateCertificateRelation",
- "acm:DeleteCertificateRelation",
- "sso:GetManagedApplicationInstance",
- "sso:GetPeregrineStatus",
- "sso:GetSharedSsoConfiguration",
- "sso:CreateManagedApplicationInstance",
- "sso:DeleteManagedApplicationInstance",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups",
"ec2:DescribeNetworkInterfaces",
- "ec2:DescribeAccountAttributes",
- "elasticloadbalancing:DescribeLoadBalancers",
- "elasticloadbalancing:DescribeListeners",
- "elasticloadbalancing:DescribeListenerCertificates",
+ "ec2:DescribeVpcs",
"ec2:DescribeTags",
"ec2:DeleteTags",
"ec2:CreateTags",
- "ec2:CreateVerifiedAccessEndpoint",
- "ec2:DeleteVerifiedAccessEndpoint",
- "iam:CreateServiceLinkedRole",
- "iam:ListRoles",
+ "elasticloadbalancing:DescribeLoadBalancers",
+ "elasticloadbalancing:DescribeListeners",
+ "elasticloadbalancing:DescribeListenerCertificates",
"kms:DescribeKey",
+ "kms:GenerateDataKey",
"kms:RetireGrant",
"kms:CreateGrant",
- "kms:GenerateDataKey",
- "kms:Decrypt"
+ "kms:Decrypt",
+ "rds:DescribeDbInstances",
+ "rds:DescribeDbProxies",
+ "rds:DescribeDbClusters"
],
"timeoutInMinutes": 60
},
@@ -352,70 +440,25 @@
"permissions": [
"ec2:DescribeVerifiedAccessEndpoints",
"ec2:DeleteVerifiedAccessEndpoint",
+ "ec2:GetVerifiedAccessEndpointPolicy",
"ec2:DescribeTags",
"ec2:DeleteTags",
"sso:DeleteManagedApplicationInstance",
- "acm:DeleteCertificateRelation",
- "acm:DescribeCertificate",
- "acm:CreateCertificateRelation",
- "acm:GetCertificateWithPK",
- "ec2:CreateVerifiedAccessEndpoint",
- "ec2:DescribeAccountAttributes",
- "ec2:DescribeNetworkInterfaces",
- "ec2:DescribeSecurityGroups",
- "ec2:DescribeSubnets",
- "ec2:GetVerifiedAccessEndpointPolicy",
- "ec2:ModifyVerifiedAccessEndpoint",
- "ec2:ModifyVerifiedAccessEndpointPolicy",
- "elasticloadbalancing:DescribeListenerCertificates",
- "elasticloadbalancing:DescribeListeners",
- "elasticloadbalancing:DescribeLoadBalancers",
- "iam:CreateServiceLinkedRole",
- "iam:ListRoles",
- "sso:CreateManagedApplicationInstance",
- "sso:GetManagedApplicationInstance",
- "sso:GetPeregrineStatus",
- "sso:GetSharedSsoConfiguration",
"kms:DescribeKey",
"kms:RetireGrant",
- "kms:CreateGrant",
- "kms:GenerateDataKey",
- "kms:Decrypt"
+ "kms:Decrypt",
+ "kms:GenerateDataKey"
],
"timeoutInMinutes": 60
},
"list": {
"permissions": [
"ec2:DescribeVerifiedAccessEndpoints",
- "ec2:DescribeTags",
- "acm:CreateCertificateRelation",
- "acm:DeleteCertificateRelation",
- "acm:DescribeCertificate",
- "acm:GetCertificateWithPK",
- "ec2:CreateVerifiedAccessEndpoint",
- "ec2:DeleteVerifiedAccessEndpoint",
- "ec2:DescribeAccountAttributes",
- "ec2:DescribeNetworkInterfaces",
- "ec2:DescribeSecurityGroups",
- "ec2:DescribeSubnets",
"ec2:GetVerifiedAccessEndpointPolicy",
- "ec2:ModifyVerifiedAccessEndpoint",
- "ec2:ModifyVerifiedAccessEndpointPolicy",
- "elasticloadbalancing:DescribeListenerCertificates",
- "elasticloadbalancing:DescribeListeners",
- "elasticloadbalancing:DescribeLoadBalancers",
- "iam:CreateServiceLinkedRole",
- "iam:ListRoles",
- "sso:CreateManagedApplicationInstance",
- "sso:DeleteManagedApplicationInstance",
- "sso:GetManagedApplicationInstance",
- "sso:GetPeregrineStatus",
- "sso:GetSharedSsoConfiguration",
+ "ec2:DescribeTags",
"kms:DescribeKey",
- "kms:RetireGrant",
- "kms:CreateGrant",
- "kms:GenerateDataKey",
- "kms:Decrypt"
+ "kms:Decrypt",
+ "kms:GenerateDataKey"
]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessInstance.json b/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessInstance.json
index 18c7777a7..f0b5a63ce 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessInstance.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessInstance.json
@@ -53,6 +53,18 @@
"FipsEnabled": {
"description": "Indicates whether FIPS is enabled",
"type": "boolean"
+ },
+ "CidrEndpointsCustomSubDomain": {
+ "description": "Introduce CidrEndpointsCustomSubDomain property to represent the domain (say, ava.my-company.com)",
+ "type": "string"
+ },
+ "CidrEndpointsCustomSubDomainNameServers": {
+ "description": "Property to represent the name servers assoicated with the domain that AVA manages (say, ['ns1.amazonaws.com', 'ns2.amazonaws.com', 'ns3.amazonaws.com', 'ns4.amazonaws.com']).",
+ "type": "array",
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Nameserver"
+ }
}
},
"definitions": {
@@ -177,13 +189,18 @@
"Value"
],
"additionalProperties": false
+ },
+ "Nameserver": {
+ "description": "The value of the name server",
+ "type": "string"
}
},
"additionalProperties": false,
"readOnlyProperties": [
"/properties/VerifiedAccessInstanceId",
"/properties/CreationTime",
- "/properties/LastUpdatedTime"
+ "/properties/LastUpdatedTime",
+ "/properties/CidrEndpointsCustomSubDomainNameServers"
],
"primaryIdentifier": [
"/properties/VerifiedAccessInstanceId"
diff --git a/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessTrustProvider.json b/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessTrustProvider.json
index 032d30976..50cff0da4 100644
--- a/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessTrustProvider.json
+++ b/internal/service/cloudformation/schemas/AWS_EC2_VerifiedAccessTrustProvider.json
@@ -79,6 +79,45 @@
"SseSpecification": {
"description": "The configuration options for customer provided KMS encryption.",
"$ref": "#/definitions/SseSpecification"
+ },
+ "NativeApplicationOidcOptions": {
+ "description": "The OpenID Connect details for an oidc -type, user-identity based trust provider for L4.",
+ "type": "object",
+ "properties": {
+ "Issuer": {
+ "type": "string",
+ "description": "The OIDC issuer."
+ },
+ "AuthorizationEndpoint": {
+ "type": "string",
+ "description": "The OIDC authorization endpoint."
+ },
+ "TokenEndpoint": {
+ "type": "string",
+ "description": "The OIDC token endpoint."
+ },
+ "UserInfoEndpoint": {
+ "type": "string",
+ "description": "The OIDC user info endpoint."
+ },
+ "ClientId": {
+ "type": "string",
+ "description": "The client identifier."
+ },
+ "ClientSecret": {
+ "type": "string",
+ "description": "The client secret."
+ },
+ "Scope": {
+ "type": "string",
+ "description": "OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to details of a user. Each scope returns a specific set of user attributes."
+ },
+ "PublicSigningKeyEndpoint": {
+ "type": "string",
+ "description": "The public signing key for endpoint"
+ }
+ },
+ "additionalProperties": false
}
},
"properties": {
@@ -143,6 +182,9 @@
}
},
"additionalProperties": false
+ },
+ "NativeApplicationOidcOptions": {
+ "$ref": "#/definitions/NativeApplicationOidcOptions"
}
},
"additionalProperties": false,
@@ -162,6 +204,9 @@
"/properties/TrustProviderType",
"/properties/UserTrustProviderType"
],
+ "writeOnlyProperties": [
+ "/properties/NativeApplicationOidcOptions/ClientSecret"
+ ],
"primaryIdentifier": [
"/properties/VerifiedAccessTrustProviderId"
],
diff --git a/internal/service/cloudformation/schemas/AWS_ECR_PublicRepository.json b/internal/service/cloudformation/schemas/AWS_ECR_PublicRepository.json
index cae333ce2..0da5fe6bd 100644
--- a/internal/service/cloudformation/schemas/AWS_ECR_PublicRepository.json
+++ b/internal/service/cloudformation/schemas/AWS_ECR_PublicRepository.json
@@ -178,5 +178,12 @@
]
}
},
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": true,
+ "tagProperty": "/properties/Tags"
+ },
"additionalProperties": false
}
diff --git a/internal/service/cloudformation/schemas/AWS_EKS_IdentityProviderConfig.json b/internal/service/cloudformation/schemas/AWS_EKS_IdentityProviderConfig.json
index f80ddc406..bbc7aca6b 100644
--- a/internal/service/cloudformation/schemas/AWS_EKS_IdentityProviderConfig.json
+++ b/internal/service/cloudformation/schemas/AWS_EKS_IdentityProviderConfig.json
@@ -131,7 +131,11 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "eks:TagResource",
+ "eks:UntagResource"
+ ]
},
"additionalProperties": false,
"required": [
diff --git a/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_Listener.json b/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_Listener.json
index 552890b02..ab55256ca 100644
--- a/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_Listener.json
+++ b/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_Listener.json
@@ -327,7 +327,7 @@
"type": "string"
},
"Key": {
- "description": "The name of the attribute.\n The following attribute is supported by Network Load Balancers, and Gateway Load Balancers.\n + ``tcp.idle_timeout.seconds`` - The tcp idle timeout value, in seconds. The valid range is 60-6000 seconds. The default is 350 seconds.",
+ "description": "The name of the attribute.\n The following attribute is supported by Network Load Balancers, and Gateway Load Balancers.\n + ``tcp.idle_timeout.seconds`` - The tcp idle timeout value, in seconds. The valid range is 60-6000 seconds. The default is 350 seconds.\n \n The following attributes are only supported by Application Load Balancers.\n + ``routing.http.request.x_amzn_mtls_clientcert_serial_number.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Serial-Number* HTTP request header.\n + ``routing.http.request.x_amzn_mtls_clientcert_issuer.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Issuer* HTTP request header.\n + ``routing.http.request.x_amzn_mtls_clientcert_subject.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Subject* HTTP request header.\n + ``routing.http.request.x_amzn_mtls_clientcert_validity.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Validity* HTTP request header.\n + ``routing.http.request.x_amzn_mtls_clientcert_leaf.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Leaf* HTTP request header.\n + ``routing.http.request.x_amzn_mtls_clientcert.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert* HTTP request header.\n + ``routing.http.request.x_amzn_tls_version.header_name`` - Enables you to modify the header name of the *X-Amzn-Tls-Version* HTTP request header.\n + ``routing.http.request.x_amzn_tls_cipher_suite.header_name`` - Enables you to modify the header name of the *X-Amzn-Tls-Cipher-Suite* HTTP request header.\n + ``routing.http.response.server.enabled`` - Enables you to allow or remove the HTTP response server header.\n + ``routing.http.response.strict_transport_security.header_value`` - Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS.\n + ``routing.http.response.access_control_allow_origin.header_value`` - Specifies which origins are allowed to access the server.\n + ``routing.http.response.access_control_allow_methods.header_value`` - Returns which HTTP methods are allowed when accessing the server from a different origin.\n + ``routing.http.response.access_control_allow_headers.header_value`` - Specifies which headers can be used during the request.\n + ``routing.http.response.access_control_allow_credentials.header_value`` - Indicates whether the browser should include credentials such as cookies or authentication when making requests.\n + ``routing.http.response.access_control_expose_headers.header_value`` - Returns which headers the browser can expose to the requesting client.\n + ``routing.http.response.access_control_max_age.header_value`` - Specifies how long the results of a preflight request can be cached, in seconds.\n + ``routing.http.response.content_security_policy.header_value`` - Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats.\n + ``routing.http.response.x_content_type_options.header_value`` - Indicates whether the MIME types advertised in the *Content-Type* headers should be followed and not be changed.\n + ``routing.http.response.x_frame_options.header_value`` - Indicates whether the browser is allowed to render a page in a *frame*, *iframe*, *embed* or *object*.",
"type": "string"
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_LoadBalancer.json b/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_LoadBalancer.json
index b500b48ba..f9ff3f11d 100644
--- a/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_LoadBalancer.json
+++ b/internal/service/cloudformation/schemas/AWS_ElasticLoadBalancingV2_LoadBalancer.json
@@ -34,7 +34,7 @@
},
"MinimumLoadBalancerCapacity": {
"type": "object",
- "description": "",
+ "description": "The minimum capacity for a load balancer.",
"$ref": "#/definitions/MinimumLoadBalancerCapacity"
},
"Scheme": {
@@ -107,13 +107,14 @@
"additionalProperties": false,
"properties": {
"CapacityUnits": {
- "type": "integer"
+ "type": "integer",
+ "description": "The number of capacity units."
}
},
"required": [
"CapacityUnits"
],
- "description": ""
+ "description": "The minimum capacity for a load balancer."
},
"SubnetMapping": {
"type": "object",
@@ -155,7 +156,7 @@
},
"Key": {
"type": "string",
- "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``."
+ "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and can't be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity."
}
},
"description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer."
diff --git a/internal/service/cloudformation/schemas/AWS_FMS_Policy.json b/internal/service/cloudformation/schemas/AWS_FMS_Policy.json
index e2b97b3ca..ca899a453 100644
--- a/internal/service/cloudformation/schemas/AWS_FMS_Policy.json
+++ b/internal/service/cloudformation/schemas/AWS_FMS_Policy.json
@@ -389,6 +389,13 @@
"maxItems": 8,
"insertionOrder": true
},
+ "ResourceTagLogicalOperator": {
+ "type": "string",
+ "enum": [
+ "AND",
+ "OR"
+ ]
+ },
"ResourceType": {
"$ref": "#/definitions/ResourceType"
},
diff --git a/internal/service/cloudformation/schemas/AWS_HealthImaging_Datastore.json b/internal/service/cloudformation/schemas/AWS_HealthImaging_Datastore.json
index e7df89b4a..4cba71c3f 100644
--- a/internal/service/cloudformation/schemas/AWS_HealthImaging_Datastore.json
+++ b/internal/service/cloudformation/schemas/AWS_HealthImaging_Datastore.json
@@ -110,7 +110,12 @@
"tagOnCreate": true,
"tagUpdatable": false,
"cloudFormationSystemTags": false,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "medical-imaging:TagResource",
+ "medical-imaging:UntagResource",
+ "medical-imaging:ListTagsForResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_IoT_BillingGroup.json b/internal/service/cloudformation/schemas/AWS_IoT_BillingGroup.json
index f1107c3c3..01c9938c1 100644
--- a/internal/service/cloudformation/schemas/AWS_IoT_BillingGroup.json
+++ b/internal/service/cloudformation/schemas/AWS_IoT_BillingGroup.json
@@ -44,14 +44,14 @@
"properties": {
"Key": {
"type": "string",
- "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ "description": "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
"minLength": 1,
"maxLength": 128,
"pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
},
"Value": {
"type": "string",
- "description": "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ "description": "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
"minLength": 1,
"maxLength": 256
}
@@ -68,7 +68,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "iot:ListTagsForResource",
+ "iot:TagResource",
+ "iot:UntagResource"
+ ]
},
"readOnlyProperties": [
"/properties/Arn",
diff --git a/internal/service/cloudformation/schemas/AWS_IoT_ThingGroup.json b/internal/service/cloudformation/schemas/AWS_IoT_ThingGroup.json
index a8ee0751e..59b9839ae 100644
--- a/internal/service/cloudformation/schemas/AWS_IoT_ThingGroup.json
+++ b/internal/service/cloudformation/schemas/AWS_IoT_ThingGroup.json
@@ -73,14 +73,14 @@
"properties": {
"Key": {
"type": "string",
- "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ "description": "Tag key (1-128 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
"minLength": 1,
"maxLength": 128,
"pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$"
},
"Value": {
"type": "string",
- "description": "The value for the tag. You can specify a value that is 1 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
+ "description": "Tag value (1-256 chars). No 'aws:' prefix. Allows: [A-Za-z0-9 _.:/=+-]",
"minLength": 1,
"maxLength": 256
}
@@ -97,7 +97,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "iot:ListTagsForResource",
+ "iot:TagResource",
+ "iot:UntagResource"
+ ]
},
"readOnlyProperties": [
"/properties/Arn",
diff --git a/internal/service/cloudformation/schemas/AWS_IoT_ThingType.json b/internal/service/cloudformation/schemas/AWS_IoT_ThingType.json
index 5da1ef3ab..9df3069d5 100644
--- a/internal/service/cloudformation/schemas/AWS_IoT_ThingType.json
+++ b/internal/service/cloudformation/schemas/AWS_IoT_ThingType.json
@@ -121,7 +121,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "iot:ListTagsForResource",
+ "iot:TagResource",
+ "iot:UntagResource"
+ ]
},
"readOnlyProperties": [
"/properties/Arn",
diff --git a/internal/service/cloudformation/schemas/AWS_Lambda_CodeSigningConfig.json b/internal/service/cloudformation/schemas/AWS_Lambda_CodeSigningConfig.json
index 8b4f9754d..64265415f 100644
--- a/internal/service/cloudformation/schemas/AWS_Lambda_CodeSigningConfig.json
+++ b/internal/service/cloudformation/schemas/AWS_Lambda_CodeSigningConfig.json
@@ -116,7 +116,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "lambda:ListTags",
+ "lambda:TagResource",
+ "lambda:UntagResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_M2_Application.json b/internal/service/cloudformation/schemas/AWS_M2_Application.json
index 555fcc484..0c215d086 100644
--- a/internal/service/cloudformation/schemas/AWS_M2_Application.json
+++ b/internal/service/cloudformation/schemas/AWS_M2_Application.json
@@ -97,7 +97,13 @@
"taggable": true,
"tagOnCreate": true,
"tagUpdatable": true,
- "cloudFormationSystemTags": false
+ "cloudFormationSystemTags": false,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "m2:TagResource",
+ "m2:UntagResource",
+ "m2:ListTagsForResource"
+ ]
},
"required": [
"EngineType",
diff --git a/internal/service/cloudformation/schemas/AWS_M2_Environment.json b/internal/service/cloudformation/schemas/AWS_M2_Environment.json
index 0e169d2a9..d23dc6f20 100644
--- a/internal/service/cloudformation/schemas/AWS_M2_Environment.json
+++ b/internal/service/cloudformation/schemas/AWS_M2_Environment.json
@@ -207,7 +207,13 @@
"taggable": true,
"tagOnCreate": true,
"tagUpdatable": true,
- "cloudFormationSystemTags": false
+ "cloudFormationSystemTags": false,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "m2:TagResource",
+ "m2:UntagResource",
+ "m2:ListTagsForResource"
+ ]
},
"required": [
"EngineType",
diff --git a/internal/service/cloudformation/schemas/AWS_MediaConnect_Flow.json b/internal/service/cloudformation/schemas/AWS_MediaConnect_Flow.json
index e0eaf15df..5f90827d8 100644
--- a/internal/service/cloudformation/schemas/AWS_MediaConnect_Flow.json
+++ b/internal/service/cloudformation/schemas/AWS_MediaConnect_Flow.json
@@ -577,12 +577,111 @@
"ENABLED",
"DISABLED"
]
+ },
+ "ContentQualityAnalysisState": {
+ "type": "string",
+ "description": "Indicates whether content quality analysis is enabled or disabled.",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ]
+ },
+ "AudioMonitoringSettings": {
+ "type": "array",
+ "description": "Contains the settings for audio stream metrics monitoring.",
+ "items": {
+ "$ref": "#/definitions/AudioMonitoringSetting"
+ }
+ },
+ "VideoMonitoringSettings": {
+ "type": "array",
+ "description": "Contains the settings for video stream metrics monitoring.",
+ "items": {
+ "$ref": "#/definitions/VideoMonitoringSetting"
+ }
}
},
- "additionalProperties": false,
- "required": [
- "ThumbnailState"
- ]
+ "additionalProperties": false
+ },
+ "AudioMonitoringSetting": {
+ "type": "object",
+ "description": "Specifies the configuration for audio stream metrics monitoring.",
+ "properties": {
+ "SilentAudio": {
+ "$ref": "#/definitions/SilentAudio"
+ }
+ },
+ "additionalProperties": false
+ },
+ "SilentAudio": {
+ "type": "object",
+ "description": "Configures settings for the SilentAudio metric.",
+ "properties": {
+ "State": {
+ "type": "string",
+ "description": "Indicates whether the SilentAudio metric is enabled or disabled.",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ]
+ },
+ "ThresholdSeconds": {
+ "type": "integer",
+ "description": "Specifies the number of consecutive seconds of silence that triggers an event or alert."
+ }
+ },
+ "additionalProperties": false
+ },
+ "VideoMonitoringSetting": {
+ "type": "object",
+ "description": "Specifies the configuration for video stream metrics monitoring.",
+ "properties": {
+ "BlackFrames": {
+ "$ref": "#/definitions/BlackFrames"
+ },
+ "FrozenFrames": {
+ "$ref": "#/definitions/FrozenFrames"
+ }
+ },
+ "additionalProperties": false
+ },
+ "BlackFrames": {
+ "type": "object",
+ "description": "Configures settings for the BlackFrames metric.",
+ "properties": {
+ "State": {
+ "type": "string",
+ "description": "Indicates whether the BlackFrames metric is enabled or disabled.",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ]
+ },
+ "ThresholdSeconds": {
+ "type": "integer",
+ "description": "Specifies the number of consecutive seconds of black frames that triggers an event or alert."
+ }
+ },
+ "additionalProperties": false
+ },
+ "FrozenFrames": {
+ "type": "object",
+ "description": "Configures settings for the FrozenFrames metric.",
+ "properties": {
+ "State": {
+ "type": "string",
+ "description": "Indicates whether the FrozenFrames metric is enabled or disabled.",
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ]
+ },
+ "ThresholdSeconds": {
+ "type": "integer",
+ "description": "Specifies the number of consecutive seconds of a static image that triggers an event or alert."
+ }
+ },
+ "additionalProperties": false
}
},
"required": [
diff --git a/internal/service/cloudformation/schemas/AWS_NetworkFirewall_Firewall.json b/internal/service/cloudformation/schemas/AWS_NetworkFirewall_Firewall.json
index 90c3adbe2..13c119b43 100644
--- a/internal/service/cloudformation/schemas/AWS_NetworkFirewall_Firewall.json
+++ b/internal/service/cloudformation/schemas/AWS_NetworkFirewall_Firewall.json
@@ -1,206 +1,215 @@
{
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git",
+ "tagging": {
+ "permissions": [
+ "network-firewall:TagResource",
+ "network-firewall:UntagResource",
+ "network-firewall:ListTagsForResource"
+ ],
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "tagProperty": "/properties/Tags",
+ "cloudFormationSystemTags": true
+ },
+ "handlers": {
+ "read": {
+ "permissions": [
+ "network-firewall:DescribeFirewall",
+ "network-firewall:ListTagsForResource"
+ ]
+ },
+ "create": {
+ "permissions": [
+ "ec2:CreateVpcEndpoint",
+ "ec2:DescribeVpcEndpoints",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs",
+ "iam:CreateServiceLinkedRole",
+ "network-firewall:CreateFirewall",
+ "network-firewall:DescribeFirewallPolicy",
+ "network-firewall:DescribeRuleGroup",
+ "network-firewall:TagResource",
+ "network-firewall:AssociateSubnets",
+ "network-firewall:AssociateFirewallPolicy",
+ "network-firewall:DescribeFirewall"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "network-firewall:AssociateSubnets",
+ "network-firewall:DisassociateSubnets",
+ "network-firewall:UpdateFirewallDescription",
+ "network-firewall:UpdateFirewallDeleteProtection",
+ "network-firewall:UpdateSubnetChangeProtection",
+ "network-firewall:UpdateFirewallPolicyChangeProtection",
+ "network-firewall:AssociateFirewallPolicy",
+ "network-firewall:TagResource",
+ "network-firewall:UntagResource",
+ "network-firewall:DescribeFirewall",
+ "network-firewall:UpdateFirewallAnalysisSettings"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "network-firewall:ListFirewalls"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "ec2:DeleteVpcEndpoints",
+ "ec2:DescribeRouteTables",
+ "logs:DescribeLogGroups",
+ "logs:DescribeResourcePolicies",
+ "logs:GetLogDelivery",
+ "logs:ListLogDeliveries",
+ "network-firewall:DeleteFirewall",
+ "network-firewall:UntagResource",
+ "network-firewall:DescribeFirewall"
+ ]
+ }
+ },
"typeName": "AWS::NetworkFirewall::Firewall",
+ "readOnlyProperties": [
+ "/properties/FirewallArn",
+ "/properties/FirewallId",
+ "/properties/EndpointIds"
+ ],
"description": "Resource type definition for AWS::NetworkFirewall::Firewall",
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-networkfirewall.git",
+ "createOnlyProperties": [
+ "/properties/VpcId",
+ "/properties/FirewallName"
+ ],
"additionalProperties": false,
+ "primaryIdentifier": [
+ "/properties/FirewallArn"
+ ],
"definitions": {
"ResourceArn": {
+ "minLength": 1,
+ "pattern": "^arn:aws.*$",
"description": "A resource ARN.",
"type": "string",
- "pattern": "^arn:aws.*$",
- "minLength": 1,
"maxLength": 256
},
- "EndpointId": {
- "description": "An endpoint Id.",
- "type": "string"
+ "EnabledAnalysisType": {
+ "description": "An analysis type.",
+ "type": "string",
+ "enum": [
+ "TLS_SNI",
+ "HTTP_HOST"
+ ]
},
"SubnetMapping": {
+ "additionalProperties": false,
"type": "object",
"properties": {
- "SubnetId": {
- "description": "A SubnetId.",
- "type": "string"
- },
"IPAddressType": {
"description": "A IPAddressType",
"type": "string"
+ },
+ "SubnetId": {
+ "description": "A SubnetId.",
+ "type": "string"
}
},
"required": [
"SubnetId"
- ],
- "additionalProperties": false
+ ]
+ },
+ "EndpointId": {
+ "description": "An endpoint Id.",
+ "type": "string"
},
"Tag": {
+ "additionalProperties": false,
"type": "object",
"properties": {
- "Key": {
- "type": "string",
- "minLength": 1,
- "maxLength": 128
- },
"Value": {
- "type": "string",
"minLength": 0,
+ "type": "string",
"maxLength": 255
+ },
+ "Key": {
+ "minLength": 1,
+ "type": "string",
+ "maxLength": 128
}
},
"required": [
"Value",
"Key"
- ],
- "additionalProperties": false
+ ]
}
},
+ "required": [
+ "FirewallName",
+ "FirewallPolicyArn",
+ "VpcId",
+ "SubnetMappings"
+ ],
"properties": {
- "FirewallName": {
- "type": "string",
- "minLength": 1,
- "maxLength": 128,
- "pattern": "^[a-zA-Z0-9-]+$"
- },
- "FirewallArn": {
+ "FirewallPolicyArn": {
"$ref": "#/definitions/ResourceArn"
},
- "FirewallId": {
+ "Description": {
+ "pattern": "^.*$",
"type": "string",
+ "maxLength": 512
+ },
+ "FirewallId": {
"minLength": 36,
- "maxLength": 36,
- "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$"
+ "pattern": "^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$",
+ "type": "string",
+ "maxLength": 36
},
- "FirewallPolicyArn": {
- "$ref": "#/definitions/ResourceArn"
+ "SubnetChangeProtection": {
+ "type": "boolean"
},
- "VpcId": {
- "type": "string",
+ "FirewallName": {
"minLength": 1,
- "maxLength": 128,
- "pattern": "^vpc-[0-9a-f]+$"
+ "pattern": "^[a-zA-Z0-9-]+$",
+ "type": "string",
+ "maxLength": 128
},
- "SubnetMappings": {
- "type": "array",
- "minItems": 1,
- "insertionOrder": false,
- "uniqueItems": true,
- "items": {
- "$ref": "#/definitions/SubnetMapping"
- }
+ "VpcId": {
+ "minLength": 1,
+ "pattern": "^vpc-[0-9a-f]+$",
+ "type": "string",
+ "maxLength": 128
},
"DeleteProtection": {
"type": "boolean"
},
- "SubnetChangeProtection": {
- "type": "boolean"
- },
- "FirewallPolicyChangeProtection": {
- "type": "boolean"
- },
- "Description": {
- "type": "string",
- "maxLength": 512,
- "pattern": "^.*$"
+ "FirewallArn": {
+ "$ref": "#/definitions/ResourceArn"
},
"EndpointIds": {
- "type": "array",
"insertionOrder": false,
+ "type": "array",
"items": {
"$ref": "#/definitions/EndpointId"
}
},
+ "FirewallPolicyChangeProtection": {
+ "type": "boolean"
+ },
"Tags": {
- "type": "array",
- "insertionOrder": false,
"uniqueItems": true,
+ "insertionOrder": false,
+ "type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
- }
- },
- "tagging": {
- "taggable": true,
- "tagOnCreate": true,
- "tagUpdatable": true,
- "cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags",
- "permissions": [
- "network-firewall:TagResource",
- "network-firewall:UntagResource",
- "network-firewall:ListTagsForResource"
- ]
- },
- "required": [
- "FirewallName",
- "FirewallPolicyArn",
- "VpcId",
- "SubnetMappings"
- ],
- "readOnlyProperties": [
- "/properties/FirewallArn",
- "/properties/FirewallId",
- "/properties/EndpointIds"
- ],
- "primaryIdentifier": [
- "/properties/FirewallArn"
- ],
- "createOnlyProperties": [
- "/properties/VpcId",
- "/properties/FirewallName"
- ],
- "handlers": {
- "create": {
- "permissions": [
- "ec2:CreateVpcEndpoint",
- "ec2:DescribeVpcEndpoints",
- "ec2:DescribeSubnets",
- "ec2:DescribeVpcs",
- "iam:CreateServiceLinkedRole",
- "network-firewall:CreateFirewall",
- "network-firewall:DescribeFirewallPolicy",
- "network-firewall:DescribeRuleGroup",
- "network-firewall:TagResource",
- "network-firewall:AssociateSubnets",
- "network-firewall:AssociateFirewallPolicy",
- "network-firewall:DescribeFirewall"
- ]
- },
- "read": {
- "permissions": [
- "network-firewall:DescribeFirewall",
- "network-firewall:ListTagsForResource"
- ]
},
- "update": {
- "permissions": [
- "network-firewall:AssociateSubnets",
- "network-firewall:DisassociateSubnets",
- "network-firewall:UpdateFirewallDescription",
- "network-firewall:UpdateFirewallDeleteProtection",
- "network-firewall:UpdateSubnetChangeProtection",
- "network-firewall:UpdateFirewallPolicyChangeProtection",
- "network-firewall:AssociateFirewallPolicy",
- "network-firewall:TagResource",
- "network-firewall:UntagResource",
- "network-firewall:DescribeFirewall"
- ]
- },
- "delete": {
- "permissions": [
- "ec2:DeleteVpcEndpoints",
- "ec2:DescribeRouteTables",
- "logs:DescribeLogGroups",
- "logs:DescribeResourcePolicies",
- "logs:GetLogDelivery",
- "logs:ListLogDeliveries",
- "network-firewall:DeleteFirewall",
- "network-firewall:UntagResource",
- "network-firewall:DescribeFirewall"
- ]
- },
- "list": {
- "permissions": [
- "network-firewall:ListFirewalls"
- ]
+ "SubnetMappings": {
+ "minItems": 1,
+ "uniqueItems": true,
+ "insertionOrder": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubnetMapping"
+ }
}
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAccountContactAssociation.json b/internal/service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAccountContactAssociation.json
new file mode 100644
index 000000000..e8e2ece02
--- /dev/null
+++ b/internal/service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAccountContactAssociation.json
@@ -0,0 +1,86 @@
+{
+ "typeName": "AWS::Notifications::ManagedNotificationAccountContactAssociation",
+ "description": "This resource schema represents the ManagedNotificationAccountContactAssociation resource in the AWS User Notifications.",
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "definitions": {
+ "ManagedNotificationConfigurationArn": {
+ "description": "The managed notification configuration ARN, against which the account contact association will be created",
+ "type": "string",
+ "pattern": "^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$"
+ },
+ "ContactIdentifier": {
+ "description": "This unique identifier for Contact",
+ "type": "string",
+ "enum": [
+ "ACCOUNT_PRIMARY",
+ "ACCOUNT_ALTERNATE_SECURITY",
+ "ACCOUNT_ALTERNATE_OPERATIONS",
+ "ACCOUNT_ALTERNATE_BILLING"
+ ]
+ }
+ },
+ "required": [
+ "ContactIdentifier",
+ "ManagedNotificationConfigurationArn"
+ ],
+ "tagging": {
+ "taggable": false
+ },
+ "properties": {
+ "ManagedNotificationConfigurationArn": {
+ "$ref": "#/definitions/ManagedNotificationConfigurationArn"
+ },
+ "ContactIdentifier": {
+ "$ref": "#/definitions/ContactIdentifier"
+ }
+ },
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/ManagedNotificationConfigurationArn",
+ "/properties/ContactIdentifier"
+ ],
+ "primaryIdentifier": [
+ "/properties/ManagedNotificationConfigurationArn",
+ "/properties/ContactIdentifier"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "notifications:AssociateManagedNotificationAccountContact",
+ "notifications:ListManagedNotificationChannelAssociations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "notifications:ListManagedNotificationChannelAssociations"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "notifications:ListManagedNotificationChannelAssociations"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "notifications:DisassociateManagedNotificationAccountContact",
+ "notifications:ListManagedNotificationChannelAssociations"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "ManagedNotificationConfigurationArn": {
+ "type": "string",
+ "pattern": "^arn:[-.a-z0-9]{1,63}:notifications::([0-9]{12}|):managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$"
+ }
+ },
+ "required": [
+ "ManagedNotificationConfigurationArn"
+ ]
+ },
+ "permissions": [
+ "notifications:ListManagedNotificationChannelAssociations"
+ ]
+ }
+ }
+}
diff --git a/internal/service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAdditionalChannelAssociation.json b/internal/service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAdditionalChannelAssociation.json
new file mode 100644
index 000000000..497db199c
--- /dev/null
+++ b/internal/service/cloudformation/schemas/AWS_Notifications_ManagedNotificationAdditionalChannelAssociation.json
@@ -0,0 +1,66 @@
+{
+ "typeName": "AWS::Notifications::ManagedNotificationAdditionalChannelAssociation",
+ "description": "Definition of AWS::Notifications::ManagedNotificationAdditionalChannelAssociation Resource Type",
+ "properties": {
+ "ChannelArn": {
+ "type": "string",
+ "pattern": "^arn:aws:(chatbot|consoleapp|notifications-contacts):[a-zA-Z0-9-]*:[0-9]{12}:[a-zA-Z0-9-_.@]+/[a-zA-Z0-9/_.@:-]+$",
+ "description": "ARN identifier of the channel.\nExample: arn:aws:chatbot::123456789012:chat-configuration/slack-channel/security-ops"
+ },
+ "ManagedNotificationConfigurationArn": {
+ "type": "string",
+ "pattern": "^arn:[-.a-z0-9]{1,63}:notifications::[0-9]{12}:managed-notification-configuration/category/[a-zA-Z0-9-]{3,64}/sub-category/[a-zA-Z0-9-]{3,64}$",
+ "description": "ARN identifier of the Managed Notification.\nExample: arn:aws:notifications::381491923782:managed-notification-configuration/category/AWS-Health/sub-category/Billing"
+ }
+ },
+ "required": [
+ "ChannelArn",
+ "ManagedNotificationConfigurationArn"
+ ],
+ "createOnlyProperties": [
+ "/properties/ChannelArn",
+ "/properties/ManagedNotificationConfigurationArn"
+ ],
+ "primaryIdentifier": [
+ "/properties/ChannelArn",
+ "/properties/ManagedNotificationConfigurationArn"
+ ],
+ "handlers": {
+ "create": {
+ "permissions": [
+ "notifications:AssociateManagedNotificationAdditionalChannel",
+ "notifications:ListManagedNotificationChannelAssociations"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "notifications:DisassociateManagedNotificationAdditionalChannel",
+ "notifications:ListManagedNotificationChannelAssociations"
+ ]
+ },
+ "list": {
+ "handlerSchema": {
+ "properties": {
+ "NotificationConfigurationArn": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ManagedNotificationConfigurationArn"
+ ]
+ },
+ "permissions": [
+ "notifications:ListManagedNotificationChannelAssociations"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "notifications:ListManagedNotificationChannelAssociations"
+ ]
+ }
+ },
+ "tagging": {
+ "taggable": false
+ },
+ "additionalProperties": false
+}
diff --git a/internal/service/cloudformation/schemas/AWS_Organizations_Account.json b/internal/service/cloudformation/schemas/AWS_Organizations_Account.json
index 1fb9c5620..dd4def97f 100644
--- a/internal/service/cloudformation/schemas/AWS_Organizations_Account.json
+++ b/internal/service/cloudformation/schemas/AWS_Organizations_Account.json
@@ -140,6 +140,7 @@
"organizations:CreateAccount",
"organizations:DescribeCreateAccountStatus",
"organizations:MoveAccount",
+ "organizations:ListAccounts",
"organizations:ListParents",
"organizations:TagResource",
"organizations:DescribeAccount",
diff --git a/internal/service/cloudformation/schemas/AWS_Organizations_OrganizationalUnit.json b/internal/service/cloudformation/schemas/AWS_Organizations_OrganizationalUnit.json
index 976065810..614478750 100644
--- a/internal/service/cloudformation/schemas/AWS_Organizations_OrganizationalUnit.json
+++ b/internal/service/cloudformation/schemas/AWS_Organizations_OrganizationalUnit.json
@@ -68,6 +68,7 @@
"organizations:CreateOrganizationalUnit",
"organizations:DescribeOrganizationalUnit",
"organizations:ListParents",
+ "organizations:ListOrganizationalUnitsForParent",
"organizations:ListTagsForResource",
"organizations:TagResource"
]
diff --git a/internal/service/cloudformation/schemas/AWS_Organizations_Policy.json b/internal/service/cloudformation/schemas/AWS_Organizations_Policy.json
index d9f44e88e..9aa3b8602 100644
--- a/internal/service/cloudformation/schemas/AWS_Organizations_Policy.json
+++ b/internal/service/cloudformation/schemas/AWS_Organizations_Policy.json
@@ -136,6 +136,7 @@
"organizations:CreatePolicy",
"organizations:DescribePolicy",
"organizations:AttachPolicy",
+ "organizations:ListPolicies",
"organizations:ListTagsForResource",
"organizations:ListTargetsForPolicy",
"organizations:TagResource"
diff --git a/internal/service/cloudformation/schemas/AWS_PCS_Cluster.json b/internal/service/cloudformation/schemas/AWS_PCS_Cluster.json
index df0e1b26e..a2a3667b2 100644
--- a/internal/service/cloudformation/schemas/AWS_PCS_Cluster.json
+++ b/internal/service/cloudformation/schemas/AWS_PCS_Cluster.json
@@ -147,8 +147,7 @@
},
"Name": {
"type": "string",
- "description": "The name that identifies the cluster.",
- "pattern": ""
+ "description": "The name that identifies the cluster."
},
"Networking": {
"type": "object",
diff --git a/internal/service/cloudformation/schemas/AWS_PCS_ComputeNodeGroup.json b/internal/service/cloudformation/schemas/AWS_PCS_ComputeNodeGroup.json
index 5e70b4c9a..3a346cea0 100644
--- a/internal/service/cloudformation/schemas/AWS_PCS_ComputeNodeGroup.json
+++ b/internal/service/cloudformation/schemas/AWS_PCS_ComputeNodeGroup.json
@@ -113,8 +113,7 @@
},
"Name": {
"type": "string",
- "description": "The name that identifies the compute node group.",
- "pattern": ""
+ "description": "The name that identifies the compute node group."
},
"PurchaseOption": {
"type": "string",
diff --git a/internal/service/cloudformation/schemas/AWS_PCS_Queue.json b/internal/service/cloudformation/schemas/AWS_PCS_Queue.json
index 20d45f8f9..f6a453205 100644
--- a/internal/service/cloudformation/schemas/AWS_PCS_Queue.json
+++ b/internal/service/cloudformation/schemas/AWS_PCS_Queue.json
@@ -62,8 +62,7 @@
},
"Name": {
"type": "string",
- "description": "The name that identifies the queue.",
- "pattern": ""
+ "description": "The name that identifies the queue."
},
"Status": {
"type": "string",
diff --git a/internal/service/cloudformation/schemas/AWS_Panorama_ApplicationInstance.json b/internal/service/cloudformation/schemas/AWS_Panorama_ApplicationInstance.json
index 7ec508835..aeb8363ae 100644
--- a/internal/service/cloudformation/schemas/AWS_Panorama_ApplicationInstance.json
+++ b/internal/service/cloudformation/schemas/AWS_Panorama_ApplicationInstance.json
@@ -1,5 +1,16 @@
{
- "taggable": true,
+ "tagging": {
+ "permissions": [
+ "panorama:ListTagsForResource",
+ "panorama:TagResource",
+ "panorama:UntagResource"
+ ],
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "tagProperty": "/properties/Tags",
+ "cloudFormationSystemTags": true
+ },
"typeName": "AWS::Panorama::ApplicationInstance",
"readOnlyProperties": [
"/properties/ApplicationInstanceId",
diff --git a/internal/service/cloudformation/schemas/AWS_Panorama_Package.json b/internal/service/cloudformation/schemas/AWS_Panorama_Package.json
index 46ac46246..286546c71 100644
--- a/internal/service/cloudformation/schemas/AWS_Panorama_Package.json
+++ b/internal/service/cloudformation/schemas/AWS_Panorama_Package.json
@@ -111,7 +111,6 @@
}
},
"additionalProperties": false,
- "taggable": true,
"required": [
"PackageName"
],
@@ -131,6 +130,18 @@
"primaryIdentifier": [
"/properties/PackageId"
],
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": true,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "panorama:ListTagsForResource",
+ "panorama:TagResource",
+ "panorama:UntagResource"
+ ]
+ },
"handlers": {
"create": {
"permissions": [
diff --git a/internal/service/cloudformation/schemas/AWS_Panorama_PackageVersion.json b/internal/service/cloudformation/schemas/AWS_Panorama_PackageVersion.json
index a8b5caf96..a36cd4161 100644
--- a/internal/service/cloudformation/schemas/AWS_Panorama_PackageVersion.json
+++ b/internal/service/cloudformation/schemas/AWS_Panorama_PackageVersion.json
@@ -107,7 +107,6 @@
}
},
"additionalProperties": false,
- "taggable": false,
"required": [
"PackageId",
"PackageVersion",
diff --git a/internal/service/cloudformation/schemas/AWS_QBusiness_WebExperience.json b/internal/service/cloudformation/schemas/AWS_QBusiness_WebExperience.json
index 465b57e79..9dd3a46ed 100644
--- a/internal/service/cloudformation/schemas/AWS_QBusiness_WebExperience.json
+++ b/internal/service/cloudformation/schemas/AWS_QBusiness_WebExperience.json
@@ -141,6 +141,32 @@
}
},
"additionalProperties": false
+ },
+ "BrowserExtension": {
+ "type": "string",
+ "enum": [
+ "FIREFOX",
+ "CHROME"
+ ]
+ },
+ "BrowserExtensionConfiguration": {
+ "type": "object",
+ "properties": {
+ "EnabledBrowserExtensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BrowserExtension"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "uniqueItems": true,
+ "insertionOrder": false
+ }
+ },
+ "required": [
+ "EnabledBrowserExtensions"
+ ],
+ "additionalProperties": false
}
},
"properties": {
@@ -228,6 +254,9 @@
},
"CustomizationConfiguration": {
"$ref": "#/definitions/CustomizationConfiguration"
+ },
+ "BrowserExtensionConfiguration": {
+ "$ref": "#/definitions/BrowserExtensionConfiguration"
}
},
"required": [
diff --git a/internal/service/cloudformation/schemas/AWS_QuickSight_Topic.json b/internal/service/cloudformation/schemas/AWS_QuickSight_Topic.json
index dd4e54a93..0faa1df5f 100644
--- a/internal/service/cloudformation/schemas/AWS_QuickSight_Topic.json
+++ b/internal/service/cloudformation/schemas/AWS_QuickSight_Topic.json
@@ -388,7 +388,9 @@
"THOUSANDS",
"MILLIONS",
"BILLIONS",
- "TRILLIONS"
+ "TRILLIONS",
+ "LAKHS",
+ "CRORES"
]
},
"PropertyRole": {
@@ -681,6 +683,16 @@
],
"additionalProperties": false
},
+ "TopicConfigOptions": {
+ "type": "object",
+ "description": "Model for configuration of a Topic",
+ "properties": {
+ "QBusinessInsightsEnabled": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ },
"TopicDateRangeFilter": {
"type": "object",
"properties": {
@@ -715,6 +727,9 @@
"items": {
"$ref": "#/definitions/DatasetMetadata"
}
+ },
+ "ConfigOptions": {
+ "$ref": "#/definitions/TopicConfigOptions"
}
},
"additionalProperties": false
@@ -944,6 +959,9 @@
"minLength": 12,
"pattern": "^[0-9]{12}$"
},
+ "ConfigOptions": {
+ "$ref": "#/definitions/TopicConfigOptions"
+ },
"DataSets": {
"type": "array",
"items": {
@@ -955,6 +973,14 @@
"maxLength": 256,
"minLength": 0
},
+ "FolderArns": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 20,
+ "minItems": 0
+ },
"Name": {
"type": "string",
"maxLength": 128,
@@ -973,8 +999,12 @@
"readOnlyProperties": [
"/properties/Arn"
],
+ "writeOnlyProperties": [
+ "/properties/FolderArns"
+ ],
"createOnlyProperties": [
"/properties/AwsAccountId",
+ "/properties/FolderArns",
"/properties/TopicId"
],
"primaryIdentifier": [
diff --git a/internal/service/cloudformation/schemas/AWS_ResilienceHub_App.json b/internal/service/cloudformation/schemas/AWS_ResilienceHub_App.json
index 4732090d0..484d09906 100644
--- a/internal/service/cloudformation/schemas/AWS_ResilienceHub_App.json
+++ b/internal/service/cloudformation/schemas/AWS_ResilienceHub_App.json
@@ -162,11 +162,6 @@
"description": "Amazon Resource Name (ARN) of the Resiliency Policy.",
"pattern": ""
},
- "RegulatoryPolicyArn": {
- "type": "string",
- "description": "Amazon Resource Name (ARN) of the Regulatory Policy.",
- "pattern": ""
- },
"Tags": {
"$ref": "#/definitions/TagMap"
},
diff --git a/internal/service/cloudformation/schemas/AWS_Route53Profiles_ProfileResourceAssociation.json b/internal/service/cloudformation/schemas/AWS_Route53Profiles_ProfileResourceAssociation.json
index 0d3407ad4..1fdb169de 100644
--- a/internal/service/cloudformation/schemas/AWS_Route53Profiles_ProfileResourceAssociation.json
+++ b/internal/service/cloudformation/schemas/AWS_Route53Profiles_ProfileResourceAssociation.json
@@ -43,7 +43,6 @@
"/properties/Name",
"/properties/ResourceArn"
],
- "replacementStrategy": "delete_then_create",
"primaryIdentifier": [
"/properties/Id"
],
diff --git a/internal/service/cloudformation/schemas/AWS_SSMIncidents_ReplicationSet.json b/internal/service/cloudformation/schemas/AWS_SSMIncidents_ReplicationSet.json
index 80c32e912..1095171b0 100644
--- a/internal/service/cloudformation/schemas/AWS_SSMIncidents_ReplicationSet.json
+++ b/internal/service/cloudformation/schemas/AWS_SSMIncidents_ReplicationSet.json
@@ -33,7 +33,9 @@
"additionalProperties": false,
"properties": {
"SseKmsKeyId": {
- "$ref": "#/definitions/Arn"
+ "type": "string",
+ "description": "The AWS Key Management Service key ID or Key Alias to use to encrypt your replication set.",
+ "maxLength": 2048
}
},
"required": [
@@ -115,7 +117,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": false,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "ssm-incidents:TagResource",
+ "ssm-incidents:UntagResource",
+ "ssm-incidents:ListTagsForResource"
+ ]
},
"readOnlyProperties": [
"/properties/Arn"
diff --git a/internal/service/cloudformation/schemas/AWS_SSMIncidents_ResponsePlan.json b/internal/service/cloudformation/schemas/AWS_SSMIncidents_ResponsePlan.json
index 402bb6746..2a7c04306 100644
--- a/internal/service/cloudformation/schemas/AWS_SSMIncidents_ResponsePlan.json
+++ b/internal/service/cloudformation/schemas/AWS_SSMIncidents_ResponsePlan.json
@@ -406,7 +406,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": false,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "ssm-incidents:TagResource",
+ "ssm-incidents:UntagResource",
+ "ssm-incidents:ListTagsForResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_Domain.json b/internal/service/cloudformation/schemas/AWS_SageMaker_Domain.json
index c5d1e6ad4..d19945e99 100644
--- a/internal/service/cloudformation/schemas/AWS_SageMaker_Domain.json
+++ b/internal/service/cloudformation/schemas/AWS_SageMaker_Domain.json
@@ -937,7 +937,8 @@
"Comet",
"DeepchecksLLMEvaluation",
"Fiddler",
- "LakeraGuard"
+ "LakeraGuard",
+ "PerformanceEvaluation"
]
},
"AppType": {
diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_FeatureGroup.json b/internal/service/cloudformation/schemas/AWS_SageMaker_FeatureGroup.json
index 1ed44c793..1c498e52c 100644
--- a/internal/service/cloudformation/schemas/AWS_SageMaker_FeatureGroup.json
+++ b/internal/service/cloudformation/schemas/AWS_SageMaker_FeatureGroup.json
@@ -354,6 +354,11 @@
"tagOnCreate": true,
"tagUpdatable": false,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "sagemaker:AddTags",
+ "sagemaker:ListTags",
+ "sagemaker:DeleteTags"
+ ]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_Image.json b/internal/service/cloudformation/schemas/AWS_SageMaker_Image.json
index a21f60c99..645905a19 100644
--- a/internal/service/cloudformation/schemas/AWS_SageMaker_Image.json
+++ b/internal/service/cloudformation/schemas/AWS_SageMaker_Image.json
@@ -147,6 +147,11 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": false,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "sagemaker:AddTags",
+ "sagemaker:ListTags",
+ "sagemaker:DeleteTags"
+ ]
}
}
diff --git a/internal/service/cloudformation/schemas/AWS_SageMaker_UserProfile.json b/internal/service/cloudformation/schemas/AWS_SageMaker_UserProfile.json
index 07964af9a..c983bb670 100644
--- a/internal/service/cloudformation/schemas/AWS_SageMaker_UserProfile.json
+++ b/internal/service/cloudformation/schemas/AWS_SageMaker_UserProfile.json
@@ -679,7 +679,8 @@
"Comet",
"DeepchecksLLMEvaluation",
"Fiddler",
- "LakeraGuard"
+ "LakeraGuard",
+ "PerformanceEvaluation"
]
},
"AppType": {
diff --git a/internal/service/cloudformation/schemas/AWS_SecurityHub_Hub.json b/internal/service/cloudformation/schemas/AWS_SecurityHub_Hub.json
index 21aec2ae7..561e69a60 100644
--- a/internal/service/cloudformation/schemas/AWS_SecurityHub_Hub.json
+++ b/internal/service/cloudformation/schemas/AWS_SecurityHub_Hub.json
@@ -60,7 +60,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "securityhub:ListTagsForResource",
+ "securityhub:TagResource",
+ "securityhub:UntagResource"
+ ]
},
"handlers": {
"create": {
diff --git a/internal/service/cloudformation/schemas/AWS_StepFunctions_Activity.json b/internal/service/cloudformation/schemas/AWS_StepFunctions_Activity.json
index 016e7233a..471bfb8c9 100644
--- a/internal/service/cloudformation/schemas/AWS_StepFunctions_Activity.json
+++ b/internal/service/cloudformation/schemas/AWS_StepFunctions_Activity.json
@@ -103,6 +103,7 @@
"create": {
"permissions": [
"states:CreateActivity",
+ "states:DescribeActivity",
"states:TagResource",
"kms:DescribeKey"
]
diff --git a/internal/service/cloudformation/schemas/AWS_Timestream_Database.json b/internal/service/cloudformation/schemas/AWS_Timestream_Database.json
index c06b44995..f29d39451 100644
--- a/internal/service/cloudformation/schemas/AWS_Timestream_Database.json
+++ b/internal/service/cloudformation/schemas/AWS_Timestream_Database.json
@@ -56,6 +56,18 @@
"readOnlyProperties": [
"/properties/Arn"
],
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": true,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "timestream:TagResource",
+ "timestream:ListTagsForResource",
+ "timestream:UntagResource"
+ ]
+ },
"handlers": {
"create": {
"permissions": [
diff --git a/internal/service/cloudformation/schemas/AWS_Timestream_InfluxDBInstance.json b/internal/service/cloudformation/schemas/AWS_Timestream_InfluxDBInstance.json
index 372a4f792..bdf27a3e9 100644
--- a/internal/service/cloudformation/schemas/AWS_Timestream_InfluxDBInstance.json
+++ b/internal/service/cloudformation/schemas/AWS_Timestream_InfluxDBInstance.json
@@ -114,6 +114,20 @@
"pattern": "^[a-zA-Z0-9]+$",
"description": "The name of an existing InfluxDB parameter group."
},
+ "Port": {
+ "type": "integer",
+ "minimum": 1024,
+ "maximum": 65535,
+ "description": "The port number on which InfluxDB accepts connections."
+ },
+ "NetworkType": {
+ "type": "string",
+ "description": "Network type of the InfluxDB Instance.",
+ "enum": [
+ "IPV4",
+ "DUAL"
+ ]
+ },
"LogDeliveryConfiguration": {
"type": "object",
"description": "Configuration for sending logs to customer account from the InfluxDB instance.",
@@ -155,6 +169,8 @@
"DELETING",
"MODIFYING",
"UPDATING",
+ "UPDATING_DEPLOYMENT_TYPE",
+ "UPDATING_INSTANCE_TYPE",
"DELETED",
"FAILED"
]
@@ -170,7 +186,7 @@
"type": "string",
"minLength": 3,
"maxLength": 40,
- "pattern": "^[a-zA-z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
+ "pattern": "^[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$",
"description": "The unique name that is associated with the InfluxDB instance."
},
"AvailabilityZone": {
@@ -226,7 +242,12 @@
"tagOnCreate": true,
"tagUpdatable": true,
"cloudFormationSystemTags": true,
- "tagProperty": "/properties/Tags"
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "timestream-influxdb:TagResource",
+ "timestream-influxdb:ListTagsForResource",
+ "timestream-influxdb:UntagResource"
+ ]
},
"createOnlyProperties": [
"/properties/Name",
@@ -234,13 +255,12 @@
"/properties/Password",
"/properties/Organization",
"/properties/Bucket",
- "/properties/DbInstanceType",
"/properties/VpcSubnetIds",
"/properties/VpcSecurityGroupIds",
"/properties/PubliclyAccessible",
"/properties/DbStorageType",
"/properties/AllocatedStorage",
- "/properties/DeploymentType"
+ "/properties/NetworkType"
],
"writeOnlyProperties": [
"/properties/Username",
@@ -292,7 +312,9 @@
"timestream-influxdb:UpdateDbInstance",
"timestream-influxdb:TagResource",
"timestream-influxdb:UntagResource",
- "timestream-influxdb:ListTagsForResource"
+ "timestream-influxdb:ListTagsForResource",
+ "ec2:DescribeSubnets",
+ "ec2:DescribeVpcs"
],
"timeoutInMinutes": 2160
},
diff --git a/internal/service/cloudformation/schemas/AWS_Timestream_ScheduledQuery.json b/internal/service/cloudformation/schemas/AWS_Timestream_ScheduledQuery.json
index 23ddf2999..ef0ac04a7 100644
--- a/internal/service/cloudformation/schemas/AWS_Timestream_ScheduledQuery.json
+++ b/internal/service/cloudformation/schemas/AWS_Timestream_ScheduledQuery.json
@@ -508,6 +508,18 @@
"/properties/SQErrorReportConfiguration",
"/properties/SQKmsKeyId"
],
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": true,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "timestream:TagResource",
+ "timestream:ListTagsForResource",
+ "timestream:UntagResource"
+ ]
+ },
"handlers": {
"create": {
"permissions": [
diff --git a/internal/service/cloudformation/schemas/AWS_Timestream_Table.json b/internal/service/cloudformation/schemas/AWS_Timestream_Table.json
index 58232ad96..2c41cfa86 100644
--- a/internal/service/cloudformation/schemas/AWS_Timestream_Table.json
+++ b/internal/service/cloudformation/schemas/AWS_Timestream_Table.json
@@ -188,6 +188,18 @@
"/properties/Arn",
"/properties/Name"
],
+ "tagging": {
+ "taggable": true,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "cloudFormationSystemTags": true,
+ "tagProperty": "/properties/Tags",
+ "permissions": [
+ "timestream:TagResource",
+ "timestream:ListTagsForResource",
+ "timestream:UntagResource"
+ ]
+ },
"handlers": {
"create": {
"permissions": [